fbpx

35 Arten von DDoS Agriffen

Veröffentlicht von Stefan Schreiner am

35 Arten von DDoS Angriffe haben nichts mit dem Martial Arts Film die 36igste Kammer der Shaolin zu tun.

DDoS Angriffe nehmen laut Akamai Report im Quartal um rund 9% zu. Ob das so bleiben wird hängt auch davon ab, ob und wie das Thema Sicherheit und IoT weiter gehandhabt wird. Vor allem Untersuchungen von Vtrust, die am 35. Chaos Computer Congress präsentiert wurden, zeichnen ein düsteres Bild. IoT Geräte bieten sich als Basis für BOT Netzwerke an und mit der Migration auf IPv6 hat jedes Gerät auch eine echte eigene Adresse.

DDoS Angriffen können verschiedene Methoden zu Grunde liegen. Eine Möglichkeit der Klassifizierung ist nach dem OSI Schichtenmodell. Das OSI Schichtenmodell ist in diesem Fall nur ein grober Rahmen, denn es kommt vor, dass es Überschneidungen, Vermischungen, von OSI Schichten und Funktionalitäten von Kopplungselementen gibt. Zum Beispiel kann es vorkommen, dass ein Router, als Layer drei Switch auch die Funktionalität eines Layer fünf Switch erfüllt – vor allem in aktuellen Software Defined Networks (vgl.: SDN)

DDoS Angriffe zielen darauf ab die Erreichbarkeit eines Dienstes zu unterbinden. Häufig sind System- oder Netzwerkressourcen das Angriffsziel (vgl.: Layer drei und vier nach OSI Modell). Hinzukommt allerdings, dass ein Angriff auf Anwendungsebene (vgl.: Layer sieben nach OSI Modell). Die Art und Weise, ein eindeutiges Muster, der Angriffe gibt es nicht. Angriffe wandeln sich fast jedes Mal in Umfang und Art. Ein Hinweis darauf ist, dass es Dienste gibt, die anbieten den Schadcode dort auf Auffälligkeit gegenüber zum Beispiel Antiviren Software zu testen. Automatisch wird Schadsoftware so angepasst, dass keine der gängigen Lösungen die Gefährdung erkennt. (Anm.: Nachzulesen unter anderem im Blog von Brian Krebs)

Brian Krebs ist selbst Opfer einer der größten DDoS Angriffe, wenn nicht sogar des größten Angriffs bis heute, geworden. Nach einiger Zeit und Beobachtung kann man sagen, dass dieser Angriff, vor allem einen Reputationsschaden bei seinem damaligen Provider verursacht hat. Krebs wurde von seinem damaligen Provider danach aufgefordert seinen Blog zu einem anderen Provider zu transferieren. Aktuell dürfte Krebs die Dienste von Google Project Shield in Anspruch nehmen.

Die folgende Aufzählung stellt keinen Anspruch auf Vollständigkeit dar.

  1. Angriff auf Anwendungsebene
    Datenbank, oder Webseite als Angriffsziel, um über diese Schwachstelle die Verfügbarkeit des gesamten System einzuschränken. Die Schwachstelle ist bekannt, aber nicht behoben. In der Regel betrifft das Content Management Systeme (vgl.: Joomla, WordPress, uvm.) die durch Schwächen im Code dazu gebracht werden alle verfügbaren Ressourcen, wie RAM, CPU etc voll auszulasten. Meist in der Form von SQL Injection uä.

  2. Zero Day
    Beschreibt eine Art von Angriff bei der eine bis dato nicht bekannte Schwachstelle ausgenutzt wird, um die Verfügbarkeit zu unterbinden. Hierfür gibt es auf lokaler Seite meist keine aktive Maßnahmen – weil der Patch fehlt. Reaktiv kann der erkannte Auslöser meist gefiltert werden. Eine Gewährleistungen der vollen Funktionalität und Verfügbarkeit der Informationen kann aber nicht gewährleistet werden.
  3. Ping Flood
    Ziel ist es so viele ICMP (vgl.: Internet Control Message Protocol) Anfragen an den Rechner zu schicken bis die verfügbare Bandbreite und die lokalen Netzwerkressourcen erschöpft ist. Diese Art von Angriff erscheint wie regulärer Verkehr. Die Sinnhaftigkeit von ICMP Echo Requests – aka Ping – in öffentlichen Netzen ist nicht immer gegeben.

  4. IP Null Attack
    IP v4 führt im Kopf des Netzwerkpakets Metadaten mit. Unter anderem welches Transport Protokoll benutzt wird, wie TCP, UDP, oder ICMP. Dieses Feld wird auf den Wert NULL gesetzt und es kann passieren, dass Firewalls dieses Paket durchlassen, weil keine Regel dafür vorgesehen ist. Der betroffene Server wird Rechenleistung dafür verbrauchen, um die Pakete selbst zu verwerfen.
  5. CharGEN Flood
    Ein altes Protokoll, dass für einen Angriff benutzt werden kann. DNS und NTP Angriffe bilden quasi die Vorlage für diese Art von Angriffen.
    CharGEN wird auch heute noch bei Druckern und Scanner nicht deaktiviert. Indem mehrfach ein Paket mit der IP Adresse des Opfers an dieses Geräte gesendet wird kann eine Flut an UDP Paketen auf Port 19 ausgelöst werden. Dem Opferrechner können seine Ressourcen ausgehen und er geht offline, oder startet sogar neu.

  6. SNMP Flood
    Ein SNMP Angriff ist einem CharGEN Angriff sehr ähnlich. Es werden SNMP Pakete mit der IP Adresse des Opferrechners an das Gerät mit aktivierten SNMP gesendet. Der Verstärkungseffekt bei SNMP ist wesentlich größer als bei DNS und CharGEN. Zumindest SNMPV1 und SNMPV2 gelten als unsicher. SNMPV3 sollte bezüglich Authentifizierung und Autorisierung abgesichert werden.
    Wie üblich ist es das Ziel dem betroffenen Opferrechner die Ressourcen ausgehen zu lassen.

  7. NTP Flood
    Analog zu den CharGEN und SNMP funktioniert auch ein NTP Angriff.

  8. SSDP Flood
    Auch nicht anders verhält es sich bei einem SSDP Angriff. SSDP ist in der Regel bei UPnP Geräten im Einsatz, also bei fast allen, was zu Hause hinter dem Router steht….

  9. Other Amplified DDoS Attacks
    Einige andere Protokolle, wie NetBIOS, QOTD, BitTorrent, Kad, Quake Network Protokoll, Steam Protokoll können für die selbe Art von Angriffen verwendet werden.

  10. Fragmented HTTP Flood
    Ein bekanntes Problem und aber schwer zu behandeln. Es wird eine Verbindung mit einer gültigen IP Adresse zum Opferrechner aufgebaut. Der Angreifer fragmentiert seine Anfrage in möglichst kleine Pakete und sendet sie so langsam, dass gerade kein Time Out durch den Opferrechner erfolgt. Der Angreifer kann so mit einer geringen Anzahl von Bots/ Clients den Opferrechner zumindest blockieren, wenn nicht sogar stoppen.

  11. HTTP Flood
    Eine eher einfache Methode durch senden einer so großen Menge an HTTP Requests (vgl.: GET, POST, etc…), dass der Server ausfällt. Kombiniert man mehrere Bots, die diese Requests an den Opferrechner schicken, dann fällt das auch unter DDoS Angriff. Wobei in der Regel hier die IP Adresse zumindest des Bots sichtbar ist.

  12. Single Session HTTP Flood
    Hier handelt es sich um eine ungute Eigenschaft von der Spezifikation von HTTP 1.1. In einer HTTP Sitzung können mehrere Anforderungen an den Opferrechner abgesetzt werden. Damit kann der Angreifer mögliche Maßnahmen, wie Begrenzung der Anzahl von Sitzungen umgehen.

  13. Single Request HTTP Flood
    Ähnlich wie Single Session, nur werden in der Sitzung auch mehrere Requests abgesetzt, aber dieses Requests werden maskiert als ein HTTP Paket.

  14. Recursive HTTP GET Flood
    Schon etwas anspruchsvollerer Angriff bei dem der Angreifer einen regulären Seitenbesucher imitiert, der durch die Seite scrollt und dabei Bilder und sonstige Ressourcen lädt. Wird auch gerne in Kombination mit HTTP Flood gemacht

  15. Random Recursive GET Flood
    Ähnlich, wie ein normaler rekursiver Angriff, aber in diesem Fall werden Seiten Referenznummern durcheinandergewürfelt, um keine offensichtliche Folge erkennen zu lassen. Wird hauptsächlich verwendet bei Diskussionsforen, News Seiten uä.

  16. Multi Vector Attacks
    Eine Kombination von zwei oder mehreren Arten von DDoS Angriffen. Die Art eines Angriffs wird auch als Angriffsvektor bezeichnet. Den Kombinationsmöglichkeiten sind keine Grenzen gesetzt. Eine häufig auftretende Kombination ist die von rekursiven GET Angriffen in Verbindung mit einer Flut von HTTP Angriffen. Durch die Kombination wird vor allem eine Verstärkung in der Wirkung bezweckt. Je stärker die Wirkung, Verschachtelung, ist, desto größer ist der Aufwand auf Seiten der Verteidigung dem Angriff Herr zu werden. In erster Linie das Erkennen der einzelnen Vektoren stellt einen zeitkritischen Moment dar.
  17. SYN Flood
    Betrifft das Design von TCP (vgl.: Transmisssion Control Protocol), dass einen dreistufigen Verbindungsaufbau vorsieht. Über ein Bot Netz werden eine Flut an Verbindungsanfragen geschickt (vgl.: SYN – synchronize), für jede dieser Anfragen wird auf der Gegenseite ein Anschluss (vgl.: Port) geöffnet (vgl.: SYN-ACK – synchronize aknowledgement) und auf eine Antwort gewartet (vgl.: ACK – acknowledgement). Finale Antwort des Angreifers kommt natürlich nicht. Konsequenz ist, dass bei dem Opferrechner die Ressourcen ausgehen und eingehende Pakete nicht angenommen und gefiltert werden können.

  18. SYN-ACK Flood
    Der Angriff erfolgt nicht direkt sondern bedient sich einer Zwischenstufe mit Hosts, die als Proxy dienen. Jeder Proxy bekommt ein Verbindungsanforderung (vgl.: SYN) mit einer gefälschten Quelladresse. Als Quelladresse, die die Anforderung zum Verbindungsaufbau angeblich ausgelöst hat, wird die Adresse des Opferrechners geführt. Die Proxy Rechner senden daraufhin eine Bestätigung (vgl.: SYN-ACK) nicht an den Absender, sondern an die gefälschte Adresse, nämlich den Opferrechner.

  19. ACK & ACK-PUSH Flood
    Bei einem ACK oder ACK-PUSH Angriff werden gefälschte ACK, oder ACK-PUSH, Pakete gesendet, die zu keiner aktuellen Sitzung gehören. Weder die Firewall mit Ihrem State-Table noch der Server mit seiner Verbindungsliste können diese Pakete zuordnen. Konsequenz ist, dass Ressourcen ohne Nutzen verbraucht werden, die zu einer Nichtverfügbarkeit führen können.

  20. ACK Fragmentation Flood
    Arbeitsweise wie ACK & ACK-PUSH Flood, nur werden die Pakete fragmentiert, sodass sie maximal die Größe von 1500 Bytes aufweisen. (Vgl.: Ethernet Frame Größe) Unterschied ist, dass diese Art von Paketen sehr wahrscheinlich beim Zielrechner aufschlagen, weil ein Router diese Pakete in der Regel nicht zusammensetzt – zumindest nicht auf IP Ebene. Damit können also nicht nur Opferrechner erreicht werden, sondern auch Router, die dazwischen liegen, ressourcenmäßig belastet werden.

  21. FIN/RST Flood
    Am Ende einer TCP Verbindung wird über RST (vgl.: RESET) oder FIN (vgl.: FINALIZE) angezeigt, dass die Sitzung dieser Verbindung beendet wird. Die Sitzung hält den Socket für die Verbindung. Der Opferrechner erhält in diesem Fall eine große Anzahl an gefälschten RST oder FIN Paketen. Diese können keiner aktuellen Sitzung zugeordnet werden. Die Abarbeitung dieser ungültigen Anfragen kostet Ressourcen.

  22. Synonymous IP Attack
    Hier werden viele SYN Pakete an den Opferrechner geschickt mit seiner eigenen IP Adresse als Quelle und Ziel. Der Inhalt der Pakete ist nicht wirklich relevant. Relevant ist vor allem der Ressourcenverbrauch, um diese Verbindungen zu verwerfen.
  23. Spoofed Session Flood
    Kann auch als Fake Session Angriff bezeichnet werden. Diese Art von Angriff ist um einiges schwieriger zu erkennen. Vor allem dann, wenn der Netzwerkverkehr asymmetrisch verteilt wird. Verschiedene Verbindungen zum Senden und Empfangen werden verwendet um Leistung und Kosten zu optimieren. Das heisst aber auch in weiterer Folge, dass meist nur der eingehende Verkehr überwacht wird und nicht auch noch der dazugehörende ausgehende Verkehr.
    Das Vorgehen ist das Vortäuschen einer echten Verbindung in dem mehrere SYN, dann folgend mehrere ACK und schlussendlich FIN/RST Pakete gesendet werden. Zeitweise wird auch der erste Schritt übersprungen und gleich mit den ACK Paketen begonnen. SYN Pakete als Indikator für diese Art von Angriff zu verwenden scheitert meistens daran, da die Frequenz (vgl.: rate/time) geringer ist als bei herkömmlichen Angriffen.

  24. Multiple SYN-ACK Spoofed Session Flood
    Eine Abart einer Spoofed Session, unterscheidet sich vor allem durch die große Anzahl an SYN und ACK Paketen.

  25. Multiple ACK Spoofed Session Flood
    Eine Abart einer Spoofed Session, wie bereits oben beschrieben wird das Senden von SYN Paketen übersprungen und gleich mit dem Senden von ACK Paketen begonnen, gefolgt von FIN/RST Paketen.

  26. Session Attack
    Bei dieser Art von Angriff baut jeder Bot eine vollständige, echte, IP Verbindung auf. Die Sitzung wird so lange wie möglich gehalten, meist durch Verzögern des ACK Paketes. Diese Leersitzungen am Server gehen zu Lasten der verfügbaren Ressourcen auf dem Opferrechner. Der Opferrechner beendet diese Leersitzungen in der Regel durch ein Time Out.

  27. Misused Application Attack
    Auch schon etwas älter, aber trotzdem wirkungsvoll. Ziel ist der Hub, Knoten, Verteiler, eines P2P Netzwerks. Der kompromittierte P2P Hub instruiert die registrierten Clients sich am eigentlichen P2P Netzwerk abzumelden und sich mit dem Opferzielsystem zu verbinden. Daraus entsteht eine Vielzahl an korrekten und offiziellen Verbindungsversuchen, die das Opfersystem schnell an den Rand der Verfügbarkeit bringen können.

  28. UDP Flood
    Hier geht es vor allem darum die verfügbare Bandbreite einzuschränken oder sogar vollständig zu belegen. Das erfolgt über eine große Menge an gefälschten UDP Paketen. UDP ist ein verbindungsloses Protokoll, also ist es (fast) unmöglich diese Pakete einem Prozess für zuzuordnen.

  29. UDP Fragmentation Flood
    Der Angreifer schickt große UDP Pakte (vgl.: mehr als 1500 Bytes – ethernet frame size), um mehr Bandbreite mit weniger Paketen zu verbrauchen. Solche Pakete werden in Pakete, die kleiner als 1500 Bytes sind aufgeteilt. Da diese Pakete in der Regel gefälscht sind können Sie aber in der Regel nicht mehr zusammengesetzt werden. Der Versuch kostet am Ziel-, Opferrechner, dann aber nicht nur Bandbreite, sondern geht dann auch auf lokalte Ressourcen, wie Rechenleistung und Arbeitsspeicher. Um das zu vermeiden kann es passieren, dass zum Beispiel die Firewall anfängt Pakete zu verwerfen – gute, wie auch schlechte Pakete (vgl.: „early random drop“ Prozess)

  30. DNS Flood
    Eine sehr verbreitete Angriffsart, die in der Natur des DNS begründet ist. Der DNS Server wird mit einer großen Menge an gefälschten DNS Anfragen überschüttet. Der DNS Server kann in der Regel nicht zwischen zulässiger und unzulässiger Anfrage unterscheiden und geht durch die schiere Menge an Anfragen unter. Der Angriff zielt darauf ab möglichst die volle verfügbare Bandbreite des Netzwerks auszunutzen.

  31. VoIP Flood
    Ein UDP Angriff auf Anwendungsebene. Die betroffene Anwendung ist ein VoIP (vgl.: Voice Over IP) Server. Es wird das vorhandene IP Netzwerk für vor allem Sprachtelefonie verwendet. (Anm.: Meist ist der Entscheidungsgrund für VoIP, dass der Aufwand auf eine Netzwerktype, IP, konzentriert werden kann – Know How, Material, etc. Aber man setzt sich auch somit den Gefahren eines IP Netzwerk aus, die in einem proprietären Telefonnetzwerk nicht vorhanden sind).
    Der Angriff ist so gestaltet, dass der Opfer VOIP Server eine große Menge an gefälschten VoIP Anfragen (vgl.: Requests) – Quelladresse ist falsch – empfängt. Die entstehende Last am VoIP Server kann dazu führen, dass der Dienst nicht mehr verfügbar ist. Eine Unterscheidung zwischen zulässigem und unzulässigem Verkehr ist zumindest sehr schwer. Konsequenz ist meist ein Neustart und ein Ausschöpfen aller verfügbaren Ressourcen – vor allem Netzwerk.

  32. Media Data Flood
    Analog zu einem VoIP Angriff ist diese Art, dieser Vektor, zu beschreiben. Ein Medienserver, für Audio und/ oder Video, wird mit einer sehr großen Anzahl an gefälschten Anfragen überflutet. Das geht zu Lasten der verfügbaren Netzwerkbandbreite, wie auch der lokalen Ressourcen (vgl.: RAM, CPU, etc)

  33. Direct UDP Flood
    Bei dieser Art des Angriffs wird die IP Adresse des BOT nicht maskiert. Die Anzahl der verwendeten IP Adressen entspricht auch der Anzahl der beteiligten BOT Rechner. Der Opferrechner wird mit einer großen Anzahl von korrekten UDP Anfragen attackiert. Ein Unterschied zu zulässigen Verkehr ist auch hier meist sehr schwer zu treffen.
  34. ICMP Flood
    Wie auch UDP ist ICMP ein verbindungsloses Protokoll. Ein Angreifer kann eine große Menge an gefälschten ICMP Paketen mit gefälschten Quell IP Adressen senden. Damit wird auf der Opferseite jeder beliebige Rechner, oder auch ein dedizierter, bei Angabe von Zielanschluß und -adresse (vgl.: Port und IP) im Paket, angegriffen. Hier ist vor allem die Ausnutzung der kompletten Bandbreite das Ziel des Angriffs.

  35. ICMP Fragmentation Flood
    Der Opferrechner bekommt eine große Anzahl an fragmentierten ICMP Paketen, die zusammengesetzt inkonsistente Information enthalten. Das geht vor allem zu Lasten der Ressourcen des Opferrechners.