Les chercheurs ont mis au point une attaque de smartphone à faible coût qui craque l’empreinte digitale d’authentification utilisée pour déverrouiller l’écran et effectuer d’autres actions sensibles sur une gamme d’appareils Android en aussi peu que 45 minutes.
Surnommée BrutePrint par ses créateurs, l’attaque nécessite qu’un adversaire ait le contrôle physique d’un appareil lorsqu’il est perdu, volé, temporairement remis ou sans surveillance, par exemple, pendant que le propriétaire dort. L’objectif : acquérir la capacité d’effectuer une attaque par force brute qui essaie un grand nombre de suppositions d’empreintes digitales jusqu’à ce qu’on en trouve une qui déverrouillera l’appareil. L’attaque exploite les vulnérabilités et les faiblesses de l’appareil SFA (authentification par empreinte digitale du smartphone).
Présentation de BrutePrint
BrutePrint est une attaque peu coûteuse qui exploite les vulnérabilités permettant aux utilisateurs de déverrouiller des appareils en exploitant diverses vulnérabilités et faiblesses des systèmes d’authentification par empreinte digitale des smartphones. Voici le flux de travail de ces systèmes, qui sont généralement abrégés en SFA.
Le cœur de l’équipement requis pour BrutePrint est une carte de circuit imprimé de 15 $ qui contient (1) un microcontrôleur STM32F412 de STMicroelectronics, (2) un commutateur analogique bidirectionnel à double canal connu sous le nom de RS2117, (3) une carte flash SD avec 8 Go de mémoire, et (4) un connecteur carte à carte qui relie la carte mère du téléphone au circuit imprimé flexible d’empreintes digitales du capteur d’empreintes digitales.
De plus, l’attaque nécessite une base de données d’empreintes digitales, similaire à ceux utilisés dans recherche ou fuite dans des violations du monde réel telles que ces.
Tous les smartphones ne sont pas créés égaux
Plus d’informations sur le fonctionnement de BrutePrint plus tard. Tout d’abord, une ventilation de la façon dont les différents modèles de téléphones se sont comportés. En tout, les chercheurs ont testé 10 modèles : Xiaomi Mi 11 Ultra, Vivo X60 Pro, OnePlus 7 Pro, OPPO Reno Ace, Samsung Galaxy S10+, OnePlus 5T, Huawei Mate30 Pro 5G, Huawei P40, Apple iPhone SE, Apple iPhone 7.
Les chercheurs ont testé chacun pour diverses vulnérabilités, faiblesses ou sensibilités à diverses techniques d’attaque. Les attributs examinés comprenaient le nombre d’échantillons dans le multi-échantillonnage, l’existence d’une annulation d’erreur, la prise en charge du branchement à chaud, si les données pouvaient être décodées et la fréquence de transmission des données sur SPI. De plus, les chercheurs ont testé trois attaques : tentative de contournement de limite, détournement d’images d’empreintes digitales et force brute d’empreintes digitales.
Enfin, les chercheurs ont fourni des résultats montrant le temps qu’il a fallu à divers téléphones pour que leurs empreintes digitales soient brutalement forcées. Étant donné que le temps dépend du nombre d’impressions autorisées, les chercheurs ont défini chacune sur une seule impression.
Bien que les spécificités varient, le résultat est que BrutePrint peut tenter un nombre illimité d’empreintes digitales d’authentification sur les huit modèles Android testés. En fonction de divers facteurs, y compris le cadre d’authentification d’empreintes digitales d’un téléphone spécifique et le nombre d’empreintes digitales stockées pour l’authentification, cela prend entre 40 minutes et 14 heures environ.
Implémentation de BrutePrint sur un appareil perdu ou volé
Contrairement à l’authentification par mot de passe, qui nécessite une correspondance directe entre ce qui est saisi et ce qui est stocké dans une base de données, l’authentification par empreinte digitale détermine une correspondance à l’aide d’un seuil de référence. En conséquence, une attaque par force brute d’empreintes digitales réussie nécessite uniquement qu’une image entrée fournisse une approximation acceptable d’une image dans la base de données d’empreintes digitales. BrutePrint manipule le taux de fausse acceptation (FAR) pour augmenter le seuil afin que des images moins approximatives soient acceptées.
BrutePrint agit comme un adversaire au milieu entre le capteur d’empreintes digitales et l’environnement d’exécution de confiance et exploite les vulnérabilités qui permettent des suppositions illimitées.
Lors d’une attaque BrutePrint, l’adversaire retire le capot arrière de l’appareil et attache la carte de circuit imprimé à 15 $ sur laquelle la base de données d’empreintes digitales est chargée dans le stockage flash. L’adversaire doit ensuite convertir la base de données en un dictionnaire d’empreintes digitales formaté pour fonctionner avec le capteur spécifique utilisé par le téléphone ciblé. Le processus utilise un transfert de style neuronal lors de la conversion de la base de données en dictionnaire utilisable. Ce processus augmente les chances d’un match.
Avec le dictionnaire d’empreintes digitales en place, l’appareil adverse est maintenant en mesure de saisir chaque entrée dans le téléphone ciblé. Normalement, une protection connue sous le nom de limitation des tentatives verrouille efficacement un téléphone après qu’un nombre défini de tentatives de connexion infructueuses a été atteint. BrutePrint peut entièrement contourner cette limite dans les huit modèles Android testés, ce qui signifie que l’appareil adverse peut essayer un nombre infini de suppositions. (Sur les deux iPhones, l’attaque peut porter le nombre de suppositions à 15, soit trois fois plus que les cinq autorisés.).
Les contournements résultent de l’exploitation de ce que les chercheurs ont qualifié de deux vulnérabilités zero-day dans le cadre d’authentification des empreintes digitales des smartphones de pratiquement tous les smartphones. Les vulnérabilités – l’une connue sous le nom de CAMF (cancel-after-match fail) et l’autre MAL (match-after-lock) – résultent de bogues logiques dans le cadre d’authentification. Les exploits CAMF invalident la somme de contrôle des données d’empreintes digitales transmises, et les exploits MAL déduisent des résultats correspondants via des attaques par canal latéral.
L’authentification par empreinte digitale du smartphone utilise une SPI (interface périphérique série) pour connecter un capteur et le processeur de l’appareil. BrutePrint agit comme un adversaire au milieu qui exploite cette connexion et obtient des données qui détournent efficacement les images d’empreintes digitales stockées par l’appareil ciblé.
La capacité de BrutePrint à détourner avec succès les empreintes digitales stockées sur les appareils Android mais pas sur les iPhones est le résultat d’une simple différence de conception : iOS crypte les données, contrairement à Android.
Les chercheurs ont écrit :
Nous capturons les signaux SPI via un analyseur logique et localisons ces signaux denses sur MISO pour identifier la FDA. Comme les données ne sont pas cryptées, nous pourrions essayer la méthode de codage en plusieurs tentatives d’inférence. Par exemple, la forme de l’image peut être devinée en factorisant le nombre total de pixels, et l’adaptation peut être effectuée en fonction du décalage périodique des valeurs aberrantes (c’est-à-dire des valeurs telles que la somme de contrôle autres que les pixels de l’image). Pour l’appareil victime, le premier échantillon est transmis en 4 trames tandis que les trois derniers utilisent le même format avec 13 trames. Chaque dernière trame est courte puisqu’elle transmet les données d’empreintes digitales restantes. Les commandes FDA sont identifiées avant chaque trame. En prenant le premier échantillon par exemple, les commandes FDA sont toujours 0xF08800, et nous montrons la structure (séparateur de trame omis) des données d’empreintes digitales dans la figure 6. La structure n’est pas compliquée du fait que l’image en niveaux de gris est stockée en 16 bpp, et pour chaque ligne, un numéro de série et une somme de contrôle CRC16 sont attachés aux deux extrémités. la dernière trame est courte car elle transmet les données d’empreintes digitales restantes. Les commandes FDA sont identifiées avant chaque trame. En prenant le premier échantillon par exemple, les commandes FDA sont toujours 0xF08800, et nous montrons la structure (séparateur de trame omis) des données d’empreintes digitales dans la figure 6. La structure n’est pas compliquée du fait que l’image en niveaux de gris est stockée en 16 bpp, et pour chaque ligne, un numéro de série et une somme de contrôle CRC16 sont attachés aux deux extrémités.
BrutePrint est l’œuvre de Yu Chen de Tencent et de Yiling He de l’Université du Zhejiang. Ils ont proposé plusieurs modifications logicielles ou matérielles conçues pour atténuer les attaques. L’un des changements consiste à empêcher les contournements limitant les tentatives en recherchant les exploits CAMF. Le contrôle fonctionne en définissant une limite supplémentaire pour les annulations d’erreurs. Une autre solution suggérée consiste à empêcher les attaques de l’adversaire au milieu en cryptant les données transmises entre le capteur d’empreintes digitales et le processeur de l’appareil. Enfin, les chercheurs recommandent des modifications qui entraînent un comportement cohérent de l’acquisition des empreintes digitales, que des résultats correspondants soient déduits ou non.
« La menace sans précédent doit être réglée en coopération avec les fabricants de smartphones et de capteurs d’empreintes digitales, tandis que les problèmes peuvent également être atténués dans les systèmes d’exploitation », ont écrit les chercheurs. « Nous espérons que ce travail pourra inspirer la communauté à améliorer la sécurité de la SFA. »
->Google Actualités