IP Fragmentierungs-Angriffe – Was verbirgt sich dahinter?

  • Oliver Adam
  • Februar 14, 2018

Inhaltsverzeichnis

IP Fragmentierungs-Angriffe – Was verbirgt sich dahinter?

Um IP-Fragmentierungsangriffe zu verstehen, muss zunächst das Konzept von IP Fragmentierung verstanden werden. IP-Kommunikation dient dem Austausch von Datenpaketen im Internet. Auf dem Weg von der Quelle zum Ziel müssen die Pakete häufig über verschiedene Verbindungstechnologien/-systeme weitergeleitet werden.

Die Vielzahl an Technologien bringt die Einschränkungen mit sich, die zur Notwendigkeit der Fragmentierung von IP-Paketen führen können. Unterschiedliche Übertragungssysteme haben nämlich unterschiedliche MTUs (Maximum Transfer Units). Die MTU gibt die maximale IP-Paketlänge/-größe für einen gegebenen Netzwerktyp bzw. ein Übertragungssystem an. Die MTU ist durch das Netzwerk nach oben beschränkt, kennt nach in der Paketgröße nach unten jedoch keine Limitierung. Je kleiner sie ist, desto mehr werden die Nutzdaten bei der Übertragung fragmentiert. Hierbei fällt im Zusammenhang mit dem Begriff „MTU“ oft die Bezeichnung „MSS“ (Maximum Segment Size). Beide stehen in einem Zusammenhang, dürfen aber nicht verwechselt werden. Die MTU ist die maximale Größe des kompletten Datenpakets, wobei die MSS die Größe der Nutzdaten innerhalb des Pakets angibt.

Der Unterschied von MTU und MSS bei TCP/IP:

Description of an ethernet frame
Description of an ethernet frame (©Link11)

Unterschiedliche MTU-Größen verschiedener Netzwerktypen in Bytes:

Netzwerktyp MTU
Ethernet 1500
Token Ring   4Mbps 4464
Token Ring 16Mbps 17914
IEEE 802.3 1492
X.25 576
FDDI 4352

Die IP-Fragmentierung teilt die Pakete/Datagramme so auf, dass diese über den entsprechenden Netzwerktyp übertragen werden können. Der erneute Zusammenbau wird dem Ziel überlassen. Folgende Felder des IP-Headers spielen hierbei eine Rolle:

  • Source IP
  • Destination IP
  • Identification
  • Total Length
  • Fragment Offset
  • Flags

Beispiel eines fragmentierten IP-Datagramms:

Original Datagramm

Sequence Identifier Total Length DF May/Don’t MF Last/More Fragment Offset
0 567 5180 0 0 0

IP-Fragmente

Sequence Identifier Total Length DF May/Don’t MF Last/More Fragment Offset
0:0 567 1500 0 1 0
0:1 567 1500 0 1 185
0:2 567 1500 0 1 370
0:3 567 740 0 0 555

Wie kann man dies für Angriffe nutzen?

IP-Fragmentierung kann in mehrfacher Hinsicht für Angriffe missbraucht werden. Sie kann genutzt werden, um beim Zielsystem die IP-Kommunikation zu attackieren, aber auch, um Sicherheitskomponenten auf dem Weg zum Zielsystem zu attackieren.

Der erneute Zusammenbau (Defragmentierung) kann erst dann erfolgen, wenn alle Fragmente eingetroffen sind. UDP/ICMP-basierte Fragmentierungsangriffe senden meist gefälschte Fragmente, die nicht defragmentiert werden können. Das Vorhalten der Fragmente erfordert Speicher und kann somit im schlimmsten Falle zu einer Erschöpfung der Ressourcen im Bereich Speicher führen. Ein solcher Angriff könnte in Paketen folgender Art erfolgen:

Sequence Identifier Total Length DF May/Don’t MF Last/More Fragment Offset
0:0 100 1500 0 1 0
1:0 200 1500 0 1 0
2:0 300 1500 0 1 0
3:0 400 1500 0 1 0
4:0 500 1500 0 1 0
n:0 X 1500 0 1 0

 

Jedes Fragment stellt das erste Fragment eines Datagramms dar und kündigt weitere Fragmente an. Auf den bearbeitenden Hosts und Layer 7-Sicherheitskomponenten werden somit für alle „n“ Kommunikationen Ressourcen reserviert:

A TCP-based fragmentation attack
A TCP-based fragmentation attack (©Link11)

TCP-basierte Fragmentierungsangriffe (auch als Teardrop bekannt) hingegen attackieren meist die Defragmentierungsmechanismen der Zielsysteme oder Sicherheitskomponenten. Es werden überlappende Pakete gesendet, die je nach Betriebssystem sogar zu einem Absturz der Zielsystems führen können.

Neuer DDoS-Report für das 1. Halbjahr 2022
DDoS-Report: Zahl der Attacken im Monat auf über 7.000 gestiegen
X
Die Website ist als Entwicklungs-Website auf wpml.org registriert.