Ouvrir le menu principal

MacGeneration

Recherche

Des lecteurs d'empreintes Windows Hello piratés de trois manières différentes

Pierre Dandumont

mercredi 22 novembre 2023 à 16:30 • 5

Matériel

Depuis quelques années, les Mac et les PC intègrent de plus en plus souvent des lecteurs d'empreintes. Et dans les PC, si les premiers essais se basaient sur des logiciels spécialisés — avec tous les problèmes qui peuvent en découler —, les fabricants passent maintenant généralement par Windows Hello, une couche de sécurité intégrée à Windows. Ce qui n'empêche visiblement pas les attaques de malandrins.

Des chercheurs ont en effet trouvé des failles dans trois PC portables équipés d'un lecteur d'empreintes, et c'est le MORSE (Microsoft’s Offensive Research and Security Engineering, soit Microsoft) qui les avait missionnés. Pour commencer, il faut comprendre le fonctionnement : chez Microsoft, les données sont stockées dans la puce du lecteur d'empreinte, ce que la société nomme « Match on Chip ». La détection s'effectue donc dans la puce, et l'ordinateur (Windows dans le cas présent) ne peut pas accéder aux empreintes. Cette solution évite de laisser traîner ses empreintes, mais nécessite une communication sécurisée entre le lecteur et l'OS, qui passe (en théorie, nous le verrons) par le protocole SDCP (Secure Device Connection Protocol). Ce lien chiffré emploie des clés qui sont liées à l'EFI de l'ordinateur et stockées dans une zone qui ne peut pas être modifiée. Cette solution n'empêche pas nécessairement la modification du firmware (ou l'intégration d'un faux capteur) mais permet de le détecter et bloquer la détection.

Le clavier de Microsoft intègre un lecteur d'empreintes.

Les chercheurs expliquent ensuite comment la communication s'effectue entre le système d'exploitation et le lecteur d'empreintes, avec quelques questions de base liées à la recherche de failles : « Existe-t-il un pilote Linux ? », « Quel est le protocole physique pour la liaison ? », « Est-ce que le firmware est chiffré ? », « Est-ce que la liaison est chiffrée ? », etc.

Au premier abord, voici les réponses : sur un Dell Inspiron 15, il existe un pilote pour Linux, le lien est en USB (en clair) et le firmware est chiffré. Avec un Thinkpad T14 de chez Lenovo, la prise en charge de Linux est limitée, le lien est en USB mais chiffré, et le firmware est chiffré. Enfin, avec une Surface Pro X (Microsoft), il n'y a pas de prise en charge officielle de Linux, la liaison entre le lecteur d'empreintes et l'ordinateur est a priori propriétaire — il est placé sur un clavier amovible avec un connecteur dédié — et le firmware est chiffré.

Chez Dell

Sur la machine de Dell, l'idée de départ était simple : comme Linux n'utilise pas le protocole de Microsoft (SDCP), les chercheurs ont tenté une approche évidente. Elle consiste à ajouter une empreinte dans le lecteur en lui attribuant un identifiant identique1 à celui choisi par Windows, en espérant que l'empreinte d'un hacker puisse déverrouiller la session. Cette solution ne fonctionne pas directement car le lecteur d'empreintes stocke les données dans deux bases de données internes différentes, une pour Linux et une pour Windows.

Il faut pousser Windows à employer la base dédiée à Linux.

Mais comme la commande qui permet de changer de base de données en interne n'est pas sécurisée, il est possible de tricher. Ils ont donc débranché le lecteur d'empreintes (qui est en USB en interne) pour le reconnecter sur un Raspberry Pi 4 configuré pour intercepter certaines commandes. La méthode reste la même : sous Linux, ils récupèrent les identifiants dans le lecteur (ce point fait partie de la norme) et ajoutent les empreintes de l'attaquant dans le lecteur (dans la base Linux). Ensuite, ils démarrent Windows et envoient une commande qui va intervertir les bases pour que Windows choisisse celle prévue pour Linux. Enfin, ils s'identifient avec les empreintes du hacker sur le compte de la cible.

Chez Lenovo

Sur le PC de Lenovo, la liaison entre le lecteur et Windows est chiffrée, mais — en résumé — la clé est basée sur le nom de la machine et le numéro de série, deux informations accessibles à travers l'EFI mais aussi avec un accès physique (elles sont inscrites sur une étiquette). Une fois la liaison déchiffrée, le fonctionnement est le même (ou presque) : il faut récupérer les identifiants valides dans la puce, ajouter une empreinte avec un identifiant valide et se connecter. Ça semble évidemment simple expliqué comme ça, mais il faut tout de même un accès physique pour ajouter l'empreinte.

Un résumé de l'attaque.

Chez Microsoft

Alors qu'ils pensaient que le protocole était propriétaire, il n'en est rien. En réalité, le clavier (assez cher, plus de 150 €) passe par une liaison USB en clair, et la technologie de Microsoft (SDCP) n'est même pas employée. Le piratage semble trivial : ils ont branché un appareil qui singeait le clavier (avec les mêmes identifiants USB) et envoyé une commande indiquant que l'empreinte est la bonne. La seule « sécurité » est une vérification du nombre d'empreintes stockées dans la puce qui — selon eux — ne sert pas réellement à sécuriser la liaison (il suffit de lire l'information dans le lecteur d'origine) mais simplement à éviter qu'un utilisateur installe un autre clavier par inadvertance. L'attaque est donc nettement plus simple qu'avec les deux autres PC et ne demande pas un accès au PC dans l'absolu (sauf au moment du piratage).

Bien évidemment, l'équipe compte travailler sur d'autres attaques liées et tenter la même chose avec les produits Apple. Mais il faut noter qu'Apple place les données dans une zone dédiée de ses puces (l'enclave sécurisée) plutôt que dans le lecteur lui-même, ce qui devrait mieux protéger les données. Si Touch ID semble sûr depuis sa sortie il y a une dizaine d'années, il n’est par ailleurs pas exclu qu'Apple ait laissé passer des erreurs. Rappelons enfin que les premiers MacBook Pro Touch ID stockaient les données dans la puce T1 ou T2 et communiquaient avec le lecteur en USB (en interne) et que les lecteurs modernes communiquent en Bluetooth ou en USB avec les Mac dotés d'une puce Apple Silicon.


  1. Windows n'a pas accès aux empreintes, juste à un identifiant lié aux empreintes.  ↩︎

Source :

Image d'ouverture : Daniel Aleksandersen

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

En Allemagne, le Schleswig-Holstein va abandonner les outils Microsoft comme Teams ou Office

11:38

• 3


macOS Tahoe change plus facilement la couleur des LED des manettes de PlayStation

10:45

• 7


GlassBar opacifie déjà la barre des menus de macOS Tahoe

09:04

• 12


Nouveautés d’iOS 26, macOS Tahoe, Liquid Glass… Tous nos articles pour tout savoir sur la WWDC 2025

06:00

• 11


Les leçons de la WWDC 2025, et ce qu’elle laisse entrevoir de la suite : la semaine Apple

15/06/2025 à 21:00

• 39


Aperçu de Spotlight dans macOS Tahoe : le lanceur idéal pour débuter ?

14/06/2025 à 11:00

• 35


Sortie de veille : une WWDC 2025 réussie ? Notre débrief d’iOS 26, Liquid Glass…

14/06/2025 à 08:00

• 11


SAV : Apple lance un programme de réparation pour des Mac mini M2 qui ne s'allument plus

14/06/2025 à 07:38

• 41


Avec Tahoe, les applications macOS pourront s’afficher sur le Vision Pro

13/06/2025 à 21:57

• 17


Les Youtubeurs de Linus Tech Tips voulaient se moquer des Mac pendant un mois, mais décident finalement de rester chez Apple

13/06/2025 à 18:56

• 104


watchOS 26 : découverte de la nouvelle interface de l'app Exercice

13/06/2025 à 18:27

• 5


Découvrez le tout nouveau UPDF 2.0 – l’éditeur PDF ultime pour Mac et iOS !

13/06/2025 à 15:18

• 0


macOS 26 peut faire le ménage dans les icônes de la barre des menus

13/06/2025 à 14:52

• 11


Avec EnergyKit, Apple veut charger votre watture au moment le plus opportun

13/06/2025 à 13:45

• 13


3DMark, une référence pour comparer les performances des GPU, débarque sur Mac

13/06/2025 à 13:02

• 31


Promo : des MacBook Air M3 16 Go à partir de 850 €

13/06/2025 à 12:50

• 13