[AdSense-A]
Einleitung
Auch in der heutigen Zeit, wo sich die IT-Branche mittlerweile mehr auf das Thema IT-Sicherheit einlässt trifft man nach wie vor häufig auf die Wörtchen “Man In The Middle”-Angriffe (kurz MITM) und Spoofing. In den vergangenen Jahren trat die National Security Agency (kurz NSA) häufiger, durch Ausspäh-Aktionen, ins Rampenlicht der internationalen Presse, dementsprechend haben wir Fachkräfte uns das Thema Sicherheit mittlerweile mehr zu Herzen genommen und versuchen unseren Kunden und den “neuen” Anforderungen gerecht zu werden. Wir thematisieren immer mehr und mehr die Themen rund um die Applikationssicherheit, Verschlüsselung, optimale Verschlüsselungsalgorithmen, SSL und ähnlichen Themen. Aber was ist eigentlich mit dem, was es schon längst gibt, seit Jahrzehnten bekannt ist, und noch immer ein hohes Sicherheitsrisiko darstellt?
Auch heute noch gelten Spoofing-Angriffe wie aber auch MITM-Angriffe zu beliebten Angriffsszenarien. Wir lesen in den Changelogs von Software-Updates häufiger diese beiden Wörtchen, aber nehmen sie meist eher geringfügig war, schließlich kann uns doch so ein Angriff nicht passieren?.
Dabei ist genau an dieser Stelle auch bereits der hohe Risikofaktor gegeben. Wir unterschätzen die Sachlage, nehmen solche Schwachstellen meist nicht für schwerwiegend und meiden die Thematik rund um diese Schlagwörter. Das Problem was wir dabei meist außer acht lassen ist: Diese Art von Angriffen IST SEHR EINFACH DURCHZUFÜHREN.
Was ist eigentlich ein Spoofing-Angriff?
Wenn es um die Thematik IT-Sicherheit sich dreht, nicken die meisten Menschen und hören dem gesagten zu. Trauen sich nicht die Frage in den Raum zu Stellen, was ggf. “Spoofing” sei. Damit geht das Wissen rund um diesen Bereich verloren. Aber was ist nun eigentlich Spoofing? Diese Frage fragt ungern einer. Um dieses näherer zur Veranschaulichung zu bringen, gehen wir davon aus, dass wir ein lokales Netz bestehend aus drei physikalischen Maschinen inkl. eines Switches vor uns haben.
Bob und Alice sind gewöhnliche Clients, die Daten miteinander austauschen wollen, sie wollen über den Switch direkt miteinander kommunizieren, broadcasten dementsprechend auch nicht. Attacker ist in unserem Fall der Angreifer, der den Spoofing-Angriff durchführen möchte.
Unter Spoofing wird verstanden, dass ein Rechner in einem Netz seine Identität verstecken möchte, in dem er vortäuscht innerhalb eines Netzes jemand anderes zu sein.
Wir gehen hierzu explizit auf die Thematik des ARP-Spoofings ein.
Definition von ARP
Address Resolution Protocol (kurz ARP) ist das Protokoll zur Auflösung einer IP-Adresse zu ihrer zugehörigen Mac-Adresse. Das gegenteilige Protokoll zur Auflösung von MAC-Adressen in IP-Adressen ist das Reverse Address Resolution Protocol (kurz RARP) In jedem lokalen Netzwerk versuchen Rechner, wenn sie miteinander kommunizieren wollen, als aller erstes die Kommunikation über ihre ARP-Tabelle zu ermöglichen, bevor sie beim entsprechenden Default Gateway anfragen, wohin sie ihr Paket senden sollen. In der ARP-Tabelle ist jede bekannte Zuordnung von IP-Adresse zu MAC-Adresse im lokalen Netzwerk hinterlegt, mit dem der eigene Rechner bereits eine erfolgreiche Kommunikation geführt hat.
[AdSense-A]
ARP-Spoofing
Unter ARP-Spoofing wird verstanden, dass ein Rechner vorgibt im Netz über eine “neue” MAC-Adresse erreichbar zu sein. Damit manipuliert er die ARP-Tabelle eines anderen Rechners, indem er die Zuordnung einer bestimmten IP-Adresse auf eine andere MAC-Adresse umschreibt.
Beispiel:
Bob hat folgende Eigenschaften:
IP-Adresse: 10.0.0.1
MAC-Adresse: bb:bb:bb:bb:bb:bb (48 Bit)
ARP-Tabelle: aa:aa:aa:aa:aa:aa ist zugeordnet zu 10.0.0.7
Alice hat dagegen folgende Eigenschaften:
IP-Adresse: 10.0.0.7
MAC-Adresse: aa:aa:aa:aa:aa:aa
ARP-Tabelle: bb:bb:bb:bb:bb:bb ist zugeordnet zu 10.0.0.1
Angreifer hat folgende Eigenschaften:
IP-Adresse: 10.0.0.3
MAC-Adresse: cc:cc:cc:cc:cc:cc
ARP-Tabelle: bb:bb:bb:bb:bb:bb ist zugeordnet zu 10.0.0.1, aa:aa:aa:aa:aa:aa ist zugeordnet zu 10.0.0.7
Nun möchte ein Angreifer den direkten Kommunikationsfluss von Bob zu Alice umstricken, und gibt sich als Alice aus, das gleiche tut er auch bei Alice. Dahingehend sendet er Bob und Alice jeweils vereinzelt ein ARP-Paket.
Bob schickt er ein Paket und sagt Bob damit, dass Alice nun unter der MAC-Adresse cc:cc:cc:cc:cc:cc zu erreichen ist, und die IP-Adresse nach wie vor die 10.0.0.7 ist.
Alice schickt er dagegen auch ein Paket und sagt Alice, dass Bob nun unter der Adresse 10.0.0.1 und der MAC-Adresse cc:cc:cc:cc:cc:cc erreichbar ist.
Damit sieht die ARP-Tabelle von Bob und Alice nun wie folgt aus:
Bob:
cc:cc:cc:cc:cc:cc ist zugeordnet zu 10.0.0.7
Alice:
cc:cc:cc:cc:cc:cc ist zugeordnet zu 10.0.0.1
Wenn Bob oder Alice nun Pakete miteinander austauschen wollen, ohne die ARP-Tabelle zu leeren, senden sie ihre Pakete zum Angreifer. Damit hat der Angreifer die ARP-Tabellen von Bob und Alice mit falschen Informationen vergiftet (ARP-Poisoning).
Wenn der Angreifer, in diesem Fall das Forwarding aktiviert, und die Pakete an die jeweiligen Hosts weiterleitet, sowie verschiedene Dienste in Betrieb nimmt, kann dieser auch ebenfalls für einen MITM-Angriff sorgen.
Sicherheitsleck von ARP
Das hierbei in Spiel kommende Sicherheitsleck von ARP ist, dass bei der Kommunikation in lokalen Netzen an aller erster Stelle geprüft wird, ob der Host bereits in der ARP-Tabelle vorhanden ist, die Informationen der ARP-Tabelle werden nicht auf ihre Korrektheit validiert.
In kürze folgt ein weiterer Beitrag zu der gesamten Thematik.. Fortsetzung folgt.