Sci Simple

New Science Research Articles Everyday

# Informatique # Cryptographie et sécurité

FIDO2 : Renforcer la sécurité en ligne sans mots de passe

Découvrez comment FIDO2 améliore l'authentification en ligne et résout les problèmes de sécurité.

Marco Casagrande, Daniele Antonioli

― 7 min lire


Défis de sécurité FIDO2 Défis de sécurité FIDO2 révélés améliorations de sécurité proposées. Découvre les failles dans FIDO2 et les
Table des matières

FIDO2 est un standard moderne utilisé pour l'authentification en ligne. Ça aide les utilisateurs à se connecter sans utiliser de mots de passe traditionnels, ce qui est top parce qu'on sait tous à quel point c'est galère de mémoriser ces combinaisons compliquées de lettres, chiffres et symboles spéciaux. À la place, FIDO2 utilise la cryptographie – un jargon pour dire que ça utilise des maths pour sécuriser les trucs.

FIDO2 comprend deux composants principaux : WebAuthn, qui aide les navigateurs web à communiquer avec les serveurs, et CTAP (Client to Authenticator Protocol), qui permet à des appareils comme des clés USB ou des téléphones portables de faire office d'Authentificateurs. Imagine une clé USB comme ton videur pour le club en ligne – elle empêche les mauvais gars d'entrer tout en te laissant passer.

Comment FIDO2 Fonctionne

Dans le monde de FIDO2, il y a quatre acteurs principaux : l'utilisateur, l'authentificateur, le client (comme un navigateur web), et la partie fiable (comme un site web ou un service).

  1. Utilisateur : La personne qui essaie de se connecter.
  2. Authentificateur : Un appareil qui fournit un accès sécurisé, comme une clé de sécurité.
  3. Client : L'interface (comme un navigateur) avec laquelle l'utilisateur interagit.
  4. Partie Fiable : Le service en ligne qui vérifie les identifiants de l'utilisateur.

Quand tu veux te connecter à un service, tu branches ton authentificateur au client. Le client envoie une demande à la partie fiable, qui vérifie ton identité. Si tout est bon, tu es dedans ! Pas besoin de mot de passe.

Le Problème de la Sécurité

Bien que FIDO2 ait l'air génial, ce n'est pas sans soucis. Au fil du temps, des experts en sécurité ont trouvé des vulnérabilités qui pourraient permettre aux attaquants de contourner le système. Ces vulnérabilités peuvent être utilisées dans divers types d'attaques, et voici deux types identifiés :

1. Attaques par Usurpation de Client (CI)

Imagine quelqu'un qui s'infiltre à un concert en prétendant être le vérificateur de billets officiel. C'est un peu ce qui se passe avec les attaques par usurpation de client.

Dans ces attaques, des attaquants peuvent tromper un authentificateur en lui faisant croire qu'ils sont le client légitime. Ils peuvent réinitialiser l'authentificateur et même supprimer des identifiants vitaux sans que l'utilisateur ne s'en rende compte. Ça pourrait sembler sortir d'un film d'espionnage, mais ça se passe dans la vraie vie.

2. Attaques de Confusion d'API (AC)

Parlons maintenant des attaques de confusion d'API. C'est comme si un serveur se trompait de commande et, au lieu de te ramener un cheeseburger, il t'apportait une salade que tu n'as même pas commandée. Dans le monde de la tech, ça signifie que des attaquants peuvent tromper des utilisateurs en leur faisant penser qu'ils appellent une API sécurisée, alors qu'en fait, ils accèdent à une API nuisible.

Ces attaquants peuvent aussi utiliser le même principe pour fuiter des informations utilisateur ou même supprimer des identifiants pendant que l'utilisateur pense simplement s'occuper de ses affaires habituelles.

Comment Fonctionnent les Attaques et leurs Conséquences

Les deux types d'attaques mentionnées ci-dessus peuvent être exécutées de différentes manières. Plus particulièrement, elles peuvent être réalisées à distance ou de près. Voici un aperçu rapide de leur fonctionnement :

Attaques de Proximité

Dans les attaques de proximité, un attaquant doit être près de l'utilisateur. Pense à un pickpocket qui essaie de te voler ton portefeuille dans une pièce bondée. En utilisant des outils comme des lecteurs NFC, les attaquants peuvent manipuler la connexion entre l'appareil de l'utilisateur et l'authentificateur.

Ils peuvent émettre des commandes dont l'utilisateur n'est pas au courant, entraînant des suppressions d'identifiants ou un accès non autorisé.

Attaques à Distance

Les attaques à distance, c'est comme si tu pouvais voler quelqu'un de l'autre côté de la rue. Elles ne nécessitent pas que l'attaquant soit physiquement proche de l'utilisateur. Au lieu de ça, ils peuvent contrôler une application malveillante ou un appareil qui se connecte à l'authentificateur via Internet ou Bluetooth.

Dans les deux cas, le problème principal c'est que les attaques peuvent se faire sans interaction ou connaissance de l'utilisateur, ce qui les rend particulièrement sournoises et dangereuses.

Les Vulnérabilités de Sécurité Derrière les Attaques

Derrière ces attaques se cachent plusieurs vulnérabilités dans le design de FIDO2. Voici quelques faiblesses clés identifiées :

  1. Absence d'Authentification du client : Le client n'a pas besoin de prouver son identité à l'authentificateur. Ça signifie que n'importe qui peut se connecter.

  2. Pas de Retour Visuel : Les utilisateurs ne reçoivent aucune confirmation visuelle lorsqu'un appel à l'API est effectué. Ça rend difficile de savoir si quelque chose de louche se passe.

  3. Contourner la Présence de l'Utilisateur : Quand des appareils communiquent via NFC, ça peut parfois contourner les vérifications de sécurité destinées à s'assurer que l'utilisateur est présent. C'est comme laisser entrer quelqu'un dans un club parce qu'il a fait un coucou au videur de loin.

  4. Politiques de Credential Faibles : Certaines parties fiables permettent des protections d'identifiants plus faibles, ce qui facilite l'exploitation des systèmes par les attaquants.

Les Attaques Ont des Conséquences Réelles

Les implications de ces vulnérabilités sont sérieuses. Les attaquants peuvent supprimer des identifiants précieux, suivre des utilisateurs, ou rendre des authentificateurs non réactifs. Ça peut empêcher les utilisateurs d'accéder à leurs comptes ou services, entraînant frustration et perte d'accès.

Par exemple, si un attaquant parvient à réinitialiser un authentificateur, l'utilisateur pourrait perdre l'accès à tous ses identifiants FIDO2 et se retrouver bloqué hors de plusieurs comptes. De plus, le suivi des utilisateurs peut entraîner des violations de la vie privée où des informations sensibles sur leur comportement en ligne sont exposées.

Que Peut-on Faire pour Réparer Ça

Heureusement, des solutions peuvent être mises en place pour adresser ces vulnérabilités. Voici quelques propositions :

  1. Authentification du Client : Exiger que les Clients prouvent leur identité avant de communiquer avec les authentificateurs.

  2. Retour Visuel : Les authentificateurs devraient indiquer quand un appel à l'API est fait, pour alerter les utilisateurs sur ce qui se passe.

  3. Contrôles d'Autorisation Plus Stricts : Des vérifications plus robustes devraient être appliquées pour des opérations critiques comme la suppression d'identifiants ou les réinitialisations d'usine.

  4. Politiques de Credentials Dynamiques : Mettre en place des politiques qui changent fréquemment les identifiants et credentials des utilisateurs pour limiter le suivi via des identifiants découvrables.

  5. Limitation de Taux : Limiter le nombre de fois que certains appels API peuvent être effectués dans un court laps de temps pour éviter les attaques par déni de service.

Implications Réelles de la Mise en Place des Corrections

Mettre en œuvre ces corrections peut poser quelques défis. Les utilisateurs pourraient devoir s'adapter à des étapes supplémentaires dans le processus d'authentification, ce qui pourrait parfois sembler lourd.

Cependant, le compromis en vaut la peine pour une meilleure sécurité. En renforçant le système, les utilisateurs peuvent profiter d'expériences en ligne plus sûres sans se soucier des accès non autorisés ou du vol d'identifiants.

Conclusion : L'Avenir de la Sécurité FIDO2

L'évolution de FIDO2 et ses améliorations continues montrent l'engagement de la communauté tech pour des expériences en ligne sécurisées. Bien que des vulnérabilités existent, l'approche proactive pour identifier et corriger ces problèmes est cruciale.

En mettant l'accent sur des mesures de sécurité, on peut travailler vers un avenir où l'authentification en ligne est non seulement sans mot de passe mais aussi sécurisée et fiable. Après tout, personne ne veut devenir la prochaine victime involontaire du pickpocket numérique !

À mesure que la technologie continue d'avancer, rester devant les risques potentiels garantira que les utilisateurs peuvent profiter des avantages des services en ligne sans tomber dans des menaces de sécurité.

Source originale

Titre: CTRAPS: CTAP Client Impersonation and API Confusion on FIDO2

Résumé: FIDO2 is the standard technology for single-factor and second-factor authentication. It is specified in an open standard, including the WebAuthn and CTAP application layer protocols. We focus on CTAP, which allows FIDO2 clients and hardware authenticators to communicate. No prior work has explored the CTAP Authenticator API, a critical protocol-level attack surface. We address this gap by presenting the first security and privacy evaluation of the CTAP Authenticator API. We uncover two classes of protocol-level attacks on CTAP that we call CTRAPS. The client impersonation (CI) attacks exploit the lack of client authentication to tamper with FIDO2 authenticators. They include zero-click attacks capable of deleting FIDO2 credentials, including passkeys, without user interaction. The API confusion (AC) attacks abuse the lack of protocol API enforcements and confound FIDO2 authenticators, clients, and unaware users into calling unwanted CTAP APIs while thinking they are calling legitimate ones. The presented eleven attacks are conducted either in proximity or remotely and are effective regardless of the underlying CTAP transport. We detail the eight vulnerabilities in the CTAP specification, enabling the CTRAPS attacks. Six are novel and include unauthenticated CTAP clients and trackable FIDO2 credentials. We release CTRAPS, an original toolkit, to analyze CTAP and conduct the CTRAPS attacks. We confirm the attacks practicality on a large scale by exploiting six popular authenticators, including a FIPS-certified one from Yubico, Feitian, SoloKeys, and Google, and ten widely used relying parties, such as Microsoft, Apple, GitHub, and Facebook. We present eight practical and backward-compliant countermeasures to fix the attacks and their root causes. We responsibly disclosed our findings to the FIDO alliance and the affected vendors.

Auteurs: Marco Casagrande, Daniele Antonioli

Dernière mise à jour: 2024-12-03 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2412.02349

Source PDF: https://arxiv.org/pdf/2412.02349

Licence: https://creativecommons.org/licenses/by/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Articles similaires