Biobidouilles toujours
Par Petaramesh le mardi 7 mars 2006, 13:02 - Big Brozeur - Lien permanent
A la suite du commentaire d'Yves sur les moyens éventuels de leurrer les systèmes biométriques, je me suis livré moi-même à quelques petites expériences amusantes sur ma clé BioFlash...
Cet article fait donc suite à celui-ci, qui lui-même était la suite de celui-là.
J'avais commencé par faire de cet article une simple adjonction à mon article d'hier, mais, comme j'ai poursuivi un peu avant mes expériences, je finis par me décider à en faire un article à part entière...
Le commentaire d'Yves à propos des possibilités de falsification d'empreintes en utilisant de "faux doigts" en latex ou en gélatine m'a donné envie de tenter une petite expérience. Sans me lancer dans le jeu du petit chimiste (je n'ai d'ailleurs pas sous la main les ingrédients nécessaires), j'ai par contre eu l'idée du test que voici :
Doigts de la Sainte Farce
J'ai enfilé un gant de ménage en latex relativement fin (mais tout de même assez éloigné de la finesse d'un gant de chirurgien), et dont les bouts des doigts sont recouverts de reliefs antidérapants qui n'ont pas à proprement parler la forme d'empreintes digitales humaines, mais je me suis demandé si je pouvais faire enregistrer l'empreinte digitale d'un tel gant par la clé BioFlash, et, après avoir enregistré cette empreinte, m'en servir pour déverrouiller la clé. Je me demandais à la fois si le capteur enregistrerait l'empreinte, et si l'algorithme serait capable d'en retirer quelque chose ou pas.
J'ai donc mis le bidule en mode "apprentissage d'empreinte", ai enfilé le gant et ai posé le doigt sur le capteur. Je n'ai obtenu absolument aucune image sur le capteur, exactement comme s'il n'y avait rien dessus, et le système continuait d'attendre tranquillement que je pose un doigt.
Donc, le capteur fait clairement la différence au moins entre un "vrai doigt" et un doigt de gant en latex portant un relief, puisque dans le second cas, il ne génère pas la moindre image même s'il y a un vrai doigt dans le gant.
Bien sûr, ça ne donne pas une indication ayant valeur absolue, peut-être le résultat serait-il différent avec un gant beaucoup plus fin, ou une matière différente possédant une conductivité électrique, etc, puisque je ne sais pas précisément comment le capteur fonctionne (je sais toutefois que, selon le manuel, c'est un capteur capacitif/pression). Mais en tout cas, avec un gant de cuisine, niet. Ca ne le fait pas.
Je poursuis encore mes petites expériences, dans le but de déterminer ce que le capteur "voit" ou ne "voit pas", et étudier ses réactions.
Pour cela, j'utilise un de mes doigts (normalement enregistré sur la clé) en le recouvrant de quelque chose pour voir si le capteur générera une image ou pas :
- Mon doigt à travers un sac en plastique fin : Aucune image
- Mon doigt à travers une cellophane de paquet de cigarettes : Aucune image
- Mon doigt à travers un kleenex "dédoublé" de manière à n'en garder qu'une épaisseur extrêmement fine : Aucune image
- Mon doigt à travers la même simple épaisseur de kleenex, après l'avoir légèrement humecté : Formation d'une image extrêmement pâle et floue qui met vaguement en évidence la trame de papier du kleenex, mais pas du tout les sillons du doigt qui est derrière.
- Mon doigt après l'avoir enduit d'une couche excessivement fine de colle néoprène et laissé sécher un moment à l'air libre : Apparition d'une image sombre beaucoup plus "grasse" de l'empreinte de mon doigt, avec de gros "défauts" dus à la colle dans les sillons. Toutefois, le bidule ne valide pas encore l'empreinte. Zut ! Je sens que ça colle sur le capteur ! La colle n'est pas assez sèche ! Je retire immédiatement le doigt avant de vraiment coller le capteur et risquer de l'endommager.
- Je ne tenterai pas le doigt enduit de colle cyanoacrylate, je n'ai pas envie de mettre trois jours pour m'en débarrasser ensuite ;-)
Au passage, j'ai vérifié que la clé BioFlash est capable d'apprendre les empreintes de 5 doigts différents (tous les doigts d'une main), ce n'est pas nécessaire mais c'est possible, et, si l'on enregistre tous les doigts d'une main, on est ensuite capable de déverrouiller la clé avec n'importe lequel des doigts qui ont été enregistrés. Encore une fois, le manuel était à ce propos clair comme du jus de boudin.
Je suppose qu'on pourrait si besoin détourner l'usage de ce système pour faire apprendre à la clé les index de plusieurs personnes différentes, afin de permettre à plusieurs personnes de partager l'utilisation de la même clé...
Articles intéressants
Je lis ensuite quelques articles relatis aux différentes vilenies que l'on peut faire subir aux capteurs biométriques pour les leurrer :
- Biometric sensors beaten senseless in tests - The Register
- Howstuffworks - "How Fingerprint Scanners Work"
- Common Biometric Systems Defeated
- The Biometric Dilemma (Présentation MS PowerPoint)
...Ceci me met sur la piste de la...
Réactivation d'images rémanentes
Ca paraît tellement simple, mais il faut y penser ! L'endroit du monde où l'on a le plus de chance de trouver une bonne empreinte digitale du légitime propriétaire de la clé biométrique, c'est sur le capteur lui-même !
Après avoir posé mon doigt dessus, je l'oriente dans la lumière, et, sur le capteur très lisse à l'aspect métallique rosé, mon empreinte digitale est parfaitement visible à l'oeil nu, parfaitement nette. (Elle l'est d'autant plus si on avait le doigt légèrement gras).
Selon les articles cités plus haut, il peut y avoir diverses méthodes pour "réactiver" cette empreinte latente de manière à obtenir l'accès.
Essayons voir.
Première méthode : Soufflons
La première méthode paraît tellement bête et simple qu'on se dit que ça ne peut pas marcher. Et pourtant, c'est celle qui, chez moi, donnera le meilleur résultat.
Lançons l'authentification, la fenêtre demandant de poser le doigt apparaît à l'écran, et, à ce stade, soufflons simplement doucement sur le capteur placé juste devant la bouche, de manière à y former de la buée de condensation. Miracle ! Une image d'empreinte digitale apparaît aussitôt à l'écran !
Cette image toutefois est moins nette et moins contrastée que celle obtenue en utilisant véritablement le doigt. Le système semble pourtant considérer que j'ai bien mis un doigt, mais il me dit au bout de quelques instants : "Echec de l'authentification" et me demande de recommencer. Comme je poursuis ma soufflette, il me dit toutes les 2 secondes "Echec, recommencer", puis finit par se lasser et m'indique dans un français plus qu'approximatif (traduit du chinois par un guatémaltèque ?) que je dois ''utiliser le même doigt que celui utilisé pour entraîner l'appareil". Et il abandonne.
Je fais plusieurs tentatives, avec un doigt un peu plus gras (l'image obtenue est meilleure), et après avoir placé la clé USB au frigo quelques minutes (pour accentuer le phénomène de condensation). J'obtiens des images encore meilleures, pourtant, la bestiole refuse toujours de me laisser entrer.
Il paraît que certains dispositifs ont une protection logicielle contre ce genre d'attaque de type "replay" par réactivation de l'image latente : Ils vérifient simplement que l'image qu'ils captent est placée légèrement différemment de celle obtenue lors de la dernière authentification, et refusent d'utiliser une image strictement identique. Peut-être est-ce le cas ici ? Je ne sais pas.
Je note toutefois avec intérêt le point suivant : Bien que l'image que je parviens à obtenir soit de qualité moindre que celle obtenue avec "le vrai doigt", elle donne quand même à l'oeil une copie très utilisable de mon empreinte digitale. Si je fais à cet instant une simple copie d'écran, je récupère sans difficulté un scan fort utilisable de mon empreinte digitale agrandie, scan qui pourrait sans doute être facilement amélioré avec un logiciel de manipulation d'images, et qui pourrait certainement servir de base pour des méchancetés ultérieures (comme la tentative de fabriquer de "faux doigts", etc.).
Donc, le coup de la buée, pour entrer, ça ne le fait pas, mais pour obtenir une image de l'empreinte qui est sur la clé, ça le fait bien !
Deuxième méthode : le sac de flotte
Certains articles indiquent qu'il suffit, avec certain capteurs, d'utiliser un fin sac en plastique rempli d'eau, et de l'appliquer sur le capteur, pour obtenir la réactivation de l'image rémanente. J'essaie donc. Avec la clé BioFlash, ceci ne donne aucun résultat. Aucune image. Peut-être que je m'y prends mal ?
Troisième méthode : Police scientifique façon Castors Juniors
Une troisième méthode possible, selon les articles précédents, est de faire un relevé d'empreinte façon police scientifique, avec de la poudre de graphite. Essayons.
Fabriquons d'abord un peu de poudre de graphite très fine, propre à relever les empreintes. Il suffit de frotter doucement une mine de crayon noir sur un petit bout de papier de verre, et voilà un peu de la poudre de perlimpimpin nécessaire.
Faisons tomber cette poudre noire sur le capteur (vache, elle est conductrice, j'ai vérifié à l'ohmmètre, et tellement fine que j'espère qu'elle ne va pas se faufiler à l'intérieur, sinon ça va me faire un court-jus dans la clé...). Répartissons bien la poudre à la surface.
Enlevons très doucement le surplus avec un pinceau doux, ou, encore mieux, un pinceau-soufflette de netoyage d'appareil photo. Soufflons l'excédent, regardons à la lumière. J'obtiens une très belle empreinte noire sur mon joli capteur. Jusque là, ça marche comme à l'instruction ;-)
Il paraît qu'il suffit maintenant de brancher la clé et d'appliquer un bout de scotch sur la poudre en appuyant doucement, pour que cela suffise à réactiver l'image rémanente, et "Sésame, ouvre-toi", avec certains systèmes. J'essaie. Merde, aucune image. Le capteur de la clé BioFlash n'est pas sensible à cette forme de persuasion. Ou je m'y prends comme un pied, c'est là encore possible.
Je décolle mon bout de scotch, la belle empreinte noire a été transférée dessus. Plus qu'à la coller sur une feuille de papier, j'ai fait un chouette relevé d'empreinte. Je n'ai plus qu'à me recycler dans la police scientifique ![1]
Conclusion
Le piège de l'empreinte rémanente est réel. Bien que je ne sois pas parvenu à obtenir l'accès à ma clé BioFlash par ces méthodes, j'ai réussi à réactiver une empreinte rémanente très utilisable avec la première méthode, qui est la plus facile, et j'ai pu obtenir directement un scan de bonne qualité de cette empreinte, sans devoir utiliser aucun matériel ni accessoire autre que la clé elle-même et ma respiration. C'est quand même emmerdant, non ?
Je n'ai pas obtenu de résultat sur la clé avec les deux autres méthodes, mais j'ai au final un beau relevé d'empreintes qui ferait la fierté des "Brigades du Tigre". Aha.
Ca montre z'au minimum, me semble-t-il, que tout utilisateur de ce genre de gadget devrait prendre grand soin d'essuyer soigneusement le capteur pour en effacer son empreinte, à chaque utilisation.
Notes
[1] Non, je déconne...











Commentaires
Arf, j'attend avec impatience que tu joues à la pâte à modeler et que tu relèves l'empreinte avec du latex liquide, comme dans l'article, pour voir si ça marche.
Est-ce qu'un doigt légèrement blessé en coupant le gigot est encore reconnaissable ?
@Yves :
Je ne pense pas le faire pour le moment. Mais vu que le bidule ne détecte pas de doigt à travers un truc aussi fin qu'une cellophane de cigarettes ou une seule épaisseur de kleenex, je ne suis pas très optimiste sur le coup du latex...
Mieux que la pâte à modeler pour faire un moulage d'empreinte : de la bougie fondue, mais pas trop chaude !
Note que ça, c'est valable pour jouer, mais on pourrait difficilement demander à quelqu'un dont on voudrait recopier sournoisement l'empreinte de mettre son doigt dans de la bougie fondue...
>
Je ne sais pas, mais si tu veux bien te couper le doigt pour les besoins de la science, on peut faire l'essai ;-)
(D'où l'intérêt peut-être d'enregistrer plusieurs doigts dans le machin, car à moins d'être vraiment manchot, si j'ose dire, y'a moins de risques d'une telle mésaventure. Mais probablement autant de risques en plus de faux positifs...)
D'un autre coté, si tu te coupes les doigts au point de plus pouvoir en faire reconnaître un seul sur 5, je suppose que ton problème immédiat est autre que le simple accès à tes données toutes confidentielles qu'elles soient (a moins que le numéro des urgences soit stocké sur la clé et que dans la confusion tu ne t'en rapelles plus :) )
Un de mes collègues a eu les mains brulées accidentellement lorsqu'il était enfant, et n'a donc plus d'empreintes utilisables. Il a d'ailleurs travaillé quelques temps chez un constructeur d'ordinateurs à tester des bio-bidules, et n'a jamais réussi à les utiliser lui même.
On en parlait récemment, car on doit aller aux USA en Septembre, et maintenant à la frontière on doit se faire photographier plus relever les empreintes... sur un lecteur biométrique :-) Je sais pas s'ils vont le refouler à la douane ?
Au fait, la dernière fois j'ai pas pensé à essuyer le lecteur après mon empreinte... j'espère que je n'étais pas suivi par un terroriste qui aurait relevé le tracé avec l'une de tes méthodes.
Le cellophane de cigarette comme le scotch sont des plastiques rigides. La latex est souple, et il faut lui faire épouser le doigt (comme avec une capote mais sans le réservoir, si tu vois ce que je veux dire). Le but du jeu étant de tromper la détection «du doigt mort». La fausse empreinte doit être reproduite sur le latex. Bref coller la fausse empreine à ton vrai doigt. En remplaçant le scotch par une capote (non lubrifiée) pour appuyer sur la poudre noire ça marcherait peut-être?
Bon ok, tu vas me dire que tu as pas de capote chez toi.
@Yves :
Voilà. Et en plus, j'ai toujours eu horreur de ces tuyaux à bite. (Non, je ne dirai pas "Et en plus, elles sont trop petites et elles m'étranglent le zob !" ;-)
D'autre part, il faudrait que tu te portes garant pour expliquer à Mâ Anandaramesh ce que foutraient des capotes dans mon tiroir après 12 ans de vie commune ;-)
...J'ai en effet quelques doutes sur mes propres capacités à la convaincre dans ce cas de figure précis :-D
j'ai publié, il y a peu, un article sur InternetActu au sujet des diverses méthodes utilisées pour flouer les puces RFID et les capteurs biométriques, les méthodes suscitées m'avaient échappé, je les rajoute en commentaire : La surveillance high tech est-elle soluble dans le low tech ?
Voir aussi ces vidéos (+-, parce que ça ne marche pas forcément non plus ;-) instructives : Spoofing_fingerprints_in_10_minutes & Defeating_biometric_systems
@jmm : Ton article est fort intéressant, pour ne pas dire passionnant, et je suis très heureux que tu l'aies signalé ici. Merci.
Ah ça me rapèle un feuilleton de Mac Giver où il se faisait ce genre de capteur en frottant le mur en platre juste au dessus avec son couteau suisse... et appliquait la douce pression de sa main avec un chiffon...
Tu devrais essayer le platre ;-) !!!!
Alex;-)