| |
2
1. Einleitung
Dieses Dokument gibt einen grundlegenden Überblick über das ICMP- Netzwerkprotokoll. Dabei wird auf die Entwicklung eingegangen, die die schrittweise Verfeinerung des Protokolls bis zum heutigen Tag sichtbar macht. Folgend
werden
die verschieden
Typen
und die
dazugehörigen
Nahrichtenstrukturen näher beleuchtet. In den letzten Abschnitten erfolgt dann noch eine kurze Einsicht über zwei der bekanntesten Schwachstellen bzw. Sicherheitslücken, die ICMP aufweist.
1.1. ICMP Internet Control Message Protocol
Das ICMP (Internet Control Message Protocol) ist ein Hilfsprotokoll, welches zusammen mit dem Internet-Protokoll (IP) auf der Netzwerkschicht implementiert wurde. Da ICMP das IP-Protokoll als Basis verwendet, macht es den Anschein, als wäre ICMP zusammen mit TCP und UDP auf der Transportebene angesiedelt. Das ist aber nicht so. ICMP muss neben dem Internet-Protokoll in TCP/IP implementiert werden. Erstmalig tauchte ICMP als Standard im April 1981 im RFC 777 auf. Dieses RFC (Request for Comments) beschreibt die wichtigsten Internet-Protokolle. Im September 1981 gab es dann ein Update durch RFC 792, welche zusätzlich zu den bisherigen ICMP Typen noch eine Netzwerkinformationsnachricht enthält. Dieser RFC enthält alle auch heute noch gültigen Spezifikationen. Stark erweitert wurde das Protokoll dann 1991 im RFC 1256. Hier wurde ICMP um einen Aspekt erweitert, nämlich um spezielle Routernachrichten (ICMP Typ 9 und 10), die vorher nicht vorhanden waren. Der Grund für die Entwicklung von ICMP ist die fehlende Kontrolle darüber, was mit via Internet-Protokoll verschickten Paketen passiert. Wie bereits bekannt, können Pakete, abgesehen davon, dass sie ordnungsgemäß ankommen, auch verloren gehen, dupliziert werden oder in falscher Reihenfolge am Ziel ankommen. Es kann aber auch passieren, dass ihre Lebensdauer (Time-To-Live) abläuft. Wenn die Verbindungsschicht (Link Layer) näher angesehen wird , können noch weitere Fehler einer perfekten Kommunikation im Wege stehen. So kann es zum Beispiel vorkommen, dass ein routendes System (also ein Rechner, der zwei oder mehrere Netzwerke miteinander verbindet) ausgefallen, überlastet, oder falsch konfiguriert ist. An dieser Stelle setzt das Internet Control Message Protocol an. Mit ICMP lassen sich Fehlermeldungen und auch Routinginformationen versenden. Fehler allerdings können auch mit ICMP nicht behoben werden, im besten Falle lediglich aufgedeckt. ICMP-Fehlermeldungen können nur an den Sender des Paketes, welches die Fehlermeldung ausgelöst hat, gesendet werden, nicht jedoch immer an das routende System, welches den Fehler verursacht hat. Sinnvoll ist es jedoch trotzdem, da im Internet-Protokoll
|  |
|
| |
|
|