Bei einem SYN-Flood-Angriff wird versucht, durch das Ausnutzen einer Schwachstelle im TCP/IP-Handshake einen Webdienst zu stören.
Nach Lektüre dieses Artikels können Sie Folgendes:
Ähnliche Inhalte
Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!
Link zum Artikel kopieren
Ein SYN-Flood-Angriff (halboffener Angriff) ist eine Art Denial-of-Service-(DDoS)-Angriff, der darauf abzielt, einen Server für legitimen Daten-Traffic nicht verfügbar zu machen, indem er alle verfügbaren Serverressourcen verbraucht. Durch wiederholtes Senden von SYN-Paketen (Initial Connection Request) ist der Angreifer in der Lage, alle verfügbaren Ports auf einem Zielservercomputer zu überlasten, so dass das Zielgerät nur langsam oder gar nicht auf legitimen Daten-Traffic reagiert.
SYN-Flood-Angriffe funktionieren unter Ausnutzung des Handshake-Prozesses einer TCP-Verbindung. Unter normalen Bedingungen weist die TCP-Verbindung drei verschiedene Prozesse auf, um eine Verbindung herzustellen.
Für einen Denial-of-Service-Angriff nutzt ein Angreifer die Tatsache aus, dass der Server nach dem Empfang eines ersten SYN-Pakets mit einem oder mehreren SYN/ACK-Paketen antwortet und auf den letzten Schritt des Handshakes wartet. So funktioniert es:
Wenn ein Server im Netzwerk eine Verbindung offen lässt, der Rechner auf der anderen Seite der Verbindung aber nicht, gilt die Verbindung als halb offen. Bei dieser Art von DDoS-Angriff lässt der Zielserver kontinuierlich Verbindungen offen und wartet auf das Timeout jeder Verbindung, bevor die Ports wieder verfügbar werden. Infolgedessen kann diese Art von Angriff als „halboffener Angriff“ angesehen werden.
Mit einem SYN-Flood-Angriff kann ein schlechter Akteur versuchen, einen Denial-of-Service in einem Zielgerät oder Dienst mit wesentlich weniger Traffic als bei anderen DDoS-Angriffen zu erzeugen. Statt volumetrischer Angriffe, die darauf abzielen, die Netzwerkinfrastruktur um das Ziel herum zu sättigen, müssen SYN-Angriffe nur größer sein als der verfügbare Backlog im Betriebssystem des Zielsystems. Wenn der Angreifer in der Lage ist, die Größe des Backlogs und die Dauer, wie lange die einzelnen Verbindungen vor der Zeitüberschreitung offen bleiben, zu bestimmen, kann der Angreifer genau die Parameter bestimmen, die zum Deaktivieren des Systems erforderlich sind, um den Gesamt-Traffic auf das Minimum zu reduzieren, das erforderlich ist, um einen Denial-of-Service zu erzeugen.
Die SYN-Flood-Schwachstelle ist seit langem bekannt und es wurde eine Reihe von Abwehrpfaden genutzt. Einige Ansätze sind unter anderem:
Jedes Betriebssystem auf einem Zielgerät erlaubt nur eine bestimmte Anzahl von halboffenen Verbindungen. Eine Antwort auf hohe Volumina von SYN-Paketen ist die Erhöhung der maximalen Anzahl von möglichen halboffenen Verbindungen, die das Betriebssystem zulässt. Um den maximalen Backlog zu erhöhen, muss das System zusätzliche Speicherressourcen für die Bearbeitung aller neuen Anforderungen reservieren. Wenn das System nicht über genügend Speicher verfügt, um mit der größeren Backlog-Warteschlange umgehen zu können, wird die Systemleistung negativ beeinflusst, aber das kann immer noch besser sein als ein Denial-of-Service.
Eine weitere Abwehrstrategie besteht darin, die älteste halboffene Verbindung zu überschreiben, sobald der Backlog gefüllt ist. Für diese Strategie müssen die legitimen Verbindungen in kürzerer Zeit vollständig aufgebaut werden können, als der Backlog mit bösartigen SYN-Paketen gefüllt werden kann. Diese spezielle Abwehr schlägt fehl, wenn das Angriffsvolumen erhöht wird oder wenn der Backlog zu klein ist, um praktikabel zu sein.
Zu dieser Strategie gehört die Erstellung eines Cookies durch den Server. Um das Risiko eines Verbindungsabbruchs nach dem Füllen des Backlogs zu vermeiden, antwortet der Server auf jede Verbindungsanforderung mit einem SYN-ACK-Paket, löscht dann aber die SYN-Anfrage aus dem Backlog, entfernt die Anforderung aus dem Speicher und lässt den Port offen und bereit, eine neue Verbindung herzustellen. Wenn die Verbindung eine legitime Anforderung ist und ein endgültiges ACK-Paket vom Client-Rechner zurück an den Server gesendet wird, rekonstruiert der Server dann (mit einigen Einschränkungen) den SYN-Backlog-Warteschlangen-Eintrag. Obwohl durch diesen Abwehraufwand einige Informationen über die TCP-Verbindung verloren gehen, ist dies besser, als zuzulassen, dass legitime Benutzer als Folge eines Angriffs einen Denial-of-Service erleben.
Cloudflare wehrt diese Art von Angriff teilweise so ab, indem es zwischen dem Zielserver und dem SYN-Flood-Angriff steht. Wenn die erste SYN-Anfrage gestellt wird, übernimmt Cloudflare den Handshake-Prozess in der Cloud und hält die Verbindung mit dem Zielserver zurück, bis der TCP-Handshake abgeschlossen ist. Diese Strategie nimmt die Ressourcenkosten für die Aufrechterhaltung der Verbindungen mit den gefälschten SYN-Paketen vom Zielserver und platziert sie auf Cloudflares Anycast Netzwerk. Erfahren Sie mehr darüber, wie der DDoS-Schutz von Cloudflare funktioniert.