Des attaquants pourraient exploiter des vulnérabilités sur les appareils Android tournant avec des puces Qualcomm afin d'en extraire les clés chiffrées qui protègent les données utilisateurs et lancer des attaques par force brute hors – hors du terminal - pour découvrir le mot de passe. Mieux encore, les fabricants de smartphones Android pourraient casser le cryptage intégral du composant flash de ces périphériques et aider les autorités judiciaires à accéder aux données protégées.
La procédure d’attaque, démontrée la semaine dernière par le chercheur en sécurité Gal Beniamini, utilise deux vulnérabilités corrigées cette année dans la technologie de sécurité intégrée ARM TrustZone, implémentée dans les puces de Qualcomm. ARM TrustZone partitionne la CPU en deux espaces virtuels, un espace sécurisé Trusted Execution Environment, indépendant de l'OS principal dans lequel elle exécute son propre noyau et un espace réservé aux fonctions courantes. Sur les puces Qualcomm, l'environnement de confiance Trusted Execution Environment porte le nom de Qualcomm Secure Execution Environment (QSEE).
Attaque en force brute via KeyMaster
Sur les appareils Android, la fonction de cryptage intégral du composant flash repose sur une clé générée de manière aléatoire, la clef de chiffrement de l'appareil (DEK). Cette clé est elle-même chiffrée avec une autre clé dérivée du PIN, du mot de passe ou du mode de verrouillage par glissement enregistré par l’utilisateur. Comme c’est le cas sous iOS, le système Android empêche l'extraction de la clef DEK cryptée. En effet, si un attaquant arrive à s’emparer de la clef, il peut l’exposer à une attaque par force brute et retrouver le mot de passe. Étant donné que l’attaque est réalisée hors du terminal, elle évite le blocage qui intervient quand on entre plusieurs mots de passe erronés à la file.
La manipulation hors du terminal est possible parce que l’attaquant peut relier le DEK au hardware de l'appareil en utilisant l’application KeyMaster qui tourne à l'intérieur du Trusted Execution Environment. En effet, Gal Beniamini a constaté que, contrairement à ce qui se passe sous iOS, où le DEK est lié à une clé hardware, l’UID, impossible à extraire par un moyen logiciel, l’implémentation de Qualcomm utilise une clé accessible par l'application KeyMaster qui tourne à l'intérieur du QSEE. Cela signifie qu’en pénétrant dans le QSEE, il est possible d’accéder à la clé KeyMaster et d’en extraire le DEK. Les attaquants pourraient donc réaliser des attaques par force brute contre ces matériels en utilisant des équipements plus puissants, par exemple, un groupe de serveurs conçut pour le craquage de mots de passe.
Les terminaux non mis à jour sont vulnérables
Cette configuration affaiblit la sécurité du chiffrement intégral du composant flash sous Android et celle-ci dépend encore plus de la qualité du mot de passe, du code PIN ou du mode de verrouillage par glissement enregistré par l’utilisateur. Malheureusement, pour une question de confort, les utilisateurs se contentent souvent de mots de passe simples pour protéger l’accès de leurs appareils mobiles. La preuve de concept de l'attaque mise au point par Gal Beniamini combine deux vulnérabilités d’Android, respectivement corrigées en janvier et en mai, mais dans l'écosystème Android, de nombreux appareils ne reçoivent pas les mises à jour en temps opportun, et parfois ils ne les reçoivent jamais.
Suite à l’analyse des mobiles de sa base d'utilisateurs, Duo Security, une entreprise qui fournit des solutions d'authentification à deux facteurs pour smartphones, estime que plus de 50 % des appareils Android sont vulnérables à l'attaque de Gal Beniamini. Ce chiffre est élevé parce qu’un grand nombre de téléphones et de tablettes tournent avec les processeurs ARM de Qualcomm, leader du marché. Mais selon le chercheur, même si les appareils concernés étaient mis à jour, le problème ne disparaîtrait pas complètement. « Si un attaquant parvient à récupérer l'image disque chiffrée d’un appareil patché (en utilisant des outils d’analyse), il peut restaurer une version vulnérable sur le mobile, extraire la clé en exploitant TrustZone, et forcer le cryptage en menant une attaque par force brute », a expliqué Gal Beniamini dans un blog.
Une porte pour aider les autorités à casser le chiffrement
Reste une question encore plus problématique : avec l’implémentation de Qualcomm, le cryptage intégral sous Android n’est pas exclusivement lié à une clé hardware unique pour chaque appareil et l’extraction de cette clef par voie logicielle est possible. En effet, cette clef est accessible par le logiciel QSEE et elle pourrait être volée si de nouvelles failles étaient découvertes dans TrustZone. « Si les attaquants trouvaient une nouvelle vulnérabilité dans le kernel TrustZone ou dans KeyMaster, ils pourraient accéder directement aux clés de KeyMaster, et effectuer des attaques par force brute en dehors du dispositif pour trouver les mots de passe qui leur permettent de décrypter le disque », a expliqué le chercheur. Par ailleurs, étant donné que les fabricants de dispositifs Android peuvent signer et flasher numériquement les images TrustZone de n’importe quel matériel, ils pourraient aider les autorités judiciaires à casser le cryptage intégral d’un smartphone Android et permettre à ces autorités d’accéder aux données de l’utilisateur.