Ευπάθεια η οποία εντοπίστηκε πρόσφατα στη σειρά επεξεργαστών M της Apple επιτρέπει την κακόβουλη εξαγωγή κλειδιών κρυπτογράφησης από τους υπολογιστές Mac που έχουν εγκατεστημένους τους επεξεργαστές αυτούς όταν εκτελούν ευρέως χρησιμοποιούμενες διαδικασίες κρυπτογράφησης, αποκάλυψαν ακαδημαϊκοί ερευνητές σε μελέτη η οποία δόθηκε στη δημοσιότητα την Πέμπτη.
Η σχεδιαστική αστοχία -ένα παράπλευρο κανάλι που επιτρέπει την εξαγωγή κλειδιών όταν οι επεξεργαστές της Apple εκτελούν ευρέως χρησιμοποιούμενα κρυπτογραφικά πρωτόκολλα- δεν είναι δυνατό να διορθωθεί άμεσα, καθώς πηγάζει από τον αρχιτεκτονικό σχεδιασμό του ίδιου του μικροεπεξεργαστή. Ο μόνος τρόπος για να αντιμετωπιστεί το πρόβλημα είναι ο προγραμματισμός αμυνών μέσα από το κρυπτογραφικό λογισμικό τρίτων εταιριών, που όμως θα οδηγούσε σε δραστικό περιορισμό των επιδόσεων της σειράς Μ, όταν αυτοί οι επεξεργαστές θα εκτελούν κρυπτογραφικές διαδικασίες, ιδίως στα παλαιότερα μοντέλα των γενιών Μ1 και Μ2. Η αδυναμία αυτή εντοπίζεται όταν η στοχοποιημένη κρυπτογραφική διαδικασία και η κακόβουλη εφαρμογή με συνήθη προνόμια χρήστη συστήματος τρέχουν στην ίδα επεξεργαστική μονάδα.
Το πρόβλημα εντοπίζεται σε εκείνο το σκέλος του επεξεργαστή που προβλέπει τις διευθύνσεις μνήμης στις οποίες είναι πιθανό να αποκτήσει πρόσβαση ο κώδικας που εκτελείται ήδη, στο άμεσο μέλλον. Φορτώνοντας τα δεδομένα αυτά στην cache του επεξεργαστή πριν χρειαστούν ακόμη, ο DMP (Memory-dependent prefetcher) μειώνει το χρόνο απόκρισης μεταξύ κυρίως μνήμης και επεξεργαστή, σημείο που δημιουργεί συχνά καθυστερήσεις στις σύγχρονες υπολογιστικές διαδικασίες. Οι DMP είναι σχετικά πρόσφατη εξέλιξη και εντοπίζονται μόνο στους επεξεργαστές της σειράς M της Apple, καθώς και στην αρχιτεκτονική των 13ης γενιάς Raptor Lake της Intel, αν και παλαιότερες μορφές προφόρτωσης υπάρχουν εδώ και αρκετά χρόνια.
Ειδικοί σε θέματα ασφαλείας γνωρίζουν εδώ και καιρό ότι οι κλασικοί μηχανισμοί προφόρτωσης ανοίγουν ένα παράπλευρο κανάλι που μπορούν να εκμεταλλευτούν οι διάφορες κακόβουλες διαδικασίες προκειμένου να αποσπάσουν κλειδιά κρυπτογράφησης. Η αδυναμία αυτή πηγάζει από το γεγονός πως οι μηχανισμοί προφόρτωσης προχωρούν σε προβλέψεις βασισμένες σε προηγούμενα μοτίβα πρόσβασης, τα οποία μπορούν να δημιουργήσουν καταστάσεις που μπορούν να οδηγήσουν στη διαρροή πληροφοριών. Για την αντιμετώπιση του ζητήματος αυτού οι μηχανικοί κρυπτογράφησης έχουν στραφεί στον προγραμματισμό σταθερού χρόνου, μια προσέγγιση που διασφαλίζει ότι όλες οι διαδικασίες χρειάζονται το ίδιο διάστημα προκειμένου να ολοκληρωθούν, ανεξάρτητα από το ποιοι είναι οι τελεστέοι.
Η σημαντική εξέλιξη που προέκυψε από την πρόσφατη έρευνα έχει να κάνει με το ότι εντόπισε μια μέχρι πρότινος παραγνωρισμένη συμπεριφορά των DMP στους επεξεργαστές της Apple: κάποιες φορές συγχέουν το περιεχόμενο της μνήμης, όπως λ.χ. το υλικό που σχετίζεται με τα κρυπτογραφικά κλειδιά, με την ενδεικτική τιμή που χρησιμοποιείται για τη φόρτωση άλλων δεδομένων. Το αποτέλεσμα είναι ο DMP συχνά να διαβάζει τα δεδομένα και να επιχειρεί να τα αντιμετωπίσει σαν διεύθυνση, προκειμένου να εκτελέσει μια διαδικασία πρόσβασης στη μνήμη. Αυτή η παρερμηνεία των δεικτών, δηλαδή η ανάγνωση των δεδομένων και η διαρροή τους μέσω ενός παράπλευρου καναλιού, συνιστά σοβαρότατη παραβίαση της αρχής τους σταθερού χρόνου.
Σε email τους, οι ερευνητές εξηγούν ότι η επίθεση που επιχείρησαν εκμεταλλεύεται αυτό ακριβώς το σημείο. Κατόρθωσαν να τροποποιήσουν τα ενδιάμεσα δεδομένα ενός αλγορίθμου κωδικοποίησης, ώστε να μοιάζουν με δείκτη. Έτσι, ο DMP βλέπει ότι η τιμή των δεδομένων “μοιάζει” με διεύθυνση μνήμης, οπότε μεταφέρει τα δεδομένα από εκεί στην cache, από όπου διαρρέεται η δήθεν διεύθυνση.
Το βασικό συμπέρασμα στο οποίο οδηγήθηκαν είναι πως, παρότι ο DMP παρερμηνεύει μόνο δείκτες, ένας επιτιθέμενος θα μπορούσε να εισαγάγει δεδομένα τα οποία, όταν συνδυάζονται με τα κρυπτογραφικά στοιχεία προκύπτει ένα ενδιάμεσο αποτέλεσμα που παραπέμπει σε δείκτη, εφόσον το μυστικό ικανοποιεί μια παράμετρο που έχει ορίσει ο επιτιθέμενος. Για παράδειγμα, ας πούμε ότι ένα πρόγραμμα περιέχει το μυστικό s, λαμβάνει το x ως νέο δεδομένο, οπότε υπολογίζει και στη συνέχεια αποθηκεύει y = s ⊕ x στη μνήμη προγράμματος. Ο επιτιθέμενος μπορεί να σχηματίσει διαφορετικά x και να συναγάγει αποσπασματικές (ή ακόμη και ολοκληρωμένες) πληροφορίες σχετικά με το s παρατηρώντας το κατά πόσο ο DMP είναι σε θέση να παρερμηνεύσει το y. Οι ερευνητές εκμεταλλεύτηκαν την παρατήρηση αυτή προκειμένου να παραβιάσουν τις εγγυήσεις μιας τυπικής εντολής σταθερού χρόνου που χρησιμοποιείται σε κρυπτογραφικές εφαρμογές. Στη συνέχεια έδειξαν πώς μπόρεσαν να διασπάσουν πλήρεις κρυπτογραφικές εφαρμογές, σχεδιασμένες να είναι ασφαλείς απέναντι σε επιθέσεις επιλεγμένων εισαγόμενων δεδομένων.
‘Οπως συμβαίνει και με άλλα παράπλευρα κανάλια που προκύπτουν από την αρχιτεκτονική του μικροεπεξεργαστή, αυτό που επιτρέπει τη συγκεκριμένη επίθεση δεν μπορεί να διορθωθεί σε επίπεδο υλικού εξοπλισμού. Αντίθετα, η ευθύνη για τον περιορισμό των αρνητικών επιδράσεων αυτής της ευπάθειας περνά στους ανθρώπους που αναπτύσσουν τον κώδικα που θα τρέξει στους υπολογιστές της Apple. Για τους developers που αναπτύσσουν κρυπτογραφικό λογισμικό που τρέχει σε επεξεργαστές M1 και Μ2 αυτό σημαίνει πως εκτός από τον προγραμματισμό σταθερού χρόνου θα χρειαστεί να ενσωματώσουν και άλλες άμυνες, οι οποίες, σχεδόν στο σύνολό τους, συνοδεύονται από σημαντική επιβάρρυνση σε επίπεδο επιδόσεων.
Στη μελέτη τους οι ερευνητές αναφέρουν μια σειρά από τέτοιες άμυνες, οι οποίες όμως αυξάνουν το χρόνο ολοκλήρωσης των επίμαχων διαδικασιών και μάλιστα όχι σε αμελητέο βαθμό.
Ο DMP στο Μ3, τον πιο πρόσφατο επεξεργαστή της Apple, διαθέτει ένα ειδικό στοιχείο στην αρχιτεκτονική του που μπορούν να αξιοποιήσουν οι developers, προκειμένου να επενεργοποιήσουν τη λειτουργία αυτή. Οι ερευνητές δεν γνωρίζουν ακόμη τι είδους επιβάρρυνση θα προκύψει με την απενεργοποίηση ενός συστήματος ειδικά σχεδιασμένου για να ενισχύει της επιδόσεις του επεξεργαστή. (Οι ερευνητές επισημαίνουν ότι ο DMP που ενσωματώνεται στους επεξεργαστές Raptor Lake της Intel δεν διαρρέει ίδιου είδους κρυπτογραφικά μυστικά με εκείνους της Apple. Επιπλέον, ο ορισμός ενός ειδικού DOIT ουσιαστικά απενεργοποιεί το DMP).
Αξίζει να επισημανθεί πως, οι όποιες επιβαρρύνσεις προκύψουν θα γίνονται αισθητές μόνο όταν το επηρεαζόμενο λογισμικό εκτελεί συγκεκριμένες κρυπτογραφικές διαδικασίες. Στις περιπτώσεις των προγραμμάτων περιήγησης στο διαδίκτυο αλλά και πολλές άλλες κατηγορίες εφαρμογώς, η επιβάρρυνση σε επίπεδο επιδόσεων ενδέχεται να μην είναι αισθητή.
Εκπρόσωποι της Apple, όταν κλήθηκαν να σχολιάσουν τα ευρύματα της έρευνας, δεν θέλησαν να προβούν σε κάποια δήλωση.
-
8
Πηγές Άρθρων
Ολα τα άρθρα που θα βρείτε εδώ προέρχονται από τους μεγαλύτερους και πιο αξιόπιστους ιστότοπους ειδήσεων.
Το άρθρο δημοσιεύτηκε για πρώτη φορά εδώ!