Frage:
Ist die Ablehnung der Anmeldung nach falschen Versuchen unwirksam?
Sonny Ordell
2011-06-08 20:10:58 UTC
view on stackexchange narkive permalink

Im Allgemeinen ist das Ablehnen von Anmeldeversuchen nach X Anzahl falscher Versuche für Y Anzahl von Versuchen eine sehr grundlegende Methode, um Bruteforce-Versuche oder böswillige Anmeldeversuche zu verhindern.

Dies ist jedoch sicherlich bedeutungslos, wenn Sie Erfolg zulassen Mit dem richtigen Passwort anmelden? In diesem Fall ist es bedeutungslos, eine Fehlermeldung oder eine Warnmeldung über eine Zeitüberschreitung beim Versuch einer falschen Meldung zu erhalten, wenn das richtige Kennwort unabhängig davon funktioniert.

In Hotmail beispielsweise, wenn ich versuche, mich mit dem falschen Kennwort anzumelden Ich erhalte schließlich die Meldung, dass weitere Anmeldeversuche eingeschränkt sind . Wenn ich es mit dem richtigen Passwort versuche, kann ich sofort loslegen. Ich frage mich also, ob es überhaupt Sinn macht, eine solche Warnung zu erhalten. Ist es effektiv, wenn das eigentliche Passwort Zugriff gewährt?

Was meinst du damit, dass mit dem richtigen Passwort alles bedeutungslos ist? Meinen Sie, wenn ihr Konto gesperrt ist und sie sich mit dem richtigen Passwort anmelden, während es gesperrt ist?
@Sonny Ich denke, Sie verpassen den Punkt völlig. Wenn der Benutzer für einen bestimmten Zeitraum gesperrt wird, akzeptiert er während dieser Zeit kein ** Passwort **, einschließlich eines korrekten Passworts.
@AttackingHobo, Ich verstehe, dass dies die Idee ist, aber in der Praxis ist dies nicht der Fall, und ein korrektes Kennwort wird sich anmelden. Ich gehe davon aus, dass Hotmail und Gmail dies getan haben, um einfach DoS-Angriffe zu verhindern, aber es scheint den Zweck zu vereiteln.
Ich weiß nicht, was ich sagen soll, und ich möchte mein Konto momentan nicht wirklich sperren, aber bevor ich mein Passwort in ein neues geändert hatte, vergaß ich für eine Weile, was es war, und wurde gesperrt . Wenn ich mich daran erinnerte, würde es es noch nicht akzeptieren.
Können Sie Beweise für Ihre Behauptung liefern, dass Google Mail und Hotmail so funktionieren? Alle anderen Berichte besagen, dass Sie falsch liegen, und es wäre in der Tat ein großer Fehler, dies so zu implementieren
@nealmcb, zumindest für mich Ich habe absichtlich 10 falsche Passwörter in meinem Konto ausprobiert und erhalte die Warnung und kann mich dann sofort mit meinem richtigen Passwort anmelden.
@sonny auf welchem ​​E-Mail-Dienst (oder welchen Diensten)? Was war der Zeitpunkt der Warnung und des anschließenden Erfolgs? Vielleicht war es nur eine kurze Auszeit (was sehr effektiv gegen einen großen Brute-Force-Versuch ist).
@nealcmb, Dies ist auf Hotmail und Google Mail, wie getestet. Ich loggte mich ein, sobald ich die Warnung sah, so schnell wie alle anderen Anmeldungen ... maximal dauerte es 5 Sekunden.
Google Mail funktioniert so nicht. Sie müssen ein Captcha eingeben, um zusätzliche Passwörter auszuprobieren. Ein korrektes Passwort allein reicht nicht aus. Dies verhindert Angriffe auf das Erraten von Online-Passwörtern.
@Jeff-InventorChromeOS die Capctha ist der Unterschied, den ich denke. Möchtest du das zu einer Antwort erweitern?
Sechs antworten:
Thomas Pornin
2011-06-08 20:36:54 UTC
view on stackexchange narkive permalink

Das Verhindern der Anmeldung ohne das richtige Kennwort ist die Kernfunktionalität des Anmeldevorgangs. Nur so weiterzumachen ist keineswegs eine "zusätzliche" Sicherheitsfunktion.

Anmeldeversuche nach X falschen Versuchen abzulehnen bedeutet, alle Versuche in dieser Situation abzulehnen, unabhängig vom Wert von das Passwort, das dann angezeigt wird. Wenn Sie immer noch das richtige Passwort akzeptieren, leugnen Sie nichts, sondern verwalten lediglich einen Anmeldevorgang.

Bei Online-Systemen ist das Deaktivieren des Kontos etwas unüberlegt. Dies bedeutet, dass jeder Ihr Konto effektiv blockieren kann, indem er Junk-Passwörter eingibt. Eine reibungslosere Vorgehensweise besteht darin, Verzögerungen hinzuzufügen: Lassen Sie den Server nach X falschen Kennwörtern das Konto beispielsweise für eine Minute sperren und nach jedem Versuch für eine Minute erneut sperren, bis das richtige Kennwort eingegeben wird. Die ersten X-Versuche sollten ausreichen, um Benutzer mit zitternden Fingern zu bewältigen, und die Geschwindigkeit von einer Minute behindert einen Bruteforcing-Angreifer erheblich (verbunden mit einigen Sicherheitsmaßnahmen wie dem Verbot von IPs, von denen zu viele Anmeldeanfragen in zu kurzer Zeit eingehen). .

Außerdem sieht der tatsächliche Kontoinhaber, dass jemand Passwörter für sein Konto ausprobiert hat. Wenn sie nur eine "Liste der letzten 1000 Daten und IP-Adressen, die auf Ihr Konto zugegriffen haben" hinzufügen würden, würde dies viele "Lauerer" verhindern ...
Hallo Thomas, tolle Antwort. Ich habe gerade bei Hotmail festgestellt, dass Sie beispielsweise eine X-Anzahl falscher Passwörter eingeben, wenn Sie die Meldung erhalten, dass Anmeldeversuche deaktiviert sind. Sie können sich jedoch sofort mit dem richtigen Passwort anmelden. Das schien mir unwirksam zu sein.
@Sonny, unwirksam, ja, aber auch völlig falsch.
@AviD wie ist das völlig falsch? Ich versuche mehrere falsche Passwörter und erhalte die Meldung, dass Anmeldeversuche eingeschränkt sind. Anschließend kann ich mich mit meinem richtigen Passwort anmelden.
@Thomas Leider riskieren Sie Denial-of-Service-Angriffe, indem Sie das Konto sperren, es sei denn, es ist sitzungsspezifisch oder eine andere Möglichkeit, ein Konto nur für einen bestimmten Anforderer zu sperren. Damals gab es eine Reihe von Apps, mit denen Angreifer gefälschte Anmeldeversuche senden konnten, um Konten während der Ausführung dauerhaft gesperrt zu halten. Wenn Sie es jedoch sitzungsspezifisch machen, kann auch dies leicht verhindert werden, indem die POST-Anforderungen über eine Liste von Proxyservern ausgeführt werden.
Das ist eine schlechte alte Antwort
Verzögerungen allein beheben das Problem nicht. Sie verlängern lediglich die Zeit bis zum Abschluss des Hacks.
In Wirklichkeit ist das Passwort bereits Teil einer der Datenbanken, die Herzblutungsdaten enthalten, sodass selbst eine Verzögerung nicht aufhört, sie zu identifizieren oder zu stoppen
@caseyr547, Wenn sie das richtige Passwort aus einem früheren Verstoß haben (und der Benutzer das gleiche Passwort hat und es nicht geändert hat), können wir absolut nichts tun, um eine Entführung dieses Kontos zu verhindern. Diese Technik zur Verzögerung der Anmeldung soll nur Brute-Force-Angriffe auf ein Online-System verhindern. Und ja, sie "beheben" das Problem nicht, sondern lösen es nur, bis es für den Hacker unmöglich ist, jedes Passwort vor dem Ende des Sonnensystems auszuprobieren.
Hendrik Brummermann
2011-06-09 03:27:13 UTC
view on stackexchange narkive permalink

Die Idee ist, beim Sperren nicht einmal das richtige Passwort zu akzeptieren.

Bevor Sie jedoch ein Sperrsystem implementieren, sollten Sie sich die Angriffsfälle ansehen:

a Bestimmter Benutzer wird angesprochen

Wenn der Angreifer auf einen bestimmten Benutzer abzielt, ist es hilfreich, Anmeldungen nach einigen falschen Versuchen zu verweigern oder zu verzögern. Ein häufiger Fehler beim Verzögerungsansatz besteht darin, parallele Anmeldeversuche nicht zu verhindern.

Ein weiterer häufiger Ansatz ist die Verwendung von CAPTCHAs, um den Angreifer zu verlangsamen. Man muss bedenken, dass viele Standard-CAPTCHAs bereits kaputt sind. Als die Abstimmung in der NY-Times manipuliert wurde, erstellten die Angreifer eine spezielle Oberfläche, auf der viele CAPTCHAs auf einer Seite angezeigt werden.

Der Angreifer versucht möglicherweise über einen langen Zeitraum hinweg nur zwei Anmeldeversuche pro Tag (wir sehen tatsächlich dies in Stendhal von Zeit zu Zeit). Hier kann es hilfreich sein, die Anzahl der fehlgeschlagenen Anmeldeversuche nach einer erfolgreichen Anmeldung anzuzeigen. Es ist wichtig, nicht jedes Mal "0 fehlgeschlagene Anmeldeversuche" zu sagen, da dies die Benutzer lediglich lehrt, diese Nachricht zu ignorieren. Zeigen Sie die Warnung nur an, wenn mindestens ein Anmeldeversuch fehlgeschlagen ist.

Eine Liste der IP-Adressen und Zeitstempel der letzten Anmeldeversuche (erfolgreich oder nicht) kann hilfreich sein, zumindest für Benutzer, die Wert auf Sicherheit legen und haben einen bestimmten Kenntnisstand.

Jeder Benutzer ist ein Ziel

In Fällen, in denen eine wirklich große Anzahl von Anmeldungen versucht wird, wählen die Angreifer häufig ein festes Passwort und erzwingen das brutal Kontonamen. Dies bedeutet, dass ein Schwellenwert von drei Anmeldeversuchen pro Konto nicht ausgelöst wird.

Fehlgeschlagene Anmeldeversuche müssen daher kontenübergreifend verfolgt werden, z. B. basierend auf den IP-Adressen.

Sperren einer großen Anzahl von Benutzern

Das Implementieren der oben genannten Zählermessungen führt zu einer neuen Sicherheitsanfälligkeit: Ein Angreifer kann eine große Anzahl von Konten sperren. In einigen Fällen kann dies einer Site weitaus größeren Schaden zufügen als einer kleinen Anzahl gehackter Konten.

IP-basiertes Zählen kann helfen, diesen Angriffsvektor zu verringern. Oder es kann einen Hebel in Situationen geben, in denen sich viele Personen hinter demselben Proxyserver befinden (an einer Universität oder in einem öffentlichen WLAN usw.).

Sperren eines bestimmten Kontos

Zusätzlich zum letzten Abschnitt kann ein Angreifer versuchen, ein bestimmtes Konto zu sperren. Zum Beispiel jemand, der bei einer Auktion gegen ihn bietet.

Möglicherweise kann ein zweiter Kanal verwendet werden, damit der Kontoinhaber sein Konto wieder aktivieren kann. Zum Beispiel durch Senden einer mobilen Textnachricht oder einer E-Mail mit einem Code.

bethlakshmi
2011-06-09 00:56:11 UTC
view on stackexchange narkive permalink

Ich mag die Antwort von Thomas Pornin. Meine einzige Ergänzung wäre: Wenn Sie eine Kennwortsperrfunktion entwerfen, müssen Sie herausfinden, wie Sie Ihre Benutzerbasis unterstützen und dies mit dem Risiko von Unterbrechungen in Einklang bringen können.

In einem Hochsicherheitssystem mit einer begrenzten Anzahl Für sicherheitsbewusste Benutzer, dedizierte Administratoren und ein großes Budget für die Benutzerunterstützung kann die Aktivierung eines gesperrten Kennworts manuell erfolgen und eine erneute Authentifizierung über einen sekundären Kanal erfordern, der teuer und zeitaufwändig ist.

In Bei einem System mit geringer Sicherheit und einer riesigen (und möglicherweise sogar Computer-Analphabeten-) Nutzerbasis - wie Google oder Hotmail - wird das Risiko eines Einbruchs wahrscheinlich durch die Kosten für die Unterstützung der Konto-Freischaltung durch etwas anderes als eine hochautomatisierte, sehr einfache ausgeschlossen , process.

Ich habe Systeme gesehen, die so einfach waren, dass sie den Browser nur zwangsweise geschlossen haben, als 3 falsche Passwörter erreicht wurden. Etwas besser ist das von Thomas vorgeschlagene System mit einer Zeitüberschreitung für deaktivierte Konten. Nach meiner Erfahrung stellen Systeme dies dar, um eine moderate Barriere für Bruteforce-Angriffe zu bieten und gleichzeitig die Bedürfnisse von Tonnen von Benutzern auszugleichen, die versuchen, auf ihre Konten zuzugreifen.

Es ist wahr, dass dies nicht der beste Ansatz ist - aber Systeme benötigen Um einen Weg zu finden, um Angriffe zu verlangsamen, ohne sich persönlich mit Benutzern zu befassen, kostet jeder Supportanruf den Anbieter Geld. Mit kostenlosen Diensten wie Google Mail erhalten Sie also das, wofür Sie bezahlen.

Direkt am! In meinen Augen ist Sicherheit Teil eines heiklen Spagat zwischen Benutzerfreundlichkeit, Kosten und Sicherheit. Machen Sie das System zu teuer und niemand wird es kaufen (oder Sie können Ihre Kosten nicht decken). Machen Sie die Verwendung des Systems zu schwierig, und weniger Benutzer möchten Ihr System verwenden. Wenn Sie es zu unsicher machen, verlieren Sie den Wert, den Sie schützen wollten.
Sie müssen auch die Fähigkeit eines Angreifers berücksichtigen, legitime Benutzer auszusperren. Zu oft sehe ich solche Systeme als Wegbereiter für billigen Denial-of-Service.
David G
2011-06-23 01:54:19 UTC
view on stackexchange narkive permalink

Ich würde vorschlagen, dass Sie nicht nur ein Benutzerprofil sperren, das zu viele falsche Passwörter erhält, sondern auch die IP eines Computers blockieren, der zu viele falsche Passwörter erhält (möglicherweise mit mehreren Konten).

Ich verwende DenyHosts auf meinen Linux-Computern, um IPs zu blockieren, die versuchen, Passwörter zu erraten.

corrector
2011-09-22 00:35:17 UTC
view on stackexchange narkive permalink

Ich denke, Sie sollten den Benutzer bestimmen lassen, wie "zufällig" sein Passwort ist.

Bei einigen "Passwörtern" ist es einfach nicht sinnvoll, ein Limit festzulegen : Einige Benutzer generieren ihre "Passwörter" automatisch (was es unmöglich macht, sie sich zu merken) und speichern diese in einer Datei, sodass diese Passwörter eher Kryptoschlüsseln als normalen Passwörtern ähneln.

Ich glaube, dass das zulässt Der Benutzer wählt aus, wie viele Versuche, bevor das Konto eine Anmeldezeitstrafe von 10 s, 30 s, 1 min erhält, und wie viele, bevor das Konto für 1 h, 12 h, 1 d mit oder ohne CAPTCHA-Rückgriff strong gesperrt wird > würde den Benutzer zwingen, mehr über die Stärke seines Passworts nachzudenken.

Dann geben Sie nicht nur den Menschen etwas Freiheit, Sie erzwingen diese Freiheit den Benutzern : Jeder Benutzer würde Sie müssen eine Sperrrichtlinie auswählen.

Außerdem sollte es einem Benutzer gestattet sein, sein Konto mit einer RBL zu verknüpfen, um zu verhindern, dass die Anmeldung von offenen SOCKS-Relays oder von Tor-Exits erfolgt (standardmäßig ist keine RBL abonniert).

Für Webanwendungen a Der Benutzer sollte das Recht haben, zwischen einer reinen HTTP-basierten Authentifizierung (HTTP-Authentifizierung, Cookies, ...) oder einer HTTP-basierten + IP-Adr-basierten Authentifizierung (Bindung eines angemeldeten Benutzers an eine IP) zu wählen (standardmäßig nur HTTP) -basierte Authentifizierung, keine IP-Adr-Bindung).

Ich denke, Sie sollten den Benutzern aggressiv Freiheit und Verantwortung geben. Auf diese Weise können sie nicht in Foren weinen, wenn sie gehackt wurden, und sagen, dass das Kennwort System-Setup schwach, unsicher, nicht professionell war ...

Irgendeine Rechtfertigung für die Abwahl?
Ziemlich genau wie die anderen, die ich angesprochen habe. ** Bitte besuchen Sie uns im Chat (http://chat.stackexchange.com/rooms/151/the-dmz) oder posten Sie in Meta (http://meta.security.stackexchange.com), wenn Sie diskutieren möchten dies weiter. **
+1, weil weder die Abwertung selbst noch der Link in der Antwort offensichtlich Sinn machen
Nein, das ist schlecht. Benutzer sind keine Sec-Experten
Taipo
2012-02-09 02:56:53 UTC
view on stackexchange narkive permalink

Es hängt stark davon ab, auf welche Art von Konto der Benutzer zugreifen möchte. Webbasierte E-Mail-Konten sind das übliche Beispiel, bei dem die E-Mail der Benutzername ist. In anderen Fällen ist es jedoch besser, die E-Mail nicht als Benutzernamen zu verwenden. Daher verfügt der Angreifer nicht über die Benutzeranmeldeinformationen, um das Kennwort im Wörterbuch zu knacken

Jede Form der Kontosperrung ohne Captchas oder eine andere Form der Massen-POST-Verhinderung kann zu Denial-of-Service führen, wenn ein Angriffstool verwendet wird, um mehrere Anforderungen zu senden, um Kontosperren zu verursachen.

Die Verwendung von Nicht-E-Mails oder Namen ist der Standard bei Website-Konto-Anmeldungen wie Godaddy und anderen sowie bei Bankkonto-Anmeldungen, obwohl dies in der Regel Zahlenfolgen sind, die sie für benutzerspezifische Denial-of-Service-Angriffe öffnen über Massen-Brute-Force-Angriffe auf Zahlenfolgenblöcke.

Beispiel: Benutzer: 1000000 ++ Pass: a-zA-Z0-9

Ein Angriff, der 4 Versuche auf einen sequentiellen Benutzernamen sendet, wobei Die Bank hat den Benutzer auf einen Zahlenbereich festgelegt, wie er 48829387 leicht zulassen könnte n Angreifer, der Anmeldungen bei einer großen Anzahl von Bankbenutzern verweigert, indem er die Grenze zulässiger falscher Kennwortanforderungen für Zufallszahlen zwischen den Bereichen 4000000 und 4999999 überschreitet.

In den meisten Web-Anmeldesituationen jedoch Benutzer Wenn Sie einen Benutzernamen wählen, der von ihrem Namen oder ihrer E-Mail-Adresse getrennt ist, ist dies eine große Herausforderung. Dies ist wahrscheinlich der Grund, warum Banken häufig Zahlenfolgen als Benutzernamen verwenden.

Wenn also keine schwierigen Benutzernamen als Option verfügbar sind, können Sie das Hämmern des Wörterbuchs verhindern ist die nächste Anlaufstelle für die Verwendung von Captchas oder sogar für die Anforderung von Javascript vor dem Einrichten von Sitzungen, da diese Angriffstools vom Typ Wörterbuch häufig nicht in der Lage sind, zurückgegebene Cookies zu verarbeiten, geschweige denn Sitzungen, die nach dem Erkennen von Javascript erstellt wurden.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...