Vortäuschung einer IP-Adresse (Verschleierung oder Spoofing)

Normalerweise hinterlässt jeder, der im Netz aktiv ist, eine Art "Fingerabdruck" und kann damit auch identifiziert werden bzw. sein Rechner. Spoofer verhindern jedoch, dass man sie zurückverfolgen kann, und nutzen das für Hackerangriffe oder Ähnliches.

Was ist IP-Spoofing?

Spoofing bedeutet in der Informationstechnologie das Verschleiern der eigenen Identität. IP-Spoofing ist eine Technik, die darin besteht, die IP-Adresse des Senders eines IP-Pakets durch die Adresse eines anderen Rechners zu ersetzen. Dadurch kann ein Hacker anonym Pakete versenden.

Auch ein Proxy-Server ermöglicht gewisserweise die Maskierung der IP-Adresse. Allerdings leitet der Proxy die Pakete nur weiter. Auch wenn die Adresse anscheinend verschleiert ist, kann ein Hacker leicht über die Logdateien des Proxy gefunden werden. Das ist also nicht mit IP-Spoofing zu verwechseln.

Angriff durch Spoofing

Die Technik des IP-Spoofings ermöglicht es einem Hacker, Pakete in ein Netzwerk einzuschleusen, ohne dass diese vom Paketfiltersystem, also von der Firewall, aufgehalten werden.

Ein Firewallsystem funktioniert meist durch Filterregeln, die die IP-Adressen der Rechner angeben, die autorisiert sind, mit netzwerkinternen Rechnern zu kommunizieren. Ein Paket mit einer externen IP-Adresse wird von der Firewall automatisch zurückgewiesen. Ein gespooftes Paket scheint dagegen mit der IP-Adresse eines internen Rechners aus dem internen Netzwerk zu kommen und wird an der Firewall vorbei an den Opferrechner weitergeleitet:

Franchissement d\'un firewall par la technique du spoofing

Veränderung des TCP-Headers

Im Internet zirkulieren Informationen mittels des IP-Protokolls, dass die Einkapselung von Daten in Strukturen sicherstellt, die Pakete genannt werden (oder genauer IP-Datagramme). So sieht die Struktur eines Datagramms aus:

Version Länge des Headers Art des Dienstes Gesamtlänge
Identifikation Flagge Fragment-Offset
Lebensdauer Protokoll Prüfsumme Header
Quell-IP-Adresse
Ziel-IP-Adresse
Daten

Eine IP-Adresse zu verschleiern, funktioniert über eine Modifikation des Felds Quell-IP-Adresse, um ein Datagramm vorzustäuschen, das von einer anderen IP-Adresse stammt.

Allerdings werden Pakete im Internet meist über das TCP Protokoll transportiert, das auf Authentifizierungs- und Approbations-Beziehungen zwischen den Rechnern eines Netzwerks beruht.

Approbations-Beziehungen

Das TCP-Protokoll ist eines der wichtigsten Protokolle der Transportsschiene des TCP/IP-Modells. Auf der Stufe der Anwendungen ermöglicht es, Daten zu verarbeiten, die von der im Modell darunterliegenden Schicht (also dem IP-Protokoll) kommen oder dafür bestimmt sind.

Das TCP-Protokoll gewährleistet einen verlässlichen Datentransfer, obwohl es das IP-Protokoll nutzt, das keine Lieferkontrolle für Datagramme verwendet, und zwar mittels eines Systems von Empfangsbestätigungen (ACK) (von Englisch acknowledgement).

Dieses System ermöglicht dem Client und dem Server, den wechselseitigen Empfang der Daten zu kontrollieren: Bevor ein Paket angenommen wird, schickt der Empfänger-Rechner eine Empfangsbestätigung an den Sender-Rechner und wartet ab, ob der Sender-Rechner den Erhalt der Bestätigung seinerseits auch bestätigt.

Dabei werden TCP-Pakete (segments) von IP-Datagrammen abgeschlossen. So sieht deren Struktur aus:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Quell-Port Empfänger-Port
Ordnungsnummer
Nummer der Empfangsbestätigung
Offset
Daten
reserviert URG ACK PSH RST SYN FIN Fenster
Prüfsumme Urgent Pointer
Optionen Auffüllen
Daten

Beim Versenden eines Segments, wird eine Ordnungsnummer (auch Sequenznummer genannt) zugeteilt. Ein Austausch von Segmenten mit speziellen Feldern (flags) ermöglicht eine Synchronisierung von Client und Server. Dieser Dialog (genannt Dreifacher Handschlag) ermöglicht den Kommunikationsaufbau, der - wie der Name schon sagt - in drei Phasen abläuft:

Zuerst übermittelt der Sender-Rechner (der Client) ein Segment, dessen SYN-Flag auf 1 steht (um mitzuteilen, dass es sich um ein Synchronisierungs-Segment handelt), und mit einer Ordnungsnummer N, die man die initiale Ordnungsnummer des Client nennt.

Wenn der Empfänger-Rechner (der Server) das erste Segment vom Client erhält, sendet er ihm eine Empfangsbestätigung, also ein Segment, dessen ACK-Flag nicht auf Null steht (Bestätigung für Empfang). Die SYN-Flag steht auf 1 (da es immer noch um die Synchronisierung geht). Dieses Segment enthält eine Sequenznummer, die der initialen Ordnungsnummer des Client gleicht. Das wichtigste Feld dieses Segments ist die Empfangsbestätigung (ACK), die die initiale Ordnungsnummer des Client um 1 erhöht enthält.

Schließlich sendet der Client dem Server eine Empfangsbestätigung, also ein Segment, dessen ACK-Flag ungleich Null ist und dessen SYN-Flag auf Null steht (es ist kein Synchronisierungssegment mehr). Die Ordnungsnummer ist erhöht und die Nummer der Empfangsbestätigung entspricht der initialen Sequenznummer des Servers um 1 erhöht.

Ein gespoofter Rechner wird mit einem TCP-Paket antworten, dessen RST-Flag (reset) ungleich Null ist, was die Verbindung kappt.

Den gespooften Rechner unbrauchbar machen

Bei einem Angriff durch IP-Spoofing, erhält der Angreifer keinerlei Information zurück, da die Antworten des Opferrechners an einen anderen Rechner des Netzwerks gehen, dessen Adresse der Hacker vorgetäuscht hat. Man spricht dann von einem blinden Angriff (blind attack). Außerdem nimmt der gespoofte Rechner dem Hacker jede Kommunikationsmöglichkeit, da er systematisch RST-Flags an den Opferrechner versendet:

La machine spoofée répond au ACK par un RST
Die Arbeit des Hackers besteht also darin, den gespooften Rechner während des gesamten Angriffs unbrauchbar zu machen, indem er ihn nicht erreichbar macht.

Voraussagen von Sequenznummern

Sobald der gespoofte Rechner unbrauchbar gemacht wurde, erwartet der Opferrechner ein Paket mit der Empfangsbestätigung und der richtigen Sequenznummer. Die Arbeit des Hackers besteht also zunächst darin, zu "erraten", welche Sequenznummer er an den Server senden muss, damit die Vertrauensbeziehung aufgebaut wird.

Dafür verwenden Hacker meist Source Routing, das bedeutet, sie verwenden das Feld Optionen des IP-Headers, um eine spezielle Retour-Route für das Paket anzugeben. So kann der Hacker mittels Sniffing (Schnüffeln) sogar den Inhalt der Retour-Frames lesen:

Recherche des numéros de séquence
Kennt der Hacker also die letzte ausgegebene Sequenznummer, erstellt er Statistiken bezüglich der Erhöhung der Zahl und versendet Empfangsbestätigungen, bis er die richtige Sequenznummer erhält.

Foto: © Pixabay.

Unsere Inhalte werden in Zusammenarbeit mit IT-Experten erstellt, unter der Leitung von Jean-François Pillou, Gründer von CCM.net. CCM ist eine führende internationale Technologie-Webseite und in elf Sprachen verfügbar.
Das Dokument mit dem Titel « Vortäuschung einer IP-Adresse (Verschleierung oder Spoofing) » wird auf CCM (de.ccm.net) unter den Bedingungen der Creative Commons-Lizenz zur Verfügung gestellt. Unter Berücksichtigung der Lizenzvereinbarungen dürfen Sie das Dokument verwenden, verändern und kopieren, wenn Sie dabei CCM deutlich als Urheber kennzeichnen.