Retbleed: Μια νέα κερδοσκοπική επίθεση εκτέλεσης που χτυπά την Intel και την AMD

Η είδηση ​​έσκασε πρόσφαταΜια ομάδα ερευνητών από το ETH της Ζυρίχης εντόπισε μια νέα επίθεση στον κερδοσκοπικό μηχανισμό εκτέλεσης των έμμεσων αλμάτων στην CPU, που επιτρέπει την εξαγωγή πληροφοριών από τη μνήμη του πυρήνα ή την οργάνωση μιας επίθεσης στο κεντρικό σύστημα από εικονικές μηχανές.

Τα τρωτά σημεία είχαν την κωδική ονομασία Retbleed (ήδη έχει καταγραφεί σύμφωνα με CVE-2022-29900, CVE-2022-29901) και είναι παρόμοια στη φύση με τις επιθέσεις Spectre-v2.

Η διαφορά συνοψίζεται στην οργάνωση της κερδοσκοπικής εκτέλεσης αυθαίρετου κώδικα κατά την επεξεργασία της εντολής "ret" (return), η οποία ανακτά τη διεύθυνση για να μεταπηδήσει από τη στοίβα, αντί να μεταπηδήσει έμμεσα χρησιμοποιώντας την εντολή "jmp", φορτώνοντας τη διεύθυνση από τη μνήμη ή καταχωρητή CPU.

Για τη νέα επίθεση αναφέρεται ότι ένας εισβολέας μπορεί να δημιουργήσει συνθήκες για μια πρόβλεψη διχάλας λανθασμένα και ενορχηστρώνουν ένα σκόπιμα κερδοσκοπικό άλμα σε ένα μπλοκ κώδικα που δεν προορίζεται από τη λογική εκτέλεσης του προγράμματος.

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

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

Για σκόπιμη εξαγωγή πληροφοριών από περιοχές σε διαφορετικό επίπεδο προνομίων (για παράδειγμα, από τη μνήμη του πυρήνα), χρησιμοποιούνται "συσκευές": σενάρια που υπάρχουν στον πυρήνα, κατάλληλα για υποθετική ανάγνωση δεδομένων από τη μνήμη, ανάλογα με τις εξωτερικές συνθήκες που μπορούν να επηρεαστούν από έναν επιτιθέμενο.

Για την προστασία από κλασικές επιθέσεις κλάσης Spectre, οι οποίες χρησιμοποιούν οδηγίες διακλάδωσης υπό όρους και έμμεσες, τα περισσότερα λειτουργικά συστήματα χρησιμοποιούν την τεχνική "retpoline", η οποία βασίζεται στην αντικατάσταση των έμμεσων πράξεων διακλάδωσης με την εντολή "ret", για την οποία υπάρχει ξεχωριστή πρόβλεψη κατάστασης στοίβας. Η απαιτούμενη μονάδα χρησιμοποιείται σε επεξεργαστές, δεν χρησιμοποιεί μπλοκ πρόβλεψης κλάδου.

Κατά την εισαγωγή του retpoline το 2018, πιστευόταν ότι η χειραγώγηση διεύθυνσης που μοιάζει με Specter δεν ήταν πρακτικός για κερδοσκοπική διακλάδωση με την εντολή "ret".

Οι ερευνητές που ανέπτυξαν τη μέθοδο επίθεσης Ο Retbleed έδειξε τη δυνατότητα δημιουργίας μικροαρχιτεκτονικών συνθηκών να ξεκινήσει μια κερδοσκοπική μετάβαση χρησιμοποιώντας την εντολή "ret" και δημοσίευσε μια έτοιμη εργαλειοθήκη για τον εντοπισμό κατάλληλων ακολουθιών εντολών (gadgets) για την εκμετάλλευση της ευπάθειας στον πυρήνα του Linux όπου εμφανίζονται τέτοιες συνθήκες.

Κατά τη διάρκεια της μελέτης, ετοιμάστηκε λειτουργική εκμετάλλευση που επιτρέπει, σε συστήματα με επεξεργαστές Intel, από μια μη προνομιακή διαδικασία στο χώρο του χρήστη να εξάγει αυθαίρετα δεδομένα από τη μνήμη του πυρήνα με ρυθμό 219 byte ανά δευτερόλεπτο και με ακρίβεια 98%.

En οι επεξεργαστές AMD, η αποτελεσματικότητα του exploit είναι πολύ υψηλότερη, καθώς ο ρυθμός διαρροής είναι 3,9 KB ανά δευτερόλεπτο. Ως πρακτικό παράδειγμα, δείχνουμε πώς να χρησιμοποιήσετε το προτεινόμενο exploit για να προσδιορίσετε το περιεχόμενο του αρχείου /etc/shadow. Σε συστήματα με επεξεργαστές Intel, μια επίθεση για κατακερματισμό του κωδικού πρόσβασης root πραγματοποιήθηκε σε 28 λεπτά και σε συστήματα με επεξεργαστές AMD σε 6 λεπτά.

Η επίθεση επιβεβαιώθηκε για 6-8 γενιές επεξεργαστών Intel που κυκλοφόρησαν πριν από το τρίτο τρίμηνο του 2019 (συμπεριλαμβανομένου του Skylake) και επεξεργαστές AMD με βάση τις μικροαρχιτεκτονικές Zen 1, Zen 1+ και Zen 2 που κυκλοφόρησαν πριν από το δεύτερο τρίμηνο του 2021. Σε νεότερα μοντέλα επεξεργαστών, όπως οι AMD Zen3 και Intel Alder Lake, καθώς και επεξεργαστές ARM, το πρόβλημα μπλοκάρεται από τους υπάρχοντες μηχανισμούς προστασίας. Για παράδειγμα, η χρήση των οδηγιών IBRS (Indirect Branch Restricted Speculation) συμβάλλει στην προστασία από επίθεση.

Ένα σύνολο αλλαγών έχει προετοιμαστεί για τον πυρήνα του Linux και τον υπερεπόπτη Xen, που μπλοκάρουν το πρόβλημα μέσω προγραμματισμού σε παλαιότερες CPU. Η προτεινόμενη ενημέρωση κώδικα για τον πυρήνα του Linux αλλάζει 68 αρχεία, προσθέτει 1783 γραμμές και αφαιρεί 387 γραμμές.

Δυστυχώς, η προστασία συνεπάγεται σημαντικό γενικό κόστος: για κείμενα που γίνονται σε επεξεργαστές AMD και Intel, η υποβάθμιση της απόδοσης εκτιμάται ότι κυμαίνεται μεταξύ 14% και 39%. Είναι προτιμότερο να χρησιμοποιείτε προστασία βασισμένη σε οδηγίες IBRS, διαθέσιμη σε νεότερες γενιές επεξεργαστών Intel και υποστηρίζεται από τον πυρήνα Linux 4.19.

Τέλος, εάν ενδιαφέρεστε να μάθετε περισσότερα για αυτό, μπορείτε να συμβουλευτείτε το λεπτομέρειες στον παρακάτω σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.