Μία ακόμα ευπάθεια προστέθηκε στη λίστα των ευπαθειών που επιτρέπουν τις επιθέσεις πλευρικού καναλιού και που ταλαιπωρούν εδώ και αρκετό καιρό τους επεξεργαστές της Intel.

Ερευνητές στο Πανεπιστήμιο Tsinghua, στο Πανεπιστήμιο του Maryland και στο Πανεπιστήμιο Posts and Telecommunications του Πεκίνου ανακάλυψαν ένα νέο ελάττωμα που δεν είχε εντοπιστεί προηγουμένως στους επεξεργαστές της Intel και που επιτρέπει τη διαρροή δεδομένων μέσω του καταχωρητή EFLAGS. Το έργο των ερευνητικών ομάδων δημοσιεύτηκε στον δουλειά τους δημοσιεύεται στον διακομιστή προεκτύπωσης arXiv.

Σε αντίθεση με τις προηγούμενες ευπάθειες μικροαρχιτεκτικής και υποθετικής εκτέλεσης πλευρικού καναλιού, το νέο αυτό exploit δεν βασίζεται στο σύστημα κρυφής/προσωρινής μνήμης ή cache. Το συγκεκριμένο exploit εστιάζει στην ανάλυση του χρόνου των παροδικών/μεταβατικών εκτελέσεων, προσέγγιση που καθιστά σημαντικά δυσκολότερη υπόθεση τον εντοπισμό τέτοιων επιθέσεων. Ο Yu Jin, ένας συν-συγγραφέας της μελέτης που δημοσιεύτηκε την περασμένη εβδομάδα είπε ότι μια αλλαγή στον καταχωρητή EFLAGS κατά τη μεταβατική εκτέλεση θα μπορούσε να επιβραδύνει τις επόμενες εντολές Jump on Condition Code ή JCC. Η ευπάθεια, που χρησιμοποίησαν οι ερευνητικές ομάδες σε συνδυασμό με μία επίθεση Meltdown θα μπορούσε να επιτρέψει στους εισβολείς να χρησιμοποιήσουν ανάλυση χρονισμού για να αποκρυπτογραφήσουν κώδικα στον οποίο κανονικά δεν θα έπρεπε να είχαν πρόσβαση.

Οι ευπάθειες μεταβατικής εκτέλεσης σε μία κεντρική μονάδα επεξεργασίας αποτελούν ευπάθειες στην τεχνολογία υποθετικής βελτιστοποίησης εκτέλεσης (speculative execution optimization) που έχει εφαρμοστεί σε έναν μικροεπεξεργαστή, οι οποίες μπορούν να αξιοποιηθούν από εισβολείς και επιτιθέμενους για τη διαρροή μυστικών δεδομένων σε ένα μη εξουσιοδοτημένο μέρος. Κλασικό παράδειγμα μίας τέτοιας ευπάθειας είναι το Spectre που έδωσε και το όνομά του και στο συγκεκριμένο είδος επίθεσης πλευρικού καναλιού.

Ο καταχωρητής EFLAGS περιγράφεται ως «ο καταχωρητής κατάστασης που περιέχει την τρέχουσα κατάσταση ενός επεξεργαστή x86» ενώ η JCC είναι μια «εντολή επεξεργαστή που επιτρέπει μια υπό όρους διακλάδωση με βάση τα περιεχόμενα του καταχωρητή EFLAGS». Με απλά λόγια, για να πραγματοποιηθεί η επίθεση, θα πρέπει πρώτα να ενεργοποιηθεί η προσωρινή εκτέλεση κρυπτογραφημένων μυστικών δεδομένων από τον καταχωρητή EFLAGS και στη συνέχεια να μετρηθεί ο χρόνος εκτέλεσης της εντολής JCC για την ανάγνωση του περιεχομένου αυτών των κρυπτογραφημένων δεδομένων. Οι ερευνητές δοκίμασαν το σφάλμα σε αρκετούς επεξεργαστές διαπιστώνοντας ότι ήταν 100% επιτυχημένο στα μοντέλα Intel Core i7-6700 και i7-7700 και «αρκετά επιτυχημένο» στο i9-10980XE. Όλες οι δοκιμές εκτελέστηκαν στην έκδοση 515.0 του kernel του Ubuntu 22.04 Jammy/Linux.

Ο Yu Jin δήλωσε: «Η αυξανόμενη πολυπλοκότητα και οι επιθετικές βελτιστοποιήσεις των σύγχρονων CPU, με τα πολλά χαρακτηριστικά στην μικροαρχιτεκτονική τους… είναι η βασική αιτία πολλών ζητημάτων ασφάλειας, συμπεριλαμβανομένων και των επιθέσεων πλευρικού καναλιού». Οι επιθέσεις υποθετικής εκτέλεσης πλευρικού καναλιού μπορούν να εμφανιστούν με πολλές μορφές. Δεν είναι ιοί, αλλά περισσότερο έχουν τη μορφή εισβολών σε συστήματα υπολογιστών, με τους εισβολείς να αποκτούν πρόσβαση διαβάζοντας μοτίβα που δεν σχετίζονται με τον κώδικα, όπως ο χρονισμός, η κατανάλωση ενέργειας και οι ηλεκτρομαγνητικές και ακουστικές εκπομπές.

Ο Daniel Genkin, καθηγητής στο Πανεπιστήμιο του Michigan εξήγησε σε μια συνέντευξη που παραχώρησε το 2020: «Συνήθως όταν σχεδιάζουμε έναν αλγόριθμο, σκεφτόμαστε τις εισόδους και τις εξόδους. Δεν σκεφτόμαστε τίποτα άλλο που συμβαίνει όταν εκτελείται το πρόγραμμα. Οι υπολογιστές ωστόσο δεν λειτουργούν στο… χαρτί, αλλά υπό τους φυσικούς νόμους. Όταν φύγετε από το χαρτί και φτάσετε στη φυσική, την υπολογιστική διέπουν όλα τα είδη φυσικών εφέ: χρόνος, ισχύς, ήχος. Ένα δευτερεύον κανάλι εκμεταλλεύεται κάποιο από αυτά τα εφέ για να πάρει περισσότερες πληροφορίες και να συλλέξει τα μυστικά του αλγορίθμου». Οι επιθέσεις πλευρικού καναλιού αξιοποιούν τα τελευταία χρόνια ευπάθειες όπως τις Meltdown, Spectre, Fallout και Zombieload.

Οι ερευνητικές ομάδες από τα παραπάνω εκπαιδευτικά και επιστημονικά ιδρύματα δεν γνωρίζουν την αιτία της ευπάθειας. «Τα βασικά αίτια της συγκεκριμένης επίθεσης δεν είναι ακόμα πλήρως κατανοητά» είπε ο Yu Jin. «Μπορούμε μόνο να υποθέσουμε ότι υπάρχει κάποιο buffer στη μονάδα εκτέλεσης του επεξεργαστή της Intel που χρειάζεται λίγο χρόνο για να επανέλθει στην προηγούμενη κατάσταση αν κριθεί απαραίτητο να αποσυρθεί μία εκτέλεση (εντολής). Αυτή η διαδικασία απόσυρσης θα προκαλέσει μία διακοπή αν η εντολή που ακολουθεί εξαρτάται από τον στόχο του buffer». O Yu Jin επίσης είπε ότι για να αξιοποιηθεί «στον πραγματικό κόσμο» η συγκεκριμένη ευπάθεια θα πρέπει να συνδυαστεί και με άλλες παρόμοιες ευπάθειες. «Παρόλα αυτά, εξακολουθεί να αποτελεί μία νέα επίθεση πλευρικού καναλιού που αξίζει περαιτέρω διερεύνησης. Μία τέτοια επίθεση μπορεί να φέρει πληροφορίες για νέες επιθέσεις μικροαρχιτεκτονικής και να δώσει έμπνευση για νέους τρόπους δημιουργίας επιθέσεων πλευρικού καναλιού σε επεξεργαστές που είναι ανθεκτικοί στις επιθέσεις πλευρικού καναλιού που βασίζονται στην προσωρινή μνήμη» συμπλήρωσε ο Yu Jin.  Οι 11ης γενιάς επεξεργαστές Intel Core φαίνεται να είναι πιο ανθεκτικοί σε τέτοιες επιθέσεις. Επιπλέον, οι νέοι 13ης γενιάς επεξεργαστές της Intel τύπου vPro είναι εξοπλισμένοι με ισχυρότερη άμυνα έναντι των επιθέσεων πλευρικού καναλιού.

  • Like 2
  • Thanks 1