Ερευνητές από την ομάδα NCC
Ας υπενθυμίσουμε ότι η τεχνολογία ARM TrustZone σάς επιτρέπει να δημιουργείτε προστατευμένα περιβάλλοντα απομονωμένα από υλικό που είναι εντελώς διαχωρισμένα από το κύριο σύστημα και εκτελούνται σε ξεχωριστό εικονικό επεξεργαστή χρησιμοποιώντας ξεχωριστό εξειδικευμένο λειτουργικό σύστημα. Ο κύριος σκοπός του TrustZone είναι να παρέχει μεμονωμένη εκτέλεση επεξεργαστών για κλειδιά κρυπτογράφησης, βιομετρικό έλεγχο ταυτότητας, δεδομένα πληρωμής και άλλες εμπιστευτικές πληροφορίες. Η αλληλεπίδραση με το κύριο λειτουργικό σύστημα πραγματοποιείται έμμεσα μέσω της διεπαφής αποστολής. Τα ιδιωτικά κλειδιά κρυπτογράφησης αποθηκεύονται σε μια αποθήκη κλειδιών απομονωμένη από υλικό, η οποία, εάν εφαρμοστεί σωστά, μπορεί να αποτρέψει τη διαρροή τους εάν το υποκείμενο σύστημα παραβιαστεί.
Η ευπάθεια οφείλεται σε ένα ελάττωμα στην εφαρμογή του αλγόριθμου επεξεργασίας της ελλειπτικής καμπύλης, το οποίο οδήγησε σε διαρροή πληροφοριών σχετικά με την πρόοδο της επεξεργασίας δεδομένων. Οι ερευνητές έχουν αναπτύξει μια τεχνική επίθεσης πλευρικού καναλιού που επιτρέπει τη χρήση υπαρχουσών έμμεσων διαρροών για την ανάκτηση των περιεχομένων των ιδιωτικών κλειδιών που βρίσκονται σε ένα απομονωμένο υλικό
Η κύρια αιτία του προβλήματος είναι η κοινή χρήση κοινών στοιχείων υλικού και κρυφής μνήμης για υπολογισμούς στο TrustZone και στο κύριο σύστημα - η απομόνωση πραγματοποιείται σε επίπεδο λογικού διαχωρισμού, αλλά με χρήση κοινών υπολογιστικών μονάδων και με ίχνη υπολογισμών και πληροφοριών για κλάδο διευθύνσεις που κατατίθενται στην κοινή μνήμη cache του επεξεργαστή. Χρησιμοποιώντας τη μέθοδο Prime+Probe, που βασίζεται στην αξιολόγηση των αλλαγών στο χρόνο πρόσβασης σε αποθηκευμένες πληροφορίες, είναι δυνατό, ελέγχοντας την παρουσία ορισμένων μοτίβων στη μνήμη cache, να παρακολουθούνται οι ροές δεδομένων και τα σημάδια εκτέλεσης κώδικα που σχετίζονται με τους υπολογισμούς των ψηφιακών υπογραφών σε TrustZone με αρκετά υψηλή ακρίβεια.
Το μεγαλύτερο μέρος του χρόνου για τη δημιουργία μιας ψηφιακής υπογραφής χρησιμοποιώντας κλειδιά ECDSA στα τσιπ της Qualcomm ξοδεύεται εκτελώντας λειτουργίες πολλαπλασιασμού σε βρόχο χρησιμοποιώντας ένα διάνυσμα αρχικοποίησης που είναι αμετάβλητο για κάθε υπογραφή (
Στην περίπτωση της Qualcomm, δύο μέρη όπου διέρρευσαν τέτοιες πληροφορίες εντοπίστηκαν στον αλγόριθμο πολλαπλασιασμού: κατά την εκτέλεση εργασιών αναζήτησης σε πίνακες και στον υπό όρους κωδικό ανάκτησης δεδομένων με βάση την τιμή του τελευταίου bit στο διάνυσμα "nonce". Παρά το γεγονός ότι ο κώδικας Qualcomm περιέχει μέτρα για την αντιμετώπιση διαρροών πληροφοριών μέσω καναλιών τρίτων, η αναπτυγμένη μέθοδος επίθεσης σάς επιτρέπει να παρακάμψετε αυτά τα μέτρα και να προσδιορίσετε πολλά bit της τιμής "nonce", τα οποία είναι αρκετά για την ανάκτηση κλειδιών ECDSA 256 bit.
Πηγή: opennet.ru