it-swarm.com.de

Normale Nutzung vs. Denial-of-Service? Wie viele Anfragen sind erforderlich, um über einen Denial-of-Service zu sprechen?

Kürzlich habe ich ein Tool zum Herunterladen einer Website verwendet und als Teil des Tools konnte die Anzahl der parallelen Verbindungen angepasst werden. Jetzt fragte ich mich: Ausgehend von der Anzahl der Anfragen, die ein Anbieter als Denial-of-Service bewerten könnte. Ich habe gegoogelt, aber keine bestimmten Zahlen oder zumindest Hinweise darauf gefunden, über welche Dimensionen wir sprechen. Gibt es eine Definition, z. wie 100 Anfragen pro Sekunde?

Meine Frage lautet also: Wie viele Anfragen sind erforderlich, um anzuzeigen, dass ein Denial-of-Service durchgeführt wird?

pdate : Der technische Hintergrund ist definitiv von Interesse. Ich verstehe, dass ein bösartiges Paket ausreichen könnte, um einen Denial-of-Service zu verursachen, oder dass der Slashdot-Effekt ein anderer ist. Was ich jedoch wissen wollte, war eher eine Regel im Firewall-Stil: Einige Server/Dienstanbieter blockieren Benutzer, die in einem bestimmten Zeitraum zu viele Anforderungen senden. Über welche Dimension sprechen wir hier? Oder ist das zu spezifisch? Wenn ja, wie würde Ihre Regel aussehen?

Die Frage hatte auch eine rechtliche Komponente - lassen Sie mich ein hohes (!) Theoretisches Szenario veranschaulichen:

Ein Dienstanbieter überprüft seine Protokolle und stellt fest, dass von einer einzelnen IP-Adresse hoher Datenverkehr aufgetreten ist. Jetzt geht der Anbieter vor Gericht (aus welchem ​​Grund auch immer) und bezeichnet dies als versuchten Denial-of-Service. Der Richter würde wahrscheinlich nach ihrer Definition eines DoS fragen. "Alles, was über den normalen Gebrauch hinausgeht" wäre ihre Antwort. Wo liegt also die Schwelle zwischen normaler Nutzung und "keiner" normalen Nutzung (was als versuchter DoS interpretiert werden könnte, selbst wenn der Server völlig unbeeindruckt bleibt und dies wahrscheinlich ein hoch konstruiertes Szenario ist ;-)

27
Lonzak

Ich habe darüber diskutiert, dies zu einer Antwort zu machen, es könnte besser als Kommentar sein.

Schauen wir uns Ihre Frage aus beiden Blickwinkeln an.

vom Host

Etwas wird zu einem DoS, wenn der Verkehr oder was dieser Verkehr tut, dazu führt, dass der Server für andere nicht verfügbar ist. Einige Beispiele;

  • 500 Mal einen Bericht mit langer Laufzeit ausführen
  • schnelle Aktualisierung auf einer Website, die damit nicht umgehen kann
  • verwenden Sie Ihre größere Bandbreite, um die Upload-Pipe zu füllen, damit andere an Geschwindigkeit verlieren.
  • scraping der Website auf eine Weise, die dazu führt, dass der Host nicht auf andere reagiert.

Alle diese Beispiele sind möglich, aber nicht wahrscheinlich. Wenn wir über einen DoS-Angriff sprechen, sprechen wir über eine Person/einen Client, die/der all dies tut, und die meisten Webserver sind so eingestellt, dass sie Hunderte oder Tausende von Anforderungen gleichzeitig verarbeiten. Deshalb ist DDoS so beliebt. Weil es mehr als einen Client braucht, um einen normalen Server zu überlasten (unter normalen Umständen).

Um die Komplikation zu erhöhen, verwenden viele Kunden Ihre Website möglicherweise nach etwas Marketing zum ersten Mal. Manchmal ist es nicht einmal Ihr Marketing, das es auslöst. Zum Beispiel kann eine beliebte Handy-Version zu einem Anstieg des Datenverkehrs auf Ihrer Website führen. Es kann sehr schwierig sein, DDoS-Verkehr von legitimem Verkehr zu unterscheiden.

Es gibt jedoch einige Grundregeln. Was Sie im Grunde suchen, ist eine abnormale Nutzung.

  • Gibt es Benutzer, die viel mehr herunterladen als andere?
  • Gibt es Benutzer, die viel länger in Verbindung bleiben als andere?
  • Gibt es Benutzer, die sich viel häufiger wieder verbinden als andere?

Diese und andere Anleitungen können Ihnen dabei helfen, herauszufinden, welcher Datenverkehr Teil eines DDoS-Angriffs ist, und eine Art Filter anwenden.

Aus dem POV des Benutzers

Wenn Sie sich entscheiden, eine Website zu durchsuchen, sollten Sie zuerst prüfen, ob sie eine Richtlinie enthält. Einige Websites tun dies und andere nicht. Einige Websites betrachten es als Diebstahl, andere nicht. Wenn eine Site keine Richtlinie hat, müssen Sie Ihren eigenen Anruf tätigen.

Ihr Ziel ist es, wenn sie keine festgelegte Richtlinie haben, klar anzugeben, dass Ihr Scraping (maskieren Sie nicht den Benutzeragenten oder den Header, den Ihr Tool möglicherweise verwendet), und versuchen Sie, eine möglichst geringe Auswirkung zu erzielen. Können Sie je nach Bedarf an Scraping nur ein paar Seiten kratzen oder benötigen Sie wirklich die gesamte Site? Können Sie mit einer "normalen Benutzer" -Rate kratzen, vielleicht 1 Seite alle 5 Sekunden oder so (einschließlich Medieninhalt)? Wenn Sie die Daten schnell erfassen möchten, können Sie dann einfach die Textdateien erfassen und nicht die Bilder und andere Medien? Können Sie lang laufende Abfragen und größere Mediendateien ausschließen?.

Sie haben hier vor allem das Ziel, die Hosting-Kosten des Hosts und die anderen Benutzer der Website zu respektieren. Langsamer ist in diesem Fall normalerweise besser. Wenn möglich, kontaktieren Sie den Website-Eigentümer und fragen Sie ihn. Befolgen Sie auf jeden Fall die Regeln in der Datei robots.txt. Es kann ein Ratenlimit und Seitenlimits geben, denen Sie folgen sollten.

5
coteyr

Genug, um den Dienst jemandem zu verweigern. Möglicherweise handelt es sich um eine unerwartete böswillige Anforderung, die den Server übermäßig belastet. Es könnten mehrere Millionen erwartete Anfragen von einer Fernsehwerbung mit einer wirklich guten Antwort sein.

Es gibt keinen bestimmten Wert, da alle Server auf verschiedenen Ebenen ausfallen. Das Bereitstellen statischer Inhalte ist auf dem Server viel einfacher als das Generieren hochgradig angepasster Inhalte für jeden Benutzer. Daher haben authentifizierte Dienste im Allgemeinen einen niedrigeren "Problem" -Schwellenwert als nicht authentifizierte Einsen. Server, die dieselbe Datei an mehrere Benutzer senden, können möglicherweise mehr Datenverkehr verarbeiten als Server, die unterschiedliche Dateien an mehrere Benutzer senden, da sie die Datei im Speicher halten können. Ein Server mit einer schnellen Verbindung zum Internet kann normalerweise mehr Verkehr verarbeiten als ein Server mit einer langsamen Verbindung. Die Unterscheidung hängt jedoch möglicherweise weniger davon ab, wenn der generierte Verkehr CPU-gebunden ist.

Ich habe Systeme gesehen, die bei 3 Anforderungen pro Sekunde ausfallen. Ich habe auch Systeme gesehen, die alles bis zu 30.000 Anfragen pro Sekunde verarbeiten, ohne ins Schwitzen zu geraten. Was für die erste ein DoS wäre, wäre für die zweite eine verkehrsarme Zeit ...

Aktualisiert, um auf das Update zu reagieren

Wie bestimmen Firewall-Anbieter, wann der Datenverkehr einen Denial-of-Service verursacht?

Normalerweise achten sie auf Antwortzeiten vom Server und drosseln den Datenverkehr, wenn sie ein voreingestelltes Limit überschreiten (dies kann auf technischer Basis oder auf Marketingbasis entschieden werden - das Warten von x Sekunden führt dazu, dass Benutzer das Programm verlassen) oder wenn Die Serverantworten ändern sich von erfolgreich (200) zu Serverausfall (50x).

Was ist eine rechtliche Definition von "Denial of Service"?

Das gleiche wie das Original, das ich gegeben habe - es ist kein Denial-of-Service, wenn der Service nicht verweigert wurde. Es könnte missbräuchlich sein, aber das wäre nicht ganz dasselbe.

45
Matthew

Wenn Sie eine Website herunterladen (oder kratzen), senden Sie im Grunde viele GET-Anfragen für jede URL auf der Zielwebsite.

Dies ist ein Beispiel für eine GET-Anfrage von der Website des World Wide Web Consortium:

GET /pub/WWW/TheProject.html HTTP/1.1

Gastgeber: www.w3.org

Wie Sie sehen, ist das Hauptproblem nicht die Anfrage, sondern die Antwort des Webservers, der Ihnen die gesamte durch die angegebene URL identifizierte Ressource sendet.

Deshalb können wir das sagen

Maximale Anzahl von Anforderungen pro Sekunde = (Sicherheitsfaktor * Bandbreite)/Maximale Größe einer Webseite

Nach einer schnellen Google-Suche beträgt die durchschnittliche Größe einer Webseite etwa 2 MB, und die Bandbreite eines Webservers kann zwischen einigen Mbit/s und einigen Tbit/s liegen.

Der Sicherheitsfaktor hängt mit der Tatsache zusammen, dass Sie möglicherweise keine Anzahl von Anforderungen senden müssen, die 100% der Bandbreite entsprechen, um einen DoS-Angriff auszulösen. Wenn der Webserver beispielsweise eine Bandbreite von 100 Mbit/s hat und 50% davon zu einem bestimmten Zeitpunkt für andere Benutzer verwendet werden, reicht es aus, eine Anzahl von Anforderungen zu senden, die 50% oder sogar einem geringeren Prozentsatz der Bandbreite entsprechen .

50% von 100 Mbit/s = 50 Mbit/s, was 25 durchschnittlichen GET-Anforderungen pro Sekunde entspricht.

Wenn andererseits niemand die Website besucht, müssten Sie mindestens 80% der Bandbreite verwenden, um ein DoS zu verursachen, und 80% von 100 Mbit/s = 80 Mbit/s, was 40 GET-Anforderungen pro entspricht zweite.

Um (unbeabsichtigt) eine riesige Website mit einer Bandbreite von 1 Tbit/s zu erstellen, müssten Sie mindestens (80% von 1 Tbit/s)/2 Mbit/s = 400.000 GET-Anforderungen pro Sekunde senden. Und so weiter.

Um eine genauere Messung zu erhalten, müssten Sie die maximale Größe einer Webseite auf der Zielwebsite und deren Bandbreite ermitteln.

Warnung : Da Sie möglicherweise Probleme bekommen könnten, weil Sie einen Denial-of-Service verursachen, ist es besser, die Anzahl der Anfragen pro Sekunde abzurunden, die Sie über die vorherige Formel erhalten.

6
A. Darwin

Um auf Matthews Antwort in Bezug auf Philip Rowlands Kommentar aufzubauen:

Die allgemeine Faustregel für die Definition des DoS-Verkehrs lautet Kontext.

Wenn Sie gerade eine Fernsehwerbung im Superbowl geschaltet haben, können Sie davon ausgehen, dass die sich daraus ergebende Verkehrsflut kontextuell nicht böswillig ist (ob sie einen Dienstausfall verursacht, ist irrelevant).

Wenn es nur ein weiterer Dienstagmorgen ist und Ihre Website ohne erkennbaren Grund mit Anfragen überflutet wird, kann davon ausgegangen werden, dass der Datenverkehr böswillig ist (oder zumindest verdächtig ist, z. B. unbekannter reddit-Beitrag im Gegensatz zu einem gezielten Angriff). .

4
WorseDoughnut