Was ist das Internet Control Message Protocol (ICMP)?

Mit dem Internet Control Message Protocol werden Netzwerkprobleme über das Internet diagnostiziert.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • ICMP definieren
  • Wie funktionieren Ping und Traceroute
  • Verstehen, wie das ICMP-Protokoll für DDoS-Angriffe verwendet werden kann

Link zum Artikel kopieren

Was ist das Internet Control Message Protocol (ICMP)?

Das Internet Control Message Protocol (ICMP) ist ein Protokoll der Netzwerkebene, das von Netzwerkgeräten zur Diagnose von Problemen bei der Netzwerkkommunikation verwendet wird. ICMP wird vor allem verwendet, um festzustellen, ob Daten ihr Ziel rechtzeitig erreichen oder nicht. Das ICMP-Protokoll läuft in der Regel auf Netzwerkgeräten, wie z. B. Routern. ICMP ist wichtig für die Fehlerberichterstattung und für Tests, kann aber auch für Distributed-Denial-of-Service (DDoS)-Angriffe verwendet werden.

Wofür verwendet man ICMP?

Der Hauptzweck von ICMP ist die Fehlermeldung. Wenn zwei Geräte eine Verbindung über das Internet herstellen, generiert ICMP Fehlermeldungen, die dem sendenden Gerät mitgeteilt werden, falls ein Teil der Daten nicht an das vorgesehene Ziel gelangt ist. Wenn beispielsweise ein Datenpaket zu groß für einen Router ist, verwirft der Router das Paket und sendet eine ICMP-Meldung an die ursprüngliche Quelle der Daten zurück.

Ein Nebenzweck des ICMP-Protokolls ist die Durchführung einer Netzwerkdiagnose. Die gängigen Terminal-Dienstprogramme Traceroute und Ping arbeiten beide mit ICMP. Das Dienstprogramm Traceroute wird verwendet, um den Routing-Pfad zwischen zwei Internetgeräten anzuzeigen. Der Routing-Pfad ist der tatsächliche physische Pfad der verbundenen Router, den eine Anfrage durchlaufen muss, bevor sie ihr Ziel erreicht. Die Reise zwischen zwei Routern nennt man „Hop“. Traceroute gibt auch die Zeit an, die für jeden Hop auf dem Weg benötigt wird. Diese Daten können nützlich sein, um Ursachen für Netzwerkverzögerungen zu bestimmen.

Das Dienstprogramm Ping ist eine vereinfachte Version von Traceroute. Ein Ping testet die Geschwindigkeit der Verbindung zwischen zwei Geräten und gibt genau an, wie lange ein Datenpaket benötigt, um sein Ziel zu erreichen und zum Gerät des Absenders zurückzukehren. Obwohl Ping keine Daten zu Routing oder Hops liefert, ist es dennoch eine sehr nützliche Metrik zum Messen der Latenz zwischen zwei Geräten. Zum Ausführen eines Pings werden ICMP-Echoanfrage- und Echoantwortnachrichten verwendet.

Leider können Netzwerkangriffe diesen Prozess ausnutzen und Mittel zur Störung schaffen, wie z. B. den ICMP-Flood-Angriff und den Ping-of-Death-Angriff.

Wie funktioniert ICMP?

Anders als das Internet Protocol (IP) ist ICMP nicht mit einem Protokoll der Transportebene wie TCP oder UDP verbunden. Das macht ICMP zu einem verbindungslosen Protokoll: ein Gerät muss keine Verbindung zu einem anderen Gerät aufbauen, bevor es eine ICMP-Nachricht sendet. Normaler IP-Traffic wird über TCP gesendet, d. h. zwei Geräte, die Daten austauschen, führen zunächst einen TCP Handshake durch, um sicherzustellen, dass beide Geräte bereit sind, Daten zu empfangen. ICMP öffnet eine Verbindung nicht auf diese Weise. Das ICMP-Protokoll erlaubt es auch nicht, einen bestimmten Port auf einem Gerät anzusteuern.

Wie wird UDP bei DDoS-Angriffen verwendet?

ICMP-Flood-Angriff

Bei einer Ping-Flood oder ICMP-Flood versucht der Angreifer, ein Zielgerät mit ICMP-Echo-Request-Paketen zu überfluten. Das Zielgerät muss jedes Paket verarbeiten und beantworten und verbraucht dabei seine Computerressourcen, bis legitime Nutzer keinen Service mehr erhalten.

ICMP Flood-Angriff:

Ping of Death-Angriff

Bei einem Ping-of-Death-Angriff sendet der Angreifer dem Zielcomputer einen Ping, der größer ist als die maximal zulässige Paketgröße, sodass der Computer einfriert oder abstürzt. Das Paket wird auf dem Weg zum Ziel fragmentiert, aber wenn das Ziel das Paket wieder in seiner ursprünglichen, die maximale Größe überschreitenden Form zusammensetzt, verursacht die Größe des Pakets einen Pufferüberlauf.

Der "Ping of Death"-Angriff ist heute weitgehend Geschichte. Ältere Netzwerkgeräte können jedoch immer noch anfällig dafür sein.

Smurf-Angriff

Bei einem Smurf-Angriff sendet der Angreifer ein ICMP-Paket mit einer gefälschten Quell-IP-Adresse. Die Netzwerkausrüstung antwortet auf das Paket, sendet die Antworten an die gefälschte IP-Adresse und überflutet das Opfer mit unerwünschten ICMP-Paketen. Wie der Ping of Death ist auch der Smurf-Angriff heute nur mit veralteten Geräten möglich.

ICMP ist nicht das einzige Protokoll der Netzwerkebene, das bei DDoS-Angriffen auf Ebene 3 verwendet wird. Angreifer haben in der Vergangenheit zum Beispiel auch GRE-Pakete verwendet.

DDoS-Angriffe auf Netzwerkebene zielen in der Regel auf Netzwerkausrüstung und Infrastruktur ab, im Gegensatz zu DDoS-Angriffen auf Anwendungsebene, die auf Websites abzielen. Cloudflare Magic Transit ist eine Möglichkeit, sich gegen DDoS-Angriffe auf Netzwerkebene zu schützen.