Veröffentlicht am: 6. Juli 2023
Autor: Thomas Federer
Unser erster Blogbeitrag zu diesem Thema behandelte die 2-Faktor-Authentifizierung für den Benutzer. Weshalb diese wichtig ist und weshalb 2FA unbedingt überall aktiviert werden sollte (Blog: 2FA ist wichtig).
In diesem Blog-Beitrag beleuchten wir einige Punkte, auf welche wir bei einem Security-Review bei 2FA besonders achten. Denn 2FA stellt einen wichtigen Layer der Sicherheit dar. Unser Ziel dabei ist immer, den 2FA Schritt zu umgehen.
Wir prüfen, ob nach der Eingabe des korrekten Benutzernamens und Passwortes schon eine gültige Session vorhanden ist und der 2FA Schritt übersprungen werden kann. Das konkrete Vorgehen hängt dabei von der Webapplikation und der Implementation von 2FA ab.
Es wird von uns getestet, ob das 2FA Token benutzergebunden ist oder nicht. Es ist wichtig, dass nicht irgendein 2FA Token akzeptiert wird, sondern nur 2FA Token des entsprechenden Benutzers.
Viele Applikationen bieten die Möglichkeit, dass man die Funktion "Remember-Me" für zum Beispiel 30 Tage aktivieren kann. Dies hilft bei einem privaten Gerät, dass man den 2FA Schritt nicht bei jedem Login durchführen muss.
Dabei wird von uns kontrolliert, wie die "Remember-Me" umgesetzt ist. Spannend für uns ist hier, wie diese Funktion die Daten speichert, meist ist dies via Cookie gelöst.
Dabei gilt es zwei wichtige Aspekte zu beachten:
Eine Applikation bietet oft verschiedene Schnittstellen an, um mit ihr zu interagieren: Webbrowser, Mobile-Applikation und verschiedene weitere APIs (Bsp. REST, SOAP, etc.). Bei jeder Schnittstelle schauen wir, ob bei allen Möglichkeiten der der 2FA Schritt implementiert ist. Ansonsten kann ein Angreifer zum Beispiel 2FA in einer alten und "vergessenen" SOAP-Schnittstelle umgehen.
Bei der Verifizierung des 2FA-Schrittes ist ein sinnvolles Rate-Limit zwingend notwendig. Dabei überprüfen wir, ob ein Rate-Limit vorhanden ist und dass dieses auch forciert wird. Ein 2FA Token ist in der Regel nummerisch, 6 Zeichen lang und 30 Sekunden gültig. Ohne Rate-Limit ist es technisch ohne weiteres möglich, in dieser Zeit alle möglichen Tokens zu probieren. Wichtig ist, dass das Rate-Limit nicht anhand der IP umgesetzt ist, sondern auf den Nutzer, welcher sich einloggen möchte, geht.
Im Zusammenhang mit der Überprüfung von 2FA nehmen wir immer auch die Passwort-Reset-Funktion unter die Lupe. 2FA sollte bei einem Passwort-Reset nicht automatisch deaktiviert werden. Weder beim Anfordern des Links noch danach beim erfolgreichen Neusetzten des Passwortes. Der 2FA Schritt sollte immer aktiv bleiben. Sonst macht man es einem Angreifer unter Umständen einfach.
Wurde es bei Ihnen richtig implementiert? Wir überprüfen den Login-Prozess.
Folgende Blog-Beiträge könnten Sie interessieren:
Ein 8-stelliges Passwort mit Nummern, Gross- und Kleinbuchstaben und Sonderzeichen kann in unter einer Stunde geknackt werden.
Quelle: Hive Systems
X
Wurde es bei Ihnen richtig implementiert? Wir überprüfen den Login-Prozess.
Kontaktieren Sie uns unverbindlich:
Kathrin Müller freut sich auf Ihre Kontaktaufnahme und organisiert je nach Bedürfnis gerne ein Meeting.
nanio GmbH (Codepurple)
Moosweg 24
5606 Dintikon
Impressum| Datenschutz| © Codepurple 2024. Alle Rechte vorbehalten