Οι ακαδημαϊκοί ερευνητές ανέπτυξαν μια επίθεση πλευρικού καναλιού που ονομάζεται TEE.Fail, η οποία επιτρέπει την εξαγωγή μυστικών από το αξιόπιστο περιβάλλον εκτέλεσης στην CPU, την εξαιρετικά ασφαλή περιοχή ενός συστήματος, όπως το SGX και το TDX της Intel και το SEV-SNP της AMD.
Η μέθοδος είναι μια επίθεση παρεμβολής διαύλου μνήμης σε συστήματα DDR5 που θα μπορούσε να γίνει με επιτυχία από χομπίστες υπολογιστών με κόστος λιγότερο από 1.000 $.
Τα Trusted Execution Environments (TEE) είναι «εμπιστευτικό υπολογιστικό» υλικό εντός του κύριου επεξεργαστή που διασφαλίζουν την εμπιστευτικότητα και την ακεραιότητα των ευαίσθητων δεδομένων, όπως τα κρυπτογραφικά κλειδιά που χρησιμοποιούνται για έλεγχο ταυτότητας και εξουσιοδότηση.
Αυτό το περιβάλλον είναι απομονωμένο από το λειτουργικό σύστημα και δημιουργεί προστατευμένες περιοχές μνήμης όπου ο κώδικας και τα δεδομένα μπορούν να εκτελούνται με ασφάλεια.
Ερευνητές από το Georgia Tech και το Πανεπιστήμιο Purdue σημειώνουν ότι οι σύγχρονες υλοποιήσεις των Intel SGX, Intel TDX και AMD SEV-SNP δεν είναι πλέον τόσο ασφαλείς όσο διαφημίζονται, λόγω αρχιτεκτονικών συμβιβασμών στις πρόσφατες γενιές.
Συγκεκριμένα, τα TEE μετακινήθηκαν από CPU-πελάτες σε hardware επιπέδου διακομιστή χρησιμοποιώντας μνήμη DDR5, η οποία υιοθέτησε ντετερμινιστική κρυπτογράφηση μνήμης AES-XTS και αφαίρεσε την ακεραιότητα της μνήμης και τις προστασίες επανάληψης υπέρ της απόδοσης και της επεκτασιμότητας.
Τα πειράματά τους επιβεβαίωσαν ότι είναι δυνατό να εκμεταλλευτούν αυτές τις αδυναμίες για εξαγωγή κλειδιού και πλαστογραφία βεβαίωσης. Το TEE.Fail είναι η πρώτη επίθεση κρυπτογραφημένου κειμένου που βασίζεται σε DDR5, επεκτείνοντας την προηγούμενη εργασία DDR4 όπως WireTap και BatteringRAM.
Επίθεση και συνέπειες
Η επίθεση απαιτεί φυσική πρόσβαση στον στόχο, καθώς και δικαιώματα σε επίπεδο ρίζας για την τροποποίηση του προγράμματος οδήγησης πυρήνα, αλλά όχι τεχνογνωσία σε επίπεδο chip.
Στο τεχνικό έγγραφο, οι ερευνητές εξηγούν ότι κατάφεραν να συλλάβουν το σήμα αξιόπιστα μειώνοντας το ρολόι μνήμης του συστήματος στα 3200 MT/s (1,6 GHz). Για αυτό, προσάρτησαν έναν ανυψωτικό RDIMM και ένα προσαρμοσμένο δίκτυο απομόνωσης ανιχνευτή μεταξύ ενός DDR5 DIMM και της μητρικής πλακέτας.

Πηγή: tee.fail
Με τον παρεμβολέα συνδεδεμένο σε έναν λογικό αναλυτή, ο εισβολέας καταγράφει εντολές/διεύθυνση DDR5 και εκρήξεις δεδομένων, ώστε να μπορεί να δει κρυπτογραφημένα κείμενα γραμμένα και ανάγνωση από φυσικές τοποθεσίες DRAM.

Πηγή: tee.fail
Για να επιτύχουν τον στόχο τους με το SGX της Intel, οι ερευνητές έπρεπε να εξαναγκάσουν τα δεδομένα σε εικονικές διευθύνσεις σε ένα ενιαίο κανάλι μνήμης που μπορούσαν να παρατηρήσουν μέσω του παρεμβολέα.
Μέσω μιας διεπαφής για φυσικές διευθύνσεις που η Intel εξέθεσε στο στοιχείο Μετάφραση Διεύθυνσης Μνήμης, οι ερευνητές θα μπορούσαν «να εκθέσουν περαιτέρω αυτήν τη διεπαφή αποκωδικοποίησης στον χώρο των χρηστών μέσω sysfs.“
Αυτό τους επιτρέπει να βρουν τις πληροφορίες για τον προσδιορισμό της θέσης DIMM για τη φυσική διεύθυνση.
Ωστόσο, το SGX χρησιμοποιεί τον πυρήνα του λειτουργικού συστήματος για την εκχώρηση φυσικής μνήμης και οι ερευνητές έπρεπε να “τροποποιήσουν το πρόγραμμα οδήγησης SGX του πυρήνα για να αποδεχτεί ένα εικονικό και φυσικό ζεύγος διευθύνσεων ως παράμετρο που θα αποθηκευτεί στην παγκόσμια μνήμη του πυρήνα.”
Οι ερευνητές λένε ότι δημιούργησαν έναν θύλακα SGX που βομβάρδισε μια συγκεκριμένη εικονική διεύθυνση μνήμης με λειτουργίες ανάγνωσης και εγγραφής. Αυτό τους επέτρεψε να επαληθεύσουν ότι το κρυπτογραφημένο κρυπτογραφημένο κείμενο που παρατηρήθηκε στον παρεμβολέα μνήμης ήταν μια ντετερμινιστική συνάρτηση της διεύθυνσης φυσικής μνήμης και των περιεχομένων της.
«Για να ελέγξουμε ότι η κρυπτογράφηση είναι ντετερμινιστική, δίνουμε εντολή στον θύλακα μας να εκτελέσει μια σειρά λειτουργιών εγγραφής και ανάγνωσης σε μια σταθερή εικονική διεύθυνση στη μνήμη θύλακα, συλλαμβάνοντας τα δεδομένα ανάγνωσης κρυπτογραφημένου κειμένου μετά από κάθε βήμα χρησιμοποιώντας τον λογικό αναλυτή μας», εξηγούν.
Λόγω της χρήσης της κρυπτογράφησης AES-XTS, όπου μια πληροφορία κρυπτογραφείται στην ίδια έξοδο κάθε φορά, η ομάδα έγραψε γνωστές τιμές στις παρατηρήσιμες φυσικές διευθύνσεις για να δημιουργήσει ένα κρυπτογραφημένο κείμενο σε αντιστοίχιση τιμών.

Πηγή: tee.fail
Στη συνέχεια, ενεργοποιώντας και καταγράφοντας στοχευμένες λειτουργίες κρυπτογράφησης, παρατηρούν κρυπτογραφημένες προσβάσεις σε ενδιάμεσες εγγραφές πίνακα και ανακτούν τα μη ψηφία ανά υπογραφή.
Από το ανακτημένο nonce και τη δημόσια υπογραφή, ανακατασκευάζουν τα ιδιωτικά κλειδιά υπογραφής, τα οποία τους επιτρέπουν να πλαστογραφούν έγκυρα εισαγωγικά SGX/TDX και να πλαστογραφούν τα γνήσια TEE.
Η ίδια προσέγγιση χρησιμοποιήθηκε για την εξαγωγή κλειδιών υπογραφής από το OpenSSL που εκτελείται σε μια εικονική μηχανή που προστατεύεται από το SEV-SNP της AMD.
Αξίζει να σημειωθεί ότι οι επιθέσεις κατά της AMD SEV-SNP εξακολουθούν να λειτουργούν ακόμη και όταν είναι ενεργοποιημένη η επιλογή ασφαλείας «Κρυπτογραφημένο κείμενο».
Οι ερευνητές παρουσίασαν επιθέσεις που τους επέτρεψαν να:
- Σφυρηλατήστε πιστοποιήσεις TDX στο Ethereum BuilderNet για πρόσβαση σε εμπιστευτικά δεδομένα συναλλαγών και κλειδιά, επιτρέποντας μη ανιχνεύσιμη προκαταρκτική εκτέλεση.
- Ψεύτικες βεβαιώσεις Intel και NVIDIA για εκτέλεση φόρτου εργασίας εκτός TEE ενώ φαίνονται νόμιμες.
- Εξάγετε τα ιδιωτικά κλειδιά ECDH απευθείας από θύλακες, ανακτώντας το κύριο κλειδί του δικτύου και παραβιάζοντας πλήρως το απόρρητο.
Μέσω του TEE.Fail, οι ερευνητές μπόρεσαν να αποδείξουν ότι είναι δυνατό να πάρουν τον έλεγχο της εκτέλεσης του TEE και να παρατηρήσουν συγκεκριμένες εικονικές διευθύνσεις. Οι ερευνητές στόχευσαν επίσης έναν διακομιστή Xeon και απέκτησαν το κλειδί πιστοποιητικού παροχής (PCK) – που χρησιμοποιείται για την επαλήθευση της ταυτότητας μιας συσκευής.
Το TEE.Fail είναι μια πολύπλοκη επίθεση που απαιτεί φυσική πρόσβαση. Αυτό το καθιστά λιγότερο πρακτικό σε ένα πραγματικό σενάριο και η πολυπλοκότητά του απέχει πολύ από το να αποτελεί απειλή για τον μέσο χρήστη.
Οι ερευνητές ανέφεραν τα ευρήματά τους στην Intel τον Απρίλιο, στην AMD τον Αύγουστο και στην NVIDIA τον Ιούνιο. Και οι τρεις προμηθευτές αναγνώρισαν τα ζητήματα και δήλωσαν ότι εργάζονται για μετριασμούς και προσαρμογές για το εμπιστευτικό μοντέλο υπολογιστικής απειλής, με σχέδια να δημοσιεύσουν επίσημες δηλώσεις όταν το έγγραφο TEE.Fail δημοσιοποιηθεί.
Η BleepingComputer ζήτησε από την Intel, την AMD και τη NVIDIA να μοιραστούν τις δηλώσεις τους για συμπερίληψη σε αυτήν την αναφορά, αλλά δεν έχουμε λάβει νέα από τη δημοσίευση.
VIA: bleepingcomputer.com








