Διαρροή δεδομένων μέσω δακτυλίου δακτυλίου CPU Intel

Μια ομάδα ερευνητών από το Πανεπιστήμιο του Ιλινόις ανέπτυξε μια νέα τεχνική επίθεσης πλευρικού καναλιού που χειρίζεται τη διαρροή πληροφοριών μέσω του Ring Interconnect των επεξεργαστών Intel. Η επίθεση σάς επιτρέπει να επισημάνετε πληροφορίες σχετικά με τη χρήση της μνήμης σε άλλη εφαρμογή και να παρακολουθείτε τις πληροφορίες χρονισμού πληκτρολόγησης. Οι ερευνητές δημοσίευσαν εργαλεία για την εκτέλεση σχετικών μετρήσεων και αρκετών πρωτότυπων εκμεταλλεύσεων.

Έχουν προταθεί τρία exploits που θα επιτρέψουν:

  • Ανακτήστε μεμονωμένα bits κλειδιών κρυπτογράφησης όταν χρησιμοποιείτε υλοποιήσεις RSA και EdDSA που είναι ευάλωτες σε επιθέσεις πλευρικού καναλιού (αν οι καθυστερήσεις υπολογισμού εξαρτώνται από τα δεδομένα που υποβάλλονται σε επεξεργασία). Για παράδειγμα, η διαρροή μεμονωμένων bit με πληροφορίες σχετικά με το διάνυσμα αρχικοποίησης (nonce) του EdDSA είναι αρκετή για τη χρήση επιθέσεων για τη διαδοχική ανάκτηση ολόκληρου του ιδιωτικού κλειδιού. Η επίθεση είναι δύσκολο να εφαρμοστεί στην πράξη και μπορεί να πραγματοποιηθεί με μεγάλο αριθμό επιφυλάξεων. Για παράδειγμα, η επιτυχής λειτουργία εμφανίζεται όταν το SMT (HyperThreading) είναι απενεργοποιημένο και η κρυφή μνήμη LLC είναι τμηματοποιημένη μεταξύ των πυρήνων της CPU.
  • Ορίστε παραμέτρους σχετικά με τις καθυστερήσεις μεταξύ των πληκτρολογήσεων. Οι καθυστερήσεις εξαρτώνται από τη θέση των πλήκτρων και επιτρέπουν, μέσω στατιστικής ανάλυσης, την αναδημιουργία των δεδομένων που έχουν εισαχθεί από το πληκτρολόγιο με μια συγκεκριμένη πιθανότητα (για παράδειγμα, οι περισσότεροι άνθρωποι συνήθως πληκτρολογούν "s" μετά το "a" πολύ πιο γρήγορα από το "g" μετά "μικρό").
  • Οργανώστε ένα κρυφό κανάλι επικοινωνίας για τη μεταφορά δεδομένων μεταξύ διεργασιών με ταχύτητα περίπου 4 megabit ανά δευτερόλεπτο, το οποίο δεν χρησιμοποιεί κοινόχρηστη μνήμη, κρυφή μνήμη επεξεργαστή και πόρους και δομές επεξεργαστή που σχετίζονται με τον πυρήνα της CPU. Σημειώνεται ότι η προτεινόμενη μέθοδος δημιουργίας κρυφού καναλιού είναι πολύ δύσκολο να αποκλειστεί με τις υπάρχουσες μεθόδους προστασίας από επιθέσεις πλευρικών καναλιών.

Οι εκμεταλλεύσεις δεν απαιτούν αυξημένα προνόμια και μπορούν να χρησιμοποιηθούν από απλούς, μη προνομιούχους χρήστες. Σημειώνεται ότι η επίθεση θα μπορούσε ενδεχομένως να προσαρμοστεί για την οργάνωση διαρροής δεδομένων μεταξύ εικονικών μηχανών, αλλά αυτό το ζήτημα ήταν πέρα ​​από το πεδίο της μελέτης και δεν πραγματοποιήθηκε δοκιμή συστημάτων εικονικοποίησης. Ο προτεινόμενος κώδικας δοκιμάστηκε σε επεξεργαστή Intel i7-9700 στο Ubuntu 16.04. Σε γενικές γραμμές, η μέθοδος επίθεσης έχει δοκιμαστεί σε επιτραπέζιους επεξεργαστές από την οικογένεια Intel Coffee Lake και Skylake και είναι επίσης δυνητικά εφαρμόσιμη σε επεξεργαστές διακομιστών Xeon από την οικογένεια Broadwell.

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

Οι επιθέσεις σε εσωτερικούς διαύλους CPU παρεμποδίζονται από την έλλειψη πληροφοριών σχετικά με την αρχιτεκτονική και τις μεθόδους λειτουργίας του διαύλου, καθώς και από το υψηλό επίπεδο θορύβου, το οποίο καθιστά δύσκολη την απομόνωση χρήσιμων δεδομένων. Ήταν δυνατή η κατανόηση των αρχών λειτουργίας του διαύλου μέσω της αντίστροφης μηχανικής των πρωτοκόλλων που χρησιμοποιούνται κατά τη μετάδοση δεδομένων μέσω του διαύλου. Χρησιμοποιήθηκε ένα μοντέλο ταξινόμησης δεδομένων που βασίζεται σε μεθόδους μηχανικής μάθησης για τον διαχωρισμό των χρήσιμων πληροφοριών από τον θόρυβο. Το προτεινόμενο μοντέλο κατέστησε δυνατή την οργάνωση της παρακολούθησης των καθυστερήσεων κατά τους υπολογισμούς σε μια συγκεκριμένη διαδικασία, σε συνθήκες όπου πολλές διεργασίες έχουν ταυτόχρονα πρόσβαση στη μνήμη και ένα συγκεκριμένο μέρος των δεδομένων επιστρέφεται από τις κρυφές μνήμες του επεξεργαστή.

Επιπλέον, μπορούμε να σημειώσουμε τον εντοπισμό ιχνών από τη χρήση ενός exploit για την πρώτη παραλλαγή της ευπάθειας Spectre (CVE-2017-5753) κατά τη διάρκεια επιθέσεων σε συστήματα Linux. Το exploit χρησιμοποιεί διαρροή πληροφοριών πλευρικού καναλιού για να βρει ένα superblock στη μνήμη, να καθορίσει την inode του αρχείου /etc/shadow και να υπολογίσει τη διεύθυνση της σελίδας μνήμης για να ανακτήσει το αρχείο από τη μνήμη cache του δίσκου.

Πηγή: opennet.ru

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