Was ist eine SYN-Flood-Attacke?
Bei der SYN-Flood-Attacke handelt es sich um eine Form der Denial-of-Service-Attacke (DoS-Attack). Für den Angriff erfolgt der Verbindungsaufbau über das TCP-Transportprotokoll. Ziel der Angreifer ist es, dass einzelne Dienste oder komplette Computersysteme innerhalb des Netzwerks nicht mehr erreichbar sind.
Wie funktioniert die SYN-Flood-Attacke?
Während der SYN-Flood-Attacke schickt ein Client pausenlos SYN-Pakete (Synchronisation) unter Verwendung falscher IP-Adressen an jeden Port eines Zielservers. Der Server denkt, dass mehrere Instanzen Daten austauschen möchten, und antwortet auf jede Anfrage von offenen Ports mit einem SYN/ACK-Paket (synchronization acknowledged). Von jedem geschlossenen Port sendet der Server ein RST-Paket (Reset). Im Normalfall eines dreistufigen Handschlags zwischen Server und Client würde der Client ebenfalls ein ACK-Paket schicken und so den Empfang des SYN/ACK-Pakets bestätigen. Anschließend würde der Datenaustausch beginnen. Anders bei einer SYN-Flood-Attacke: Hier schickt der Client das ACK-Paket nicht zurück und flutet stattdessen sämtliche Ports fortlaufend mit neuen SYN-Anfragen. Wenn der Server mit einem SYN/ACK-Paket antwortet, hat der Client Kenntnis darüber, wann ein Port offen ist. Da der Client gefälschte IP-Adressen verwendet, kann der Server die Verbindung nicht mithilfe eines RST-Pakets schließen. Die Verbindung bleibt offen, und bevor es zu einer Zeitüberschreitung kommt, empfängt der Server bereits das nächste SYN/ACK-Paket. Solch eine Verbindung wird auch als halboffen bezeichnet, der Server ist durch den Angriff fast voll ausgelastet und unter Umständen ist die Kommunikation mit echten Clients nicht mehr möglich. Daher wird eine SYN-Flood-Attacke alternativ als halboffener Angriff bezeichnet. Zielt die Übermittlung von SYN-Paketen auf das Finden offener Ports ab, wird dies als SYN-Scanning bezeichnet.
Wie lassen sich SYN-Flood-Angriffe abwehren?
Damit ein Server unter solcher Last nicht zusammenbricht, kann der Administrator einen SYN-Proxy installieren. Dabei handelt es sich um einen vorgeschalteten Server, der ausschließlich SYN-Anfragen beantwortet und nur solche Anfragen weiterleitet, bei denen der Client mit einem ACK-Paket geantwortet hat. Ein weiterer Schutzmechanismus ist die Verwendung von SYN-Cookies, da der Server dann keine sinnlosen SYN-Pakete speichern muss. Die Kombination aus SYN-Proxy und SNY-Cookies bietet einen guten Schutz vor SYN-Flood-Angriffen.