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.
Visiteur9090: Expliquez, moi, où avez trouvé cette définition de "décrypter" ?
Signaler un abusJe suis désolé que ni l'Académie Française et ni l'ANSI ne reconnaissent ces mots (vous auriez pu m'annoncer cette triste nouvelle avec davantage de ménagements !). Du coup, j'envisage de me retourner vers le Ministère de l'Agriculture...
Arsene Lupin : Expliquez moi :
Signaler un abusSi décrypter veut dire trouver le clair sans clé, crypter est l'action de cacher le message sans clé... ?!?
Ni l'académie Française ni l'ANSSI ne reconnaissent "cryptage", "crypter" et autres dérivés... Renseignez vous.
Visiteur9076, "encrypter" n'est pas davantage référencé dans les dictionnaires que "crypter". Ce dernier, moins lourd et moins artificiel, est rencontré plus fréquemment. "coder" et "chiffrer" pourraient convenir mais leur inconvénient est qu'ils sont ambigus dans le domaine informatique: "coder" est également utilisé pour "programmer", "développer". Quant à "chiffrer" on le rencontre souvent dans le contexte des estimations de charges ("à combien chiffrez-vous le remplacement de notre gestion commerciale ?")
Signaler un abusOn a en français : Coder, Encoder, Décoder, Chiffrer, Déchiffrer, Encrypter, décrypter…
Signaler un abusPourquoi alors cryptage ???
La langue évolue. Cryptage pourquoi pas. Il faut savoir sortir de sa tour d'ivoire et ne pas se placer en donneur de leçons
Signaler un abusVisiteur9066, stricto sensu, vous avez raison, il n'est pas dans tous les dictionnaires.
Signaler un abusCependant on y trouve "décrypter" ("Transcrire en langage clair un message rédigé dans une écriture secrète, chiffrée, dont on ignore le code."), ce qui permet de former "crypter", symétriquement, en retirant le préfixe (similairement à chiffrer/déchiffrer), puis cryptage, en formant un nom à partir du verbe (comme chiffrer->chiffrage).
La langue n'est pas figée, sacrée, elle évolue, et ce mot est particulièrement compréhensible: nul besoin de dictionnaire pour le décrypter !
Le mot cryptage n'existe pas, merci de vous renseigner.
Signaler un abus