Ich habe einige Literatur zur Sicherheit gelesen, insbesondere zur Passwortsicherheit / -verschlüsselung, und eines habe ich mich gefragt: Ist die 3-Strike-Regel eine perfekte Lösung für die Passwortsicherheit? Das heißt, wenn die Anzahl der Kennwortversuche auf eine kleine Anzahl begrenzt ist, nach der nicht alle Authentifizierungsanforderungen berücksichtigt werden, schützt dies die Benutzer nicht vor dem Eindringen? Mir ist klar, dass der Zugriff oder die Kontrolle über etwas nicht immer bedeutet, das Authentifizierungssystem zu durchlaufen, aber macht diese Funktion Wörterbuch- / Brute-Force-Angriffe nicht überflüssig? Fehlt mir etwas?
10
Antworten:
Ja, es macht Wörterbuchangriffe über den Anmeldemechanismus unmöglich . (Das bedeutet jedoch nicht viel, wenn sie Zugriff auf die Datenbank erhalten. Aus Sicherheitsgründen müssen Sie die Passwörter ordnungsgemäß hashen und salzen.)
Es ermöglicht auch die Möglichkeit eines DOS-Angriffs gegen einen bestimmten Benutzer. Angenommen, ich wollte verhindern, dass Sie sich anmelden. Ich muss lediglich drei falsche Anmeldeversuche für Ihr Konto ausführen und dies dann jedes Mal erneut tun, wenn Sie die erforderlichen Schritte zum Zurücksetzen der Anmeldung ausführen. Der Umgang mit diesem Thema ist etwas schwieriger.
quelle
Ich stimme auch zu, dass Wörterbuchangriffe dadurch weniger effektiv werden, da ohne die entsprechende Berechtigung auf ein Konto zugegriffen werden kann. Jedoch:
Dieser Ansatz könnte einen Wörterbuchangriff in einen DOS-Angriff gegen das System verwandeln, der den Zugriff verhindert, wenn er schlecht implementiert ist. Beispielsweise könnte ein Server mit Authentifizierungsversuchen überflutet werden. Eine Möglichkeit, dies zu umgehen, besteht darin, dass der Authentifizierungsdienst den Fluss nachfolgender Zugriffe auf ein gesperrtes Konto steuert. Wenn beispielsweise ein Konto gesperrt ist, geben Sie vor jedem nachfolgenden Anmeldeversuch eine Verzögerung an. Man könnte jedoch eine Verzögerung zwischen einem Anmeldeversuch und einem "Zugriff verweigert" setzen, die die Tür für einen verteilten Denial-of-Service-Angriff offen hält, bei dem ein Angreifer viele gleichzeitige Authentifizierungsversuche startet.
Wie in der anderen Antwort erwähnt, könnte dies auch einen Wörterbuchangriff in ein grobes DOS gegen den legitimen Eigentümer des angegriffenen Kontos verwandeln. Zu den Möglichkeiten, die Auswirkungen auf den rechtmäßigen Eigentümer zu mindern, gehören:
Wenn Ihre Angst einen vergesslichen Benutzer versehentlich bestraft, als wäre er ein Angreifer, anstatt den Ablauf fehlgeschlagener Anmeldeversuche nach einer festgelegten Anzahl fehlgeschlagener Versuche zu steuern , können Sie die Häufigkeit der Anmeldeversuche als Beweis dafür verwenden, dass ein Konto angegriffen wird. Wenn Sie beispielsweise innerhalb einer Sekunde 10 Authentifizierungsversuche sehen, können Sie entweder eine der oben genannten Methoden verwenden, um weitere ähnliche Authentifizierungsversuche zu verhindern. Alternativ können Sie diese schnelle Flut von Anmeldeversuchen als Signal verwenden, um den Fluss zu steuern. Diese Methode wird in Foren immer beliebter, während nach einer bestimmten Anzahl fehlgeschlagener Anmeldeversuche von einer bestimmten IP-Adresse die Authentifizierung dieser IP-Adresse für einen kurzen Zeitraum verhindert wird.
Ein guter Weg, um zu verhindern, dass ein Benutzer wiederholt von einem DOS-Angriff angegriffen wird, besteht darin, ihm zu erlauben, sowohl sein Passwort als auch seinen Benutzernamen zurückzusetzen . Mit anderen Worten, behandeln Sie sowohl den Benutzernamen als auch das Passwort als Geheimnisse. Wenn der Benutzername an anderer Stelle verwendet wird (z. B. in einem Forum, wenn der Benutzername der Anzeigename des Benutzers ist), behandeln Sie diesen Anzeigenamen einfach als etwas Separates. Dieser Ansatz wird normalerweise von sozialen Netzwerken verwendet, bei denen der bei der Authentifizierung verwendete Benutzername die E-Mail-Adresse ist - etwas, das geändert werden kann, aber nur selten geteilt wird -, während der auf der Site verwendete Anzeigename benutzerdefiniert ist oder nicht verändert sein.
Wie auch immer, ich hoffe, ein oder eine Kombination dieser Ansätze wird sich als nützlich erweisen.
quelle