Contourner la protection FIDO2 via une simple attaque MITM
Vous pensez que les méthodes d’authentification modernes comme FIDO2 vous protègent efficacement contre le vol de cookies et les attaques de l’homme du milieu (MITM) ? Détrompez-vous ! Une équipe de chercheurs vient de démontrer qu’il est possible de contourner ces protections en s’emparant des précieux sésames que sont les jetons de session.
Vous vous connectez tranquillement à votre appli préférée, en scannant votre empreinte digitale ou en insérant votre clé de sécurité dernier cri, vous vous sentez en sécurité, comme un petit bébé dans les bras de sa maman ou de son papa, protégé par la magie de FIDO2 (et de son absence de mots de passe).
Sauf que dans l’ombre, un vilain pirate que nous appellerons Vladimitch, a réussi à s’immiscer entre vous et le serveur, tel un cyber-ninja. Et là, c’est le drame : il intercepte le fameux jeton de session qui vous permet de rester connecté sans avoir à retaper vos identifiants à chaque clic. Ni vu ni connu, il peut alors se faire passer pour vous et accéder à votre compte !
Mais comment est-ce possible avec une authentification si robuste ? Eh bien figurez-vous que le problème ne vient pas de FIDO2 en lui-même, mais plutôt de la façon dont les applications gèrent les sessions après la phase d’authentification. Une fois que vous êtes connecté, c’est open bar, et votre jeton se balade joyeusement sur le réseau, sans trop de protection.
Les chercheurs ont mis en lumière cette faille en testant plusieurs implémentations de FIDO2, comme le bac à sable Yubico Playground, le système d’authentification unique (SSO) Entra ID de Microsoft ou encore l’adaptateur PingFederate. Et dans chaque cas, ils ont pu démontrer qu’un attaquant pouvait intercepter et réutiliser un jeton de session valide sans posséder la clé d’authentification FIDO2 associée.
Mais rassurez-vous, tout n’est pas perdu. Il existe une parade pour éviter de se faire dérober son précieux jeton : la “liaison de jeton” (ou token binding pour les anglophones). Concrètement, ça consiste à créer un lien indéfectible entre votre jeton de session et la connexion sécurisée (TLS) que vous utilisez. Comme ça, il devient impossible pour l’attaquant d’utiliser votre jeton sur une autre connexion. Malin !
Le hic, c’est que cette protection est encore peu répandue. Et à part Microsoft qui l’a intégrée sur Edge, les autres navigateurs et applications web traînent des pieds. Google a même fini par jeter l’éponge sur Chrome, faute d’adoption. Pourtant, cela pourrait éviter bien des déboires aux utilisateurs et des migraines aux administrateurs système mais que voulez-vous, entre la sécurité et la facilité, le cœur des développeurs balance !
Bref, restez vigilant car même une sécurisation FIDO2 n’est pas infaillible face à une attaque MITM bien pensée. Microsoft a réagi de son côté en introduisant une fonctionnalité de protection des jetons basée sur les modules de plateforme sécurisée (TPM) dans Windows, une variante de la “liaison de jeton”. Mais pour une adoption massive, il faudra que tous les acteurs jouent le jeu.
En attendant, les experts recommandent aux développeurs d’applications d’exiger la “liaison de jeton” sur les authentifications FIDO2 lorsque c’est possible, de limiter l’usage des jetons OIDC et SAML à une seule fois par authentification réussie, et surtout de bien comprendre les menaces pour concevoir des mécanismes d’authentification adaptés.
Et vous, en tant qu’utilisateur, c’est toujours la même chanson, à savoir, évitez de vous connecter à des hotspots Wi-Fi publics douteux, ne cliquez pas sur les liens louches, et méfiez-vous des plugins de navigateur exotiques.
Bref, un peu de jugeotte, comme toujours… Sur ce, bon développement à tous et may the force (4th) be with you ! (On l’a passé, c’était le 4 mai…)
Que faire après le bac quand on est passionné de cybersécurité ?
Entièrement dédiée à la cybersécurité, l'école Guardia est accessible soit directement après le bac (post-bac), soit après un bac+2 ou bac+3. En rejoignant l'école Guardia, vous deviendrez développeur informatique option cybersécurité (Bac+3) ou expert en cybersécurité (Bac+5).