Frage:
Wie mildert CAPTCHA DDoS-Angriffe ab?
overrider
2012-10-20 19:28:11 UTC
view on stackexchange narkive permalink

Dies scheint eine einfache Frage zu sein, aber ich habe keine Antwort gefunden.

Eine der Anwendungen von CAPTCHA besteht darin, Denial-of-Service-Angriffe zu bewältigen. Angenommen, ein Gegner führt übermäßige Anmeldeversuche durch, sodass andere Benutzer sich nicht anmelden können. Für den Dienst muss möglicherweise vor dem Anmelden ein CAPTCHA gelöst werden. Warum wird der CAPTCHA-Dienst in diesem Fall jedoch weiterhin ausgeführt, während der Anmeldedienst unter derselben Verkehrslast fehlschlägt? Warum funktioniert es?

Acht antworten:
AviD
2012-10-21 16:10:51 UTC
view on stackexchange narkive permalink

DURCH DIE MAGICK-KRAFT VON UNICORNS!!!

Abgesehen von Snark ist CAPTCHA eine sehr schlechte Lösung für den D / DoS-Schutz. Dies hat zwar einige Auswirkungen, ist jedoch minimal und kann von den Angreifern leicht ausgeglichen werden.

CAPTCHA löst das falsche Problem und löst es schlecht .
CAPTCHA versucht nicht, die Verbindungen zu begrenzen. Es ist nicht beabsichtigt, den Anmeldemechanismus vor Angriffen zu schützen. CAPTCHA kann nicht zwischen Angreifern und legitimen Benutzern unterscheiden.

Das einzige, was tut - und das ist nicht sehr gut - ist, nicht überraschend: Computer und Menschen auseinanderhalten . Dies könnte in der Tat nützlich für Sie sein, wenn Sie sich in einer Matrix-ähnlichen Realität befinden, in der alle Computer der Feind und alle Menschen Verbündete sind.
In unserer Realität ist dies eine sinnlose Unterscheidung. Angeblich könnte dieses dazu beitragen, skriptgesteuerte Angriffe zu verhindern - aber selbst wenn dies wahr wäre (es ist nicht wahr), gibt es viele Möglichkeiten, diese Anforderung zu umgehen - z. CAPTCHA-Proxies (wo Sie ein CAPTCHA lösen müssen, bevor wir Ihnen das zeigen) und CAPTCHA-Farmen (wo Sie einige Fernostler einstellen, um CAPTCHA für Sie zu "lösen", für 4 $ pro 1000 Pops).
Außerdem in dem Fall von DDoS - oft wird dieser Angriff von "politischer Bewegung" ausgelöst - dh große Massen von Menschen beschließen, einen bestimmten Ort zu stürzen. Also ja, CAPTCHA wäre hier irrelevant.

Darüber hinaus liegt CAPTCHA auf dem neuesten Stand der Technik weit hinter OCR auf dem neuesten Stand der Technik. Wenn Sie möchten, dass Ihre Benutzer diese verschnörkelten Bilder leicht entschlüsseln können, kann der Computer dies auch ziemlich gut. Die besten CAPTCHAs wurden mit einer OCR-Erfolgsrate von 20% gemessen. Dies bedeutet effektiv, dass der Angreifer für jede erfolgreiche Anfrage lediglich 5 Anfragen senden muss. Nicht ganz die Größenordnung, die für einen Angreifer, der bereits die Bereitstellung eines DDoS plant, einen wesentlichen Unterschied bedeuten würde.


Einige meiner anderen Beiträge hier und auf SO zu diesem Thema:

TL; DR:
Die Frage ist basierend auf einer fehlerhaften Annahme:

Wie verteidigt sich CAPTCHA vor DDoS-Angriffen?

Das tut es nicht.
Höchstens erfordert es etwas mehr Aufwand vom Angreifer, aber nicht viel.

Es sei denn, es wird von einer Firewall bedient und die Firewall ignoriert UDP-Pakete.
Kent
2012-10-20 20:23:47 UTC
view on stackexchange narkive permalink

Es ist einfacher / schneller, zu überprüfen , ob ein CAPTCHA korrekt ist, als einen Benutzer in der Datenbank zu suchen (dies kann neue Verbindungen, Hashing und mehr umfassen). Ein Server überprüft zuerst das CAPTCHA, wenn es korrekt ist, und verarbeitet dann den Rest der Anmeldung, wenn kein Fehler zurückgegeben wird.

Es ist wichtig zu beachten, dass das Erstellen eines CAPTCHA-Bildes eine gewisse Verarbeitung erfordert. Dies kann jedoch sehr effektiv vorgerenderte Bilder oder sogar das Auslagern an andere Dienste (wie reCAPTCHA) erfolgen.

Ich werde Ihre Antwort akzeptieren, da Sie beide wichtigen Punkte angesprochen haben: 1) CAPTCHA ist ein wirksamer Schutz, wenn überprüft wird, dass weniger CPU / Speicher als die Anmeldung erforderlich ist. 2) Insbesondere ist es wirksam, wenn es an reCAPTCHA ausgelagert wird. und Sie scheinen der erste zu sein, der das erwähnt hat.
@overrider beide Punkte sind rückwärts. 1) Die Verarbeitung von CAPTCHAs würde bei richtiger Ausführung mehr Verarbeitung erfordern als Anmeldungen. 2) Das Auslagern an reCAPTCHA spart zwar CPU-Energie, blockiert jedoch stattdessen den Netzwerkzugriff, der um Größenordnungen langsamer ist als die CPU.
Diese Antwort macht einfach keinen Sinn.Während eines DDoS verlangsamt das Senden eines Javascript-Captchas nichts, es unterstützt DDoS und bringt den Server noch schneller zum Erliegen, d. H. Indem Verbindungen hergestellt und Tonnen von Captcha-Nutzdaten an den DDoS-Angriffsknoten gesendet werden.
@mootmoot Ich stimme dieser Antwort auch von ganzem Herzen nicht zu.Vielleicht irre ich mich, aber ich bin mir sehr sicher, dass jeder Teil dieser Antwort falsch ist.
Polynomial
2012-10-20 20:31:04 UTC
view on stackexchange narkive permalink

Ein Captcha verhindert, dass ein Angreifer datenbankintensivere Vorgänge ausführt, die zu einem DoS über CPU oder Speicherauslastung führen können. Dies ist jedoch nur dann der Fall, wenn der durch das Generieren des Captcha-Images verursachte CPU- und Speicherverbrauch geringer sein muss als der der normalen Seitenanforderung. Eine Möglichkeit, dies sicherzustellen, besteht darin, einen externen Captcha-Dienst wie reCAPTCHA zu verwenden.

Normalerweise ist der DoS-Präventionsaspekt des Captcha ein Nebenprodukt der Verwendung als Anmeldesicherheitsmaßnahme Verhindern Sie automatische Anmeldeversuche.

theXs
2012-10-20 20:13:46 UTC
view on stackexchange narkive permalink

Ich glaube nicht, dass Captchas gegen einen Denial Of Service-Angriff helfen könnten. Ich denke, sie könnten sogar einen Thread von DoSing auf der Site darstellen, wenn der Captcha-Algorithmus CPU-intensiv ist.

Um einen erfolgreichen DoS-Angriff auf einen Server auszuführen, sollten die Kosten des Angreifers niedriger sein als die Kosten des angegriffenen Servers. Der Server hat hohe Kosten, selbst wenn er Captchas verwendet. Der Server muss die Captchas generieren und die gesamte Seite an die Clients übertragen.

Bearbeiten: Kurz gesagt: Ein Captcha kann kontraproduktiv sein, wenn die Erzeugung des Captchas zu viel kostet.

Aus diesem Grund wird CAPTCHA häufig von einem externen Dienst ausgeführt.
SArcher
2014-01-18 09:55:42 UTC
view on stackexchange narkive permalink

Dies ist nicht der Fall, obwohl Sie manchmal diesbezügliche Behauptungen sehen. CAPTCHAs sollen die automatische Übermittlung von Daten auf einer Website verhindern. DDoS-Angriffe finden fast immer auf Netzwerkebene statt, lange bevor Daten über HTTP gesendet werden. Wenn ein HTML-Formular für DoS-Angriffe (nicht für DDoS-Angriffe) anfällig ist, würde ein CAPTCHA die Ausnutzung erschweren. Die richtige Lösung besteht jedoch darin, das Formular zu reparieren und kein Pflaster (CAPTCHA) darauf zu schlagen.

user1751825
2016-02-21 03:16:32 UTC
view on stackexchange narkive permalink

Eine der Anwendungen von CAPTCHA ist die Bewältigung von Denial-of-Service-Angriffen.

Ist dies eine Verwendung von CAPTCHA? Ich bezweifle, dass es bei einem solchen Angriff überhaupt sehr hilfreich sein könnte.

Ob das CAPTCHA-Feld korrekt ist oder nicht, ist weitgehend irrelevant, wenn die Anforderung einfach in einer Warteschlange steht und darauf wartet, verarbeitet zu werden. P. >

Wenn die angreifende Anforderung vom HTTP-Dienst akzeptiert wird, ist sie erledigt.

Ich bin nicht sicher, wie ein Remote-CAPTCHA-Dienst die Situation erheblich verbessern kann. Es kann den Hacker nicht daran hindern, die Anfrage zu stellen. Das einzige, was es möglicherweise tut, ist die Reduzierung der Last auf dem Hauptserver, da es dann nicht die Images generieren muss.

DDoS-Angriffe werden besser von der Firewall-Schicht behandelt, wo Anforderungen gelöscht werden können bevor sie jemals auf den Webserver gelangen.

Tony Jones
2017-08-07 11:40:01 UTC
view on stackexchange narkive permalink

Abhängig von Ihrer Implementierungsmethode reicht es völlig aus, nur Roboter von echten Benutzern zu unterscheiden, um einen Angriff vom Typ Layer 7 abzuschwächen. Solange Sie CAPTCHA auf einem anderen Computer / einer anderen IP-Adresse hosten, können Sie dann weiterleiten Nur der Datenverkehr, der das Captcha passiert hat.

Ich würde auch vorschlagen, mehrere dieser Captcha-Proxys in einem DNS-Round-Robin für Redundanz einzurichten. Dann erhöhen Sie die Pipe-Größe, um die Chancen Ihrer Server zu erhöhen Der Rückgang aufgrund der Rohrsättigung sinkt drastisch.

Tom Harrison Jr
2016-02-21 02:34:51 UTC
view on stackexchange narkive permalink

Die Website meines Unternehmens war diese Woche zweimal von einem DDoS-Angriff betroffen ... nicht auf uns, sondern auf eine andere Website, die in derselben Einrichtung wie unsere gehostet wird. Wie beantwortet dies Fragen zu CAPTCHA? Es ist so, dass die meisten DDoS-Angriffe einfache Anfragenfluten sind und möglicherweise nichts mit Ihrer Anmeldeseite oder einem Formular zu tun haben, in dem (vermutlich) ein CAPTCHA vorhanden ist.

DDoS ist bemerkenswert einfach und schwer zu erkennen und zu verhindern. Sie können also sicher sein, dass ein Server viel Arbeit leistet, um ein CAPTCHA zu generieren, bereitzustellen und auf diese Weise herunterzufahren. Ein Bot-Net oder ein Cluster von Cloud-Computern kann jedoch schnell genug Datenverkehr generieren, um die Warteschlangen der meisten Webserver oder sogar vorher der Router und Firewalls zu überfluten.

Dies könnte in früheren Zeiten der Fall gewesen sein , wie 2013 oder so.



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...