Skip to content

Angriffe auf TCP/IP (2) - DoS

Für Denial-of-Service-Angriffe (DoS) auf TCP/IP können Schwächen in den Protokollen oder Implementierungsfehler in den Systemen ausgenutzt werden.

Schwächen in den Protokollen

SYN-Flooding

Die einfachste Möglichkeit eines DoS-Angriffs ist das Senden einer großen Anzahl von SYN-Paketen. Diese werden vom Opfer mit einem SYN/ACK-Paket beantwortet und eine TCP-Verbindung wird reserviert. Der Angreifer antwortet auf die SYN/ACK-Pakete nicht, sodass der 3-Wege-Handshake nicht vollendet wird. Die dadurch erzeugten halboffenen TCP-Verbindungen belegen beim Opfer Ressourcen, sodass nach einiger Zeit keine weiteren Verbindungen mehr angenommen werden können. Ein derartiger Angriff ist seit langen bekannt und wird SYN-Flooding genannt. Und wie es sich für einen alten Angriff gehört gibt es verschiedenen Maßnahmen, um ihn zumindest abzumildern.

UDP-Flooding

Ein weiterer Flooding-Angriff arbeitet mit UDP-Paketen. Das verbindungslose Protokoll UDP besitzt keine Möglichkeit, den Empfang eines gesendeten Pakets zu kontrollieren. Während TCP in der Lage ist, auf eine verzögerte Empfangsbestätigung mit dem Senken der Sendehäufigkeit zu reagieren, sendet UDP unverändert weiter. Da UDP-Pakete Vorrang vor TCP-Paketen haben, belegt der UDP-Verkehr nach einiger Zeit die gesamte Bandbreite einer Verbindung und unterbindet damit den TCP-Verkehr. Als Schutz vor UDP-Flooding können unerwünschte UDP-Pakete in der Firewall ausgefiltert werden.

'chargen-Angriff'

Das einfachste Beispiel für einen solchen UDP-DoS-Angriff ist ein 'chargen-Angriff'. Dazu wird der Zeichen erzeugende Dienst chargen eines Rechners mit dem die empfangenen Daten reflektierenden Dienst echo eines anderen Rechners verbunden. Der Angreifer sendet UDP-Pakete zum chargen-Port (19) seines Opfers und gibt als Quelle den echo-Port (7) und eine ggf. gefälschte Quelladresse an. Der so erzeugte 'UDP Packet Storm' kann bei geeigneter Wahl der IPv4-Adressen ein ganzes Netzwerk lahmlegen.

Smurf- und Fraggle-Angriffe

Ein weiterer DoS-Angriff ist über das Protokoll ICMP möglich. Wird ein Paket an eine Broadcast-Adresse geschickt, wird es an jeden Rechner im betreffenden Netzwerk weitergeleitet. Ein Angreifer kann eine Folge von ICMP-Echo-Paketen (ping) mit der IPv4-Adresse des gewünschten Opfers als Quelle an die Broadcast-Adresse des Netzwerks des Opfers senden. Alle Rechner im betroffenen Netzwerk antworten darauf mit einem ICMP-ECHO-REPLY-Paket an das Opfer, das davon überflutet wird. Der Broadcast dient dabei als Multiplikator: Wenn der Angreifer z.B. 1.000 Pakete/Sekunde an die Broadcast-Adresse sendet, auf die 100 Rechner antworten, empfängt das Opfer 100.000 Pakete/Sekunde. Ein solcher Angriff wird nach dem zum Angriff verwendeten Programm Smurf-Angriff genannt.

Das Verfahren wurde unter dem Namen Fraggle-Angriff auf das Protokoll UDP übertragen. Fraggle verwendet statt ICMP-  UDP-Echo-Pakete, das Programm wurde lediglich für die Verwendung des Protokolls UDP umgeschrieben.

Smurf- und Fraggle-Angriffe können z.B. für DoS-Angriffe auf Intrusion-Detection- oder -Prevention-Systeme eingesetzt werden, da der Aufwand für den Angreifer relativ gering ist. Die Angriffe können verhindert werden, indem Broadcast-Pakete nicht in das lokale Netz weitergeleitet werden.

Ausnutzung von Implementierungsfehlern

'Ping of Death'

Beim 'Ping of Death'-Angriff wurde eine Schwachstelle in der Implementierung vieler TCP/IP-Stacks ausgenutzt. IPv4-Pakete können einschließlich Header bis zu 65.535 Bytes lang sein. Pakete, die größer als die maximale Paketgröße des verwendeten Transportmediums sind, werden in Fragmente zerlegt, die vom Empfänger zusammengesetzt werden. Dabei bestimmt ein Offset-Wert die Position der einzelnen Fragmente. Wurde für das letzte Fragment ein Offset-Wert angegeben, der zusammen mit der Fragmentgröße einen größeren Wert als 65.535 Bytes ergab, kam es zu einem Pufferüberlauf. Der Name 'Ping of Death' entstand aus der Tatsache, dass die Schwachstelle meist über ICMP-Echo-Pakete (ping) ausgenutzt wurde.

Teardrop

Ähnlich arbeitet der Teardrop-Angriff: Die Fragmente wurden so erzeugt, dass sie sich überlappen, d.h. das zweite Fragment im ersten enthalten ist. Beim Zusammensetzen der Fragmente erkannten manche Systeme diesen Sonderfall nicht und er kam zu einem Absturz.

Land

Auch der Land-Angriff nutzt einen Implementierungsfehler, ist aber deutlich komplexer. Der Angreifer schickt ein SYN-Paket, bei dem Quell- und Zieladresse sowie -port identisch sind, an einen offenen Port des Opfers. Dieses antwortet mit einem SYN/ACK-Paket an die Quelle (d.h. sich selbst). Durch den Implementierungsfehler wurde dieses SYN/ACK-Paket als SYN-Paket betrachtet und erneut mit einem SYN/ACK-Paket beantwortet. Die dadurch entstehende Endlosschleife legte das System lahm.

Sowohl 'Ping of Death'- als auch Teardrop-Angriffe funktionieren heutzutage eigentlich nicht mehr, da die Implementierungen der TCP/IP-Stacks entsprechend angepasst wurden. "Eigentlich", weil es immer mal wieder Implementierungsfehler gibt, durch die einzelne Systeme und Systemversionen doch wieder anfällig werden. Und 2013 wurde eine IPv6-Variante des 'Ping of Death' in verschiedenen Windows-Versionen entdeckt und behoben.

In der nächsten Folge wird der Angriff aus der vorherigen Folge vervollständigt und das Hijacking von TCP/IP-Verbindungen beschrieben.

Carsten Eilers

>
        </div>
                
        <footer class= Kategorien: Grundlagen

Trackbacks

Dipl.-Inform. Carsten Eilers am : Angriffe auf TCP/IP (3) - Hijacking

Vorschau anzeigen
Ein Spoofing-Angriff ist sehr viel erfolgreicher, wenn er mit einem DoS-Angriff kombiniert wird Um den im Text zum Spoofing beschriebenen Angriff zu vollenden, kann ein SYN-Flooding-Angriff zum Ausschalten des vertrauenswürdigen

Dipl.-Inform. Carsten Eilers am : Angriffe auf TCP/IP (8) - Die Entwicklung der DDoS-Angriffe

Vorschau anzeigen
Während bei einem DoS-Angriff der Angriff von einem einzelnen Rechner ausgeht, nutzt der Angreifer bei einem Distributed Denial of Service (DDoS-)Angriff eine große Zahl von Rechnern. So genannte &quot;Distributed Denial of Service (DDoS) Attac