Connexion
Abonnez-vous

Empreintes digitales : les capteurs Windows Hello loin d’être exemplaires

Le doigt dedans

Empreintes digitales : les capteurs Windows Hello loin d’être exemplaires

Crédits : Unsplash

Une équipe de chercheurs de Blackwing Intelligence s’est penchée sur les trois principaux capteurs d’empreintes digitales compatibles Windows Hello utilisés sur les PC. Une recherche commanditée par Microsoft, qui souhaitait savoir si des failles de sécurité étaient présentes. Il y en a bel et bien.

Le 24 novembre 2023 à 14h57

À la demande de l’équipe MORSE (Microsoft’s Offensive Research and Security Engineering), les chercheurs se sont mis en chasse d’éventuelles vulnérabilités dans les lecteurs d’empreintes. Trois machines ont ainsi été visées : l’Inspiron 15 de Dell, le Thinkpad T14S de Lenovo et la Surface Pro X de Microsoft équipée du clavier détachable Pro Type Cover, lui-même contenant le fameux lecteur. Ces ordinateurs sont les plus vendus de ceux compatibles avec Windows Hello, technologie de Microsoft centralisant les méthodes de sécurité pour ouvrir la session système.

Pour comprendre ces failles, il faut d’abord rappeler le fonctionnement général de Windows Hello avec la lecture des empreintes digitales.

Windows Hello et empreintes : principe de fonctionnement

Pour qu’une empreinte digitale puisse déverrouiller une session, il y a deux briques essentielles.

En premier lieu, le capteur lui-même, dit « MoC », pour Match on Chip. Par opposition aux générations précédentes qui étaient de type MoH (Match on Host), le stockage des empreintes a lieu de manière sécurisée dans la puce, de même que toutes les opérations qui leur sont liées, par l’intermédiaire de jetons. Le système d’exploitation ne peut pas y accéder et les empreintes ne partent pas se balader un peu partout. Windows Hello exige des capteurs MoC pour Enhanced Sign-in Security (ESS).

Comme le signalent les chercheurs, ces capteurs bloquent toute « redite » des empreintes. On ne peut donc pas les interroger à la chaine sur ce point. En revanche, cette technologie ne bloque pas en elle-même la présence de faux capteurs, ni la redite d’un trafic qui aurait été récupéré entre l’hôte et le capteur.

C’est là qu’intervient la deuxième brique essentielle : le Secure Device Connection Protocol (SDCP). Ce protocole de sécurité a trois missions : s’assurer que le capteur d’empreintes est de confiance, que le statut de ce capteur est sain, et protéger les entrées entre le capteur et l’hôte, via notamment l’établissement d’un canal chiffré de bout en bout.

Sans trop entrer dans les détails, l’ensemble de cette sécurité tient en bonne partie à l’EFI et aux clés de sécurité associées à ce dernier et stockées dans une zone ne pouvant pas être modifiée. Les trois machines examinées disposaient en outre toutes d’un firmware chiffré et signé cryptographiquement.

Première cible : Dell Inspiron 15

Les chercheurs ont adopté des approches différentes selon les machines, en établissant une liste de questions, auxquelles les réponses les dirigeaient vers une méthode ou une autre. Par exemple, savoir si le capteur est supporté par d’autres systèmes, Linux en tête, quel est le bus utilisé pour la communication, de quelle qualité semble être le code, etc.

Concernant l’Inspiron 15, les chercheurs ont trouvé un bon support de Linux (souvent le cas chez Dell, qui vend certaines configurations avec Ubuntu), des communications en clair entre le capteur et l’hôte via USB et, globalement, un code de qualité médiocre pour le pilote.

Au vu du contexte, les chercheurs ont adopté une approche très directe : passer par Linux et insérer dans le capteur une empreinte tierce, en lui donnant le même identifiant unique que celle de l’utilisateur authentique, stockée pendant son utilisation de Windows. Dans un premier temps, l’approche a échoué, car si le capteur a bien accepté l’empreinte en entrée, il l’a stockée dans une base de données spécifique à Linux.

Cependant, certaines commandes ne sont pas protégées, notamment celle permettant de basculer entre les bases. En récupérant le lecteur sur l’Inspiron 15 et en le branchant sur un Raspberry Pi. De là, ils ont pu intercepter les commandes qui les intéressaient.

En rebranchant le capteur sur sa machine d’origine et en relançant Windows, ils ont alors pu envoyer celle qui a permuté les deux bases. La puce a alors spontanément présenté l’empreinte correspondant à l’identifiant unique recherché et la session s’est ouverte.

Deuxième cible : Lenovo Thinkpad 14S

Sur la machine de Lenovo, le contexte était différent. Le support Linux était cette fois limité, le code de meilleure qualité, la communication entre l’hôte et le capteur était chiffrée et se faisait par USB. L’approche semblait donc plus complexe.

Après une longue rétro-ingénierie, les chercheurs se sont rendu compte de plusieurs points. D’abord, et en dépit des recommandations de Microsoft pour Windows Hello, Lenovo ne se servait pas du SDCP pour la communication sécurisée entre l’hôte et le capteur, mais d’une pile TLS personnalisée. Ensuite, et surtout, que le chiffrement est basé sur des clés, dérivées de deux informations : le nom et le numéro de la machine. Ces clés sont récupérées depuis le BIOS/EFI via ACPI. Les chercheurs pensent que cette façon de faire permet le SSO (Single Sign-On) dans Windows, donc sans nouvelle authentification.

L’équipe avait ainsi sa marche à suivre : négocier avec TLS. Pour ce faire, ils ont – dans les grandes lignes – reconstitué la clé de chiffrement à partir des informations très simples à trouver (nom et numéro de série de la machine). Après quoi, ils ont réussi à pointer à Windows l’empreinte digitale de l’un d’entre eux et la confirmer comme valide après lui avoir donné la même référence unique que celle de l’utilisateur authentique.

Troisième cible : Surface Pro X avec Pro Type Cover

Autre contexte pour ce troisième cas, puisque la tablette de Microsoft ne dispose d’aucun support Linux (ce qui n’est pas étonnant, surtout avec un modèle Arm), une qualité de code décrite comme ambiguë, et un type de communication inconnu entre l’hôte et le capteur.

On ne s’y attendait pas forcément de l’entreprise ayant commandité l’étude des chercheurs, mais c’est bien ce troisième cas qui s’est avéré le plus simple. En effet, non seulement la communication entre l’hôte et le capteur se fait en clair, mais Microsoft n’utilise même pas sa propre recommandation pour cette communication, c’’est-à-dire le protocole SDCP. Ils se sont ainsi rendu compte qu’il était relativement simple de faire passer n’importe quel capteur comme provenant du fournisseur de celui intégré dans la Surface Pro X, à savoir ELAN. La seule « sécurité » est une vérification du nombre d’empreintes stockées dans la puce du capteur, peut-être pour vérifier rapidement si la bonne Type Cover a été branchée.

La méthode a consisté à enlever la Type Cover, brancher un faux périphérique servant pour l’attaque, repérer le SID (identifiant unique) émis par le driver Windows associé, passer la vérification du nombre d’empreintes digitales, initialiser la connexion par empreinte sur le système, envoyer une réponse valide de connexion depuis le faux périphérique. Et « c’est tout ».

Quelles conclusions en tirer ?

Les chercheurs disent avoir eu besoin de trois mois pour mettre en place ces attaques. Il ne s’agissait donc pas de procédures triviales, mais elles ont abouti à 100 % de machines piratées.

Qu’en conclure ? Précisons d’abord – au risque d’enfoncer une porte ouverte – que ces attaques ne peuvent pas être pratiquées à distance, ni qu’elles peuvent être réalisées en quelques minutes, sans équipement adaptées.

Ensuite, et surtout, que le SDCP est décrit comme un bon protocole, mais qui ne couvre pas l’ensemble de la surface d’attaque permise par les capteurs d’empreintes digitales. En outre, deux des trois machines n’utilisaient même pas le SDCP, y compris la propre entreprise qui en est à l’origine et recommande sa mise en œuvre.

Les chercheurs ont deux recommandations principales pour les constructeurs : s’assurer que le SDCP est utilisé dans l’implémentation du capteur, et demander l’intervention d’une tierce partie pour réaliser un audit de sécurité sur l’ensemble. Blackwing Intelligence se tient bien sûr à disposition pour aider (moyennant finances) les constructeurs qui seraient intéressés.

Si l’occasion leur en est donnée, les chercheurs aimeraient creuser certains points, notamment la qualité du code dans les firmwares, qui leur a paru globalement faible. Les fonctions cachées sont également un problème, augmentant d’autant la surface d’attaque. Ils aimeraient aussi tester des attaques plus directes sur le matériel : si l’on peut écrire directement dans les bases de données (comme ce fut le cas avec l’Inspiron 15), alors il n’y a aucune protection.

Enfin, bien que la demande initiale émane de Microsoft, les chercheurs souhaitent se pencher sur le cas des capteurs pour d’autres plateformes : Linux, Android et Apple.

Commentaires (20)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar
Moralité : un mot de passe complexe (ou une phrase de passe) reste le meilleur sésame pour protéger sa machine Windows (en conjonction avec Bitlocker + code PIN) :D
votre avatar
Et se pencher sur les cas où l'utilisateur légitime change le capteur (pour une réparation).

Apple avait utilisé ce cas pour bloquer des téléphones qui n'avaient pas été réparés par leurs services.
Les chercheurs aimeraient creuser certains points, notamment la qualité du code dans les firmwares, qui leur a paru globalement faible. [...] les chercheurs souhaitent se pencher sur le cas des capteurs pour d’autres plateformes : Linux, Android
Ce sont de bonnes choses à creuser.
votre avatar
Bon désolé d'écrire ici, parce que le lien « contact » en bas du site, ben il est tout buggé... Quand on clique sur le lien Contact (dans Chrome), nouvelle page qui s’ouvre mais « blank». Enfin, c’est vraiment le moindre des problèmes. Le GROS GROS problème ici, c’est que c’est moche, super moche, extra moche. Non mais sérieusement, pour l’article de Vincent, fond gris uniforme mais moche mais pour le Brief, fond gris tout autour, mais article sur fond noir. Super moche. C’est un gars tout seul dans son côté qui a développé cette interface ? Ben ça le fait pas du tout... C’est une version alpha sortie à l’arrache ou quoi ? Je pense que vous devriez rectifier le tir asap ! Juste un sentiment d’horrible, baclé et (très) mal fini. Wake up guys !!
votre avatar
Pourquoi tant de haine ?
votre avatar
Hum, je n'ai pas du tout les problèmes que tu décris… Le bouton contact est rien de moins qu'un mailto:xxxx c'est censé ouvrir ton logiciel de mail par défaut (chez Chrome ça ouvre peut-être ton GMAIL)

Quand aux couleurs et aux gris, il y a en effet de belles nuances de gris très claires sur le site et point de gris foncé (il n'y a pas encore de dark mode) ; peut-être es-tu arrivé au moment d'une MEP et as-tu eu l'exclusivité de visiter les tréfonds du cosmos lactique ?

Tu pourrais également lire cet article concernant le gars tout seul dans son côté (coin ?) next.ink Next
votre avatar
😛
votre avatar
Tu as bien été redirigé sur next.ink ? Ou tu es resté sur nextinpact.com ? Il m'est arrivé, sur certains devices, que la redirection ne soit pas effective et de me retrouver sur un site nextinpact tout pété
votre avatar
Ça confirme ce que tout le monde soupçonnait déjà un peu, ces systèmes ne sont pas infaillibles, mais c'est assez honteux que Microsoft soit le plus mauvais élève du lot.👎🏻

La seule bonne nouvelle pour l'instant : l'empreinte reste protégée au sein du lecteur, car on sait tous que c'est là que ça va commencer à vraiment mal tourner. 😅

Ce sera intéressant de voir comment ça se passe chez Apple avec leur puce T2, d'autant que chez eux il me semble qu'on peut changer de session à la volée juste en mettant la bonne empreinte, sans sélection de l'utilisateur au préalable. Il y a donc certainement des risques de faille associés à cette fonctionnalité supplémentaire !
votre avatar
Yep, tout pareil.
La bonne nouvelle, c'est que le problème est désormais davantage mis en lumière. Peut-être pourra t-on espérer des correctifs lorsque c'est possible (et sur les appareils encore supportés sic), et des intégrations mieux finies sur les futurs modèles.
Je me pose aussi la question des lecteurs d'empreintes sous forme de dongle usb, pour les PC qui n'intègrent pas un lecteur d'office. Ca doit être tristement rigolo.

Après voilà, comme évoqué, cela inquiètera moins le particulier que le pro. On est loin du psychodrame qu'on lit sur les sites putaclic type frandroid :D
votre avatar
La question: si on vole l'ordi de quelqu'un, qu'on démonte le capteur et qu'on lui met une prise USB... On va pouvoir se loguer sur son nouvel ordi en injectant notre empreinte?
Ou extraire le n° identifiant et le réutiliser dans un autre système de login?
votre avatar
Ça dépend des cas. Et on peut faire pire que mettre une prise USB. Faut au moins :
- Une authentification du lecteur.
- Une sécurisation des échanges (au moins signé et anti-replay).
- Une sécurisation du stockage.

On parle pas forcément du voleur moyen, mais bon, décaper les puces pour aller intercepter les donnés, ça se fait.
votre avatar
Non c'est uniquement pour entrer dans la session d'un PC que t'as volé et dont l'unique sécurité est l'empreinte.
votre avatar
L'empreinte reste protégée ? Je n'ai rien vu à ce sujet, l'extraction ne semble pas avoir fait parti du périmètre.

J'ai utilisé un peu un lecteur d'empreintes y'a 15+ ans. J'ai arrêté en 1er lieu à cause du stockage de l'empreinte. Je recouvre aussi les capteurs des smartphones que j'ai.
votre avatar
Je ne sais pas comment était la situation avant, mais de nos jours (et ça fait bien des années que la situation est ainsi) ce n'est pas l'empreinte digitale qui est stockée mais un "hash" (empreinte numérique) de l'empreinte digitale.
votre avatar
Pour un particulier ces dispositifs de sécurité ont l'avantage d'être simple et d'être une protection plutôt efficace malgré les faiblesses et failles énoncées dans l'article. Pour un particulier la plus grosse menace pour ces données lors d'un accès physique à la machine c'est qu'elle soit volée. Et je n'imagine pas un voleur déployer autant d’ingéniosité et de ressource pour récupérer un scan de carte d'identité de tante Huguette et les photos de ses petits enfants sur la machine. Il effacera les données pour revendre l'ordinateur ou l'utiliser lui-même.
Donc c'est toujours mieux que le post-it avec le mot de passe ou la date de naissance.
votre avatar
Yes, en effet.
Il risque d'y avoir quelques exceptions, selon le niveau technique que ça demande.
Des gens achètent bien des disques durs au kilo sur ebay, dans l'espoir de récupérer des données (et ils en trouvent, dont moult photos éventuellement compromettantes).
Si un appareil est facile à déverrouiller (peut être la Surface) avec un faux dongle usb ou tout autre appareil fait sur mesure (si c'est faisable, ça se trouvera, t'inquiète), il y aura de quoi s'inquiéter avec le marché de l'occasion. Et du vol, évidemment. Si ça prend 5min au voleur pour accéder à la machine, et si le boitier de piratage ne coûte pas super cher, il y aura clairement un marché pour ça.
On a bien des toolkits faciles à utiliser et à pas cher pour exploiter les failles CPU. Le boitier usb plug-and-play (^^), ça serait encore plus tentant.
votre avatar
De ce que j'ai compris dans l'article les failles sont sur les capteurs eux même et le bios, pas sur le chiffrement du disque. En cas de démontage du disque, soit le disque ou les données sensibles sont chiffrés et dans ce cas elles sont protégée sauf a trouver la clé. Ou alors le disque ne l'est pas, et a ce moment là, peut importe que le capteur d'empreinte était ou non activé sur la machine d'origine, les données seront accessibles.
votre avatar
Si le disque est chiffré, ça n'ira pas plus loin que bitlocker, donc impossible de forcer l'empreinte. Ces scenarii ne fonctionnent qu'avec un disque en clair, et dans ce cas il est beaucoup plus simple de débrancher le disque le mettre dans une autre machine pour poutrer le mot de passe stocker qqpart en quasi clair, ou injecter un user admin dans l'OS.
votre avatar
Je me rappellerai toujours une interview du Chaos Computer Club il y a une vingtaine d'années sur l'utilisation naissante de capteurs d'empreintes digitale qui se concluait par ces termes :
"Il faut être complètement stupide pour utiliser comme clef / mot de passe
- quelque chose que vous ne pouvez jamais changer,
- et que vous laissez partout !"
votre avatar
Les deux premières cibles que sont Dell et Lenovo auraient pu laisser dire et penser que Apple est finalement dans le juste en prenant en charge et le logiciel et le matériel, ce qui permet justement d'éviter que le constructeur tiers ne fasse n'importe quoi et fragilise la sécurité telle que conçue au niveau logiciel.

Et puis vient la troisième cible, donc… --'

Empreintes digitales : les capteurs Windows Hello loin d’être exemplaires

  • Windows Hello et empreintes : principe de fonctionnement

  • Première cible : Dell Inspiron 15

  • Deuxième cible : Lenovo Thinkpad 14S

  • Troisième cible : Surface Pro X avec Pro Type Cover

  • Quelles conclusions en tirer ?

Fermer