Comment casser votre double authentification et la rendre tout à fait inutile

Un plugin navigateur à ne jamais installer

Dans mon entreprise, on a une tradition pour rappeler aux employés l’importance de ne pas laisser une session ouverte sans surveillance : si on trouve un ordinateur déverrouillé et qu’on peut le faire sans que personne ne réagisse, on envoie un message pour que le fautif (ou la fautive) offre des croissants à l’équipe.

C’est assez gentil pour ne pas vexer les gens ni leur pourrir la journée, et assez punitif pour être efficace. Et surtout c’est pédagogique : si quelqu’un peut se servir de l’ordinateur assez longtemps pour envoyer un message du type « Je paie les croissants mardi », cet attaquant a aussi assez de temps pour transférer des documents privés ou se ménager une porte d’entrée discrète pour revenir plus tard en toute quiétude.

Mais ce que j’ai vu aujourd’hui était bien pire qu’une simple messagerie laissées sans surveillance.

C’était une page de connexion à un outil d’administration de machines dans le cloud. Déconnectée, certes, mais avec le login et le mot de passe enregistrés dans le navigateur, et la double authentification activée, ainsi qu’une icône bien particulière à côté de la barre d’URL du navigateur, celle de Authenticator.

J’appelle donc mon collègue, et :

  1. entrée pour valider le formulaire login/mot de passe déjà enregistrés.
  2. Un clic sur Authenticator pour l’ouvrir.
  3. Un clic sur le code à usage unique pour le copier.
  4. ctrl-v dans le champ de double authentification pour le copier.
  5. entrée pour valider la double authentification.

Et voilà ! En quelques secondes, j’avais accès à toute son administration cloud (donc avec possibilité de pas mal de dégâts) malgré un compte protégé par un mot de passe fort et une double authentification !

Pour une authentification réellement robuste
  1. N’enregistrez pas votre mot de passe dans votre navigateur. Utilisez des outils dédiés (KeePassXC par exemple)
  2. Le support de double authentification ne doit jamais être le même que celui de l’authentification principale.

Les coffre-forts de mots de passe ont souvent des durées de verrouillages courtes, et surtout se verrouillent tous seuls en même temps que la session. Comme ça, même si un petit malin a lu votre mot de passe de session derrière votre épaule, il devra aussi avoir votre mot de passe de coffre-fort et n’aura pas directement accès à tous vos secrets.

Et surtout, le principe même de la double authentification, c’est d’avoir une seconde source d’authentification séparée de la première. Alors, oui, c’est très pratique, cette extension dans le navigateur qui permet en un clic et un raccourci de remplir l’information pour se connecter au site voulu. Mais ce faisant, ça annihile tout un pan de la sécurité du système !

Ce genre d’extension devrait être réservé aux authentifications qui ne se font pas sur l’ordinateur où elle est installée – sur vos applications de smartphone, par exemple.



Icône : création personnelle, domaine public (c’est une emoji clé sur fond bleu…)

14 commentaires

J’ai toujours vu d’un œil gêné l’intégration de TOTP à KeePassXC pour cette raison d’ailleurs. Est-ce que c’est encore double facteur (même avec les protections et expirations rapides de KeePassXC) ? Bof…

+3 -0

Pour moi c’est le même problème : la seule sécurité restante, c’est ta clé maitresse KeePassXC, et donc c’est de l’authentification à facteur unique (au moins d’un point de vue d’un attaquant qui aurait accès à ta machine ; pour un inconnu total ça reste bien de l’authentification à double facteur).

si on trouve un ordinateur déverrouillé et qu’on peut le faire sans que personne ne réagisse, on envoie un message pour que le fautif (ou la fautive) offre des croissants à l’équipe.

C’est assez gentil pour ne pas vexer les gens ni leur pourrir la journée, et assez punitif pour être efficace.

SpaceFox

Mais est-ce que c’est légal ?

Je vois faire ça à mon boulot aussi et ça me dérange à chaque fois : ok ce n’est pas forcément mal intentionné (quoiqu’on pourrait y voir une forme de racket) mais c’est quand même s’introduire sur la machine de quelqu’un sans son accord et envoyer un message en se faisant passer pour elle.
Ne faudrait-il pas se contenter de verrouiller la machine en question puis envoyer un message à la personne ?

Ça dépend comment c’est fait. Ici tout le monde est au courant de ce qui peut arriver (d’ailleurs pour un nouveau venu on se contente en général de lui dire), et les croissants ne sont pas exigés (en particulier pour les stagiaires ou apprentis).

Quant à l’aspect purement « légal » : si tu peux faire ça sur le poste de quelqu’un, c’est que cette personne est déjà en infraction par rapport au règlement informatique, donc on pourrait sans doute pinailler, mais ça risquerait de partir très loin.

PS : l’idée générale derrière cette pratique, c’est qu’il vaut mieux sensibiliser à la sécurité informatique (surtout sur des points aussi basiques que ceux-ci) plutôt que de faire du contrôle de dégâts une fois qu’il est trop tard. Et on sait très bien, d’expérience, que se contenter de communications type « Il ne faut pas faire ça » c’est totalement inefficace. Le coup des croissants marche plutôt pas mal, parce que c’est marquant, ça envoie un rappel à l’équipe entière, ça ne pourrit pas le poste de travail ou la journée de la personne, et accessoirement ça fait que les équipes sont aussi attentives à l’état des ordinateurs des autres, pas juste au sien. En terme de rapport ennui/efficacité, on est plutôt pas mal.

Je ne suis pas spécialiste de sécurité informatique, mais je me pose très souvent la question du ratio coût/bénéfice de l’identification à deux facteurs (sous l’hypothèse qu’elle soit bien utilisée). Côté ergonomie, ce n’est pas terrible : ça prend du temps, ça déconcentre, ça détourne de la tâche que l’on est en train de réaliser. Et cela veut dire qu’il faut un autre appareil (généralement un smartphone) pour la deuxième identification. Bref, pénible. Sans compter la fracture numérique qui élimine d’office beaucoup de monde de ce genre de dispositifs.

Pour ce que j’en sais, l’utilisation d’un mot de passe fort avec un bon coffre-fort type keepass suffit largement dans la très grande majorité des cas, non ? L’identification à deux facteurs devrait être réservée à une infime minorité d’utilisateur ou utilisatrices ayant des rôles sensibles.

L’enjeu principal est plutôt de sensibiliser au bon usage des mots de passe, ça sera déjà un pas en avant considérable.

Il y a deux mécanismes utiles dans l’utilisations d’authentification à deux facteurs un peu partout :

  1. Tu auras eu beau sensibiliser autant que tu veux à l’utilisation de « bons mots de passe », rien ne te garantit que l’utilisateur ne va pas utiliser le mot de passe ABcd1234! qu’il a partout ailleurs parce que ça l’arrange.
  2. Un mot de passe, c’est en fait souvent très facile à changer. Pire, la plupart des gens ont un gigantesque point de défaillance unique dans le fait qu’à peu près tous leurs comptes sont liés à une seule adresse mail, et que l’accès à cette adresse mail (qui n’est pas forcément bien sécurisé – voir trivial) donne immédiatement accès aux procédures de changements de mot de passe de beaucoup de comptes. Et grosso modo à la liste de ces comptes si le ménage n’a pas été fait. Une double authentification permet de beaucoup mitiger ce risque.

Vu la facilité à forger de fausses identités quand tu as des documents numérisés en ta possession (et la merde que c’est quand tu es victime d’une usurpation d’identité, j’aurais plutôt tendance à considérer que tout compte permettant d’accéder à des données personnelles type carte d’identité etc. est un « rôle sensible » sur lequel il devrait y avoir de la double authentification. Ça implique le compte mail principal de tout le monde, ou presque.

Le problème qui se pose systématiquement dans la sécurité (informatique ou autre), c’est que l’utilisateur va systématiquement chercher un moyen de la déjouer dès que ça demande un minimum d’effort ou que ça devient encombrant, sensibilisation ou pas. On peut penser aux portes anti-incendie qu’on bloque avec des balais…

Un mot de passe, aussi compliqué soit-il, n’apporte jamais un niveau de sécurité satisfaisant. De plus, plus les règles de sécurité imposées par le site ou le service sont restrictives, plus les utilisateurs vont tenter de les circonventer. (Exemple : réutiliser le même mot de passe, l’écrire sur un post-it.) Une politique de sécurité trop restrictive en terme de mot de passe est donc à la fois un frein à l’ergonomie et l’usabilité, et à la sécurité.

On peut aussi parler des services qui imposent de répondre à des questions secrètes, mécanisme de sécurité qui ne sert qu’à faire baisser la sécurité de l’authentification…

Les technologies d’authentification à 2 facteurs présentent l’avantage d’augmenter considérablement la sécurité de l’authentification, mais elles présentent tous de gros défauts. Sans parler d’extension présentée dans cet article, même le téléphone, pourtant le moyen d’authentification à deux-facteurs le plus répandu, n’est plus assez sécurisé. Les autres systèmes (SMS, OTP, etc.) présentent tous des défauts en terme de sécurité, confidentialité ou simplement d’ergonomie.

Dans mon mémoire de licence j’avais étudié la technologie U2F. Ça ressemble à une clé USB en terme d’aspect physique. En générant un challenge à chaque demande d’authentification, elle préserve la confidentialité de l’utilisateur (le même utilisateur ne peut pas être identifié juste à partir de sa clé U2F, que ce soit entre des sites différents ou sur le même site), alors qu’une authentification par SMS ne la protège évidemment pas. Elle ne souffre pas des problèmes de réseau téléphonique, elle est plus ergonomique et facile à utiliser, protège contre le phishing, les MitM, et l’authentification est très rapide. Elle est aussi standardisée.

Les utilisateurs préférent largement un mot de passe un peu plus simple associé à une clé U2F plutôt qu’utiliser simplement un mot de passe compliqué sans aucun mécanisme d’authentification à deux facteurs. C’est donc beaucoup plus sécurisé, plus ergonomique pour l’utilisateur et donc ce dernier a moins de chance de chercer à le circonventer. (Surtout que c’est assez compliqué de circonventer U2F.)

Bref, je pense que pour améliorer le niveau de sécurité le meilleur moyen est de ne pas imposer des règles de mot de passe ou de sécurité trop compliquées, et de promouvoir plus la technologie U2F. D’ailleurs, WebAuthn, son successeur, ne nécessite pas de mot de passe…

+5 -0

Il y a quelque chose que je n’ai pas saisi dans le contexte du billet. Comment as-tu eu accès au poste du collègue, pour commencer ? Était-ce son poste personnel ou un poste partagé entre plusieurs collègues ? La distinction est importante.

Dans le premier cas, le problème n’était-il pas lié au fait qu’il devait verrouiller sa session, comme tu l’as souligné avec le coup du « croissantage » (je ne sais plus comment on appelle ça) ? Ou dans le second cas, ne faut-il pas plutôt souligner le problème de ne pas enregistrer des mots de passe personnels dans un navigateur utilisé par plusieurs personnes ?

Je souligne ça, parce que pour être un utilisateur d’Authenticator, je ne vois pas où est le problème d’avoir mon application sur mon téléphone et de devoir rentrer un OTP sur une application tierce utilisée sur ce même téléphone. En effet, quand je lis ça :

Le support de double authentification ne doit jamais être le même que celui de l’authentification principale.

Je crois comprendre qu’il me faudrait non pas un, mais deux téléphones ? Ou que je doive utiliser Authenticator sur mon PC si l’application qui a besoin du code d’authentification est sur mon téléphone ?

C’est extrêmement contre-productif et, je crois, largement surfait pour la plupart des personnes.

Ensuite, il faut voir la sécurité informatique (puisqu’il est question de ça) dans son ensemble, et là on élargit le sujet et le champ des possibilités. Si entwanne se met à poser des questions sur la légalité de croissanter son collègue, moi je parle du fait que certaines personnes se fichent complètement de savoir si c’est légal ou pas, et seraient prêtes à te neutraliser pour te forcer à valider une authentification « Face ID » ou à te forcer à poser ton doigt sur le détecteur d’empreinte pour déverrouiller ton téléphone.

Et dans ce cas-là, comment on fait ? On crie à notre agresseur que c’est illégal et qu’il doit absolument arrêter ?

C’est bien beau de prendre des précautions, mais comme le souligne Loulimi, « l’utilisateur va systématiquement chercher un moyen de la déjouer dès que ça demande un minimum d’effort ou que ça devient encombrant ». Surtout si autant de sécurité n’est pas nécessaire par rapport à ce qu’on risque de perdre.

Si SpaceFox a des authentifications fortes sur sa machine mais qu’il oublie de l’éteindre en partant du boulot ; qu’un collègue s’amuse à geler la mémoire vive de son ordinateur pour l’extraire et la copier sur un support tiers et la remettre ensuite ni vu ni connu, alors les authentifications fortes auront été inutiles. Mais est-ce bien raisonnable de parler de cette possibilité où l’attaque provient en fait de l’intérieur ?

Tout est affaire d’équilibre et, ici, de mon point de vue, la recommandation est beaucoup trop générique pour être véritablement utile et efficace.

+1 -0

C’est bien l’ordinateur personnel du collègue (enfin, celui de l’entreprise, mais destiné à l’usage du collègue, pas à un usage partagé).

Oui, le problème d’origine est que le collègue n’a pas verrouillé sa session. Mais ça n’est pas de ça dont je parle ici. Mon propos, c’est qu’à vouloir trop simplifier un processus vu comme lourd et pénible (la double authentification via un appareil tiers, ici), on peut très facilement créer des failles monstrueuses sans même s’en rendre compte. Dans ce cas particulier : un oubli de verrouillage de session (ou un piratage du mot de passe) donne instantanément accès à plein d’instances de serveur cloud, avec une possibilité de dégâts énormes. Pour gagner quelques secondes a chaque double authentification (soit… 3x par jour max ?), c’est quand même pas terrible.

Une attaque « stupide » sur un ordinateur qui est resté allumé non verrouillé en entreprise, c’est pas quelque chose d’absurde ni même de rare. Tu as souvent beaucoup de gens qui circulent en entreprise, dont tu ne sais pas vraiment qui ils sont, s’ils ont vraiment le droit d’être là et de qu’ils ont le droit de faire avec les machines. Je ne parle pas d’attaques évoluées à base de « je gèle la RAM d’un ordi », mais de d’attaques simples qui arrivent souvent. Le genre qui mène à la fuite de données de ton entreprise, au vol de matériel, à l’installation de ransomware ou ce genre de joyeusetés.

Pour tout le reste, si tu cherches des conseils que tu peux appliquer de manière générique sans réfléchir, il faut commencer par ne surtout pas lire mes billets. Parce que que je ne donne jamais ce genre de chose. Évidemment qu’il faut réfléchir à chaque cas d’usage réel et adapter en fonction !

Mon propos, c’est qu’à vouloir trop simplifier un processus vu comme lourd et pénible (la double authentification via un appareil tiers, ici), on peut très facilement créer des failles monstrueuses sans même s’en rendre compte.

Si j’étais de mauvaise foi, je dirais donc que pour résoudre le problème que tu soulèves… Il faut supprimer la double authentification ! Sauf que tu l’as précisé : il faut l’avoir sur deux supports différents.

Mais n’y a-t-il pas d’autres recommandations plus intéressantes à fournir ? Il existe des cartes à puce sans lesquelles il n’est pas possible d’ouvrir une session verrouillée sous Windows. Là, on parle d’authentification double facteur à l’ouverture d’une session (puisqu’il est questions de ça, visiblement).

Si je laisse mon téléphone non verrouillé à la portée d’un inconnu, le problème vient-il du fait que mon téléphone n’était pas verrouillé, ou que mon application cliente et mon application Authenticator soient sur le même appareil ?

Pour tout le reste, si tu cherches des conseils que tu peux appliquer de manière générique sans réfléchir, il faut commencer par ne surtout pas lire mes billets. Parce que que je ne donne jamais ce genre de chose. Évidemment qu’il faut réfléchir à chaque cas d’usage réel et adapter en fonction !

Ce n’est pas ce que j’avais cru comprendre quand j’ai lu « Le support de double authentification ne doit jamais être le même que celui de l’authentification principale. » qui d’une part est assertif, d’autre part générique.

Pour le reste je serai ravi de discuter d’un retour d’expérience personnel avec toi dans une conversation plus privée. Je peux t’assurer que non seulement ça te fera dresser le poil, mais qu’en plus tu comprendras pourquoi je suis resté assez sceptique quant à ton billet.

Là, on parle d’authentification double facteur à l’ouverture d’une session (puisqu’il est questions de ça, visiblement).

On parle d’une authentification à double facteur à la connexion au manager du cloud, pas à l’ouverture de la session.

Je crois surtout que tu interpoles beaucoup trop loin le but de ce billet. C’est juste un billet écrit sur un coin de table pour sensibiliser au problème que j’ai re-précisé dans mon message précédent. C’est tout. Ça n’est pas, et ça n’a jamais été le but de fournir des solutions et recommandations exhaustives selon le cas d’usage précis.

Je pense que tout le monde sera d’accord, au moins à l’intérieur de la communauté ZdS, que la sécurité informatique ne soit pas être prise à la légère. Mais au regard de ton billet, force est de constater que la double identification n’est pas encore le bon outil, puisque les utilisateurs et utilisatrices vont globalement essayer de le contourner.

Sur le fond, au-delà des questions d’ergonomie, je n’ai rien contre les identifications à deux facteurs, mais on vient de tellement loin que finalement le principal levier n’est pas celui-là. S’il ne semble pas évident pour tout le monde qu’un poste de travail se verrouille pendant qu’on n’est pas dessus, on peut mettre toutes les technologies que l’on veut pour améliorer la sécurité des systèmes, on laisse quand même une faille béante. La solution ici n’est pas technique mais plutôt pédagogique (ce qui ne résout pas le problème j’en conviens). D’ailleurs, c’est la même chose pour les extensions ou la mémorisation des mots de passe par le navigateur. La priorité est, à mon sens, d’agir sur les comportements, avant de mettre en œuvre des solutions techniques.

Si j’étais de mauvaise foi, je dirais donc que pour résoudre le problème que tu soulèves… Il faut supprimer la double authentification !

Ge0

Le pire, c’est que ça s’est déjà entendu : il faut supprimer les contraintes de mots de passe parce-que les gens finissent par les noter sur un post-it et donc ça sert à rien…

S’il ne semble pas évident pour tout le monde qu’un poste de travail se verrouille pendant qu’on n’est pas dessus, on peut mettre toutes les technologies que l’on veut pour améliorer la sécurité des systèmes, on laisse quand même une faille béante. La solution ici n’est pas technique mais plutôt pédagogique (ce qui ne résout pas le problème j’en conviens). D’ailleurs, c’est la même chose pour les extensions ou la mémorisation des mots de passe par le navigateur. La priorité est, à mon sens, d’agir sur les comportements, avant de mettre en œuvre des solutions techniques.

c_pages

Il faut en effet plus de pédagogie que du technosolutionnisme poussé vainement.

+0 -0

Le pire, c’est que ça s’est déjà entendu : il faut supprimer les contraintes de mots de passe parce-que les gens finissent par les noter sur un post-it et donc ça sert à rien…

Dans ce cas c’est la politique qui est mauvaise, surtout si elle encourage malgré elle les gens à noter leurs mots de passe sur un post it.

Ce qui rejoint ton affirmation sur l’importance de la pédagogie au-delà du technosolutionnisme.

On avait des formations intéressantes à l’ANSSI mais celles-là étaient seulement réservées aux agents. C’est selon moi une erreur car certaines étaient vraiment accessibles au grand public de mon point de vue (j’entends par là qu’en interne elle était également dispensée aux services RH, donc pas des gens spécialement techniques).

Enfin, on s’égare.

Et après relecture du contenu du billet, je reste sur mon interprétation et en désaccord avec son auteur selon certains cas précis qui ne s’appliquent pas de façon générique.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte