Möglicherweise sind Sie mit dem Konzept der IP-Adressen vertraut. Jeder Computer in einem Netzwerk hat mindestens einen. Bei der Kommunikation zwischen Netzwerken identifizieren diese IP-Adressen eindeutig die Quelle und das Ziel des Netzwerkverkehrs, sodass dieser zuverlässig zugestellt und beantwortet werden kann. Bei der Kommunikation mit einem Gerät im selben Netzwerk verwendet ein Computer nicht direkt die IP-Adresse. Stattdessen übersetzt es diese IP-Adresse in eine MAC-Adresse. ARP ist das Protokoll zum Verwalten von IP-zu-MAC-Übersetzungen und zum Kommunizieren dieser im Netzwerk.
ARP steht für Address Resolution Protocol. Es ist ein zustandsloses Protokoll mit Broadcast- und Request-Response-Komponenten. ARP wird hauptsächlich in IPv4-Netzwerken verwendet, obwohl es auch von anderen Netzwerksystemen verwendet wird. IPv6-Netzwerke implementieren ARP-Funktionalität und einige zusätzliche Funktionen mit NDP. Oder Neighbor Discovery Protocol.
Identifizierte MAC-Adressen werden in einer ARP-Tabelle auf jedem Gerät gespeichert. Jeder Eintrag in der ARP-Tabelle läuft regelmäßig ab. Kann aber passiv aktualisiert werden, wenn ARP-Verkehr an das Netzwerk gesendet wird, wodurch die Gesamtmenge an benötigtem ARP-Verkehr minimiert wird.
ARP-Sonde und Antwort
Wenn ein Computer ein Netzwerkpaket übertragen muss, schaut er sich die Ziel-IP-Adresse an. Es weiß, dass es es für Geräte in einem anderen Netzwerk an den Router senden muss. Dieser kann das Paket dann an das richtige Netzwerk weiterleiten. Wenn das Paket für ein Gerät im lokalen Netzwerk bestimmt ist, muss der Computer die richtige MAC-Adresse kennen, an die es gesendet werden soll.
Als erste Anlaufstelle überprüft der Computer seine ARP-Tabelle. Dies sollte eine Liste aller bekannten Geräte im lokalen Netzwerk enthalten. Wenn die Ziel-IP- und MAC-Adresse vorhanden sind, wird die ARP-Tabelle verwendet, um das Paket zu vervollständigen und zu senden. Wenn die IP-Adresse keinen Eintrag in der ARP-Tabelle hat, muss der Computer dies über eine ARP-Prüfung herausfinden.
Der Computer sendet eine ARP-Prüfung an das Netzwerk und fragt: „Wer hat
Notiz: Die ARP-Probe-Antwort ist ebenfalls eine Rundsendung. Dadurch können alle anderen Netzwerkgeräte ihre ARP-Tabellen aktualisieren, ohne dass sie identische ARP-Prüfungen durchführen müssen. Dies trägt dazu bei, den ARP-Verkehr zu minimieren.
ARP-Test auf Verbindung
Wenn sich ein Computer mit einem Netzwerk verbindet, muss er eine IP-Adresse erhalten. Dies kann manuell angegeben werden, wird aber normalerweise dynamisch von einem DHCP zugewiesen (Dynamisches Host-Steuerungsprotokoll)-Server. Der DHCP-Server ist im Allgemeinen eine Funktion des Netzwerkrouters, kann aber von einem separaten Gerät ausgeführt werden. Sobald ein neues Gerät eine IP-Adresse hat, entweder durch manuelle Konfiguration oder DHCP. Das Gerät muss schnell verifizieren, dass kein anderes Gerät diese IP-Adresse bereits verwendet.
Dazu sendet das Gerät ein ARP-Probe-Paket und fragt, ob ein Gerät, das seine neu zugewiesene IP-Adresse verwendet, darauf antwortet. Die erwartete Antwort ist Schweigen. Kein anderes Gerät sollte reagieren, insbesondere in einem DHCP-Netzwerk. Nach kurzen Verzögerungen sendet das Gerät dieselbe Nachricht einige Male erneut. Diese Wiederholung hilft in Fällen, in denen ein Paket auf dem Weg zu oder von einem Gerät mit einer widersprüchlichen IP-Adresse verloren gegangen sein könnte. Sobald auf einige wenige ARP-Tests keine Antworten erfolgt sind, kann das Gerät beginnen, seine neue IP-Adresse zu verwenden. Dazu muss er ein Gratuitous ARP senden.
Kostenlose ARP
Sobald ein Gerät festgestellt hat, dass die IP-Adresse, die es verwenden möchte, nicht verwendet wird, sendet es ein Gratuitous ARP. Dies beinhaltet einfach das Senden an das Netzwerk “
Außerdem werden regelmäßig kostenlose ARP-Anfragen an das Netzwerk gesendet, ebenso wie Erinnerungen an alle anderen Geräte, dass der Computer noch verbunden und online ist und seine IP-Adresse hat.
ARP-Spoofing
ARP ist ein zustandsloses Protokoll, es gibt keine Verbindung und alle Nachrichten werden an das gesamte Netzwerk gesendet. Alle Geräte hören auf ARP-Antworten und speichern sie in ihren ARP-Tabellen. Dies führt jedoch zu einer Schwachstelle im System. Angenommen, ein Angreifer kann sich physisch mit dem Netzwerk verbinden, kann er Software ausführen, die in böswilliger Absicht falsche, unnötige ARP-Antwortpakete sendet. Jedes Gerät im Netzwerk sieht die schädlichen ARP-Pakete, vertraut ihnen implizit und aktualisiert ihre Routing-Tabellen. Diese nun fehlerhaften ARP-Tabellen werden als „vergiftet“ bezeichnet.
Dies könnte nur verwendet werden, um Netzwerkprobleme zu verursachen, indem der Datenverkehr in die falsche Richtung geleitet wird. Es gibt jedoch ein schlimmeres Szenario. Wenn der Angreifer ARP-Pakete für die IP-Adresse des Routers fälscht und sie auf sein eigenes Gerät verweist, erhält er den gesamten Netzwerkverkehr und kann ihn sehen. Angenommen, das Gerät hat eine andere Netzwerkverbindung, um den Datenverkehr weiterzuleiten, kann ein Man-in-the-Middle (MitM) Stelle. Dies ermöglicht dem Angreifer, böse Angriffe wie HTTPS-Stripping durchzuführen, wodurch er möglicherweise den gesamten Netzwerkverkehr sehen und ändern kann.
Notiz: Es gibt einige Schutzmaßnahmen gegen MitM-Angriffe. Der Angreifer wäre nicht in der Lage, das HTTPS-Zertifikat einer Website zu duplizieren. Jeder Benutzer, bei dem der Datenverkehr abgefangen wird, sollte Browser-Zertifikatsfehler erhalten.
Es gibt jedoch viele wichtige und unverschlüsselte Kommunikationen, insbesondere in einem internen Netzwerk. Dies ist in einem Heimnetzwerk nicht so sehr der Fall. Dennoch sind auf Windows basierende Unternehmensnetzwerke besonders anfällig für ARP-Spoofing-Angriffe.
Fazit
ARP steht für Address Resolution Protocol. Es wird in IPv4-Netzwerken verwendet, um IP-Adressen in MAC-Adressen zu übersetzen, wie es in lokalen Netzwerken benötigt wird. Es besteht aus zustandslosen Request- und Response-Broadcasts. Antworten oder deren Fehlen ermöglichen es einem Gerät festzustellen, welche MAC-Adresse mit einer IP-Adresse verknüpft ist oder ob eine IP-Adresse nicht verwendet wird. Geräte cachen ARP-Antworten, um ihre ARP-Tabellen zu aktualisieren.
Geräte können auch regelmäßig unentgeltliche Ankündigungen senden, dass ihre MAC-Adresse mit ihrer IP-Adresse verknüpft ist. Das Fehlen eines Authentifizierungsmechanismus ermöglicht es einem böswilligen Benutzer, gefälschte ARP-Pakete zu senden, um ARP-Tabellen zu vergiften, und den Datenverkehr an sich selbst weiterzuleiten, um Verkehrsanalysen oder MitM-Angriffe durchzuführen.