web-dev-qa-db-fra.com

Comment réinitialiser le mot de passe fonctionne si 2FA est activé?

(Il y a un très lié question , cependant, je crois que le mien n'est pas un duplicata, car il s'agit de réinitialiser un mot de passe sans Accès au compte, pas Modification Il est connecté.)

Disons que quelqu'un a gagné un accès à mon email que j'avais l'habitude d'enregistrer des comptes avec. Supposez aussi que ces comptes ont tous une sorte de 2FA, que ce soit un code de 30 secondes généré par une application, une clé U2F - le type n'a pas d'importance pour ma question.

À ma compréhension, afin que l'attaquant puisse modifier le mot de passe d'un compte, il existe deux manières:

  • Connectez-vous au compte et modifiez le mot de passe dans les paramètres internes, sans utiliser l'email associé. Même si nous laissons notre ordinateur/téléphone sans surveillance avec une session active du compte concerné, ce qui consiste donc à contourner la nécessité du pirate informatique de deviner le mot de passe du compte, le changement est toujours impossible. En effet, comme expliqué dans la question liée ci-dessus, cela nécessiterait au moins 2fa vérification, éventuellement 2FA + le mot de passe de compte d'origine.

  • Dans l'écran Connexion du compte, utilisez l'option 'Réinitialiser le mot de passe' pour envoyer un courrier électronique de réinitialisation au compte de messagerie que nous avons supposé que le piratage a eu accès à. Je suis confus quant à ce qui se passe alors:

    1. le 2FA est-il nécessaire d'envoyer le courrier électronique de réinitialisation en premier lieu? Si non,
    2. l'attaquant est-il capable de réinitialiser le mot de passe, mais de ne pas vous connecter, car le 2FA est toujours en place? Cela signifie essentiellement qu'ils ne peuvent pas accéder au compte, mais nous ne pouvons pas non plus.
    3. l'attaquant est-il capable de réinitialiser le mot de passe et connectez-vous dans le compte, car le 2FA devient en quelque sorte annulé?

Bien sûr, le scénario 1) est le plus souhaitable du point de vue de l'utilisateur légitime, 2) est considérablement pire, 3) est tragique. Mais lequel se passe-t-il réellement lorsque quelqu'un essaie de réinitialiser un mot de passe pour un compte avec 2FA activé?

8
dzejkob

Techniquement, il s'agit d'une question sur la manière dont vous devriez implémenter 2FA (ou comment vous devez vous attendre à ce que cela soit mis en œuvre), car il n'y a rien inhérent En 2FA qui répond à vos questions dans les deux sens. Cela dit, il y a certainement les meilleures pratiques.

2fa (ou l'authentification multi-facteurs en général) devrait s'appliquer chaque fois que l'utilisateur est invité à prouver son identité de quelque manière que ce soit (c'est-à-dire à authentifier). Vous devez donc demander à MFA lorsque l'utilisateur fait quelque chose dans lequel vous demanderiez normalement un mot de passe (comme modifiant leur mot de passe actuel ou son adresse électronique ou modifier les paramètres MFA). Vous devez également inviter la MFA à tout moment à l'utilisateur de faire tout ce qui prend la place d'un mot de passe, tel que cliquer sur un lien dans un email de réinitialisation du mot de passe.

Pour vos trois scénarios, le n ° 1 est improbable simplement parce que la demande d'un courrier électronique de réinitialisation du mot de passe ne nécessite généralement aucune authentification. Ce serait donc un endroit étrange pour mettre une demande de MFA. Cependant, en utilisant l'e-mail de quelque manière que ce soit - c'est-à-dire réinitialiser le mot de passe - devrait avoir besoin de MFA. Donc, # 2 est techniquement incorrect - un attaquant ne peut pas réinitialiser le mot de passe - mais il est vrai qu'ils ne peuvent pas se connecter non plus. La bonne réponse est une sorte de "# 1.5".

Cependant, encore une fois, "qui arrive réellement" dépendra 100% entièrement sur la manière dont ce service particulier a mis en œuvre MFA, et il n'y a aucune garantie qu'ils l'ont fait correctement. J'ai vu des sites qui le font comme # 3.

26
CBHacking