SQUIP, μια νέα επίθεση που επηρεάζει τους επεξεργαστές AMD και οδηγεί σε διαρροή δεδομένων

μια ομάδα από iΕρευνητές από το Τεχνολογικό Πανεπιστήμιο του Γκρατς (Αυστρία), παλαιότερα γνωστή για την ανάπτυξη των επιθέσεων MDS, NetSpectre, Throwhammer και ZombieLoad, αποκάλυψε μια νέα επίθεση πλευρικού καναλιού (CVE-2021-46778) στην ουρά προγραμματιστή επεξεργαστή AMD που χρησιμοποιείται για τον προγραμματισμό της εκτέλεσης εντολών σε διαφορετικές μονάδες εκτέλεσης της CPU.

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

ο CPU της AMD βασισμένες σε 1η, 2η και 3η μικροαρχιτεκτονική Zen γενιάς (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) Επηρεάζονται όταν χρησιμοποιείται η τεχνολογία ταυτόχρονης πολυνηματικής σύνδεσης (SMT).

Οι σύγχρονες CPU χρησιμοποιούν έναν υπερκλιμακωτό σχεδιασμό, όπου πολλαπλές εντολές εκτελούνται ταυτόχρονα για μεγιστοποίηση της απόδοσης. Αυτές οι CPU επεξεργάζονται οδηγίες σε μια διοχέτευση μέσω πολλών σταδίων: (1) ανάκτηση, (2) αποκωδικοποίηση, (3) πρόγραμμα/εκτέλεση και (4) ανάκτηση.

Η επίθεση βασίζεται στην αξιολόγηση του επιπέδου εμφάνισης της διαμάχης (επίπεδο διενέξεων) σε διαφορετικές ουρές προγραμματιστή και πραγματοποιείται μέσω της μέτρησης των καθυστερήσεων κατά την έναρξη λειτουργιών ελέγχου που εκτελούνται σε άλλο νήμα SMT στην ίδια φυσική CPU. Για την ανάλυση του περιεχομένου, χρησιμοποιήθηκε η μέθοδος Prime+Probe, η οποία περιλαμβάνει την πλήρωση της ουράς με ένα σύνολο τιμών αναφοράς και τον προσδιορισμό των αλλαγών μετρώντας τον χρόνο πρόσβασης σε αυτές τη στιγμή της επαναφόρτωσης.

Το στάδιο προγράμματος/εκτέλεσης μπορεί να επεξεργαστεί εντολές εκτός σειράς για να μεγιστοποιήσει τον παραλληλισμό του επιπέδου εντολών. Περιγράφουμε εν συντομία καθένα από αυτά τα στάδια:

-Αναζήτηση. Η CPU αναζητά την επόμενη εντολή προς εκτέλεση από τη μνήμη cache L1i. 
-Αποκρυπτογραφώ. Για να επιτραπεί η αποτελεσματική εκτέλεση, οι λαμβανόμενες εντολές (πράξεις macro) αποκωδικοποιούνται σε μία ή περισσότερες απλούστερες μικρολειτουργίες (μops) και τοποθετούνται σε μια ουρά μop. Αυτά τα µops τροφοδοτούνται στο backend, όπου προγραμματίζονται και εκτελούνται.
-Προγραμματισμός/Εκτέλεση. Οι προγραμματιστές παρακολουθούν ποια μop είναι έτοιμα για εκτέλεση (έχουν διαθέσιμες εισόδους) και τα προγραμματίζουν δυναμικά (εκτός λειτουργίας) στις διαθέσιμες μονάδες εκτέλεσης. Ένας πυρήνας CPU έχει πολλαπλές μονάδες εκτέλεσης και μπορεί να έχει πολλαπλές αριθμητικές και λογικές μονάδες (ALU), μονάδες εκτέλεσης διακλάδωσης (BRU), μονάδες παραγωγής διευθύνσεων (AGU).

Κατά τη διάρκεια του πειράματος, Οι ερευνητές μπόρεσαν να αναδημιουργήσουν πλήρως το ιδιωτικό κλειδί RSA 4096 bit χρησιμοποιείται για τη δημιουργία ψηφιακών υπογραφών χρησιμοποιώντας την κρυπτογραφική βιβλιοθήκη mbedTLS 3.0, η οποία χρησιμοποιεί τον αλγόριθμο Montgomery για να αυξήσει έναν αριθμό σε συντελεστή ισχύος. Χρειάστηκαν 50.500 ίχνη για τον προσδιορισμό του κλειδιού.

Ο συνολικός χρόνος επίθεσης κράτησε 38 λεπτά. Παρουσιάζονται παραλλαγές επίθεσης που παρέχουν διαρροή μεταξύ διαφορετικών διεργασιών και εικονικών μηχανών που ελέγχονται από τον υπερεπόπτη KVM. Αποδεικνύεται επίσης ότι η μέθοδος μπορεί να χρησιμοποιηθεί για την ενορχήστρωση κρυφής μεταφοράς δεδομένων μεταξύ εικονικών μηχανών με ρυθμό 0,89 Mbit/s και μεταξύ διεργασιών με ρυθμό 2,70 Mbit/s με ποσοστό σφάλματος μικρότερο από 0,8, XNUMX%.

Ο πυρήνας της CPU χωρίζεται σε πολλαπλούς λογικούς πυρήνες ή νήματα, που εκτελούν ανεξάρτητες ροές εντολών αλλά μοιράζονται πόρους όπως η κρυφή μνήμη L1i. Τα µops αυτών των νημάτων μοιράζονται επίσης μονάδες εκτέλεσης δυναμικά για να επιτρέψουν υψηλότερη συνολική χρήση. Η κατάτμηση διαφορετικών τμημάτων του πυρήνα.
Γίνεται μέσω ανταγωνιστικής ανταλλαγής. Οι αρχιτεκτονικές Zen της AMD επιτρέπουν δύο νήματα
ανά πυρήνα. Αυτά τα νήματα μπορεί να προέρχονται από ένα μόνο πρόγραμμα ή από διαφορετικά προγράμματα, όπως τα διαχειρίζεται το λειτουργικό σύστημα.

Οι επεξεργαστές Intel δεν είναι ευαίσθητοι επίθεση επειδή χρησιμοποιούν μια ενιαία ουρά προγραμματισμού, ενώ οι ευάλωτοι επεξεργαστές AMD χρησιμοποιούν ξεχωριστές ουρές για κάθε μονάδα εκτέλεσης.

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

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


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

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

*

*

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