it-swarm.com.de

Was ist der Unterschied zwischen Anmeldedrosselung und vorübergehender Kontosperrung?

Ich arbeite derzeit an der Neugestaltung einer Anmeldeseite. Ich habe ursprünglich vorgeschlagen, die Anmeldung zu drosseln, wobei zwischen jedem fehlgeschlagenen Anmeldeversuch Pausen (inkrementell - in Sekunden) eingeführt werden. Die Idee ist, dass wir so das Sperren des Kontos vermeiden und den Benutzern Zeit geben können, über das Zurücksetzen ihres Passworts nachzudenken und auch allen Brute-Force-Angriffen entgegenzuwirken.

Das Entwicklungsteam schlug vor, dass die Drosselung des Logins nicht dazu beiträgt, Brute-Force-Angriffe zu verhindern, sondern eine vorübergehende Sperrung. Die temporäre Sperre funktioniert auf die gleiche Weise, außer dass die eingeführten Pausen (inkrementell - in Anzahl von Minuten und Stunden) sind, also bin ich etwas verwirrt ... Im Folgenden finden Sie ein Beispiel dafür, wie IBM QuickFile die Konfiguration der Anmeldung ermöglicht:

enter image description here

Ich habe also eine Reihe von Fragen:

  1. Ist eine vorübergehende Sperre nur ein weiterer Begriff für die Drosselung der Anmeldung?

  2. Was ist der Unterschied zwischen Login-Drosselung und temporärer Sperre ? Sind sie gleich, verwenden jedoch unterschiedliche Konfigurationsparameter? zum Beispiel 3-6-12 Sekunden vs 5 -10 - 20 Minuten?

  3. Was sind die Auswirkungen auf das Interaktionsdesign , die ich bei der Einführung eines temporären Sperrmechanismus berücksichtigen muss? Kann ich dem Benutzer mitteilen, wann er es erneut versuchen kann? Vielleicht eine Art visuellen Indikator verwenden?

  4. Was sind die am besten angepassten Zeitrahmen für Pausen zwischen fehlgeschlagenen Anmeldeversuchen , die den Endbenutzer nicht frustrieren? Dieser Beitrag zu stakoverflow scheint eher Sekunden als Minuten zu suggerieren

  5. Welche Auswirkungen hat dies auf Denial of Service ?

Update: Erläuterungen

Ein bisschen mehr zur Klarstellung! Wenn eine Anmeldung fehlschlägt, ist die Schaltfläche "Erneut versuchen" für eine Dauer von 3 Sekunden deaktiviert. Danach wird sie aktiviert. Der Benutzer versucht sich erneut anzumelden und schlägt fehl. Die Schaltfläche "Erneut versuchen" wird für 6 Sekunden inaktiv.

Der Vorgang wird für 5 aufeinanderfolgende Versuche wiederholt, und Fehlermeldungen weisen Benutzer an, ihr Kennwort zurückzusetzen. Beim fünften Versuch wird Benutzern ein Bildschirm zum Zurücksetzen des Kennworts angezeigt.

Auf der anderen Seite könnten Benutzer versuchen, sich anzumelden und eine bestimmte Anzahl von Versuchen durchzuführen, nach denen das Konto für einen bestimmten Zeitraum "gesperrt" wird, beispielsweise 5 Minuten. Dies erhöht sich nach weiteren Versuchen auf 10 Minuten.

Vielen Dank

17
Okavango

A) Ja, du hast es verstanden. Sie sind beide insofern gleich, als sie beide aus fehlgeschlagenen Anmeldeversuchen resultieren, obwohl sie sich in Dingen wie der Protokollierung, der resultierenden UX-Implementierung und der Verwendung unterscheiden.

Wenn ein Benutzer vorübergehend gesperrt ist, ist dies E-Mail-tauglich. Sie sollten ihnen eine E-Mail oder eine Textnachricht senden, um sie darüber zu informieren, dass genügend fehlgeschlagene Versuche unternommen wurden, um eine vorübergehende Sperrung zu rechtfertigen. Dies ist eine Gelegenheit, den Benutzer zu befähigen, einzugreifen, falls er nicht versucht, sich anzumelden.

Alternativ können Sie nur einen Sperr-Timer in Minuten verwenden, aber es wäre idealer, wenn der Benutzer Maßnahmen zum Entsperren des Kontos benötigt.

Drosselung ist mehr für das Tempo. "Halten Sie Ihre Pferde, atmen Sie ein" und können Sie dies tun, ohne den Benutzer zu informieren. Ein einfaches UI-Spinner-Element kann verwendet werden, um zu verhindern, dass der Benutzer versehentlich doppelte Formulare übermittelt, und um schnelle Versuche über einen Zeitraum von Sekunden im Gegensatz zu Minuten oder Stunden zu verhindern.

Dies kann auch als Gelegenheit genutzt werden, Bruteforce-Versuche zu erkennen, wenn der Angreifer Ihre Benutzeroberfläche nicht durchläuft. Wenn 3 Versuche pro Sekunde durchgeführt werden, Ihre Benutzeroberfläche jedoch nur 1 Versuch alle 3 Sekunden zulässt, stimmt etwas nicht.

22
Andrew Hoffman

"Drosselung" und "vorübergehende Sperrung" sind genau dasselbe.

Es ist jedoch wahrscheinlich, dass Ihr Entwicklerteam die Konzepte missverstanden hat und angenommen hat, dass Sie "Drosseln" gemeint haben, wie es die meisten anderen Antworten hier getan haben (mit Ausnahme von @ R15 , obwohl dies weniger eine Antwort ist und weitere wichtige Überlegungen).

Der wichtige Punkt, den sie vermissen, ist einfach folgender:

Die gesamte Raison d'être der vorübergehenden Sperrung [~ # ~] ist [~ # ~] Login-Drosselung.

Die Kontosperrung ist weder eine Bestrafung für den Benutzer, noch gewährt sie dem Konto automatisch Magik-Immunitätskräfte gegen alle Angriffe, während es gesperrt ist.

Der Grund, warum die temporäre Sperre funktioniert, besteht darin, dass effektiv eine Mindestzeit festgelegt wird, um X Anmeldeversuche durchzuführen.
Mit anderen Worten, eine maximale Anzahl von Anmeldeversuchen innerhalb des Y-Zeitraums.


Geben wir ein Beispiel:

Angenommen, ein Angreifer kann ohne Brute-Force-Schutz 1000 Passwörter pro Sekunde versuchen. Laut diese klassische XKCD hätten die meisten "komplexen" Passwörter bis zu 28 Bit Entropie. Bei 1000 Vermutungen/Sekunde würde es ungefähr 3 Tage dauern, bis rohe Gewalt angewendet wird.

Nehmen wir nun an, Sie haben einen Brute-Force-Schutz (Drosselung/Kontosperrung): After X passwords, lock the account for Y amount of time. Oder als Drosselung formuliert: Allow only X passwords every Y amount of time.
Diese sind eindeutig gleich ... unabhängig davon, ob Y 30 Sekunden oder 30 Minuten beträgt. Und beide würden funktionieren.

Aber lass uns spielen ...

  • Um dies zu vereinfachen, setzen wir die obigen Werte X = 10 (zulässige falsche Passwörter) und Y = 10 Minuten (Sperrzeit). Bei dieser Rate (es ist durchschnittlich 1 Vermutung pro Minute, nur um die Sache zu vereinfachen) - es wird etwas mehr als 500 Jahre dauern, um zu erraten (im Durchschnitt).
  • Okay, lassen Sie uns die Parameter senken ... X = 5 Vermutungen, Y = 30 Sekunden. Das gleiche Passwort würde etwas mehr als 50 Jahre dauern (da Ihre Drosselrate im Durchschnitt 10 Vermutungen pro Minute beträgt).
  • Oder, wie Sie anscheinend beabsichtigt haben, X = 1 Vermutung pro Y = 10 Sekunden (?): Bei durchschnittlich 6 Vermutungen pro Minute würde es ungefähr 85 Jahre dauern, bis das Passwort brutal erzwungen wird ...

Natürlich können Sie diese Parameter so einstellen, wie es für Ihr System sinnvoll ist, und insbesondere, wie @ R15 bereits sagte, dies sollte in Bezug auf die Stärke der Passwörter Ihrer Benutzer stehen.
Ob Sie dies jedoch als "Kontosperrung" oder "Kontodrosselung" betrachten, ist genau das Gleiche, da die erste lediglich eine einfache Implementierung ist, um die zweite zu erreichen.

11
AviD

Zu berücksichtigen ist außerdem, dass die durchschnittliche zulässige Versuchsrate (entweder durch Drosselung oder Sperrung) theoretisch an die effektive Deckungszeit der Benutzerkennwörter gebunden sein sollte.

Das heißt, die Drosselung/Sperrung sollte ausreichen, um zu verhindern, dass ein Brute-Force-Angriff über die Weboberfläche erfolgreich ist, bevor der Benutzer sein Kennwort das nächste Mal ändert.

Oder anders ausgedrückt: Die Entscheidung über die Zeiten hängt von der Komplexität Ihres Passworts und der Häufigkeit von Änderungen ab.

Wenn Sie jedoch die Protokolle prüfen, sollten Sie in der Lage sein, langsame Angriffe auf bestimmte Konten zu identifizieren und etwas dagegen zu unternehmen, bevor die Wahrscheinlichkeit einer erfolgreichen Kennwortschätzung besteht.

2
R15

Die Drosselung wird verwendet, wenn eine Sperrung nicht möglich ist. Dies ist insbesondere dann der Fall, wenn unbedingt Support-Vorgänge (Neugründungen mit hoher Benutzeranzahl) vermieden werden müssen, um der Sicherheit mehr Gewicht zu verleihen als Geschäftskontinuität, Compliance oder Sicherheitsgründe (die Sperrung kann die Sicherheit einer Person gefährden).

1
starbuck3000

Der Hauptunterschied besteht darin, dass eine "Konto Sperrung" auf Benutzerkonten basiert und das Drosseln von Anmeldeversuchen auch durch Begrenzen der Versuche pro Client erfolgen kann.

Das Drosseln von Anmeldeversuchen pro Client hilft beispielsweise, wenn ein einzelner böswilliger Client nicht auf ein bestimmtes Konto abzielt, sondern bei jedem Versuch einen anderen Kontonamen versucht (oder bis das Konto gesperrt ist).

Wenn Sie Anmeldeversuche pro Konto drosseln, entspricht dies im Wesentlichen einer vorübergehenden Sperrung.

1
kapex