Bei Systemen, bei denen 2FA / MFA "optional" ist, wie z. B. Google Mail oder Outlook.com, muss der Dienst den Aufwand für die Verwendung der 2-Faktor-Methode und die Sicherheit, die er für seine Site bringt, ausgleichen >. In einer perfekten Welt hätten Benutzer eindeutige, komplexe Passwörter für jede Site und verwenden immer 2FA, wenn verfügbar, aber in der realen Welt haben Sie Recht - Benutzer haben auf einem Dutzend Sites dasselbe Passwort und einen 2-Faktor Ein Mechanismus, der das Konto nicht automatisch sperrt und den Benutzer nach einigen ungültigen Anmeldeversuchen in einem relativ kleinen Fenster benachrichtigt, kann dazu führen, dass der Angreifer geduldig einige wahrscheinliche Vermutungen anstellt, bis er zur 2FA-Eingabeaufforderung gelangt Ich weiß, dass sie eine gültige Kombination aus Benutzername und Passwort haben. Bei all den öffentlich zugänglichen Kompromissen bei der Kennwortdatenbank auf großen Websites (wie z. B. LinkedIn), die Ihre E-Mail-Adresse als Login verwenden, kann ein Angreifer das Kennwort eines Benutzers relativ einfach logisch erraten, wenn der Benutzer sich nicht die Mühe gemacht hat, andere Websites zu aktualisieren , aber nur der, der "geknackt" wurde.
Für sicherheitskritische Apps (wie eine von mehreren, an denen ich arbeite) erfordert die Anmeldeaufforderung gleichzeitig Benutzername, Kennwort und 2-Faktor-Wert und es handelt sich um eine "Alles oder Nichts" -Authentifizierung. und wir sagen Ihnen nicht, WARUM Ihre Anmeldung fehlgeschlagen ist, es sei denn, Ihr Passwort ist abgelaufen (vorausgesetzt, Sie haben das richtige Passwort eingegeben, aber Sie müssen es nur ändern und mit einem anderen 2FA-Wert erneut eingeben, um tatsächlich Zugriff zu erhalten zur Bewerbung). Diese Anwendung hat eine "unverlierbare" Benutzerbasis und die 2FA wird von der Richtlinie benötigt, sodass sie nicht direkt mit den im OP erwähnten "2FA-optionalen" Sites vergleichbar ist.
Grundsätzlich stimme ich jedoch den obigen Kommentaren zu, dass ein "Token-on-Demand" sicherer ist als ein "Offline" -Token (wie RSA oder Google Authenticator), wenn Sie die 2-Schritt-Authentifizierung durchführen, weil Der Benutzer wird sofort wissen, dass jemand aufgrund unerwarteter SMS-Nachrichten, entweder "falsches Passwort" oder einer gültigen 2-Faktor-Zeichenfolge, versucht, auf sein Konto zuzugreifen, falls der Angreifer es richtig macht. Wenn die Site NUR bei erfolgreicher Anmeldung den SMS-2-Faktor-Wert sendet, ist dies für den von Ihnen genannten Punkt nutzlos, wenn der Benutzer informiert wird, BEVOR der Angreifer tatsächlich das richtige Kennwort erhält. Der Benutzer würde die gültige 2-Faktor-Zeichenfolge nur erhalten, wenn der Angreifer das richtige Kennwort hatte. Zu diesem Zeitpunkt ist es wahrscheinlich zu spät, und der Angreifer versucht bereits, dieselben Kombinationen aus Benutzername und Kennwort auf anderen Websites ohne 2FA zu verwenden, und der Benutzer muss sich an einem Computer befinden und verschlüsseln, um jedes Kennwort auf jeder Website zu ändern Sie verwenden es auf, was, wenn sie überall dasselbe Passwort wiederverwenden, so gut wie unmöglich ist, weil sie sich nicht an alle erinnern.
Letztendlich liegt es an der individuellen Implementierung, wie schädlich ein 2FA für andere Sites sein kann, die vom selben Benutzer verwendet werden. Im besten Fall handelt es sich um ein All-in-One-Login, wie ich es beschrieben habe, bei dem der Angreifer auch irgendwie sein 2FA-Gerät oder seine "magische Zeichenfolge" (Initialisierungstoken für etwas wie Google Authenticator) haben müsste, und wenn er das auch hat ist der Benutzer bereits gut kompromittiert.