|

Ghost: Το Linuxο «φάντασμα» που κοψοχόλιασε την κοινότητα ασφάλειας


Οι ερευνητές της εταιρείας ασφάλειας Qualys, κατά την διάρκεια ελέγχου ρουτίνας, ανακάλυψαν το 2015 μία ευπάθεια (vulnerability / κενό ασφάλειας) σε ένα ευρέως χρησιμοποιούμενο συστατικό πολλών διανομών Linux (στη βιβλιοθήκη glibc). Ο λόγος για την ευπάθεια CVE-2015-0235, που της έδωσαν το παρατσούκλι Ghost (Φάντασμα), δεδομένου ότι μπορεί να προκληθεί από τις συναρτήσεις «gethost» στο Linux. Το εν λόγω κενό ασφάλειας μπορεί να επιτρέψει σε έναν επιτιθέμενο να εκτελέσει εξ’ αποστάσεως κώδικα σ' έναν υπολογιστή που τρέχει λειτουργικό σύστημα Linux. Με απλά λόγια, η ευπάθεια Ghost (CVE-2015-0235), θεωρητικά, μπορεί να έχει ως αποτέλεσμα ο επιτιθέμενος να αποκτήσει απομακρυσμένη πρόσβαση στην συσκευή σας (και φυσικά και στον σέρβερ της εταιρείας σας για παράδειγμα) και να πάρει τον έλεγχο του συστήματος.
Η ευπάθεια υπάρχει στην βιβλιοθήκη GNU C (στην GNU έκδοση της πρότυπης βιβλιοθήκης της γλώσσας προγραμματισμού C), γνωστή και ως glibc, που είναι η υλοποίηση της πρότυπης βιβλιοθήκης της γλώσσας προγραμματισμού C του εγχειρήματος GNU και πρόκειται για μια συλλογή ανοιχτού κώδικα η οποία τροφοδοτεί χιλιάδες εφαρμογές και τις περισσότερες διανομές Linux, μεταξύ αυτών και εκείνες που διανέμονται στα routers αλλά και σε άλλους τύπους hardware (υλικού).
Με απλά λόγια, χωρίς την βιβλιοθήκη glibc, δεν θα μπορούσε να λειτουργήσει ένα σύστημα Linux.
Πολλές εταιρείες τότε έσπευσαν να βγάλουν ανακοινώσεις για το αν τα προϊόντα τους επηρεάζονται από την ευπάθεια, τονίζοντας ότι θα αναβαθμίσουν άμεσα τα λογισμικά τους που επηρεάζονται (όσα από τα λογισμικά τους, δηλαδή, βασίζονται πάνω στην πλατφόρμα Linux και περιλαμβάνουν το λογισμικό glibc), σημειώνοντας πως υπάρχει ήδη κώδικας που αποδεικνύει πρακτικά την θεωρία («proof of concept»), και λέγεται πως επιθέσεις που εκμεταλλεύονται την συγκεκριμένη ευπάθεια βρίσκονται προ των πυλών.
Η εταιρεία ασφάλειας Qualys, που ανακάλυψε την ευπάθεια CVE-2015-0235 κατά την διάρκεια τυπικού ελέγχου κώδικα, διαπίστωσε πως η συνάρτηση __nss_hostname_digits_dots() της βιβλιοθήκης GNU C Library κάνει την βιβλιοθήκη ευάλωτη σε buffer overflow (υπερχείλιση της μνήμης):
During a code audit performed internally at Qualys, we discovered a buffer overflow in the __nss_hostname_digits_dots() function of the GNU C Library (glibc). This bug is reachable both locally and remotely via the gethostbyname*() functions, so we decided to analyze it -- and its impact -- thoroughly, and named this vulnerability "GHOST".
δηλαδή:
Κατά την διάρκεια ενός τυπικού ελέγχου κώδικα που κάναμε στην Qualys, ανακαλύψαμε υπερχείλιση της μνήμης στην συνάρτηση του GNU C Library (glibc). Αυτό το σφάλμα είναι προσβάσιμο τόσο τοπικά, όσο και εξ αποστάσεως μέσω των συναρτήσεων gethostbyname*() της βιβλιοθήκης. Αποφασίσαμε λοιπόν να αναλύσουμε διεξοδικά την ευπάθεια - και τις επιπτώσεις της - και της δώσαμε το παρατσούκλι «GHOST» («ΦΑΝΤΑΣΜΑ»).

Λύση: αναβάθμιση σε glibc-2.18

Όσοι έχετε σταθερές και μακράς υποστήριξης διανομές, προσοχή γιατί η ευπάθεια ναι μεν διορθώθηκε, αλλά δεν αναγνωρίστηκε ως απειλή για την ασφάλεια. Και αυτό γιατί εκείνη την εποχή, δεν θεωρήθηκε ως κενό ασφάλειας, μα ως bug:
The first vulnerable version of the GNU C Library is glibc-2.2, released on November 10, 2000.
- We identified a number of factors that mitigate the impact of this bug.
In particular, we discovered that it was fixed on May 21, 2013 between the releases of glibc-2.17 and glibc-2.18).
Unfortunately, it was not recognized as a security threat; as a result, most stable and long-term-support distributions were left exposed (and still are):
Debian 7 (wheezy), Red Hat Enterprise Linux 6 & 7, CentOS 6 & 7, Ubuntu 12.04, for example.
δηλαδή:
Η πρώτη ευπαθή έκδοση της βιβλιοθήκης GNU C είναι το glibc-2.2 που κυκλοφόρησε την 10η Νοεμβρίου 2000.
- Έχουμε εντοπίσει μια σειρά από παράγοντες που αμβλύνουν τις επιπτώσεις αυτού του bug.
Ειδικότερα, ανακαλύψαμε ότι το bug (σφάλμα) διορθώθηκε την 21η Μαΐου του 2013, μετά την απελευθέρωση του glibc-2.17 και πριν το glibc-2.18.
Δυστυχώς, δεν αναγνωρίστηκε ως απειλή για την ασφάλεια· ως εκ τούτου, οι περισσότερες σταθερές και μακροχρόνιας υποστήριξης διανομές αφέθηκαν εκτεθειμένες (και είναι ακόμα), όπως για παράδειγμα:
το Debian 7 (wheezy), το Red Hat Enterprise Linux 6 & 7, το CentOS 6 & 7, και το Ubuntu 12.04.
Όλα αυτά βέβαια, τα μεταφέρουμε και με κάθε επιφύλαξη.
Η ανακοίνωση της εταιρείας ασφάλειας για την ευπάθεια.

[via]