Depuis quelques années, les clés de sécurité basées sur les travaux de l'alliance FIDO sont de plus en plus populaires. Elles offrent en effet un second facteur d'authentification bien meilleur qu'un simple SMS (par exemple) et peuvent même remplacer totalement un mot de passe. Mais une faille dans le code d'Infineon, qui fournit les puces de certaines clés, peut poser des soucis de sécurité et même permettre à un attaquant (très) motivé de cloner une clé comme les modèles de la gamme YubiKey 5.
Nous n'allons pas entrer dans les détails, car le sujet est très compliqué, mais les personnes intéressées pourront aller lire ce papier qui explique exactement le fonctionnement de l'attaque. Voici tout de même une explication schématique du problème. Dans une bonne partie des clés de sécurité, la puce qui effectue les calculs nécessaires à la validation est fournie par la société Infineon, qui s'occupe aussi habituellement de fournir la partie logicielle (le firmware). L'accès à ce dernier et aux API est très contrôlé, mais des chercheurs se sont tout de même rendu compte qu'une étape cruciale dans les calculs pouvait être attaquée par ce qu'on appelle un side channel (ou canal latéral). L'idée consiste à mesurer très finement les variations de tensions et différents paramètres de la puce pour arriver à déterminer le temps de calcul exact d'une des étapes1 et en déduire la clé de chiffrement. Expliqué comme ça, ça semble simple, mais en pratique l'attaque demande beaucoup d'étapes qui rendent les attaques compliquées.
Ars Technica donne les différentes étapes.
• L'attaquant doit connaître le nom d'utilisateur et le mot de passe de la personne attaquée, en les récupérant par exemple via du phishing.
• Il doit avoir un accès physique à la clé de sécurisation pendant quelques minutes.
• Il doit démonter la clé pour installer des sondes et du matériel pour effectuer l'attaque, ce qui nécessite du matériel onéreux (il n'est pas possible de le faire sur une table de café près de la victime, par exemple).
• L'attaque nécessite d'effectuer plusieurs essais de connexion avec les informations de la première étape pour effectuer les mesures (avec le risque que le service prévienne l'attaqué).
• L'attaquant doit refermer la clé sans que l'ouverture soit visible et la rendre à la victime.
• Des calculs doivent être effectués pour obtenir la clé à partir des mesures. Ils prennent actuellement environ 24 heures.
Une fois toutes ces étapes franchies, l'attaquant dispose d'une copie de la clé de sécurité et peut donc se connecter à des services qui reposent sur la confiance de l'attaqué envers celle-ci. Vous vous en doutez, cette attaque (très) compliquée n'est pas envisageable pour un utilisateur qui utilise une clé FIDO pour sécuriser l'accès à un service quelconque.
C’est quoi, les passkeys ?
Mais pour un groupe avec de gros moyens qui veut cibler une personne qui a accès à des données très confidentielles qui reposent sur une clé de sécurité, elle est (peut-être) envisageable.
Le problème des YubiKey 5
l'attaque met en avant les clés YubiKey 5 (assez populaires, elles sont disponibles dès 55 €) mais d'autres modèles qui reposent sur la technologie d'Infineon sont potentiellement touchés. La marque a réagi et explique que les clés qui ont un firmware supérieur ou égal à la version 5.7 (proposé dès mai 2024) sont protégées contre l'attaque. Le principal problème, c'est que le firmware ne peut pas être mis à jour sur les clés, pour des raisons de sécurité, et que seules les versions récentes sont donc immunisées, car elles utilisent un firmware développé par Yubico et pas celui d'Infineon. La seule solution pratique pour ceux qui ont peur de l'attaque consiste donc à changer de clé de sécurité… et à aller modifier les réglages des services qui emploient la clé en question pour désactiver l'accès.
Test de la Yubikey 5ci, une clé de sécurité pour Mac et iPhone
Dans la pratique, les risques demeurent tout de même assez faibles et reposent sur de nombreuses étapes compliquées, comme le simple fait que l'attaquant doit disposer au départ de l'identifiant et du mot de passe de l'utilisateur. Il n'y a donc pas une nécessité impérieuse de changer la clé si vous en avez une.
-
La contre-mesure la plus classique consiste à effectuer des calculs avec une méthode qui se base sur une durée constante, ce qui permet d'éviter ce genre de déductions. ↩︎