Des clés de sécurité Yubico peuvent être clonées par canal auxiliaire
Yu‑Bi‑Oh…lala
Les chercheurs français de NinjaLab (Montpellier) ont découvert qu’il était possible de cloner des clés de sécurité YubiKey 5 en utilisant un canal auxiliaire. La probabilité d’une attaque de grande ampleur est très faible, notamment car il faut posséder de nombreux éléments, du matériel spécifique et un accès à la machine visée. Elle met cependant en lumière la difficulté à parer à toutes les éventualités.
Le 04 septembre à 16h47
8 min
Sécurité
Sécurité
Avant de plonger dans le problème trouvé par les chercheurs, il faut revenir sur une question simple, mais à la réponse parfois complexe : qu’est-ce qu’une attaque par canal auxiliaire (side channel) ?
On appelle canal auxiliaire tout ce qui touche à l’implémentation logicielle et au fonctionnement du matériel, comme les traces laissées par les manifestations physiques. Par exemple, les signaux électromagnétiques de certains composants pendant un calcul, le bruit généré par une unité de stockage ou encore la consommation de la machine. Le problème ne réside pas dans le code (même s’il est prouvé mathématiquement), mais dans le fonctionnement des éléments mis en œuvre pour produire le résultat.
« Une attaque par canal auxiliaire vise à extraire des informations par l’interprétation de signaux émis involontairement par un système », résume le Portail de l’Intelligence Économique. Ces attaques sont extrêmement courantes. Spectre et Meltdown, deux importantes failles découvertes en 2017 dans les processeurs x86 d’Intel (puis dans d’autres), sont de bons exemples.
L’attaque des clones
Les travaux des chercheurs, exposés dans un long document technique, se concentrent sur la série de clés de sécurité YubiKey 5 du constructeur Yubico. L’entreprise, parallèlement, a publié un avis avertissant, dans les grandes lignes, que toutes les clés possédant un firmware antérieur à la version 5.7.0 étaient vulnérables à une attaque par clonage. Ce firmware ne pouvant être mis à jour, toute clé vulnérable le restera.
Les Security Key Series sont concernées dans les mêmes conditions, de même que les YubiHSM 2 avec un firmware antérieur à la version 2.4.0. Pour connaître le firmware d’une clé, il faut passer par l’application Yubico Authenticator.
La faille réside dans une bibliothèque cryptographique d’Infineon servant à exploiter son microcontrôleur SLE78. Optiga Trust M et Optiga TPM, deux microcontrôleurs ayant succédé à SLE78 sont a priori aussi concernés. Pour les chercheurs, il ne fait aucun doute que toute clé embarquant l’un de ces trois composants est vulnérable.
« Un pirate pourrait exploiter ce problème dans le cadre d'une attaque sophistiquée et ciblée afin de récupérer les clés privées concernées. Le pirate aurait besoin de posséder physiquement la YubiKey, la Security Key ou la YubiHSM, de connaître les comptes qu'il souhaite cibler et de disposer d'un équipement spécialisé pour mener à bien l'attaque nécessaire. En fonction du cas d'utilisation, l'attaquant peut également avoir besoin de connaissances supplémentaires, notamment le nom d'utilisateur, le code PIN, le mot de passe du compte ou la clé d'authentification », précise l’avis. De nombreuses conditions, mais qui peuvent aboutir au clonage de la clé. Nous y reviendrons.
Une attaque par canal auxiliaire
L’attaque utilise un canal auxiliaire. Il s’agit plus précisément d’une attaque temporelle, sur une faiblesse dont la bibliothèque d’Infineon est coupable. Pour assurer une sécurité cryptographique optimale, il est nécessaire en effet de couvrir un maximum d’angles. Parmi ceux-là, il y a le temps constant : idéalement, la bibliothèque devrait s’assurer que l’exécution des opérations cryptographiques sensibles au temps se fait de manière uniforme, y compris avec des clés spécifiques. Mais la bibliothèque incriminée ne le fait pas.
Dans les chapitres 2 et 3 du rapport des chercheurs, on apprend que la bibliothèque d’Infineon pèche tout particulièrement dans une opération mathématique, l’inversion modulaire, obtenue par l’algorithme d’Euclide étendu (AEE). L’inversion modulaire est utilisée sur la clé éphémère ECDSA (Elliptic curve digital signature algorithm), aussi appelée nonce.
Or, le fonctionnement de ces clés (et plus généralement de tous les mécanismes compatibles FIDO pour l’authentification multifacteur) passe par l’émission et la gestion d’un jeton. C’est là qu’intervient la faille : en mesurant les variations électromagnétiques pendant l’authentification du jeton, tout particulièrement l’inversion modulaire, les différences entre les temps d’exécution peuvent en révéler la clé ECDSA éphémère, puisque les opérations ne se font pas à temps constant. De la clé éphémère, les chercheurs ont fini par extraire la clé secrète.
« À notre connaissance, c'est la première fois qu'une implémentation de l'AEE se révèle vulnérable à l'analyse par canal auxiliaire […]. L'exploitation de cette vulnérabilité est démontrée par des expériences réalistes et nous montrons qu'un adversaire n'a besoin d'avoir accès à l'appareil que pendant quelques minutes. La phase hors ligne nous a pris environ 24 heures ; avec plus de travail d'ingénierie dans le développement de l'attaque, cela prendrait moins d'une heure », affirme Thomas Roche, qui a dirigé les recherches chez NinjaLab.
Une attaque très pointue
Faut-il jeter immédiatement toutes ses YubiKey 5 ? Pas vraiment. Les chercheurs ont utilisé un matériel spécifique, d’une valeur de 11 000 dollars. Une somme qui n’a rien d’astronomique, mais qui n’est pas non plus accessible à tous les budgets. Surtout, l’attaque ne peut en aucun cas être automatisée, réalisée à distance ou sans intervention de l’utilisateur. Il ne s’agit donc pas d’une faille critique.
Pour des pirates qui souhaiteraient exploiter cette faille, il faudrait réunir non seulement le matériel, mais également des connaissances pointues. En outre, il faudrait posséder l’identifiant et le mot de passe du compte visé ainsi qu’un accès physique à l’appareil de la victime, sans que cette dernière s’en aperçoive.
Comme si cela n’était pas suffisant, les pirates doivent s’emparer de la clé YubiKey et l’ouvrir pour pouvoir en analyser le fonctionnement. Les variations électromagnétiques ne survenant que pendant le traitement du jeton d’authentification, il faut envoyer de nombreuses requêtes au service visé et observer le fonctionnement de la clé pendant ce temps. Pour que l’attaque reste la plus discrète possible, il faut donc ouvrir la clé sans laisser de trace (pistolet à air chaud et scalpel) et pouvoir la réassembler, si nécessaire dans un boitier neuf.
Trop de conditions ? Procédure impossible ? Pas pour un acteur malveillant motivé et soutenu par un État. Ce type d’attaque pourrait concerner des cibles importantes, pour lesquelles l’investissement serait justifié. Car une fois l’accès obtenu et la clé clonée, les chercheurs indiquent que les pirates pourront se connecter quand ils le souhaitent, sans que la victime soit avertie.
Une remise en cause de FIDO ? Non
« Dans YubiKey et YubiHSM, ECDSA est utilisé pour générer des signatures cryptographiques basées sur des courbes elliptiques. L'ECDSA est largement utilisé dans FIDO, mais cela pourrait également avoir un impact sur les cas d'utilisation de PIV et OpenPGP si des clés ECC sont utilisées », indique Yubico dans son avis.
Est-ce une remise en question de FIDO ? La question mérite d’être posée, car l’attaque montre que la promesse du protocole n’est pas tenue : tout matériel cryptographique stocké dans un matériel compatible avec la norme doit garantir qu’il ne peut être lu ou copié vers un autre support. Les chercheurs ont montré dans le cas présent que c’était pourtant possible.
Cela étant, le principe à la racine de ce type d’authentification n’est pas en cause : le problème réside dans l’implémentation de l’un des maillons de la chaine. Qu’une attaque soit techniquement possible n’a rien de surprenant. La dangerosité de la situation est plutôt à mesurer sur le potentiel d’un scénario d’attaque. Et comme toujours, l’accès physique à tout ou partie du matériel représente le plus gros risque. Au vu des moyens nécessaires pour parvenir à une exploitation réussie (dont la discrétion), une connaissance parfaite des habitudes de la victime est requise.
Enfin, si l’attaque vous évoque quelques souvenirs, c’est qu’elle est très inspirée de celle réalisée en 2021 par la même entreprise contre un ancien modèle de clé Titan de Google. À l’époque, NinjaLab avait indiqué que les clés Yubico étaient hors de danger, car utilisant des composants d’Infineon plus récents. Le constat n’aura guère duré.
Des clés de sécurité Yubico peuvent être clonées par canal auxiliaire
-
L’attaque des clones
-
Une attaque par canal auxiliaire
-
Une attaque très pointue
-
Une remise en cause de FIDO ? Non
Commentaires (6)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 04/09/2024 à 16h56
Le 04/09/2024 à 17h00
Comme pour la sécurité des coffres forts qui se compte en minutes. S'il faut 12h max pour s'apercevoir qu'un coffre est en train de se faire percer et que la police arrive, alors on prendra un coffre qui résiste à 15h de perçage.
Il faut se dire qu'une Yubikey, c'est la même chose. Si un attaquant à besoin de 24h pour casser la clé, ça nous laisse 24h pour s'en apercevoir et révoquer tous les services où elle est utilisé.
Le 04/09/2024 à 17h50
Problématique, mais pas critique pour autant.
Le 05/09/2024 à 09h45
Le 04/09/2024 à 17h22
Modifié le 04/09/2024 à 21h09
"Car une fois l’accès obtenu et la clé clonée, les chercheurs indiquent que les pirates pourront se connecter quand ils le souhaitent, sans que la victime soit avertie."
Se connecter à quoi ? Cette affirmation est fausse, en l'état, car elle dépend totalement du contexte. Certains services vous alertent lors de nouvelles connexions, de connexion à de nouveaux emplacements etc. Comme quoi on peut pirater une Yubikey et ne pas en comprendre tous les usages 😂 #troll