Παρασκευή, 24 Νοέμβριος 2017, 6:44 μμ

Ευπάθεια στο Bash οδηγεί στο Shellshock: τι είναι και πως σας επηρεάζει;

Vulnerability Bash Shellshock

Ερευνητές εντόπισαν στο Bash command shell, που χρησιμοποιείται από πολλές διανομές Linux, μια σοβαρή ευπάθεια. Η ευπάθεια αυτή, που χαρακτηρίστηκε ως CVE-2014-7169, επιτρέπει σε έναν επιτιθέμενο να «τρέξει» εντολές στα υπό μελέτη «προβληματικά» συστήματα. Με άλλα λόγια, επιτρέπει την απομακρυσμένη εκτέλεση κώδικα σε εξυπηρετητές όπου τρέχουν οι συγκεκριμένες διανομές Linux.

Ποιο ακριβώς είναι το πρόβλημα;

Το δημοφιλέστερο shell σε περιβάλλοντα *nix παρουσιάζει ένα σημαντικό κενό, που επιτρέπει σε έναν επιτιθέμενο να εκτελέσει μια οποιαδήποτε αυθαίρετη εντολή σε ένα δίκτυο όπου αυτό χρησιμοποιείται. Πιο συχνές βέβαια είναι οι περιπτώσεις web server που χρησιμοποιούν περιβάλλον CGI.

Το Bash επιτρέπει την εξαγωγή shell συναρτήσεων σε άλλα Bash instances. Αυτό είναι εφικτό με τη δημιουργία μιας μεταβλητής περιβάλλοντος με ορισμό συνάρτησης. Για παράδειγμα:
env ENV_VAR_FN=’() { <your function> };’

Η ENV_VAR_FN θα είναι η συνάρτηση που εξάγεται σε οποιαδήποτε επόμενα Bash instances. Εκ πρώτης όψεως, φαίνεται χρήσιμο, ωστόσο υπάρχει ένα bug κατά την υλοποίηση του Bash που συνεχίζει να διαβάζει πέρα από τον ορισμό της συνάρτησης και εκτελεί εντολές που βρίσκονται μετά τον ορισμό. Σε ένα ιδανικό σενάριο, θα έπρεπε να σταματάει η ανάγνωση στον ορισμό και να αγνοούνται τυχόν επιπλέον χαρακτήρες, όμως δε συμβαίνει κάτι τέτοιο.

env ENV_VAR_FN=’() { <your function> }; <attacker code here>’

Πως επηρεάζει τις υπηρεσίες στο δίκτυο;

Με δεδομένο ότι το περιβάλλον Bash χρησιμοποιείται σε πολλά configurations, συμπεριλαμβανομένων των CGI, ssh, rsh, rlogin κ.λπ., όλες οι προαναφερθείσες υπηρεσίες μπορεί να παρουσιάσουν προβλήματα λόγω του bug αυτού. Κινδυνεύουν επίσης και web servers όπου μεταφέρεται input χρηστών και εισάγεται σε περιβάλλον Bash. Ακολουθεί ένα χαρακτηριστικό παράδειγμα ενός «κακού» request, σε περιβάλλον CGI:

GET /<server path> HTTP/1.1

User-agent: () { :;}; echo something>/var/www/html/new_file

Και έτσι δημιουργείται ένα νέο αρχείο με την ονομασία new_file για τον επιτιθέμενο.

Μεγάλο πρόβλημα, ωστόσο, αντιμετωπίζουν και οι web εφαρμογές λόγω της ευπάθειας αυτής. Ωστόσο, αυτό μπορεί να εκδηλωθεί μέσω διαφόρων άλλων υπηρεσιών όπως σημειώνεται παραπάνω.

Τι ζημιά μπορεί να επέλθει;

Νωρίτερα περιγράφηκε η δημιουργία ενός αρχείο, όμως ένας επιτιθέμενος μπορεί κυριολεκτικά να εκτελέσει οποιαδήποτε εντολή που είναι κατανοητή στο Bash shell. Αυτό θα μπορούσε να σημαίνει τροποποίηση των περιεχομένων του ίδιου του web server, τροποποιήσεις στον πηγαίο κώδικα της ιστοσελίδας, defacement της ιστοσελίδας, υποκλοπή στοιχείων από βάσεις δεδομένων, τροποποιήσεις στα permissions της ιστοσελίδας, εγκατάσταση backdoors και πολλά άλλα.

Υπενθυμίζεται ότι η εκτέλεση θα γίνει σε επίπεδο χρήστη που χρησιμοποιεί τον web server – σε γενικές γραμμές του χρήστη httpd. Βέβαια, μόνο με βάση αυτή την ευπάθεια δε μπορεί να υπάρξει άρση δικαιωμάτων, αλλά σε συνδυασμό με άλλες ευπάθειες, θα μπορούσε κάποιος να πραγματοποιήσει σημαντικές αλλαγές στα privileges του root user. Άλλωστε, οι επιτιθέμενοι συχνά αξιοποιούν πολλές ευπάθειες ταυτόχρονα για να αποκτήσουν πρόσβαση σε ένα σύστημα ή ένα δίκτυο.

Το shell scripting εφαρμόζεται ευρύτατα στο λειτουργικό Linux, πράγμα που σημαίνει ότι η ευπάθεια αυτή θα μπορούσε να εμφανιστεί σε πολλές διαφορετικές περιπτώσεις. Το Bash χρησιμοποιείται στα περισσότερα συστήματα Unix και Linux, καθώς και στα OS X.

Επιπρόσθετα, λόγω του ότι πολλές συσκευές του Internet of Things / Internet of Everything χρησιμοποιούν Linux, υπάρχει σοβαρή πιθανότητα να είναι εξαιρετικά δύσκολο να διορθωθούν vulnerabilities με χρήση patches. Κίνδυνο, εξάλλου, αντιμετωπίζουν και οι συναλλαγές με εικονικά – ψηφιακά νομίσματα Bitcoins.

Σε ποιες εκδόσεις Bash εμφανίζεται η ευπάθεια;

Μέχρι και την έκδοση 4.3, όλες οι εκδόσεις Bash είναι ευπαθείς. Για να βεβαιωθείτε, ελέγξτε αν υπάρχουν patches για την έκδοση που χρησιμοποιείτε.

Τι πρέπει να κάνετε τώρα;

Πρώτα απ’ όλα, απαιτείται αναβάθμιση του Bash στην νεότερη έκδοσή του. Πρέπει έπειτα να διασφαλίσετε την ακεραιότητα του web server σας. Θα πρέπει δηλαδή να αντικαταστήσετε τα κλειδιά ssh, καθώς υπάρχει πιθανότητα να έχουν κλαπεί. Καλό είναι τέλος να αλλάξετε τα credentials που χρησιμοποιείτε και να ελέγξετε τα logs της βάσης δεδομένων σας για να διαπιστώσετε τυχόν μαζική εκτέλεση queries.

Πως μπορείτε να ξέρετε αν έχετε πέσει θύμα μέσω αυτής της ευπάθειας;

Εξετάζοντας προσεκτικά τα logs του web server σας, σε πολλές περιπτώσεις θα μπορέσετε να εντοπίσετε ίχνη αυτής της επίθεσης. Ψάξτε για () { στα logs πρόσβασης. Επίσης, ορισμένα σφάλματα μπορεί να έχουν καταγραφεί στο error_log. Σε ορισμένες περιπτώσεις πάντως ενδέχεται να μην υπάρχουν ίχνη που να μαρτυρούν την επίθεση.

Ερευνητές εντόπισαν στο Bash command shell, που χρησιμοποιείται από πολλές διανομές Linux, μια σοβαρή ευπάθεια. Η ευπάθεια αυτή, που χαρακτηρίστηκε ως CVE-2014-7169, επιτρέπει σε έναν επιτιθέμενο να «τρέξει» εντολές στα υπό μελέτη «προβληματικά» συστήματα. Με άλλα λόγια, επιτρέπει την απομακρυσμένη εκτέλεση κώδικα σε εξυπηρετητές όπου τρέχουν οι συγκεκριμένες διανομές Linux.&hellip;
Χρήσιμο
Ευανάγνωστο

User Rating: 4.9 ( 2 votes)
100

Δείτε επίσης:

Η πρώτη σε βάθος ανάλυση του εσωτερικού λειτουργικού συστήματος Red Star OS της Βόρειας Κορέας αποκάλυψε κατασκοπευτικά εργαλεία ικανά να παρακολουθούν έγγραφα offline, όπως αναφέρεται σε δημοσίευμα του BBC.

Εργαλεία κατασκοπείας στο λειτουργικό σύστημα Red Star της Βόρειας Κορέας

Η πρώτη σε βάθος ανάλυση του εσωτερικού λειτουργικού συστήματος Red Star OS της Βόρειας Κορέας …