igor - Fotolia
Android : un chiffrement suffisamment vulnérable pour les autorités
Les vulnérabilités présentes dans les appareils équipés de composants Qualcomm permettent de contourner le chiffrement du stockage supporté par Android.
Le bras de fer ayant opposé Apple aux forces de l’ordre américaines a fait couler beaucoup d’encre. Mais la question de la robustesse des terminaux Android n’a pas semblé soulever les mêmes préoccupations. C’est peut-être parce que le chiffrement du stockage embarqué sur ces appareils peut être plus aisément contourner, comme le montre une nouvelle étude.
Le chercheur en sécurité Gal Beniamini vient ainsi de faire la démonstration de la manière dont un attaquant peut utiliser des vulnérabilités dans la manière dont est gérée l’exécution de code dans l’enclave sécurisée (TrustZone) des processeurs Qualcomm pour casser le chiffrement du stockage supporté par Android. Selon lui, le problème trouve son origine dans le fait qu’Android s’appuie sur une clé matérielle pour assurer le chiffrement complet du stockage.
Dans un billet de blog, Beniamini explique ainsi que « la fonction de dérivation de la clé interne utilise une clé matérielle, appellée SHK, qui serait sans doute difficile à extraire par logiciel. Mais cela n’a aucun intérêt ! Au lieu de créer un schéma qui utilise directement la clé matérielle sans jamais la divulguer au logiciel ou au firmware, le code effectue le chiffrement et la validation des blobs de clés en utilisant des clés directement disponibles au logiciel de la TrustZone ! »
Beniamini a découvert qu’il pouvait mettre à profit deux vulnérabilités permettant, d’une part, l’exécution de code dans l’enclave sécurisée des processeurs Qualcomm (le Qualcomm Secure Execution Environment, QSEE) et, d’autre part, une élévation de privilèges depuis le QSEE vers la TrustZone afin d’obtenir les clés de chiffrement et, en définitive, découvrir le mot de passe de verrouillage de l’appareil en force brute, grâce à ces clés.
Neil Rankin, chercheur en sécurité sénior chez Black Duck Software, estime que le risque peut être réduit en utilisant un mot de passe plus robuste : « les éléments de force brute de cette attaque n’ont rien d’inhabituel. Elle peut donc être conduite rapidement avec des mots de passe courts, et plus lentement avec des mots de passe longs. Les terminaux Android donnent aux utilisateurs la possibilité de choisir entre des codes PIN simples – à quatre chiffres ou plus –, des gestes, ou encore des mots de passe alphanumériques robustes. Un PIN à 5 chiffres peut être cassé en une ou deux secondes. Un mot de passe à 16 caractères prendrait considérablement plus longtemps, jusqu’à des années avec l’utilisation d’un caractère spécial ».
L’attaque en elle-même n’a rien de trivial, en particulier donc, si l’appareil est verrouillé à l’aide d’un code alphanumérique long. Mais pour Beniamini, ces vulnérabilités indiquent que des constructeurs ont la capacité de se conformer aux ordres des forces de l’ordre les enjoignant de déchiffrement le stockage de leurs produits : « puisque la clé est accessible depuis la TrustZone, les constructeurs peuvent simplement créer et signer une image pour la TrustZone qui se charge d’extraire les clés, avant de l’installer sur le terminal visé. Cela permettrait aux autorités de casser aisément le mot de passe utilisé pour le chiffrement du stockage de l’appareil ».
Chez Bitdefender, Liviu Arsene estime que les autorités n’ont même pas forcément besoin là de l’aide des constructeurs : « le processus est susceptible de nécessiter des étapes supplémentaires, d’être plus long, mais le résultat serait le même sans leur intervention. Puisque la méthode peut être utilisée par n’importe qui disposant des compétences requises, on peut supposer qu’un attaquant ou des autorités n’auraient pas forcément besoin de l’aide du constructeur ».
Le risque réellement représenté par ces vulnérabilités est difficile à mesurer. Bien que beaucoup d’appareils Android utilisent des processeurs Qualcomm, le chiffrement complet du stockage sur ces terminaux mobiles est loin d’être généralisé. Android 6.0, dit Marshmallow, lui a fait faire un pas en avant, mais rien de spectaculaire.
Les vulnérabilités mises à profit par Beniamini ont été comblées par Google à l’occasion de mises à jour en janvier et mai dernier. Mais il est difficile d’estimer le nombre de terminaux effectivement concernés. En outre, le chercheur relève qu’il peut être envisageable de revenir en arrière : « même sur un terminal équipé des correctifs, si l’attaquant obtient une image disque chiffrée, il peut ramener l’appareil à une version vulnérable d’Android », et se lancer dans l’attaque décrite. Mais pour Arsene, cette approche serait difficile à mettre en œuvre et nécessiterait, pour le coup, l’aide du constructeur.
Adapté de l’anglais