1 Internet Angriffe mit DDoS und DoS Strategien|Artikel|Projekt OsUp

Internet Angriffe mit DDoS und DoS Strategien

Problematisch am Internet ist, dass es immer schneller wird und anscheinend darauf nicht vorbereitet 0 Vorwort
1 Einleitung
2 Theorie der Angriffe
3 DoS Technik
4 DDoS Technik
5 DoS Arten
5.1 SYN Angriffe
5.2 Smurf Angriffe
5.3 DoS Angriffe auf den TCP/IP Stack
5.4 DoS Angriffe auf IDS, Sniffer, Scanner
6 DDoS Tool Beschreibung
6.1 Trinoo
6.2 TFN / TFN2k
6.3 Stacheldraht
7 Wie kann man sich schuetzen
8 Zusammenfassung
9 Ressourcen


0 Vorwort


Dieses Security Paper wurde von ju@onlinesicherheit.de,
konzipiert. Es dient zur Weiterbildung und ist nicht fuer illegale
Zwecke bestimmt. Am Ende nenne ich Ressourcen, die mir dabei geholfen
haben, diese Ausgabe zu veroeffentlichen.




1 Einleitung

Auch im Jahr 2000 werden wir viel von Hackern (gemeint sind
Programmierer) und Script Kiddies hoeren. Was verbirgt sich eigentlich
hinter beiden Begriffen ? Hacker machen auf Schwachstellen oder
sogenannte Sicherheitsdefizite in Computernetzwerken aufmerksam,
Script Kiddies benutzen Sicherheitsdefizite um Dritte zu schaedigen.

Ende 1999 erfuhr die Oeffentlichkeit durch die Medien von sogenannten
Distributed Denial-of-Service Tools, darunter verstehen wir Programme
wie Trinoo, Stacheldraht, TFN (Update: TFN2k)

Mit diesen Programmen ist es moeglich Flood Netzwerke aufzubauen.
Diese dienen dazu andere Netzwerk zu ueberlasten und zum Absturz zu
bringen. Anfang 2000 zeigte sich die DDoS Technik als sehr
wirkungsvoll und wurden in den Medien als eine neue Technik der Hacker
bezeichnet. Dies trifft insofern nicht zu, als die Mechanismen welche
zu den Abstuerzen grosser Internetportale fuehrte, seit langem in
Sicherheitskreisen bekannt sind.
Da die Distributed Denial-of-Service Tools sehr einfach anzuwenden
sind und keine Fachkenntnisse benoetigen, koennen die aktuellen
Angriffe auf Yahoo, CNN, UUNET, Amazon und Ebay auch von relativen
Laien ausgefuehrt worden sein. Selbst ein begrenztes Wissen vom
Internet und Unix Kenntnisse genuegen und aufgrund gefaelschter
Absenderadressen faellt die Identifikation der Verursacher schwer.

Ich versuche in diesem Dokument die Technik der (Distributed) Denial-
of-Service Attacken verstaendlich zu machen und Moeglichkeiten
aufzuzeigen, wie man Netzwerke vor Angriffen schuetzen kann.




2 Theorie der Angriffe


Zu bedienen sind die DDoS Tools zwar einfach, aber man benoetigt hohe
Datenmengen und mehrere hochleistungsfaehige Netzwerke um einen
wirkungsvollen Angriff zu starten.
Die Frage ist nur, woher bekommt man soviele Hosts oder Netzwerke mit
einer Internet Anbindung von ca. 1 Gigabit ?
Nach meiner Meinung eignen sich dafuer am allerbesten die Netzwerke
von Universitaeten. Diese haben erstens eine hohe Internet Anbindung
und sind zweitens in der Regel uebersaet mit Sicherheitsdefiziten und
Backdoors (trojaner).Diese Exploits sind der Oeffentlichkeit ohne
weiteres zugaenglich. Zu nennen waere hier z.b. Bugtraq
(SecurityFocus).




3 DoS Technik


Denial of Service Angriffe haben die Aufgabe Server im Internet oder
in lokalen Netzwerken zu ueberlasten. Durch diese Angriffe werden die
System Ressourcen wie Speicher, Rechenzeit und Interner Verbindung von
Denial of Service Angriffen ueberlastet, das Netzwerk kann seine
Aufgaben nicht mehr bewaeltigen und stuertzt ab. Das Prinzip der DoS
Attacken ist denkbar einfach. Beispiel Ping Flooding: Der Angreifer
bombardiert mit gewaltigen Mengen von sogenannten Pings (echo
requests) den Zielrechner, dieser Rechner ist nur noch damit
beschaeftigt die Pings zu beantworten(echo replies) je nach DoS Arten
und Groesse der Pings pro Sekunde, kann dies innerhalb kuerzester Zeit
zu einem Systemabsturz oder einer wesentlichen Beeintraechtigung des
angegriffenen Servers fuehren.




4 DDoS Technik


Die Distributed Denial-of-Service Attacke macht im Grunde das gleiche,
man muellt ein Netzwerk mit Datenpaketen zu. Die wesentlichen
Unterschiede der DDoS zur DoS Technik besteht darin, dass man mit den
jetzigen DDoS Programmen (trinoo, tfn, tfn2k, stacheldraht) ein Flood
Netzwerk aufbauen kann. Denn: DDoS Tools bestehen aus Client und
Daemon. Dies basiert auf dem Client - Server Modell.

Zum Verstaendnis:

Client: Ein Client ist ein Prozess, der irgendwelche Dienste
verlangt (Vom Attacker gesteuert).

Server: Ein Server ist ein Prozess, der Dienste leistet.

Daemon: Linux / Unix Daemonen sind Prozesse die nicht an einen
Benutzer oder Kontrollterminal gebunden sind. Sie erledigen
im stillen Verwaltungsaufgaben und stellen Dienstleistungen
zur Verfuegung. (z.b. Netzdienste: inetd, sendmail)

Der Vorteil am Flood Netzwerk Konzept ist, dass man viele DDoS Servers
auf verschiedenen Hosts installieren kann und sie dann untereinander
kommunizieren. Wenn man im Client ein Kommand eingibt, wird dieser
Kommand vom Client an alle DDoS Daemons uebermittelt.




5 DoS Arten


5.1 SYN Angriffe


Bei dieser Art der Denial of Service Attacke wird das Drei Wege
Handshaking vom TCP benutzt.

Zum Verstaendnis: (Die 3 Wege)

1. Der Client sendet ein SYN (Synchronisationsnachricht) an den
Server.

2. Der Server antwortet mit einem ACK (Acknoledgement).

3. Darauf sendet der Client sein ACK (Acknoledgement) an den Server.


Das Grundproblem der Drei Wege Handshaking Technik ist die sogenannte
halboffene Verbindung. Diese entsteht dadurch, dass bis zur
Bestaetigung des dritten Schrittes durch den Client (dieser sendet
seinen ACK an den Server), der Server seinerseits offen bleibt und
eine DOS Syn Attacke diesen Umstand ausnutzt um den Server zu crashen.

Der Angreifer verschickt eine so grosse Datenmenge an halboffene
Verbindungen, sodass der Server keine weitere TCP Verbindung mehr
aufbauen kann. Dadurch wird dann schlussendlich der Server lahmgelegt.




5.2 Smurf Angriffe


Bei DoS Art Smurf Angriffen wird eine grosse Anzahl von gefaelschten
ICMP Paketen mit der Broadcast Adresse eines grossen Netzwerkes
verschickt. Broadcast Addressen haben die Eigenschaft, dass jeder Host
des Zielnetzwerkes diese Pakete empfaengt, die Antworten der Hosts
jedoch ins Lerre gehen, da die Absenderaddresse gespooft ist.




5.3 DoS Angriffe auf den TCP/IP Stack


Durch Angriffe auf den TCP/IP Stack, kommt es immer haeufiger zum
Abstuerzen der Netzwerke. Ursache ist ein mangelhafter TCP/IP Stack in
Servern und Routern. Die bekanntesten DoS Attacken hierfuer sind:
Nuke, Land und Teardrop. Das Problem ist, dass einige Pakete von
Routern nicht herausgefiltert werden.




5.4 DoS Angriffe auf IDS, Sniffer, Scanner


Bei DoS Angriffen mit fragmentierten IP Paketen koennen IDS Systeme
(Intrusion Detection), Sniffer und Netzscanner lahmgelegt oder
ueberlistet werden. Solche Sniffer oder Scanner Programme, welche auf
einem Netzwerk einen Port ueberwachen (z.b. 21 - FTPD) kann man z.b.
durch das mitloggen der Sniffer Programme ueberlisten. Man sendet ein
gespooftes SYN Paket und in dieser Zeit koennen sich Angreifer in das
System einlogen ohne das es die jeweiligen Sniffer bemerken, da sie
damit beschaeftigt sind ein reply an die gespoofte adresse zu senden.
Nach dem reply Timeout ist der jeweilige Sniffer wieder aktiv.




6 DDoS Tool Beschreibung


Zum Verstaendnis:

Client: Ein Client ist ein Prozess, der irgendwelche Dienste
verlangt (Vom Attacker gesteuert).

Daemon: Sie erledigen im stillen Verwaltungsaufgaben und stellen
Dienstleistungen zur Verfuegung. (z.b. Koordinieren der DoS
Pakete)

Master: Ein Host, auf dem ein Client laeuft.

Agent: Ein Host, auf dem ein Daemon laeuft.

Handler: Zweiter Client (nur bei Stacheldraht), der Client bei
Stacheldraht uebernimmt die Verschluesselung.

(Zwischen Client (Master) und Daemon (Agent) besteht kein Unterschied.
Nur die einzelnen DDoS Tools werden verschieden benannt.)

Alle aufgefuehrten DDoS Tools sind mit einem Passwortschutz und
Verschluesselung ausgestattet.




6.1 Trinoo


Das Trinoo Netzwerk Tool besteht aus dem Master (master.c) und dem
Daemon (ns.c)

Trinoo unterscheidet sich nicht besonders von TFN, die Kommunikation
erfolgt allerdings ueber Ports.

Kommunikations Ports bei Trinoo:

Attacker to Master(s): 27665/tcp
Master to daemon(s): 27444/udp
Daemon to Master(s): 31335/udp

Der Attacker ist in der Lage ein oder mehrere Master Server zu
bedienen. Der bzw. die Master Server kontaktieren dann die Daemonen.
Diese wiederum haben die Aufgabe, die Pakete des oder der Zielsysteme
des Client wie angegeben zu koordinieren.

Ein solches Trinoo Flood Netzwerk koennte z.b. so aussehen:

__________
| attacker |
|__________|
|
___________________|______________________________
| | |
_____|____ _____|____ _____|____
| master | | master | | master |
|__________| |__________| |__________|
| | |
_____|______________________|_____________________ __|_
| | | |
___|____ ___|____ ___|____ __|_____
| daemon | | daemon | | daemon | | daemon |
|________| |________| |________| |________|
\ \ / /
\ \ / /
\ \ / /
\ \ / /
_________________________
| Victim |
|_________________________|




6.2 TFN / TFN2k


Das TFN (Tribe Flood Network) Tool besteht aus dem Client (tribe.c)
und dem Daemon Programm (td.c)

Es ist mit einem TCP Port (Telnet Verbindung fuer den Attacker)
und Passwortschutz ausgestattet.

Es enthaelt folgende Arten von Denial of Service Attacken:
ICMP flood, SYN flood, UDP flood, und Smurf style attacks.

Die Kommunikation zwischen clients und daemon erfolgt nicht ueber
Ports sondern ueber ICMP Echoreply Pakete.

Dabei ist der Attacker in der Lage ein oder mehrere Clients zu
bedienen. Der (die) Client kontaktieren dann die Daemonen. Die
Daemonen haben die Aufgabe die Pakete des oder der Zielsysteme, welche
vom vom Client angegeben werden, zu koordinieren.

Ein solches TFN Flood Netzwerk koennte z.b. so aussehen:

__________
| attacker |
|__________|
|
_______________|______________________________
| | |
_____|____ _____|____ _____|____
| client | | client | | client |
|__________| |__________| |__________|
| | |
_____|______________________|_____________________ __|_
| | | |
_____|__ ____|___ ___|____ _|______
| daemon | | daemon | | daemon | | daemon |
|________| |________| |________| |________|
\ \ / /
\ \ / /
\ \ / /
\ \ / /
_________________________
| Victim |
|_________________________|




TFN2k:

Die wesentlichen Unterschiede zwischen TFN2k und TFN bestehen darin,
dass alle Kommandos mit einem CAST-256 Algorithmus verschluesselt
werden.

Neue DoS Attack Arten wurden hinzugefuegt:
TCP/SYN, UDP, ICMP/PING, und SMURF flood Pakete. Die Kommunikation
zwischen Client (Master) und Daemon (Agent) funktioniert ueber TCP,
UDP, ICMP.




6.3 Stacheldraht


Stacheldraht ein weiteres, bekanntes Distributed Denial-of-Service
Tool. Es unterscheidet sich etwas von den anderen Tools.

Es beinhaltet zwei Clients:
Den handler (mserv.c) und der Angreifer verwenden einen zweiten
Client, eine Art Telnet (telnetc/client.c). Dieser uebernimmt die
Verschluesselung. Client.c verbindet und kommuniziert mit den handlern
im Flood Netzwerk. Und schliesslich beinhaltet Stacheldraht, wie alle
anderen Tools auch, den Daemon (hier agent) (leaf/td.c).

Kommunikations Ports bei Stacheldraht

Client to handler(s): 16660/tcp
Handler to/from agent(s): 65000/tcp, ICMP ECHO_REPLY

Dabei ist der Attacker in der Lage ein oder mehrere Clients (client.c)
zu bedienen, der Client.c verschluesselt und Kommuniziert mit den
handlern. Der (die) Handler kontaktieren dann die Daemonen. Die
Daemonen haben die Aufgabe die Pakete der Zielsysteme der vom Handler
angegeben wird zu koordinieren.

Ein solches Stacheldraht Flood Netzwerk koennte z.b. so aussehen:

__________
| attacker |
|__________|
|
___|____
| client |
|________|
|
__________________|_____________________________
| | |
_____|_____ _____|_____ _____|_____
| handler | | handler | | handler |
|___________| |___________| |___________|
| | |
_____|______________________|_____________________ __|_
| | | |
___|___ ___|___ ____|__ __|____
| agent | | agent | | agent | | agent |
|_______| |_______| |_______| |_______|
\ \ / /
\ \ / /
\ \ / /
\ \ / /
_________________________
| Victim |
|_________________________|




7 Wie kann man sich schuetzen


Die heutigen Firewalls sichern leider nicht mehr ausreichend gegen DoS
Angriffe. Der Grund liegt nicht zuletzt in den verschiedenen
Angriffsvarianten sowie in der Unkenntnis ueber dieselben.

Eine Patch die Distributed Denial-of-Service Angriffe blockiert, gibt
es bis jetzt nicht. Man kann die groesseren Netzwerke gegen verteilte
DoS Attacken nur mit einer gut ueberlegten, muehsamen System
Konfiguration schuetzen. Router Einstellungen gegen DoS Pakete
minimieren zwar das Risiko, jedoch sollten unnoetige UDP, ICMP
Messages geblockt sowie unnoetige Ports und Traffic filtriert werden.

Eine weitere Moeglichkeit ist die routing access Einstellung zu
aendern. Die Bandbreite von Source Addressen wird dadurch
begrenzt/filtriert.

Grosse Probleme gibt es gerade bei Highspeed Netzwerke, in denen
Geschwindigkeiten ueber 100Mbit erreicht werden. Erstens kann dadurch
der TCP/IP Stack viel schneller ueberlastet werden, und zweitens
koennen durch Zahlenwerte fuer die SSN (meist 32bit) weitere DoS Arten
ermoeglicht werden. Schutz hierfuer bieten Betriebssysteme wie:
OpenBSD, FreeBSD, NetBSD, Linux (Kernel2.2), denn diese Systeme
verwenden einen TCP/IP Stack fuer lange SSN's (64Bit)

Um die Spoofed DDoS, DDoS (smurf) Attacken zurueck zu verfolgen,
sollte die Source Address nicht laenger pruefen, den diese ist in der
Regel gefaelscht. Aber durch einen schnellen Blick im Router Eintrag
wird der Traffic kurz nach dem Beenden des Angriffes noch angezeigt.

Zu Empfehlen ist auch der DDoS detection filter des NFR (www.nfr.net)
Bei NFR (Network Flight Recorder) handelt es sich um ein nuetzliches
Intrusion Detection System.


8 Zusammenfassung


Ich hoffe diese Ausfuehrungen konnte Ihnen einen ersten Ueberblick
ueber die Denial of Service und Distributed Denial of Service Angriffe
geben. Nach meiner Meinung wird es zukuenftig verstaerkt zu DoS und
DDoS Attacken im Internet kommen. Das Internet wird immer schneller
und dadurch laesst sich die fuer die Angriffe notwendigen Datenmengen
gewaltig erhoehen.
Sicherheitsberatung im Internet und das Aufzeigen von Schwachstellen
wird unter diesen Vorzeichen immerdringlicher.


9 Ressourcen

- stacheldraht analysis
- tfn2k analysis
- tfn analysis
- trinoo analysis
- firstaid
Verwandte Artikel
Lesen Sie auch folgende Meldungen dazu