Les chercheurs de la sociĂ©tĂ© NCC Group vulnĂ©rabilitĂ©s () dans les puces Qualcomm, permettant de dĂ©terminer le contenu des clĂ©s de chiffrement secrĂštes stockĂ©es dans l'enclave sĂ©curisĂ©e Qualcomm QSEE (Qualcomm Secure Execution Environment), basĂ©e sur la technologie ARM TrustZone. Le problĂšme se manifeste dans les SoC Snapdragon, largement diffusĂ©s dans les smartphones utilisant la plateforme Android. Des correctifs pour rĂ©soudre le problĂšme ont dĂ©jĂ Ă©tĂ© intĂ©grĂ©s dans la mise Ă jour d'avril d'Android et dans les nouvelles versions des microprogrammes pour les puces Qualcomm. La prĂ©paration de la correction a demandĂ© plus d'un an Ă Qualcomm â les premiĂšres informations sur la vulnĂ©rabilitĂ© ont Ă©tĂ© envoyĂ©es Ă Qualcomm le 19 mars 2018.
Rappelons que la technologie ARM TrustZone permet de créer des environnements sécurisés isolés au niveau matériel, qui sont complÚtement séparés du systÚme principal et s'exécutent sur un processeur virtuel distinct avec l'utilisation d'un systÚme d'exploitation spécialisé séparé. La principale vocation de TrustZone est de garantir l'exécution isolée des gestionnaires de clés de chiffrement, de l'authentification biométrique, des données de paiement et d'autres informations confidentielles. L'interaction avec le systÚme d'exploitation principal se fait indirectement via une interface de gestion. Les clés de chiffrement secrÚtes sont stockées dans un dépÎt de clés isolé matériellement, ce qui, si bien implémenté, permet d'éviter leur fuite en cas de compromission du systÚme principal.
La vulnĂ©rabilitĂ© est liĂ©e Ă un dĂ©faut de mise en Ćuvre de l'algorithme de traitement des courbes elliptiques, entraĂźnant une fuite d'informations sur le dĂ©roulement du traitement des donnĂ©es. Les chercheurs ont dĂ©veloppĂ© une technique d'attaque par canaux latĂ©raux, permettant de restaurer le contenu des clĂ©s secrĂštes Ă partir des fuites indirectes existantes, stockĂ©es dans le . Les fuites sont dĂ©terminĂ©es par l'analyse de l'activitĂ© du bloc de prĂ©diction des transitions et des variations de temps d'accĂšs aux donnĂ©es en mĂ©moire. Au cours de l'expĂ©rience, les chercheurs ont rĂ©ussi Ă dĂ©montrer la rĂ©cupĂ©ration de clĂ©s ECDSA de 224 bits et 256 bits Ă partir d'un dĂ©pĂŽt de clĂ©s isolĂ© matĂ©riellement utilisĂ© dans le smartphone Nexus 5X. La rĂ©cupĂ©ration de la clĂ© a nĂ©cessitĂ© la gĂ©nĂ©ration d'environ 12 000 signatures numĂ©riques, qui ont pris plus de 14 heures. Pour mener l'attaque, les chercheurs ont utilisĂ© l'outil .
La principale raison de ce problĂšme est l'utilisation conjointe de composants matĂ©riels partagĂ©s et du cache pour les calculs dans TrustZone et dans le systĂšme principal â l'isolation est rĂ©alisĂ©e au niveau de la sĂ©paration logique, mais en utilisant des unitĂ©s de calcul partagĂ©es, ce qui permet de laisser des traces de calculs et d'informations sur les adresses de transit dans le cache processeur commun. Ă l'aide de la mĂ©thode Prime+Probe, basĂ©e sur l'Ă©valuation des changements de temps d'accĂšs aux informations en cache, il est possible de suivre avec une prĂ©cision suffisante les flux de donnĂ©es et les signes d'exĂ©cution de code liĂ©s aux calculs de signatures numĂ©riques dans TrustZone en vĂ©rifiant la prĂ©sence de certains motifs dans le cache.
La majeure partie du temps de formation d'une signature numérique utilisant des clés ECDSA dans les puces Qualcomm est consacrée à l'exécution d'opérations de multiplication en boucle avec un vecteur d'initialisation constant pour chaque signature (). Si un attaquant parvient à retrouver ne serait-ce que quelques bits d'information sur ce vecteur, cela ouvre la possibilité d'une attaque par récupération séquentielle de l'ensemble de la clé privée.
Dans le cas de Qualcomm, deux points de fuite d'informations similaires ont été identifiés dans l'algorithme de multiplication : lors des opérations de recherche dans les tables et dans le code d'extraction conditionnelle des données basé sur la valeur du dernier bit dans le vecteur « nonce ». Malgré la présence dans le code de Qualcomm de mesures visant à contrer les fuites d'informations par des canaux secondaires, la méthode d'attaque développée permet de contourner ces mesures et d'identifier plusieurs bits de la valeur « nonce », suffisants pour restaurer des clés ECDSA de 256 bits.
Source : opennet.ru
