Bevor ich zur Erklärung der Syn-Floodings komme, erst einmal ein kleiner Exkurs zum generellen Verbindungsaufbau im Internet.
Jedes TCP-Paket verfügt über ein Flag, welches seine Verwendung kennzeichnet. So sorgt das Flag-Bit SYN (synchronize) z.B. für den Initiierung des Verbindungsaufbaus zwischen Sender und Empfänger. Pakete mit dem Flag-Bit ACK (acknowledge) bestätigen dem Sender den Informationsempfang durch den Empfänger. Ein Paket mit dem Flag-Bit FIN (finish) beendet die Verbindung zwischen den beiden Rechnern.
Im nachfolgenden Beispiel wird einmal die normale Kommunikation zwischen Sender und Empfänger gezeigt:
1. SYN: Ein Client (z.B. Browser) fordert eine Ver- bindung zum Server (z.B. Webserver an)
2. SYN/ACK: Der Server bestätigt die Verbindungan- forderung durch den Client.
3. ACK: Der Client bestätigt die Serverantwort.
Damit ist zwischen den beiden Rechnern eine TCP-Verbindung aufgebaut worden. Im Rahmen dieses Verbindungsaufbaus wird vom Server Speicher reserviert und es werden Informationen zum Verbindungsaufbau protokolliert, um notfalls ein verlorenes Paket erneut zu senden.
Genau diese Funktionalität ist Ziel einer SYN-Flooding-Attacke. Der Angreifer maskiert seine IP-Adresse mit ständig wechselnden Adressen und sendet ununterbrochen SYN-Anfragen an sein Opfer. Durch die sich ständig ändernde IP-Adresse hält der Server jede einzelne Anfrage für die Anfrage eines neuen Clients, und sendet ein SYN/ACK-Paket zurück.
Gleichzeitig wird serverseitig Speicherplatz reserviert und die Verbindungsdaten werden protokolliert. Durch die gefälschte IP-Adresse können die Pakete jedoch nicht beim eigentlichen Absender an- kommen - im günstigsten Fall meldet ein Empfänger mit einem RST-Paket, dass er keine Anforderung gesendet hat. Wenn der Server auf sein SYN/ACK keine Antwort erhält, sendet er das Paket erneut. Da der angreifende Client immer mehr Verbindungsanforderungen sendet, hat der Server irgendwann sein Limit der möglichen Verbindungen durch diese halboffenen Verbindungen erreicht und der Server antwortet nicht mehr auf neue Anfragen. Für diese Form des Angriffs reichte früher ein einzelner Client mit einer 9600er Modemver- bindung aus, um einen leistungsfähigen Webserver lahmzulegen. Inzwischen wurde die TCP/IP- Unterstützung der verschiedenen Betriebssysteme um Funktionen erweitert, die diese Form des Angriffes abwehren sollen. In den meisten Fällen wurde jedoch nur die Menge der maximal offenen Verbindungen und des nutzbaren Speichers drastisch erhöht, was die Angriffe abschwächt, aber nicht gänzlich unwirksam macht.
Das SYN-Flooding zählt zu den DoS (Denial of Service)-Attacken.
|