Qualcomm est également vulnérable, il est possible d'extraire des clés privées

full_ecdsa_1

Dans les articles précédents nous avons fait savoir que les puces Broadcom était vulnérable aux attaquess et maintenant cette fois des chercheurs de l'entreprise Le groupe NCC a divulgué les détails de la vulnérabilité (CVE-2018-11976 ) sur les puces Qualcomm, Quoi vous permet de déterminer le contenu des clés de chiffrement privées situé dans l'enclave isolée Qualcomm QSEE (Qualcomm Secure Execution Environment) basée sur la technologie ARZ TrustZone.

Le problème se manifeste dans la plupart des SoC Snapdragon, sur les smartphones basés sur Android. Des correctifs pour le problème sont déjà inclus dans la mise à jour Android d'avril et les nouvelles versions de micrologiciel pour les puces Qualcomm.

Qualcomm a mis plus d'un an à préparer une solution: Initialement, les informations sur la vulnérabilité ont été envoyées à Qualcomm le 19 mars 2018.

La technologie ARM TrustZone vous permet de créer des environnements isolés matériels protégés qui sont complètement séparés du système principal et s'exécutent sur un processeur virtuel distinct à l'aide d'un système d'exploitation spécialisé distinct.

L'objectif principal de TrustZone est de fournir une exécution isolée des gestionnaires de clés de chiffrement, une authentification biométrique, des données de facturation et d'autres informations confidentielles.

L'interaction avec le système d'exploitation principal a lieu indirectement via l'interface d'expédition.

Les clés de chiffrement privées sont placées dans un magasin de clés isolé matériel qui, s'il est correctement implémenté, les empêche d'être divulguées si le système sous-jacent est compromis.

Au sujet du problème

La vulnérabilité est associée à un échec de l'implémentation de l'algorithme pour traiter les courbes elliptiques, ce qui a conduit à une fuite d'informations sur le traitement des données.

Les chercheurs ont développé une technique d'attaque tierce qui permet, basé sur une fuite indirecte, rrécupérer le contenu des clés privéess situé dans un Keystore Android isolé du matériel.

Les fuites sont déterminées sur la base d'une analyse de l'activité des transitions de blocs de prédiction et des changements de temps d'accès aux données en mémoire.

Au cours de l'expérience, Les chercheurs ont démontré avec succès la récupération de clés ECDSA 224 et 256 bits à partir d'un fichier de clés isolé sur le matériel utilisé dans le smartphone Nexus 5X.

Pour restaurer la clé, il a fallu environ 12 14 signatures numériques pour générer, ce qui a pris plus de XNUMX heures. La boîte à outils Cachegrab a été utilisée pour mener l'attaque.

La principale cause du problème est le partage du cache commun et des composants matériels pour le calcul dans TrustZone et dans le système hôte: l'isolation se fait au niveau de la séparation logique, mais en utilisant des blocs de calcul et des paramètres communs des traces de calcul et des informations sur les adresses de saut dans le cache commun du processeur.

En utilisant la méthode Prime + Probe, basée sur une estimation du changement du temps d'accès aux informations mises en cache, vous pouvez vérifier la disponibilité de certains modèles dans le cache avec une précision suffisamment élevée des flux de données et des signes d'exécution de code lié aux calculs de signature numérique dans TrustZone.

La majeure partie du temps de génération de signature numérique avec les clés ECDSA sur les puces Qualcomm est consacrée à l'exécution d'opérations de multiplication dans une boucle en utilisant le vecteur d'initialisation inchangé (nonce) pour chaque signature.

Si un attaquant peut récupérer au moins quelques bits avec des informations sur ce vecteur, il est possible de lancer une attaque sur la récupération séquentielle de la totalité de la clé privée.

Dans le cas de Qualcomm, deux points de fuite de ces informations ont été révélés dans l'algorithme de multiplication: lors de la recherche de table et dans le code d'extraction de données conditionnel basé sur la valeur du dernier bit dans le vecteur "nonce" .

Bien que le code Qualcomm contienne des mesures pour contrer les fuites d'informations dans les canaux tiers, la méthode d'attaque développée vous permet de contourner ces mesures et de définir certains bits de la valeur "nonce", ce qui est suffisant pour récupérer 256 clés ECDSA morceaux.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Geek Cube dit

    28 avril et j'attends toujours les correctifs, que dans GNU / Linux ne se produit pas