ICMP (Internet Control Message Protocol)

ICMP (Internet Control Message Protocol) ist ein Fehlerberichtsprotokoll, das Netzwerkgeräte wie Router verwenden, um Fehlermeldungen an die Quell-IP-Adresse zu generieren, wenn Netzwerkprobleme die Zustellung von IP-Paketen verhindern. ICMP erstellt und sendet Nachrichten an die Quell-IP-Adresse, die angeben, dass ein Gateway zum Internet, z. B. ein Router, ein Dienst oder ein Host, für die Paketzustellung nicht erreichbar ist. Jedes IP-Netzwerkgerät kann ICMP-Nachrichten senden, empfangen oder verarbeiten.

ICMP ist kein Transportprotokoll, das Daten zwischen Systemen sendet.

Obwohl ICMP in Endbenutzeranwendungen nicht regelmäßig verwendet wird, wird es von Netzwerkadministratoren zur Fehlerbehebung bei Internetverbindungen in Diagnoseprogrammen wie Ping und Traceroute verwendet.

Wofür wird ICMP angewendet?

ICMP ist ein Netzwerkschichtprotokoll, das von Routern, Zwischengeräten und Hosts verwendet wird, um Fehlerinformationen oder Updates an andere Router, Zwischengeräte und Hosts zu kommunizieren.

ICMP-Nachrichten werden in mehreren Szenarien gesendet. Wenn beispielsweise ein Gerät eine Nachricht sendet, die für den Empfänger zu groß ist, um sie zu verarbeiten, löscht der Empfänger diese Nachricht und sendet eine ICMP-Nachricht zurück an die Quelle. Ein anderes Beispiel ist, wenn das Netzwerkgateway eine kürzere Route für die Nachricht findet. In diesem Fall wird eine ICMP-Nachricht gesendet und das Paket auf die kürzere Route umgeleitet.

ICMP wird auch für die Netzwerkdiagnose verwendet, insbesondere für die Terminaldienstprogramme Ping und Traceroute.

 echonachrichtendiagramm
Wenn der Host eine Echonachricht vom Typ 8 sendet, antwortet der Server mit einer Echoantwortnachricht vom Typ 0, da er erreichbar ist.
  • Traceroute. Das Dienstprogramm traceroute wird verwendet, um den physischen Routingpfad zwischen zwei miteinander kommunizierenden Internetgeräten anzuzeigen. Es bildet die Reise von einem Router zum anderen ab – manchmal als Hop bezeichnet. Mithilfe von Traceroute zur Diagnose von Netzwerkproblemen können Administratoren die Ursache einer Netzwerkverzögerung ermitteln.
  • Klingeln. Das Ping-Dienstprogramm ist eine einfachere Traceroute. Es sendet Pings – auch als Echo-Anforderungsnachrichten bezeichnet – und misst dann die Zeit, die die Nachricht benötigt, um ihr Ziel zu erreichen und zur Quelle zurückzukehren. Diese Antworten werden als Echo-Antwortnachrichten bezeichnet. Pings sind nützlich, um Latenzinformationen zu einem bestimmten Gerät zu sammeln. Im Gegensatz zu Traceroute bietet Ping jedoch keine Bildkarten des Routing-Layouts. Das Ping-Dienstprogramm wird häufig auch für bestimmte DOS-Angriffe (Denial of Service) ausgenutzt.

Die weit verbreitete Internetprotokollversion 4 oder IPv4-Adressklasse und das neuere IPv6 verwenden ähnliche Versionen des ICMP-Protokolls – ICMPv4 bzw. ICMPv6.

 Ziel nicht erreichbar Diagramm
Host A versucht, ein IP-Paket an Host B zu senden. Host B ist nicht erreichbar, daher antwortet der Router mit einer ICMP-Nachricht vom Typ 3.

Wie funktioniert ICMP?

ICMP ist eines der Hauptprotokolle der IP Suite. ICMP ist jedoch keinem Transportschichtprotokoll wie dem Transmission Control Protocol (TCP) oder dem User Datagram Protocol (UDP) zugeordnet. Es ist ein verbindungsloses Protokoll, was bedeutet, dass ein Gerät vor dem Senden einer Nachricht keine Verbindung zum Zielgerät herstellen muss. Dies steht beispielsweise im Gegensatz zu TCP, bei dem eine Verbindung hergestellt werden muss, bevor eine Nachricht gesendet werden kann, wobei durch einen TCP-Handshake festgestellt wird, dass beide Geräte bereit sind.

ICMP-Nachrichten werden als Datagramme übertragen und bestehen aus einem IP-Header, der die ICMP-Daten kapselt. Ein Datagramm ist, ähnlich wie ein Paket, eine in sich geschlossene unabhängige Entität von Daten. Betrachten Sie es als ein Paket, das ein Stück einer größeren Nachricht über das Netzwerk trägt. ICMP-Pakete sind IP-Pakete mit ICMP im IP-Datenteil. ICMP-Nachrichten enthalten auch den gesamten IP-Header der ursprünglichen Nachricht, sodass das Endsystem weiß, welches Paket fehlgeschlagen ist.

Der ICMP-Header wird nach dem IPv4- oder IPv6-Paketheader angezeigt und als IP-Protokollnummer 1 identifiziert. Das Protokoll enthält drei Parameter, die im Folgenden erläutert werden. Nach den drei Parametern folgen die ICMP-Daten und der ursprüngliche IP-Header, der angibt, welches Paket fehlgeschlagen ist.

ICMP-Parameter

ICMP-Parameter sind im Paketkopf vorhanden und helfen, die Fehler im IP-Paket zu identifizieren, auf die sie sich beziehen. Die Parameter sind wie ein Versandetikett auf einem Paket. Sie liefern identifizierende Informationen über das Paket und die darin enthaltenen Daten. Auf diese Weise wissen die Protokolle und Netzwerktools, die die ICMP-Nachricht empfangen, wie mit dem Paket umzugehen ist.

Die ersten 32 Bits des Paketheaders jeder ICMP-Nachricht enthalten drei Informationsfelder oder Parameter. Diese drei Parameter sind die folgenden:

  1. Typ. Die ersten 8 Bits sind die Nachrichtentypen. Einige gängige Nachrichtentypen sind die folgenden:
      1. Typ 0 — Echo antwort
      2. Typ 3 — Ziel nicht erreichbar
      3. Typ 8 — Echo
      4. Typ 5 — Umleiten

    Der Typ enthält eine kurze Erklärung, wofür die Nachricht bestimmt ist, damit das empfangende Netzwerkgerät weiß, warum es die Nachricht erhält und wie es behandelt wird. Ein Echo vom Typ 8 ist beispielsweise eine Abfrage, die ein Host sendet, um festzustellen, ob ein potenzielles Zielsystem verfügbar ist. Beim Empfang einer Echonachricht sendet das empfangende Gerät möglicherweise eine Echoantwort (Typ 0) zurück, die anzeigt, dass sie verfügbar ist.

    Internet Assigned Numbers Authority (IANA) stellt eine Liste aller von ICMP-Paketen verwendeten Nachrichtentypen bereit.

  2. Kode. Die nächsten 8 Bits repräsentieren den Nachrichtentypcode, der zusätzliche Informationen über den Fehlertyp bereitstellt.
  3. Prüfsumme. Die letzten 16 Bits bieten eine Nachrichtenintegritätsprüfung. Die Prüfsumme zeigt die Anzahl der Bits in der gesamten Nachricht an und ermöglicht es dem ICMP-Tool, die Konsistenz mit dem ICMP-Nachrichtenkopf zu überprüfen, um sicherzustellen, dass der gesamte Datenbereich geliefert wurde.

Der nächste Teil des ICMP-Headers ist der Zeiger. Es besteht aus 32 Datenbits, die auf das Problem in der ursprünglichen IP-Nachricht hinweisen. Insbesondere identifiziert der Zeiger die Byte-Position in der ursprünglichen IP-Nachricht, die die Erzeugung der Problemmeldung verursacht hat. Das Empfangsgerät betrachtet diesen Teil des Headers, um das Problem zu lokalisieren.

Der letzte Abschnitt des ICMP-Pakets ist das ursprüngliche Datagramm. Es besteht aus bis zu 576 Bytes in IPv4 und 1.280 Bytes in IPv6 und enthält eine Kopie der ursprünglichen fehlerhaften IP-Nachricht.

 ICMP-Paketdiagramm
Der ICMP-Paketheader kommt nach dem IPv4- oder IPv6-Header. Es besteht aus drei Teilen: Typ, Code und Prüfsumme. Dem Header folgt der Zeiger, der das Problem in der ursprünglichen Nachricht identifiziert, und dann kommt das ursprüngliche Datagramm.

ICMP bei DDoS-Angriffen

Bei DDoS-Angriffen (Distributed DoS) überfordern Angreifer das Ziel mit unerwünschtem Datenverkehr, sodass das Ziel seinen Benutzern keine Dienste bereitstellen kann. Es gibt mehrere Möglichkeiten, wie ein Angreifer ICMP verwenden kann, um diese Angriffe auszuführen, einschließlich der folgenden:

  • Ping des Todes. Der Angreifer sendet ein IP-Paket, das größer ist als die Anzahl der von IP zulässigen Bytes. Auf dem Weg zu seinem beabsichtigten Ziel wird das übergroße Paket fragmentiert. Wenn das Empfängergerät es jedoch wieder zusammensetzt, überschreitet die Größe den Grenzwert, was zu einem Pufferüberlauf führt und der empfangende Computer einfriert oder abstürzt. Neuere Geräte haben Abwehrmechanismen gegen diesen älteren Angriffstyp, aber ältere Netzwerkgeräte sind immer noch anfällig dafür.
  • ICMP-Flutangriff. Ziel dieses Angriffs, der manchmal als Ping-Flood-Angriff bezeichnet wird, ist es, das Zielgerät mit Echo-Anforderungspaketen zu überwältigen. Jedes Echo-Anforderungspaket muss vom Ziel verarbeitet und mit Echo-Antwortnachrichten beantwortet werden. Dies saugt alle Ressourcen des Zielcomputers auf und führt zu einer Diensteverweigerung für alle anderen Benutzer des Zielcomputers.
  • Schlumpfangriff. Bei einem Schlumpfangriff sendet der Angreifer ein ICMP-Paket mit einer gefälschten Quell-IP-Adresse, und die Netzwerkschichtausrüstung antwortet auf das Paket und sendet der gefälschten Adresse eine Flut von Paketen. Wie der Ping of Death funktionieren Schlumpfangriffe eher auf nicht verteidigten Legacy-Geräten.

ICMP-basierte DDoS-Angriffe sind zu einem immer häufiger auftretenden Cyberangriff geworden. Erfahren Sie mehr über DDoS-Angriffe im Allgemeinen und wie sie in den letzten Jahren taktisch vielfältiger geworden sind.

Leave a Reply