- SYN-Flood
-
Ein SYN-Flood ist eine Form der Denial of Service-Attacke auf Computersysteme. Der Angriff verwendet den Verbindungsaufbau des TCP-Transportprotokolls, um einzelne Dienste oder ganze Computer aus dem Netzwerk unerreichbar zu machen.
Funktionsweise
Wenn ein Client eine TCP-Verbindung zu einem Server aufbauen möchte, führen der Client und der Server einen so genannten Dreiwege-Handshake durch, um die Verbindung einzurichten. Der normale Ablauf, wie in der Abbildung zu sehen, ist dabei folgender:
- Client an Server: Paket mit Flag SYN, Abgleichen (synchronize).
- Server an Client: Paket mit Flags SYN, ACK, Abgleichen bestätigt (synchronize acknowledge).
- Client an Server: Paket mit Flag ACK, Bestätigt (acknowledge); Die Verbindung ist nun hergestellt.
Ein böswilliger Client kann die letzte ACK-Nachricht unterschlagen. Der Server wartet einige Zeit auf ein entsprechendes Paket, da es ja auch aufgrund von Verzögerungen verspätet eintreffen könnte.
Während dieser Zeit werden sowohl die Adresse des Clients als auch der Status der noch halb offenen Verbindung im Speicher des Netzwerkstacks vorrätig gehalten, um die Verbindung später vollständig etablieren zu können. Bei allen Betriebssystemen belegt diese so genannte halb offene Verbindung Ressourcen auf dem Server. Da Ressourcen immer begrenzt sind, ist es durch „Flutung“ des Servers mit SYN-Nachrichten möglich, alle diese Ressourcen aufzubrauchen. Sobald dies der Fall ist, können zum Server keine neuen Verbindungen mehr aufgebaut werden, was zur Zugriffsverweigerung (Denial of Service) führt. Die Tatsache, dass SYN-Pakete sehr klein sind und auch ohne großen Rechenaufwand erzeugt werden können, macht diesen Angriff besonders unausgewogen. Der Verteidiger benötigt mehr Ressourcen zur Abwehr als der Angreifer für den Angriff selbst.
Betroffene Ressourcen
Zu den Ressourcen, die betroffen sein können, gehören vor allem die Tabelle, in der die TCP-Verbindungen gespeichert werden, sowie – durch sekundäre Effekte – der Hauptspeicher des Servers. Die sogenannte Backlog queue des TCP-Stacks, die im Falle von zu vielen gleichzeitig aktiven Verbindungen als Warteschlange einspringt, benötigt ebenfalls Speicher. Wenn dem angegriffenen Server der Speicher ausgeht, stürzt er in vielen Fällen ganz oder teilweise ab.
Gegenmaßnahmen
Mögliche Maßnahmen gegen SYN-Floods:
- Der SYN-Cookies-Mechanismus
- RST-Cookies
- Eine Echtzeitanalyse des Angriffs durch eine intelligente Firewall.
Gegen Distributed-Denial-of-Service-Angriffe schützen diese Maßnahmen jedoch unter Umständen nicht.
Wikimedia Foundation.