Sécurité IT : la biométrie et ses vilains défauts

AuthentificationRisquesSécurité
secuirte-it-empreintes-digitales

Des chercheurs en sécurité attirent l’attention sur la vulnérabilité des lecteurs d’empreintes digitales intégrés aux smartphones Android.

La sécurité des systèmes d’identification biométrique n’est pas encore infaillible.

C’est ce que l’on retiendra de la démonstration – document PDF, 71 pages – effectuée la semaine passée, dans le cadre de la Black Hat USA 2015, par Di Shen, Tao Wei et Yulong Zhang.

Les trois chercheurs se sont intéressés au cas des lecteurs d’empreintes digitales. Ils ont mené leurs investigations sur plusieurs smartphones populaires… et en ont conclu que l’implémentation du dispositif présentait de nombreux défauts.

Premier constat : certaines applications ne font pas, du point de vue logique, la différence entre l’autorisation (donner l’accès à des ressources) et l’authentification (vérifier l’identité d’un utilisateur). Concrètement, cette absence de distinction peut permettre à un tiers malveillant de faire passer une transaction pour une autre : par exemple faire croire à la victime qu’elle déverrouille son téléphone, alors qu’elle déclenche en fait un paiement électronique.

Autre vulnérabilité répertoriée sur de nombreux terminaux : le stockage des empreintes digitales en clair – sans chiffrement – et dans un format lisible par l’humain. Illustration sur le HTC One Max (qui a depuis lors bénéficié d’un correctif) : dans le dossier /data est enregistré un fichier bitmap dbgraw.bmp disposant des permissions 0666, c’est-à-dire accessible à n’importe quel processus ou application, en lecture comme en écriture.

Il arrive parfois que le capteur d’empreintes digitales soit lui-même exposé, en dépit de l’existence d’une TrustZone, environnement sécurisé isolé du noyau et place dans une zone mémoire réservée.

L’architecture ARM permet normalement d’empêcher l’accès à des composants critiques hors de cette TrustZone, mais peu de constructeurs l’implémentent (Apple en fait partie ; l’iPhone chiffre par ailleurs les empreintes directement au niveau du lecteur grâce à une clé partagée avec la TrustZone).

Bilan : il est possible, pour un pirate, de trafiquer le kernel pour détecter des commandes et des envois de données, jusqu’à reconstituer l’empreinte (pas besoin, en outre, d’avoir les privilèges de niveau root).

Quatrième faille repérée : l’éventuelle implémentation d’une porte dérobée directement dans le capteur, de sorte que des empreintes peuvent être ajoutées depuis l’extérieur dans la base enregistrée.

Reste alors, pour que la supercherie passe inaperçue aux yeux de l’utilisateur, à hacker l’application qui affiche le nombre d’empreintes mémorisées. Il s’agit généralement de l’apk Settings (« Paramètres » dans les version francophones d’Android).

On peut y modifier la classe /com/android/settings/fingerprint/FingerprintSettings… à condition de pouvoir soit signer l’application avec la clé privée du constructeur du téléphone, soit extraire la ROM et signer les applications avec une nouvelle clé ou encore désactiver la vérification des signatures si l’on bénéficie des droits de niveau root.

Outre le HTC One Max, des vulnérabilités ont été découvertes sur le Galaxy S5 de Samsung et plusieurs modèles Huawei – comme l’Ascend Mate 7 – équipés du chipset HiSiliconKirin 925. Une situation préoccupante si on considère qu’à l’horizon 2019, 50 % des smartphones disposeront d’un lecteur d’empreintes digitales (étude Research Capsule).

Crédit photo : ktsdesign – Shutterstock.com

Lire aussi :

Lire la biographie de l´auteur  Masquer la biographie de l´auteur