Δύο επιθέσεις στον μηχανισμό πρόβλεψης καναλιών κρυφής μνήμης σε επεξεργαστές AMD

Μια ομάδα ερευνητών από το Τεχνικό Πανεπιστήμιο του Γκρατς (Αυστρία), παλαιότερα γνωστό για την ανάπτυξη μεθόδων επίθεσης MDS, NetSpectre, Σφυρί и ZombieLoad, διεξήγαγε έρευνα για βελτιστοποιήσεις υλικού ειδικά για επεξεργαστές AMD και έχει αναπτύξει δύο νέες μέθοδοι επιθέσεων πλευρικού καναλιού που χειρίζονται τις διαρροές δεδομένων κατά τη λειτουργία του μηχανισμού πρόβλεψης καναλιών κρυφής μνήμης L1 των επεξεργαστών AMD. Οι τεχνικές μπορούν να χρησιμοποιηθούν για τη μείωση της αποτελεσματικότητας της προστασίας ASLR, την ανάκτηση κλειδιών σε ευάλωτες εφαρμογές AES και την αύξηση της αποτελεσματικότητας της επίθεσης Spectre.

Εντοπίστηκαν προβλήματα στην υλοποίηση του μηχανισμού πρόβλεψης καναλιών (way predictor) στη μνήμη cache δεδομένων πρώτου επιπέδου (L1D) της CPU, που χρησιμοποιείται για την πρόβλεψη ποιο κανάλι κρυφής μνήμης περιέχει μια συγκεκριμένη διεύθυνση μνήμης. Η βελτιστοποίηση που χρησιμοποιείται στους επεξεργαστές AMD βασίζεται στον έλεγχο μ-ετικέτες (μTag). Το μTag υπολογίζεται εφαρμόζοντας μια συγκεκριμένη συνάρτηση κατακερματισμού στην εικονική διεύθυνση. Κατά τη λειτουργία, η μηχανή πρόβλεψης καναλιών χρησιμοποιεί μTag για να προσδιορίσει το κανάλι κρυφής μνήμης από τον πίνακα. Έτσι, το μTag επιτρέπει στον επεξεργαστή να περιοριστεί στην πρόσβαση μόνο σε ένα συγκεκριμένο κανάλι, χωρίς να κάνει αναζήτηση σε όλες τις επιλογές, γεγονός που μειώνει σημαντικά την κατανάλωση ενέργειας της CPU.

Δύο επιθέσεις στον μηχανισμό πρόβλεψης καναλιών κρυφής μνήμης σε επεξεργαστές AMD

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

  • Collide+Probe - επιτρέπει σε έναν εισβολέα να παρακολουθεί την πρόσβαση στη μνήμη για διεργασίες που εκτελούνται στον ίδιο λογικό πυρήνα CPU. Η ουσία της μεθόδου είναι η χρήση εικονικών διευθύνσεων που προκαλούν συγκρούσεις στη συνάρτηση κατακερματισμού που χρησιμοποιείται για τον υπολογισμό του μTag για την παρακολούθηση της πρόσβασης στη μνήμη. Σε αντίθεση με τις επιθέσεις Flush+Reload και Prime+Probe που χρησιμοποιούνται σε επεξεργαστές Intel, το Collide+Probe δεν χρησιμοποιεί κοινόχρηστη μνήμη και λειτουργεί χωρίς γνώση των φυσικών διευθύνσεων.
  • Load+Reload - σας επιτρέπει να προσδιορίζετε με μεγάλη ακρίβεια τα ίχνη πρόσβασης στη μνήμη στον ίδιο φυσικό πυρήνα της CPU. Η μέθοδος βασίζεται στο γεγονός ότι ένα κελί φυσικής μνήμης μπορεί να βρίσκεται στη μνήμη cache L1D μόνο μία φορά. Εκείνοι. Η πρόσβαση στην ίδια κυψέλη μνήμης σε διαφορετική εικονική διεύθυνση θα προκαλέσει την εξαγωγή της κυψέλης από την κρυφή μνήμη L1D, επιτρέποντας την παρακολούθηση της πρόσβασης στη μνήμη. Αν και η επίθεση βασίζεται σε κοινόχρηστη μνήμη, δεν ξεπλένει τις γραμμές κρυφής μνήμης, επιτρέποντας κρυφές επιθέσεις που δεν εξάγουν δεδομένα από την κρυφή μνήμη τελευταίου επιπέδου.

Με βάση τις τεχνικές Collide+Probe και Load+Reload, οι ερευνητές έχουν επιδείξει διάφορα σενάρια επίθεσης πλευρικού καναλιού:

  • Εμφανίζεται η δυνατότητα χρήσης μεθόδων για την οργάνωση ενός κρυφού καναλιού έμμεσης επικοινωνίας μεταξύ δύο διεργασιών, επιτρέποντας τη μεταφορά δεδομένων σε ταχύτητες έως και 588 kB ανά δευτερόλεπτο.
  • Χρησιμοποιώντας συγκρούσεις στο μTag, ήταν δυνατό να μειωθεί η εντροπία για διαφορετικές παραλλαγές του ASLR (Τυχαιοποίηση διάταξης χώρου διευθύνσεων) και να παρακαμφθεί η προστασία ASLR στον πυρήνα σε ένα πλήρως ενημερωμένο σύστημα Linux. Εμφανίζεται η δυνατότητα πραγματοποίησης μιας επίθεσης για τη μείωση της εντροπίας ASLR τόσο από εφαρμογές χρήστη όσο και με χρήση κώδικα JavaScript που εκτελείται σε περιβάλλον sandbox και κώδικα που εκτελείται σε άλλο περιβάλλον επισκέπτη.

    Δύο επιθέσεις στον μηχανισμό πρόβλεψης καναλιών κρυφής μνήμης σε επεξεργαστές AMD

  • Με βάση τη μέθοδο Collide+Probe, εφαρμόστηκε μια επίθεση για την ανάκτηση του κλειδιού κρυπτογράφησης από μια ευάλωτη υλοποίηση (με βάση T-τραπέζι) Κρυπτογράφηση AES.
  • Χρησιμοποιώντας τη μέθοδο Collide+Probe ως κανάλι απόκτησης δεδομένων, η επίθεση Spectre μπόρεσε να εξαγάγει ιδιωτικά δεδομένα από τον πυρήνα χωρίς τη χρήση κοινής μνήμης.

Η ευπάθεια εμφανίζεται σε επεξεργαστές AMD που βασίζονται σε μικροαρχιτεκτονικές
Μπουλντόζα, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ και Zen2.
Η AMD ειδοποιήθηκε για το ζήτημα στις 23 Αυγούστου 2019, αλλά μέχρι στιγμής δεν έδωσε στη δημοσιότητα την έκθεση με πληροφορίες σχετικά με τον αποκλεισμό της ευπάθειας. Σύμφωνα με τους ερευνητές, το πρόβλημα μπορεί να αποκλειστεί σε επίπεδο ενημέρωσης μικροκώδικα παρέχοντας bits MSR για την επιλεκτική απενεργοποίηση του συστήματος πρόβλεψης καναλιών, παρόμοιο με αυτό που έκανε η Intel για να ελέγξει την απενεργοποίηση των μηχανισμών πρόβλεψης διακλαδώσεων.

Δύο επιθέσεις στον μηχανισμό πρόβλεψης καναλιών κρυφής μνήμης σε επεξεργαστές AMD

Πηγή: opennet.ru

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