Νέα παραλλαγή επίθεσης Foreshadow που επηρεάζει τους επεξεργαστές Intel, AMD, ARM και IBM

Μια ομάδα ερευνητών από το Τεχνικό Πανεπιστήμιο του Γκρατς (Αυστρία) και το Κέντρο Ασφάλειας Πληροφοριών Helmholtz (CISPA), αποκάλυψε (PDF) ένα νέο διάνυσμα για τη χρήση επιθέσεων πλευρικού καναλιού Προμηνύω (L1TF), το οποίο σας επιτρέπει να εξάγετε δεδομένα από τη μνήμη θυλάκων Intel SGX, SMM (Λειτουργία Διαχείρισης Συστήματος), περιοχές μνήμης του πυρήνα του λειτουργικού συστήματος και εικονικές μηχανές σε συστήματα εικονικοποίησης. Σε αντίθεση με την αρχική επίθεση που προτάθηκε το 2018 Προμηνύω Η νέα παραλλαγή δεν είναι συγκεκριμένη για επεξεργαστές Intel και επηρεάζει τους επεξεργαστές άλλων κατασκευαστών όπως οι ARM, IBM και AMD. Επιπλέον, η νέα παραλλαγή δεν απαιτεί υψηλή απόδοση και η επίθεση μπορεί να πραγματοποιηθεί ακόμη και με την εκτέλεση JavaScript και WebAssembly σε πρόγραμμα περιήγησης ιστού.

Η επίθεση Foreshadow εκμεταλλεύεται το γεγονός ότι όταν γίνεται πρόσβαση στη μνήμη σε μια εικονική διεύθυνση που οδηγεί σε εξαίρεση (σφάλμα τερματικής σελίδας), ο επεξεργαστής υπολογίζει υποθετικά τη φυσική διεύθυνση και φορτώνει τα δεδομένα εάν είναι διαθέσιμα στην κρυφή μνήμη L1. Η κερδοσκοπική πρόσβαση εκτελείται πριν ολοκληρωθεί η αναζήτηση του πίνακα σελίδων μνήμης και ανεξάρτητα από την κατάσταση της καταχώρισης του πίνακα σελίδων μνήμης (PTE), π.χ. πριν ελέγξετε την παρουσία δεδομένων στη φυσική μνήμη και την αναγνωσιμότητά τους. Μετά την ολοκλήρωση του ελέγχου διαθεσιμότητας μνήμης, ελλείψει της σημαίας Παρούσα στο PTE, η λειτουργία απορρίπτεται, αλλά τα δεδομένα παραμένουν στη μνήμη cache και μπορούν να ανακτηθούν χρησιμοποιώντας μεθόδους για τον προσδιορισμό του περιεχομένου της κρυφής μνήμης μέσω πλευρικών καναλιών (αναλύοντας τις αλλαγές στο χρόνο πρόσβασης σε δεδομένα προσωρινής αποθήκευσης και μη προσωρινής αποθήκευσης).

Οι ερευνητές έχουν δείξει ότι οι υπάρχουσες μέθοδοι προστασίας από το Foreshadow είναι αναποτελεσματικές και εφαρμόζονται με εσφαλμένη ερμηνεία του προβλήματος. Τρωτό
Το Foreshadow μπορεί να αξιοποιηθεί ανεξάρτητα από τους μηχανισμούς ασφαλείας του πυρήνα που προηγουμένως θεωρούνταν επαρκείς. Ως αποτέλεσμα, οι ερευνητές έδειξαν τη δυνατότητα πραγματοποίησης μιας επίθεσης Foreshadow σε συστήματα με σχετικά παλιούς πυρήνες, στα οποία είναι ενεργοποιημένες όλες οι διαθέσιμες λειτουργίες προστασίας Foreshadow, καθώς και με νέους πυρήνες, στους οποίους είναι απενεργοποιημένη μόνο η προστασία Specter-v2 (χρησιμοποιώντας την επιλογή πυρήνα Linux nospectre_v2).

Βρεθηκε οτι εφέ προφόρτισης δεν σχετίζεται με οδηγίες προφόρτωσης λογισμικού ή εφέ υλικού
prefetch κατά την πρόσβαση στη μνήμη, αλλά συμβαίνει όταν καταχωρούνται στον πυρήνα υποθετικές αποαναφορές του χώρου χρήστη. Αυτή η παρερμηνεία της αιτίας της ευπάθειας οδήγησε αρχικά στην υπόθεση ότι η διαρροή δεδομένων στο Foreshadow θα μπορούσε να συμβεί μόνο μέσω της κρυφής μνήμης L1, ενώ η παρουσία ορισμένων αποσπασμάτων κώδικα (προκατασκευαστικές συσκευές) στον πυρήνα θα μπορούσε να συμβάλει στη διαρροή δεδομένων εκτός της κρυφής μνήμης L1. για παράδειγμα, στην κρυφή μνήμη L3.

Το αναγνωρισμένο χαρακτηριστικό ανοίγει επίσης τη δυνατότητα δημιουργίας νέων επιθέσεων που στοχεύουν στις διαδικασίες μετάφρασης εικονικών διευθύνσεων σε φυσικές σε απομονωμένα περιβάλλοντα και προσδιορισμού διευθύνσεων και δεδομένων που είναι αποθηκευμένα σε καταχωρητές CPU. Ως επίδειξη, οι ερευνητές έδειξαν τη δυνατότητα χρήσης του προσδιορισμένου εφέ για την εξαγωγή δεδομένων από τη μια διαδικασία στην άλλη με απόδοση περίπου 10 bit ανά δευτερόλεπτο σε ένα σύστημα με επεξεργαστή Intel Core i7-6500U. Εμφανίζεται επίσης η πιθανότητα διαρροής περιεχομένων καταχωρητή από τον θύλακα Intel SGX (χρειάστηκαν 32 λεπτά για να προσδιοριστεί μια τιμή 64-bit που εγγράφηκε σε έναν καταχωρητή 15-bit). Ορισμένοι τύποι επιθέσεων αποδείχθηκε ότι ήταν δυνατό να εφαρμοστούν σε JavaScript και WebAssembly, για παράδειγμα, ήταν δυνατός ο προσδιορισμός της φυσικής διεύθυνσης μιας μεταβλητής JavaScript και η πλήρωση καταχωρητών 64-bit με μια τιμή που ελέγχεται από τον εισβολέα.

Για να αποκλείσετε την επίθεση Foreshadow μέσω της κρυφής μνήμης L3, είναι αποτελεσματική η μέθοδος προστασίας Specter-BTB (Branch Target Buffer) που εφαρμόζεται στο σύνολο ενημερώσεων κώδικα retpoline. Έτσι, οι ερευνητές πιστεύουν ότι είναι απαραίτητο να ενεργοποιηθεί το retpoline ακόμη και σε συστήματα με νέες CPU που διαθέτουν ήδη προστασία έναντι γνωστών τρωτών σημείων στον κερδοσκοπικό μηχανισμό εκτέλεσης της CPU. Ταυτόχρονα, εκπρόσωποι της Intel δήλωσαν ότι δεν σχεδιάζουν να προσθέσουν πρόσθετα μέτρα προστασίας έναντι του Foreshadow στους επεξεργαστές και θεωρούν επαρκή την προστασία έναντι επιθέσεων Spectre V2 και L1TF (Foreshadow).

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο