Spoofing

Transcrição

Spoofing
Verlässliche Verteilte Systeme 1
Angewandte IT-Robustheit und IT-Sicherheit
Vorlesung im Wintersemester 2004/2005
Prof. Dr. Felix Gärtner
Teil 14: Schwächen von und Angriffe auf
die Internet-Protokolle
(spoofing, hijacking, denial of service)
1
Lehr- und Forschungsgebiet Informatik 4, RWTH Aachen, http://www-i4.informatik.rwth-aachen.de/lufg/
Ankündigungen
Vorlesungsplan:
●
heute: TCP/IP-Protokollschwächen und Angriffe (spoofing, hijacking, denial of service)
anschließend:
●
●
●
●
●
●
●
●
●
sicheres System-Setup und Absichern von Diensten
sicheres System-Management
Integritätskontrolle, sicheres booten
IDS und Vulnerability Scanner
Firewalls und VPNs
Best practices und Zertifizierung
Social engineering
2
Übersicht
Die IP-Protokollsuite wurde entworfen, ohne an bösartige
Mitspieler zu denken
●
●
Folge: viele verschiedene Arten von Angriffen möglich
Heute examplarische Untersuchung einiger Angriffe:
●
●
●
●
●
Spoofing (ARP, IP)
Hijacking von TCP-Verbindungen
Denial of Service (IP-Fragmentierung, Packet Storm, SYN
flood)
Distributed Denial of Service
Quellen:
●
●
●
Juliane Mathes, Ingo Weisemöller: IP Spoofing und (Distributed) Denial of Service Angriffe. Unterlagen aus dem
Hackerseminar 2004, RWTH Aachen.
Stefan Krecher: The Hijacker's Guide to the Galaxy. Vortrag bei
CCC 2002. http://www.krecher.de/
3
Spoofing
Spoofing: Austausch der Absenderadresse eines Datenpaketes
●
●
●
●
Normal: Absenderadresse ≠ gespoofte Adresse
Absender bleibt unerkannt
Antworten auf gespooftes Paket landen bei gespoofter Adresse
4
ARP-Spoofing
●
●
Versenden gefälschter ARP-Pakete
Angreifer schaltet sich in den Netzverkehr hinein (man-inthe-middle-Angriff)
5
IP-Spoofing
Fälschen der Absenderadresse eines IP-Paketes
Beispiel: DNS-Spoofing
●
●
●
●
●
Fälschen von Antworten auf eine DNS-Anfrage (Paketkonstruktion trivial)
„aufgelöste“ IP-Adresse wird vom Angreifer kontrolliert
richtige Antwort von DNS-Server kommt auch, aber zu spät
6
Tools
●
ettercap:
●
●
●
ursprünglich ein Sniffer, jetzt einfach Belauschen einer Verbindung mittels ARP-Spoofing
http://ettercap.sourceforge.net
dsniff's dnsspoof: automatisiertes DNS-Spoofing
7
Hijacking
Hijacking = überfallen, entführen
Durch Ausnutzen von TCP-Protokollschwächen kann man
bestehende TCP-Verbindungen angreifen
●
●
eine Verbindung abbrechen
eine „abgebrochene“ Verbindung aufrechterhalten
Anweisungen in eine bestehende Verbindung einschleusen
●
●
●
Voraussetzungen:
●
Angreifer muss in der Lage sein, Pakete von/für mindestens
eines der Opfer zu empfangen
Idealerweise: Rechner sind über Hub oder Switch miteinander
verbunden
Netzwerkadapter des Angreifers muss in den promiscuous
mode schaltbar sein
●
●
●
●
●
Mitlesen des kompletten Netzverkehrs auf dem Netzsegment
entsprechende Software (Sniffer, Paketgeneratoren, fertige Hijacking Software)
8
Exkurs: TCP-Verbindungsaufbau
●
Drei-Wege-Handshake, RFC 793
9
Beenden einer TCP-Verbindung
time-out
beidseitiger Abbau via FIN-Pakete
einseitiger Abbau via RST-Paket
●
●
●
●
Angriff: Angreifer sendet gespooftes RST-Paket mit richtiger
Sequenznummer an Opfer
10
Einschleusen von Anweisungen
Angreifer sendet gespooftes Datenpaket mit „falschen Daten“ zum richtigen Zeitpunkt
Beispiel: take-no-prisoners-Angriff
●
●
●
●
●
●
Einschleusen von Anweisungen ohne Rücksicht auf Verluste
keine Vertuschung, schnelles Handeln nach dem Angriff erforderlich
zielt auf unerfahrene, reaktionsschwache Opfer
einfache Tools reichen (sniffer, Paketgenerator)
Idee:
●
●
●
Angreifer belauscht eine bestehende telnet-Session
sendet echo “m::0:0::::/bin/bash“ >> /etc/passwd
als payload
11
Nach dem Angriff
Alternativen:
●
●
●
●
●
Abhängen des Clients mit FIN oder RST (vor oder nach dem
Angriff)
Client bewegungsunfähig machen (durch RST-Daemon den
Aufbau neuer Verbindungen verhindern)
Verbindung resynchronisieren
anschliessend Laptop zusammenklappen und weglaufen
12
Tools
●
hunt
●
●
●
●
●
juggernaut
●
●
●
●
●
Datenbank aller TCP-Verbindungen (playback)
einfache Auswahl der zu übernehmenden Verbindung
usw.
spak (Send PAcKet)
●
●
Auswahl der zu störenden Verbindung
ARP spoofing
reset daemon
usw.
kann IP, TCP, UDP, ARP, Ethernet Pakete generieren
Weitere Angriffe (z.B. ARP Spoofing in geswitchten
Netzen) nachzulesen bei Stefan Krecher
Real World Hijacking: Zeitungs-, Post-, Identitäts-, Einkaufswagen-Hijacking
13
Denial of Service (DoS)
Angriff auf die Verfügbarkeit eines Rechners
●
Ziel: den Rechner lahmlegen durch Absturz oder Überlastung
●
Überlastung von Ressourcen:
●
●
Bandbreite der Netzanbindung
Kernel-Datenstrukturen
●
aber auch Festplattenplatz, Speicher, ...
●
●
Mailbomben, Kompressionsbomben
Distributed Denial of Service (DDoS):
●
Denial of Service Angriff mit Hilfe von vielen verteilten Hosts
Voraussetzung: Kompromittierung und Fernsteuerung vieler
fremder Rechner (oft durch Würmer, Viren, etc.)
●
●
DoS oft als Vorlauf eines anderen Angriffs:
●
erst IDS-Host unschädlich machen, dann unerkannt eindringen
kann auch Werkzeug bei Erpressungen sein:
●
●
●
http://www.heise.de/newsticker/meldung/48613
14
Historisches
●
●
Beginn DDoS etwa 2000
DoS prinzipiell immer möglich, wo Dienste angeboten
werden
15
IP-Fragmentierung: Ping of Death (1996)
●
●
nutzte Schwachstelle in vielen verbreiteten Betriebssystemen (heute sind alle dagegen immun)
übergroße ICMP-Pakete sorgen für Pufferüberlauf und
bringen Empfangsrechner zum Absturz
16
Bandbreite: UDP Packet Storm
Basierte auf den Diensten echo und chargen
●
●
●
●
chargen: antwortet auf eine eingehende Verbindung mit einer
ununterbrochenen Zeichenkette
echo: antwortet auf eine eingehende Zeichenkette mit
derselben Zeichenkette
Angreifer sendet eine gespoofte Anfrage an chargen mit
der Port-Nummer von echo
17
Bandbreite: ICMP Packet Storm
Senden eines ICMP Echo Request (=Ping)
●
●
●
●
●
an eine Broadcastadresse
IP-Adresse des Opfers als Absenderadresse
alle Rechner in Broadcast Domain antworten und überfluten
das Opfer
Ping-Anfragen an Broadcastadressen werden heute von
vielen Routern nicht mehr weitergeleitet
18
Kernel-Datenstrukturen: SYN-Flooding
Erzeugen vieler hängender TCP-Verbindungen
●
●
●
●
Angreifer sendet SYN-Paket
Opfer antwortet mit SYN,ACK
Angreifer sendet finales ACK nicht
Anzahl hängender Verbindungen durch Kernel-Datenstruktur beschränkt
●
●
●
schnell erschöpft, keine neuen Verbindungen mehr möglich
besser: SYN-Pakete spoofen
19
Distributed Denial of Service (DDoS)
Angreifer übernimmt Kontrolle über große Anzahl von
Rechnern
●
Fernsteuerung der Übernahme durch Master-Agent-Technologie
●
●
●
●
Angreifer übernimmt kleine Anzahl an ausgesuchten Rechnern
(Mastern = leistungsfähige Systeme mit breitbandigem Anschluß
und schlafenden Administratoren)
Master greifen wahllos Rechner an und versuchen sie zu übernehmen (Agents)
Angreifer startet durch zentrales Kommando den Angriff
20
Tools
●
smurf
●
●
●
trinoo
●
erzeugt UDP Flood nach dem Master-Agent-Prinzip
IRC Botnets
●
●
●
●
Verwendung von IRC zur Fernsteuerung
Installation spezieller IRC-Clients
Einrichtung spezieller Channels auf denen die Bots Befehle
Empfangen
TFN/TFN2K
●
●
●
kann UDP-, TCP-SYN-, ICMP-Echo- und Smurf-Angriffe
erzeugen
stacheldraht
●
●
erzeugt ICMP Packet Storm
ICMP Packet Storm Angriff wird oft auch als smurf-Angriff bezeichnet
wie TFN, jetzt neu mit verschlüsselter Master/Agent-Kommunikation
DDoS-Würmer (Mydoom, Blaster, Phatbot, später mehr
dazu)
21
Zusammenfassung und Ausblick
Die TCP/IP-Protokollsuite hat viele Schwächen
●
Wesentlich: Mangel an Authentifizierung, erlaubt spoofing
Spoofing ist Grundlage vieler Protokollangriffe
●
●
●
Hijacking, ICMP Packet Storm, ...
Gegenmaßnahmen:
●
Verhindern, dass Pakete von anderen mitgelesen werden
können
●
●
●
Verschlüsselte und authentifizierte Verbindungen verwenden
●
●
●
Switches statt Hubs
weniger anfällige Netztopologien verwenden
IPsec, SSL, SSH
Monitoring durch arpwatch, IDS oder statische ARP-Tabellen
gegen Denial of Service kann man wenig tun (semantischer Angriff)
Etablierte Praxis: wenig Angriffsfläche bieten
●
●
●
Rechner initial gut konfigurieren und managen...
22