Bot-Net

Ein Bot (das ist die Kurzform für engl. Robot) oder auch Zombie ist ein Computersystem, welches nicht mehr unter der vollständigen Kontrolle seines Besitzers steht. Dies geschieht, indem auf einem beliebigen Weg (Wurm, E-Mail etc.) der Serverteil eines RAT (Remote Access Tool) auf das System gelangt. Dieser schickt nach erfolgreicher Inbetriebnahme eine Nachricht an seinen Herren, z.B. via E-Mail, IRC-Channel oder HTTP GET. Besagter Server ist aber nur ein Teil des RAT Paketes, die Client Komponente läuft auf einem C&C (Command & Control) System, den der Angreifer steuert. Mit dem C&C System hat er die Möglichkeit dem Server Befehle zu senden. Diese werden je nach RAT an verschiedenen abgehörten Ports entgegen genommen. Häufig sind diese Kommunikationskanäle mit Passwörtern geschützt und verschlüsselt. Dies macht zum Beispiel das Programm Poison Ivy. Der Angreifer ist damit in der Lage das System des Opfers, je nach Toolumfang, komplett fernzusteuern. Hiermit lassen sich Port-Scans, DoS- Attacken oder Spam-Mail Versand bewerkstelligen.

Wenn viele dieser Bots von einer Person oder einer Gruppe in einem Netzwerk zusammengefasst, also Kontrolliert werden dann spricht man von einem Bot-Net. Diese Bot-Netze können aus einigen wenigen Systemen bestehen oder aber in die Millionen gehen. Das Bot-Net Mariposa zum Beispiel soll nach Angaben der spanischen Polizei ca.13 Mio. Bots haben. Man kann den C&C Server zu finden, indem man die Client Kommunikation nach Auffälligkeiten überwacht. Ist der C&C Server ausschaltet, kann der Angreifer nicht mehr auf das Bot-Net zugreifen.

Da diese Struktur als nicht optimal gelten kann (Client < direkte Kommunikation > C&C Server), wurde sie weiter entwickelt zu sogenannten Fast-Flux Bot-Netzen (Single-Flux). Hier wurde eine weitere Schicht zwischen Client und C&C gezogen, die zur Sicherheit des C&C dient. Dazu wird Round-Robin-DNS (Lastverteilung durch DNS) benutzt, das heißt, ein DNS Server gibt auf die Anfrage mymaster.bot.net mehrere IP-Adressen zurück, von denen sich der Fragende eine aussuchen kann. Um dies zu bewerkstelligen muss der Bot- Net Betreiber aber einen eigenen DNS Server betreiben, den das DNS System für seine Bot-Net Domain als zuständig ansieht. Aber Korruption gibt es überall. Fragt ein Bot z.B. bei mymaster.bot.net nach, um den C&C zu erreichen, werden ihm mehrere IP-Adressen von Bot Systemen (Proxy-Bots) mitgeteilt. Die Proxy-Bots melden sich mit ihrer IP-Adresse bei dem DNS Server des Bot-Net Betreibers an und der verteilt deren IP-Adressen unter den eingehenden DNS Anfragen für mymaster.bot.net. Auf diesen Bot ist ein Weiterleitungsservice aktiviert. Über diesen Service findet dann die Kontaktaufnahme mit dem C&C, meist über http, statt. Da die Proxy-Bots rotieren (online und offline gehen), ist es sehr schwer den C&C aufzuspüren.

Um dem Ganzen die Krone aufzusetzen gibt es auch Fast-Flux Bot-Netze (Double-Flux), deren DNS Server aus Proxy-Bots des eigenen Netzes gestellt werden. Ebenso wird, um der Entdeckung zu entgehen, die Kommunikation der Fast-Flux Bot-Netze nicht mehr wie früher über IRC sondern über HTTP bewerkstelligt.

DoS (Denial of Service)

DoS kann man mit "Dienstverweigerung" oder "Verweigerung des Dienstes" übersetzen. Ziel dieser Attacke ist es ein Dienst oder ein System ganz oder zumindest teilweise Lahm zu legen. Wenn ein Web Shop der zu Identifikation des Users eine E-Mail Adresse als Benutzernamen und ein Passwort nutzt. Und der Server des Web Shops so konfiguriert ist das er nach dreimaligem falschem eingeben des Passwortes das Benutzerkonto sperrt. Braucht ein potentieller Angreifer nur noch eine E-Mail Adresse eines Users dieses Web Shops und schon kann er das Konto mit der Eingabe von drei falschen Passworten sperren lassen. Dies ist ein einfaches Beispiel für einen DoS-Angriff der auf Design Fehler beruht. Man kann DoS-Angriffe grob in zwei Bereiche aufteilen. Welche die sich Design / Implementierungsfehler zu Nutze machen und welche die durch Überlastung ihre Wirkung entfalten. Es gibt natürlich keine klare Grenze zwischen diesen Bereichen.

Design / Implementierungsfehler (Ressourcenangriff )

Da es Unwahrscheinlich ist das Programme gibt, die frei von Bugs (Programmierfehler) sind, ist dies ein Angriffspunkt für DoS-Angriffe. Denn je Komplexer ein Programm ist desto mehr Bugs können entstanden sein. Selbst wenn solche Bugs als Sicherheitslücke bekannt geworden sind und durch ein Update geschlossen wurden, kann dadurch eine weitere Sicherheitslücke entstanden sein. Oder sie kommt durch ein Update, das ein neues Feature Implementieren soll, zustande.

Ping-of-Death

Der Ping of Death ist zwar schon "veraltet" da die zugrunde liegende Sicherheitslücke behoben wurde. Aber er ist immer noch ein gutes Beispiel für einen DoS Angriff der durch Design /Implementierungsfehler zur Wirkung kommt. Ein IP-Packet darf maximal 65535 Byte groß sein inklusive Header (ergibt sich aus dem Bereich von 2 Byte für die Länge des Packets im Header). Soll dieses Packet nun über Ethernet versendet werden muss es Fragmentiert werden, da bei Ethernet die Maximalgröße in einem Frame für den Payload (Nutzdaten) auf 1500 Byte festgelegt ist. Diese werden beim Empfänger unter der Verwendung des "Fragment Offset" zusammen gesetzt. Das Programm was den Ping of Death sendete Fragmentierte das IP-Packet so das bei der Defragmentierung ein Packet mit mehr als 65535 Byte entstand. Die Systeme nahmen einfach an das das IP-Packet nicht größer war als 65535 Byte. Damit kam es zum Buffer overflow (Speicherüberlauf) und somit meistens zum Absturz des betreffenden Systems.

SYN-Flooding

SYN -Flooding nutzt das von TCP verwendete "3-Way-Handshake" für einen DoS-Angriff. Wie der Name schon sagt werden von Angreifer Verbindungsanfragen (SYN) an das Zielsystem gesendet. Das Antwortet mit einer Bestätigung (SYN ACK) das es die Verbindungsanfrage verstanden hat und wartet auf die Bestätigung vom Angreifer (ACK) diese sendet er aber nicht. Das Zielsystem versucht solange den Angreifer mit Bestätigungen (SYN ACK) zu erreichen bis er den Verbindungsversuch per Timeout abbricht. Da das Zielsystem nur eine begrenzte Zahl an Verbindungsaufbauten speichern, und dem Angreifer Systemressourcen zuteilt werden, kann er so eine DoS Situation schaffen. Wenn der Angreifer diese Situation mit IP-Spoofing kombiniert, in dem er eine nicht existierende IP nutzt (damit er nicht erkannt wird und es keine Reset (RST) gibt), kann er das Zielsystem mit Anfragen (SYN) überfluten und so die Ressourcen des Zielsystems blockieren. Eine Verkürzung der Timeout Zeit oder Minimierung der Ressourcen Zuteilung würde das Ergebnis nur verzögern. Und eine Obergrenze für Verbindunganfragen pro IP-Adresse kann der Angreifer umgehen indem er seine gespoofte IP-Adresse periodisch wechselt.

Überlastung (Bandbreitenangriff)

Ein anderer Angriffspunkt für DoS-Angriffe ist eine Überlast zu erzeugen. Diese entsteht wenn der eintreffende Datenstrom nicht mehr von einem System oder einem Netzwerk verarbeitet werden kann. Da die schiere Menge der Daten die Verarbeitungskapazität des Netzwerkes oder des Systems übersteigt. Es wird einfach Überlastet. Ein System kann 500 Anfragen pro Sekunde verarbeiten es werden aber 20.000 Anfragen pro Sekunde an das System gesendet wird es mit der 40 fachen Anzahl an Anfragen überlastet. Wenn wir annehmen das das System noch weiter arbeitet wird nur ein Bruchteil der eintreffenden Anfragen bearbeitet die Nutzung wird stark eingeschränkt.

DDoS (Distributed Denial of Service)

Ein Angreifer kann mit einen System nicht immer die nötige Anzahl an Anfragen generieren um ein System oder Netzwerk, per Überlast, zum einstellen der Arbeit zu bringen. Er muss dazu die Anzahl seiner Anfragen erhöhen. Zum Beispiel wäre das mit einem BOT-NET möglich, je nach Größe dieses BOT-NET hat er damit die die Ressourcen nahe zu jedes beliebige System oder Netzwerk anzugreifen. Eine andere Möglichkeit wäre es ein manueller DDoS-Angriff durch sehr viele User. Die das anzugreifende System mit Anfragen zu Überlasten versuchten. So geschehen im Juni 2001 mit der Lufthansa. Im Rahmen einer Initiative gegen Abschiebung sollte ständig www.lufhansa.com aufgerufen und aktualisiert werden um die Erreichbarkeit des Systems zu behindern.

DRDoS (Distributed Reflected Denial of Service)

Mit DRDoS Angriffen wird ein Umstand ausgenutzt, dass viele Netzwerkdienste auf eingehende anfragen antworten. Ein Angreifer sendet ein, mit gespoofter IP-Adresse versehenes, Paket an einen Netzwerkdienst eines Systems oder per Broadcast an viele Systeme. Diese verschicken ihre antworten an die gespoofte IP-Adresse. Da die Anzahl der Systeme in diesem Netzwerk als Multiplikator angesehen werden kann, lässt sich sagen dass je mehr Systeme das Netzwerk hat je stärker ist das Echo der Antworten.

Smurf

Dieser DRDoS-Angriff nutzt das ICMP Protokoll in dem er ICMP-Echo-Request (Typ 8 Code 0) Anfragen versendet. Als Antwort wird ein ICMP-Echo-Reply (Typ 0 Code 0) verschickt. Dies ist nicht nur mit einzelnen Systemen möglich sondern auch per IP- Broadcast-Adresse an ein ganzes Netzwerk. Ein Angreifer sendet ICMP-Echo-Request Anfragen, mit der gespoofter IP-Adresse des Systems das er angreifen will, an die Broadcast IP Adresse des Netzwerks mit dem er den Angriff verstärken möchte. Diese senden ICMP-Echo-Replys an das Opfer.

Fraggle

Fraggle ist im Prinzip ein Smurf Angriff mit einem anderen Protokoll nämlich UDP (User Datagram Protocol). Es werden UDP Pakete mit gespoofter IP-Adresse an das Verstärkungsnetzwerk, mit UDP Zielport 7 (ECHO = alle eingegangen Daten unverändert zurück senden), vom Angreifer versendet. Alle Systeme bei denen der ECHO Dienst aktiviert ist senden das UDP Paket nun an das eigentliche Ziel des Angreifers. Selbst wenn der ECHO Dienst nicht aktiviert ist werden ICMP-Unreachable (Typ 3 Code 3) Antworten an das Opfer geschickt. Es wird also immer Bandreite belegt.

Man in the Middle

MITM beschreibt die Technik, die Kommunikation zwischen zwei Systemen in einem Netzwerk über einen Angreifer umzuleiten.

Würden noch Hubs verwendet werden, würde jedes an den Hub angeschlossene Gerät alle über das Netzwerk versandten Daten erhalten. Aktuelle lokale Netzwerke nutzen Switches, die die übertragene Datenmenge dadurch reduzieren, dass die zu übertragenen Datenpakete nur an die Schnittstelle weitergeleitet werden, an der das Gerät mit der richtigen MAC-Adresse vermutet wird.

Schaltet der Angreifer die MAC Adresse seiner Netzwerkkarte mit der MAC Adresse der Netzwerkkarte des Opferrechners gleich, so empfängt das Opfer und der Angreifer die an das Opfer versandten Datenpakete.

Hat der Angreifer zwei Netzwerkarten, kann er die MAC-Adressen seiner Netzwerkarten mit den denen der Sendernetzwerkkarte und der Empfängernetzwerkkarte abgleichen. Nun werden die Daten an den regulären Empfänger über den Angreifer weitergeleitet.

Ist der Angreifer erfolgreich als MITM zwischengeschaltet, so können die Datenpakete auch manipuliert werden. Der Angreifer kontrolliert, welche Daten weitergeleitet werden, er kann Datenpakete entfernen oder verändern.