Ευπάθεια στα τσιπ της Qualcomm που επιτρέπει την εξαγωγή ιδιωτικών κλειδιών από την αποθήκευση TrustZone

Ερευνητές από την ομάδα NCC ακάλυπτος λεπτομέρειες τρωτά σημεία (CVE-2018-11976) σε τσιπ Qualcomm, που σας επιτρέπει να προσδιορίσετε τα περιεχόμενα των ιδιωτικών κλειδιών κρυπτογράφησης που βρίσκονται σε έναν απομονωμένο θύλακα Qualcomm QSEE (Περιβάλλον Ασφαλούς Εκτέλεσης Qualcomm), με βάση την τεχνολογία ARM TrustZone. Το πρόβλημα εκδηλώνεται σε πλέον Snapdragon SoC, το οποίο έχει γίνει ευρέως διαδεδομένο σε smartphone που βασίζονται στην πλατφόρμα Android. Οι επιδιορθώσεις που διορθώνουν το πρόβλημα είναι ήδη περιλαμβάνεται στην ενημέρωση Android του Απριλίου και νέες εκδόσεις υλικολογισμικού για τα τσιπ της Qualcomm. Η Qualcomm χρειάστηκε περισσότερο από ένα χρόνο για να προετοιμάσει μια επιδιόρθωση· οι πληροφορίες σχετικά με την ευπάθεια στάλθηκαν αρχικά στην Qualcomm στις 19 Μαρτίου 2018.

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

Η ευπάθεια οφείλεται σε ένα ελάττωμα στην εφαρμογή του αλγόριθμου επεξεργασίας της ελλειπτικής καμπύλης, το οποίο οδήγησε σε διαρροή πληροφοριών σχετικά με την πρόοδο της επεξεργασίας δεδομένων. Οι ερευνητές έχουν αναπτύξει μια τεχνική επίθεσης πλευρικού καναλιού που επιτρέπει τη χρήση υπαρχουσών έμμεσων διαρροών για την ανάκτηση των περιεχομένων των ιδιωτικών κλειδιών που βρίσκονται σε ένα απομονωμένο υλικό Android Keystore. Οι διαρροές προσδιορίζονται με βάση την ανάλυση της δραστηριότητας του μπλοκ πρόβλεψης κλάδου και τις αλλαγές στο χρόνο πρόσβασης στα δεδομένα στη μνήμη. Στο πείραμα, οι ερευνητές απέδειξαν με επιτυχία την ανάκτηση κλειδιών ECDSA 224 και 256 bit από το αποθηκευτικό χώρο αποθήκευσης κλειδιών που χρησιμοποιείται στο smartphone Nexus 5X. Η ανάκτηση του κλειδιού απαιτούσε τη δημιουργία περίπου 12 χιλιάδων ψηφιακών υπογραφών, που χρειάστηκαν περισσότερες από 14 ώρες. Εργαλεία που χρησιμοποιήθηκαν για την πραγματοποίηση της επίθεσης Cachegrab.

Η κύρια αιτία του προβλήματος είναι η κοινή χρήση κοινών στοιχείων υλικού και κρυφής μνήμης για υπολογισμούς στο TrustZone και στο κύριο σύστημα - η απομόνωση πραγματοποιείται σε επίπεδο λογικού διαχωρισμού, αλλά με χρήση κοινών υπολογιστικών μονάδων και με ίχνη υπολογισμών και πληροφοριών για κλάδο διευθύνσεις που κατατίθενται στην κοινή μνήμη cache του επεξεργαστή. Χρησιμοποιώντας τη μέθοδο Prime+Probe, που βασίζεται στην αξιολόγηση των αλλαγών στο χρόνο πρόσβασης σε αποθηκευμένες πληροφορίες, είναι δυνατό, ελέγχοντας την παρουσία ορισμένων μοτίβων στη μνήμη cache, να παρακολουθούνται οι ροές δεδομένων και τα σημάδια εκτέλεσης κώδικα που σχετίζονται με τους υπολογισμούς των ψηφιακών υπογραφών σε TrustZone με αρκετά υψηλή ακρίβεια.

Το μεγαλύτερο μέρος του χρόνου για τη δημιουργία μιας ψηφιακής υπογραφής χρησιμοποιώντας κλειδιά ECDSA στα τσιπ της Qualcomm ξοδεύεται εκτελώντας λειτουργίες πολλαπλασιασμού σε βρόχο χρησιμοποιώντας ένα διάνυσμα αρχικοποίησης που είναι αμετάβλητο για κάθε υπογραφή (πρεσβευτής του παπά). Εάν ο εισβολέας μπορεί να ανακτήσει τουλάχιστον μερικά bit με πληροφορίες σχετικά με αυτό το διάνυσμα, καθίσταται δυνατή η πραγματοποίηση μιας επίθεσης για τη διαδοχική ανάκτηση ολόκληρου του ιδιωτικού κλειδιού.

Στην περίπτωση της Qualcomm, δύο μέρη όπου διέρρευσαν τέτοιες πληροφορίες εντοπίστηκαν στον αλγόριθμο πολλαπλασιασμού: κατά την εκτέλεση εργασιών αναζήτησης σε πίνακες και στον υπό όρους κωδικό ανάκτησης δεδομένων με βάση την τιμή του τελευταίου bit στο διάνυσμα "nonce". Παρά το γεγονός ότι ο κώδικας Qualcomm περιέχει μέτρα για την αντιμετώπιση διαρροών πληροφοριών μέσω καναλιών τρίτων, η αναπτυγμένη μέθοδος επίθεσης σάς επιτρέπει να παρακάμψετε αυτά τα μέτρα και να προσδιορίσετε πολλά bit της τιμής "nonce", τα οποία είναι αρκετά για την ανάκτηση κλειδιών ECDSA 256 bit.

Πηγή: opennet.ru

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