Blacksmith - μια νέα επίθεση στη μνήμη DRAM και τα τσιπ DDR4

Μια ομάδα ερευνητών από το ETH Zurich, το Vrije Universiteit Amsterdam και την Qualcomm δημοσίευσαν μια νέα μέθοδο επίθεσης RowHammer που μπορεί να αλλάξει τα περιεχόμενα μεμονωμένων bits μνήμης δυναμικής τυχαίας πρόσβασης (DRAM). Η επίθεση είχε την κωδική ονομασία Blacksmith και αναγνωρίστηκε ως CVE-2021-42114. Πολλά τσιπ DDR4 που είναι εξοπλισμένα με προστασία από προηγουμένως γνωστές μεθόδους κλάσης RowHammer είναι ευαίσθητα στο πρόβλημα. Εργαλεία για τον έλεγχο των συστημάτων σας για ευπάθειες δημοσιεύονται στο GitHub.

Θυμηθείτε ότι οι επιθέσεις κλάσης RowHammer σάς επιτρέπουν να παραμορφώνετε τα περιεχόμενα μεμονωμένων bit μνήμης διαβάζοντας κυκλικά δεδομένα από γειτονικά κελιά μνήμης. Δεδομένου ότι η μνήμη DRAM είναι μια δισδιάστατη συστοιχία κυψελών, η καθεμία αποτελούμενη από έναν πυκνωτή και ένα τρανζίστορ, η εκτέλεση συνεχών αναγνώσεων της ίδιας περιοχής μνήμης έχει ως αποτέλεσμα διακυμάνσεις τάσης και ανωμαλίες που προκαλούν μικρή απώλεια φορτίου σε γειτονικές κυψέλες. Εάν η ένταση ανάγνωσης είναι υψηλή, τότε το γειτονικό κελί μπορεί να χάσει αρκετά μεγάλο ποσό φόρτισης και ο επόμενος κύκλος αναγέννησης δεν θα έχει χρόνο να επαναφέρει την αρχική του κατάσταση, γεγονός που θα οδηγήσει σε αλλαγή της τιμής των δεδομένων που είναι αποθηκευμένα στο κελί .

Για την προστασία από το RowHammer, οι κατασκευαστές τσιπ πρότειναν τον μηχανισμό TRR (Target Row Refresh), ο οποίος προστατεύει από τη φθορά των κελιών σε παρακείμενες σειρές, αλλά επειδή η προστασία βασίστηκε στην αρχή της «ασφάλειας από την αφάνεια», δεν έλυσε το πρόβλημα στο η ρίζα, αλλά προστατεύεται μόνο από γνωστές ειδικές περιπτώσεις, γεγονός που διευκόλυνε την εύρεση τρόπων παράκαμψης της προστασίας. Για παράδειγμα, τον Μάιο, η Google πρότεινε τη μέθοδο Half-Double, η οποία δεν επηρεάστηκε από την προστασία TRR, αφού η επίθεση επηρέασε κελιά που δεν ήταν άμεσα γειτονικά με τον στόχο.

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

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

Η μέθοδος αποδείχθηκε πολύ πιο αποτελεσματική από τις προηγούμενες προτεινόμενες μεθόδους παράκαμψης του TRR - οι ερευνητές κατάφεραν να επιτύχουν παραμόρφωση bit και στα 40 που αγόρασαν πρόσφατα διαφορετικά τσιπ μνήμης DDR4 κατασκευασμένα από τη Samsung, τη Micron, τη SK Hynix και έναν άγνωστο κατασκευαστή (ο κατασκευαστής ήταν δεν προσδιορίζεται σε 4 μάρκες). Για σύγκριση, η μέθοδος TRRespass που προτάθηκε προηγουμένως από τους ίδιους ερευνητές ήταν αποτελεσματική μόνο για 13 από τα 42 τσιπ που δοκιμάστηκαν εκείνη τη στιγμή.

Γενικά, η μέθοδος Blacksmith αναμένεται να εφαρμοστεί στο 94% όλων των τσιπ DRAM στην αγορά, αλλά οι ερευνητές λένε ότι ορισμένα τσιπ είναι πιο ευάλωτα και πιο εύκολα στην επίθεση από άλλα. Η χρήση κωδικών διόρθωσης σφαλμάτων (ECC) στα τσιπ και ο διπλασιασμός του ρυθμού ανανέωσης της μνήμης δεν παρέχει πλήρη προστασία, αλλά περιπλέκει τη λειτουργία. Αξίζει να σημειωθεί ότι το πρόβλημα δεν μπορεί να αποκλειστεί σε τσιπ που έχουν ήδη κυκλοφορήσει και απαιτεί την εφαρμογή νέας προστασίας σε επίπεδο υλικού, επομένως η επίθεση θα παραμείνει επίκαιρη για πολλά χρόνια.

Τα πρακτικά παραδείγματα περιλαμβάνουν μεθόδους για τη χρήση του Blacksmith για την αλλαγή των περιεχομένων των εγγραφών στον πίνακα σελίδων μνήμης (PTE, καταχώρηση πίνακα σελίδων) για την απόκτηση δικαιωμάτων πυρήνα, καταστροφή του δημόσιου κλειδιού RSA-2048 που είναι αποθηκευμένο στη μνήμη στο OpenSSH (μπορείτε να φέρετε το δημόσιο κλειδί στο την εικονική μηχανή κάποιου άλλου για να ταιριάζει με το ιδιωτικό κλειδί του εισβολέα για σύνδεση με το VM του θύματος) και να παρακάμψετε τον έλεγχο διαπιστευτηρίων τροποποιώντας τη μνήμη της διαδικασίας sudo για να αποκτήσετε δικαιώματα root. Ανάλογα με το τσιπ, χρειάζονται από 3 δευτερόλεπτα έως αρκετές ώρες χρόνου επίθεσης για να αλλάξετε ένα bit στόχου.

Επιπλέον, μπορούμε να σημειώσουμε τη δημοσίευση του ανοιχτού πλαισίου LiteX Row Hammer Tester για τη δοκιμή μεθόδων προστασίας μνήμης έναντι επιθέσεων κλάσης RowHammer, που αναπτύχθηκε από την Antmicro για την Google. Το πλαίσιο βασίζεται στη χρήση του FPGA για τον πλήρη έλεγχο των εντολών που μεταδίδονται απευθείας στο τσιπ DRAM για την εξάλειψη της επιρροής του ελεγκτή μνήμης. Το Toolkit στην Python προσφέρεται για αλληλεπίδραση με το FPGA. Η πύλη που βασίζεται σε FPGA περιλαμβάνει μια μονάδα για μεταφορά δεδομένων πακέτων (καθορίζει τα μοτίβα πρόσβασης στη μνήμη), έναν Εκτελεστή Payload, έναν ελεγκτή που βασίζεται σε LiteDRAM (επεξεργάζεται όλη τη λογική που απαιτείται για τη DRAM, συμπεριλαμβανομένης της ενεργοποίησης σειρών και της ενημέρωσης μνήμης) και μια CPU VexRiscv. Οι εξελίξεις του έργου διανέμονται υπό την άδεια Apache 2.0. Υποστηρίζονται διάφορες πλατφόρμες FPGA, συμπεριλαμβανομένων των Lattice ECP5, Xilinx Series 6, 7, UltraScale και UltraScale+.

Πηγή: opennet.ru

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