ΕΛ/ΛΑΚ | creativecommons.gr | mycontent.ellak.gr |
freedom

Επανασχεδιασμός του Linux για την αντιμετώπιση κενού ασφάλειας στους επεξεργαστές της Intel

Πριν  αρκετά χρόνια, η Intel έκανε ένα λάθος σχεδιασμού στα  64 bit chip της – και τώρα, όλα τα λειτουργικά συστήματα που βασίζονται σε επεξεργαστή Intel και οι χρήστες τους πρέπει να πληρώσουν το τίμημα.

Οι προγραμματιστές του Linux Kernel αντιμετώπισαν το πρόβλημα νωρίς και έβγαλαν στην κυκλοφορία ένα patch για να το αντιμετωπίσουν. Αυτά είναι τα καλά νέα. Τα κακά νέα είναι ότι θα προκαλέσει τουλάχιστον πτώση απόδοσης των συστημάτων κατά 5% ενώ οι εφαρμογές ενδέχεται να έχουν πολύ πιο σοβαρές μειώσεις επιδόσεων. Για παράδειγμα η δημοφιλής βάση δεδομένων PostgreSQL εκτιμάται ότι θα έχει τουλάχιστον 17% επιβράδυνση. Τα Windows,  το MacOS και άλλα λειτουργικά συστήματα που βασίζονται σε Intel θα αντιμετωπίσουν παρόμοια προβλήματα απόδοσης. Η Microsoft αναμένεται σύντομα να διορθώσει αυτό το θέμα στα Windows. Η Apple πρέπει επίσης να αντιμετωπίσει αυτό το ζήτημα.

Πόσο κακό είναι αυτό; Ο Linus Torvalds, δήλωσε: “Δεν υπάρχει κάποιο συγκεκριμένο ποσοστό. Αυτό θα εξαρτηθεί από το υλικό σας και από το φορτίο σας.” Πιστεύω ότι το 5% φορτίο σε μια βάση δεδομένων είναι μάλλον σωστό. Αλλά αν κάνετε micro-benchmarks που πραγματικά προσπαθούν να κάνουν stress-tests , μπορεί να δείτε διψήφιο ποσοστό υποβάθμισης της απόδοσης.”

Ορισμένες εφαρμογές δεν θα επηρεαστούν. Ο Torvalds είπε: “Ορισμένα φορτία  ξοδεύουν σχεδόν όλο το χρόνο τους στο user space, και δεν θα δουν καμιά διαφορά.” Αλλά για να γνωρίζετε πραγματικά τι συμβαίνει, θα πρέπει να δοκιμάσετε το συγκεκριμένο μηχάνημα και το φορτίο  του για να δείτε τι μπορείτε να περιμένετε.

To σφάλμα της Intel ήταν να επιτρέψει στα προγράμματα χρήστη να είναι σε θέση να συγκεντρώσουν πληροφορίες για τον τρόπο με τον οποίο ο χώρος διευθύνσεων του πυρήνα έχει διαμορφωθεί. Όπως ανακαλύφθηκε από Αυστριακούς πανεπιστημιακούς ερευνητές το καλοκαίρι, οι “πυρήνες  των σύγχρονων λειτουργικών συστημάτων χρησιμοποιούν address space layout randomization (ASLR) για την αποφυγή επιθέσεων code-injection. Ενώ η ασφάλεια του πυρήνα στηρίζεται βασικά στην αποτροπή της πρόσβασης στις πληροφορίες διεύθυνσης, οι πρόσφατες επιθέσεις έδειξαν ότι το υλικό διαρρέει απευθείας αυτές τις πληροφορίες “.

Το ASLR είναι ζωτικής σημασίας για την άμυνα των σημερινών λειτουργικών συστημάτων από κακόβουλα προγράμματα. Η ευπάθεια της Intel δεν είναι τόσο μια νέα τρύπα, αλλά είναι ένας τρόπος να καταστούν πολύ ισχυρότερες όλες αυτές οι υπάρχουσες μέθοδοι επίθεσης κατά των λειτουργικών συστημάτων που υπερασπίζονται τα ASLR.

Η λύση των ερευνητών ήταν το KAISER, ένα σύστημα για την απομόνωση διευθύνσεων πυρήνα του Linux. Τον Νοέμβριο, αυτά τα patches προτάθηκαν για τον πυρήνα του Linux και συνειδητοποιώντας πόσο επικίνδυνες είναι αυτές οι επιθέσεις, οι προγραμματιστές του πυρήνα του Linux άρχισαν γρήγορα να αναθεωρούν αυτά τα patches. Η λύση τους, η οποία ανέρχεται σε περισσότερα από 51 patches μέχρι σήμερα,  διαχωρίζει τα linux kernel page tables kernel από τα user space tables. Αυτό θα έχει σαν αποτέλεσμα το Linux να έχει δύο ομάδες πινάκων σελίδας μνήμης.

Εκτός από την πιο περίπλοκη διαχείριση της μνήμης, αυτό σημαίνει επίσης ότι πολλές οδηγίες προγράμματος  θα πρέπει να διατηρούν την εναλλαγή μεταξύ των δύο χώρων διεύθυνσης για κάθε κλήση συστήματος και για κάθε διακοπή υλικού. Αυτό είναι που θα επιβραδύνει πολλές, αλλά όχι όλες, τις λειτουργίες του λειτουργικού συστήματος και τις εφαρμογές.

Όπως εξήγησε ο συντάκτης του LWN.net και ο προγραμματιστής του πυρήνα του Linux Jonathan Corbet, “Αυτή είναι μια θεμελιώδης αλλαγή στο πώς λειτουργεί η διαχείριση μνήμης του πυρήνα και είναι κάτι που συνήθως θα περίμενε κανείς να συζητάμε εδώ και χρόνια, ειδικά λόγω του αντίκτυπου στην επίδοση. ”

Οι χρήστες του Linux, ειδικά εκείνοι που τρέχουν επιχειρησιακό λογισμικό σε servers και στο cloud, θα πρέπει να προετοιμαστούν για να κάνουν δοκιμές απόδοσης σχετικά με τη νέα έκδοση το συντομότερο δυνατό. Είτε τρέχετε την εφαρμογή σας σε υπολογιστικό κέντρο ή σε κάποιο από τα clouds – Amazon Web Services (AWS), Google Engine, Azure κ.ο.κ., θα πρέπει να προσαρμόσετε τον αριθμό των servers ή των container για να διατηρήσετε την ταχύτητα και την απόδοση  που επιθυμείτε.

Πηγή άρθρου: http://www.zdnet.com/

Leave a Comment