Freitag, 26. Februar 2010


Topthema

Donnerstag, 8. Juni 2006 | Topthema

About Security #58: Angriffe auf TCP/IP — DoS

(Link zum Artikel: http://www.entwickler.de/php/kolumnen/029170)

F�r Denial-of-Service-Angriffe (DoS) auf TCP/IP k�nnen Schw�chen in den Protokollen oder Implementierungsfehler in den Systemen ausgenutzt werden. 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 wird SYN-Flooding genannt.

N E U ! Security aktuell
T�glich aktuelle Security-Infos!

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.

'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 IP-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 IP-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 (s. About Security #46). Die Angriffe k�nnen verhindert werden, indem Broadcast-Pakete nicht in das lokale Netz weitergeleitet werden.

Ausnutzung von Implementierungsfehlern
'Ping of Death'
About Security: Die komplette Serie

Beim 'Ping of Death'-Angriff wurde eine Schwachstelle in der Implementierung vieler TCP/IP-Stacks ausgenutzt. IP-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 es 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 nicht mehr, da die Implementierungen der TCP/IP-Stacks entsprechend angepasst wurden. Einige Versionen f�r Windows waren 2005 noch durch Land-Angriffe verwundbar, die Schwachstelle wurde von Microsoft mit dem Security Bulletin MS05-019 behoben.

In der n�chsten Folge wird das Beispiel aus About Security #57 zum Abschluss gebracht und das Hijacking von TCP/IP-Verbindungen beschrieben.

Wenn Sie Fragen oder Themenvorschl�ge haben, k�nnen Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!

Carsten Eilers

About Security � �bersicht zum aktuellen Thema "Angriffe auf TCP/IP"

Kommentare

Folgende Links könnten Sie auch interessieren