SYN-Flut: Varianten und Abwehrmaßnahmen
Als Denial-of-Service-Angriff (DoS) zielt die SYN- Flut darauf ab , legitimen Datenverkehr von einem Online-System auszuschalten. Konzeptionell kann ein Denial-of-Service-Angriff mit dem Massenversand gefälschter Briefe an eine Agentur verglichen werden. Wenn die Postfächer voll sind, kann die Agentur keine legitimen E-Mails empfangen oder verarbeiten. Der Angreifer hat sein Ziel erreicht, das normale Funktionieren des Organismus zu verhindern.
- Was ist ein SYN-Flutangriff?
- Wie SYN-Flutangriffe funktionieren
- Normaler TCP-Verbindungsaufbau mit dreistufiger Aushandlung
- SYN-Flutangriffsmechanismus
- Varianten des SYN-Flutangriffs
- Direkte SYN-Flutangriffe
- SYN-Flood-Angriffe mit gefälschter IP-Adresse
- SYN-Flood-Angriffe mit Denial-of-Service-Angriff (DDoS)
- SYN-Flutangriffe durch Reflex
- Schutzmaßnahmen gegen SYN-Flutangriffe
- SYN Queue Boost
- Recycling der ältesten halboffenen TCP-Verbindung
- SYN-Cache und Cookies
- Cloud-basierter Schadensbegrenzungsdienst
Was ist ein SYN-Flutangriff?
Wenn wir von SYN- Flut oder SYN- Flut sprechen , beziehen wir uns auf einen Denial-of-Service-Angriff . Darin sendet der Angreifer einen Strom bösartiger Datenpakete an ein Zielsystem mit der Absicht, das Ziel zu überlasten und so seine legitime Verwendung zu verhindern.
SYN Flood ist wie Ping of Death ein Protokollangriff . Diese Angriffe zielen darauf ab, eine Sicherheitslücke in der Netzwerkkommunikation auszunutzen, um das Zielsystem zu Füßen zu legen. Darin unterscheidet es sich von der Mechanik der volumetrischen Ping-Flood-, UDP-Flood- und HTTP-Flood-Angriffe. In diesen Fällen konzentrieren sich die Angreifer darauf, die Bandbreite des Ziels im Netzwerk zu sättigen.
Wie SYN-Flutangriffe funktionieren
Die SYN- Flut, auch als “halboffener Angriff” bekannt, ist ein Cyber-Angriff gegen die Netzwerkverbindung. Der Angreifer manipuliert die dreistufige TCP-Aushandlung (Transmission Control Protocol). Anstatt wie erwartet eine Verbindung zwischen Client und Server auszuhandeln, werden auf dem Server viele halboffene Verbindungen erstellt. Dies beansprucht Serverressourcen, die für die tatsächliche Verwendung nicht mehr verfügbar sind.
Lassen Sie uns einen Blick darauf werfen, wie eine normale TCP-Verbindung hergestellt wird und wie ein SYN- Flood- Angriff dieses Prinzip beeinträchtigt .
Normaler TCP-Verbindungsaufbau mit dreistufiger Aushandlung
Das Transmission Control Protocol (TCP) ist neben dem Internet Protocol (IP) einer der Eckpfeiler des Internets. Da TCP ein Verbindungsprotokoll ist, müssen sowohl der Client als auch der Server die Verbindung aushandeln, bevor Daten ausgetauscht werden. Zu diesem Zweck wird in drei Schritten verhandelt:
- Der Client sendet ein SYN (? Sync?) – Paket an den Server: “Hallo, ich möchte eine Verbindung mit Ihnen herstellen”.
- Der Server antwortet mit einem SYN / ACK-Paket (ACK =? Acknowledge?) Und erstellt im SYN- Backlog eine Datenstruktur, die als Transmission Control Block (TCB) für die Verbindung bezeichnet wird 😕 , in Übereinstimmung. Verwenden Sie also die folgenden Verbindungsparameter?
- Der Client antwortet auf das SYN / ACK-Paket mit einem ACK-Paket und die Aushandlung ist abgeschlossen. Zu diesem Zeitpunkt wird die Verbindung hergestellt und Daten können in beide Richtungen gesendet werden. Auf der Serverseite wird der Übertragungssteuerungsblock aus der SYN-Liste entfernt 😕 Großartig, danke. Lass uns anfangen !?
Dieser Vorgang wird jedes Mal im Hintergrund ausgeführt, wenn wir eine Verbindung zu einem Server herstellen, um eine Webseite zu besuchen oder unsere E-Mails zu überprüfen.
SYN-Flutangriffsmechanismus
Während eines SYN- Flood- Angriffs kommt es zu einem massiven Ausfall der TCP-Verbindung :
- Der Angreifer sendet ein SYN-Paket mit einer gefälschten IP-Adresse an den Server.
- Der Server erstellt einen Übertragungssteuerungsblock für die halboffene Verbindung in der SYN-Warteschlange (Verbindungs unvollständige Warteschlange). Der TCB belegt Speicherplatz auf dem Server. Außerdem ist die Größe der SYN-Warteschlange begrenzt.
- Der Server sendet ein SYN / ACK-Paket an die gefälschte IP-Adresse des Angreifers.
- Da der Angreifer keine ACK-Pakete empfängt, die die Verbindung bestätigen, sendet der Server weitere SYN / ACK-Pakete an den vermeintlichen Client und hält die Verbindung halb offen.
- Während der Server noch auf eine Antwort wartet, kommen immer wieder neue SYN-Pakete des Angreifers und müssen in der SYN-Warteschlange registriert werden.
- Ab einem bestimmten Zeitpunkt ist in der SYN-Warteschlange kein Platz mehr für weitere unvollständige Verbindungen verfügbar. Anschließend lehnt der Server die eingehenden SYN-Pakete ab und ist von außen nicht mehr zugänglich.
Um eine SYN- Flut auszulösen , verwendet der Angreifer eine spezielle Software . Ein Beispiel hierfür ist das bekannte hping Werkzeug , verwendet Penetrationstests zu tun , die auf dem Netzwerk verschiedene Angriffe ermöglicht die Simulation. Aus Sicherheitsgründen zeigen wir nur ein ungefähres Muster des HPING-Codes für eine SYN- Flut mit einer gefälschten IP-Adresse:
hping --syn --flood --rand-source -p <Port> <IP-Adresse>
Die Befehlsoptionen sind interessant:
- Die Option –syn weist das Tool an, TCP als Protokoll zu verwenden und SYN-Pakete zu senden.
- Die Option –flood ist wichtig . Der Dokumentation zufolge sendet der Befehl hping die Pakete so schnell wie möglich.
- Mit der Option –rand-source fälscht der Angreifer seine IP-Adresse. Anstelle der tatsächlichen Absenderadresse wird eine zufällige IP-Adresse eingegeben.
Varianten des SYN-Flutangriffs
Es gibt mehrere Methoden , um eine SYN auszuführen Flut Angriff . Allen gemeinsam ist das Ziel des Angreifers: den Server so lange wie möglich zu beschäftigen . Dazu müssen Sie sicherstellen, dass vom Server gesendete SYN / ACK-Pakete keine Antwort erhalten. Wenn der Computer des Angreifers mit einem ACK-Paket antwortet, wird der entsprechende Eintrag aus der SYN-Liste vom Server entfernt.
Wenn der Angreifer seine IP-Adresse fälscht, kommen die SYN / ACK-Pakete des Servers nie an. Wenn ein Computer ein SYN / ACK-Paket von einem Server empfängt, ohne zuvor ein SYN-Paket gesendet zu haben, sendet das Gerät ein RST-Paket (RST steht für “Zurücksetzen”), wodurch die Verbindung beendet wird. Dies möchte ein intelligenter Angreifer auch vermeiden, um die maximale Anzahl halboffener Verbindungen auf dem Server aufrechtzuerhalten .
Direkte SYN-Flutangriffe
Ein direkter Angriff beginnt mit der eigenen IP-Adresse des Hackers . Konfigurieren Sie eine Firewall auf Ihrem Computer, um sicherzustellen, dass eingehende SYN / ACK-Pakete verworfen werden. Eine andere Methode besteht darin, den Netzwerkverkehr auf ausgehende SYN-Pakete zu beschränken.
Da Sie den Angriff von Ihrer eigenen IP-Adresse aus steuern und daher relativ einfach zu verfolgen sind , wird diese Art von Angriff selten verwendet.
SYN-Flood-Angriffe mit gefälschter IP-Adresse
Der Angriff mit einer gefälschten IP-Adresse ist beliebter. In diesem Fall gibt der Angreifer eine gefälschte IP-Adresse in das Absenderfeld des SYN-Pakets ein und verbirgt so seinen wahren Ursprung. In diesem Fall bevorzugt der Angreifer die Verwendung von IP-Adressen, die zum Zeitpunkt des Angriffs nicht belegt sind. Dies stellt sicher, dass zufällig betroffene Systeme nicht mit einem RST-Paket auf SYN / ACK-Antworten des angegriffenen Servers reagieren und somit die Verbindung beenden.
SYN-Flood-Angriffe mit Denial-of-Service-Angriff (DDoS)
Bei dieser Angriffsmethode? Verteilt? SYN- Flut , Angriffe treten gleichzeitig von mehreren Computern aus auf . Im Allgemeinen handelt es sich um eine Reihe von entführten Computern, dh ein sogenanntes Botnetz- oder Roboternetzwerk. Der Angreifer kontrolliert die “Zombie” -Computer vom Roboternetzwerk, um ihnen zu befehlen, SYN-Pakete an das Ziel zu senden.
SYN-Flutangriffe durch Reflex
Ein Server antwortet normalerweise auf ein einzelnes SYN-Paket mit mehreren SYN / ACK-Paketen. Ein Angreifer kann Vorteil dieses Umstandes nehmen zu starten Reflex SYN Flut Angriff . Somit fälscht der Angreifer die IP-Adresse des Opfers und initiiert einen SYN- Flood- DDoS-Angriff gegen einen oder mehrere Server von Drittanbietern. Jeder der Server antwortet auf jedes eingehende SYN-Paket mit mehreren SYN / ACK-Paketen, die an das Opfer gesendet werden. Es gibt eine Multiplikation des Netzwerkverkehrs . Der Computer des Opfers wird von SYN / ACK-Paketen bombardiert und stürzt ab.
Schutzmaßnahmen gegen SYN-Flutangriffe
Das allgemeine Funktionsprinzip von SYN-Hochwasserangriffen ist ungefähr seit 1994 bekannt. Daher gibt es heute eine Reihe sehr wirksamer Abwehrmaßnahmen. Einige von ihnen haben jedoch negative Nebenwirkungen oder wirken nur unter bestimmten Bedingungen. Im Allgemeinen ist es nicht einfach, böswillige SYN-Pakete von legitimen zu unterscheiden. Die meisten gängigen Abwehrmaßnahmen werden auf Serverebene eingesetzt , es gibt jedoch auch Cloud-basierte Lösungen .
SYN Queue Boost
Die oben erwähnte SYN-Warteschlange für unvollständige Verbindungen ist Teil des Betriebssystems. Wir können es uns als Datentabelle vorstellen . Jede Zeile in dieser Tabelle enthält Informationen zum Herstellen einer einzelnen TCP-Verbindung. Das Betriebssystem kümmert sich zunächst um die Verwaltung der Verbindungen. Nach dem Herstellen einer Verbindung am Ende der dreistufigen Aushandlung wird die Verbindung an die Überwachungsanwendung am Port übertragen und aus der SYN-Warteschlange entfernt.
Eine der einfachsten Methoden zur Erhöhung der Sicherheit eines Systems gegen SYN-Flutangriffe besteht darin, die maximale Anzahl von halboffenen Verbindungen zu erhöhen, die das Betriebssystem zulässt. Jeder Eintrag in der SYN-Warteschlange verbraucht eine bestimmte Menge an Speicher , wodurch die Anzahl der Einträge begrenzt wird. Unter Linux beträgt das Limit standardmäßig mehrere hundert Einträge. Der Wert kann jedoch leicht erhöht werden. Grundsätzlich kann die SYN-Warteschlange Tausende von Einträgen enthalten. Auf diese Weise können SYN- Flutangriffe abgefedert werden .
Recycling der ältesten halboffenen TCP-Verbindung
Eine verwandte Methode besteht darin , die älteste halboffene Verbindung aus der SYN-Warteschlange zu entfernen, wenn sie voll ist. Dies schafft Platz für eine neue halboffene Verbindung. Diese Methode kann in Kombination mit einer ausreichend großen SYN-Warteschlange zu einem fortgesetzten Zugriff auf das System während einer SYN- Flut führen . Es hat sich jedoch gezeigt, dass diese Methode unwirksam ist, wenn das Angriffsvolumen sehr hoch ist.
SYN-Cache und Cookies
Die Idee des SYN-Cache ist einfach: Anstatt einen vollständigen Übertragungssteuerungsblock (TCB) für jede halboffene Verbindung in der SYN-Warteschlange zu speichern , wird nur ein minimaler TBC gespeichert. Die Technik verwendet kryptografische Hash-Funktionen, um zu verhindern, dass der Angreifer wichtige Informationen über die Verbindung errät. Der SYN-Cache hat sich als effektive Methode erwiesen. Verbindungsdaten können nur in Ausnahmefällen verloren gehen.
Der Erfindung von SYN-Cookies im Jahr 1996 folgte das Konzept des SYN-Cache. In diesem Fall entfällt die Verwendung des Übertragungssteuerblocks als Datenstruktur. Stattdessen werden die relevanten Verbindungsparameter in der Sequenznummer des SYN / ACK-Pakets codiert . Kryptografische Hash-Funktionen stellen sicher, dass der Angreifer die Sequenznummer nicht leicht erraten kann.
Ein legitimer Client antwortet auf das SYN / ACK-Paket mit einem ACK-Paket und greift auf die speziell vorbereitete Sequenznummer zurück. Der Server verwendet die Sequenznummer des ACK-Pakets, um die Verbindung herzustellen und kryptografisch zu überprüfen . Die Verwendung von SYN-Cookies bietet einen wirksamen Schutz vor SYN- Flutangriffen . Unter bestimmten Umständen kann es jedoch zu Leistungseinbußen kommen.
Beide Technologien werden auch in Kombination eingesetzt. Während des normalen Betriebs wird der SYN-Cache verwendet. Wenn der SYN-Cache voll ist, wechselt er zu SYN-Cookies. Dies kombiniert die positiven Aspekte beider Technologien.
Cloud-basierter Schadensbegrenzungsdienst
Der Kampf gegen Denial-of-Service-Angriffe ist so alt wie das Internet. Moderne Angreifer haben jedoch aufgrund von Roboternetzwerken eine viel höhere Angriffskraft. Die Denial-of-Service-Angriffe, die sie auslösen, stellen selbst die sichersten Systeme mit ihrem massiven Datenfluss zu Füßen. Daher werden die Dienste großer globaler Cloud-basierter Sicherheitsanbieter immer häufiger genutzt.
Die Idee ist, dass der eingehende DDoS-Datenstrom auf viele einzelne Systeme verteilt wird. Auf diese Weise wird die gesamte Angriffslast verteilt und die Spitzenlast, die jedes der Systeme betrifft, nimmt ab. Daher kann das Netzwerk schwerwiegenden Angriffen standhalten.
Auf Netzwerkebene wurde zusätzlich zur Paketfiltermethode die Anycast-Technologie konsolidiert . Anfragen an Systeme, die über Anycast verbunden sind, werden automatisch an einen geografisch näher gelegenen Server weitergeleitet. Auf diese Weise wird Eisen lokal entfernt, wenn der Denial-of-Service-Angriff global ist. Anycast-Netzwerke wie Cloudflare überzeugen durch Eleganz und Widerstand.
Der Cloudflare-Blog bietet sehr interessante Einblicke in die aktuellen Fortschritte bei der Bekämpfung von SYN- Flutangriffen . Neben der botbasierten Minderungsstrategie scheinen SYN- Paketsignaturen eine vielversprechende Zukunft zu haben. Dieses System besteht aus der Erzeugung lesbarer Fingerabdrücke der eingehenden SYN-Pakete . Aus dem Fingerabdruck lassen sich einige Schlussfolgerungen über das Betriebssystem des Computers ziehen, der ursprünglich das SYN-Paket gesendet hat. Während eines SYN- Flood- Angriffs werden bei der Analyse von Fingerabdrücken gesendete Pakete gefiltert, die das Muster nicht erfüllen.
25 Jahre nach seiner Entdeckung als Angriffstool bleibt die SYN-Flut eine Bedrohung für Website-Besitzer. Glücklicherweise gibt es wirksame Schutzmaßnahmen, um die Sicherheit des Übertragungssteuerungsprotokolls gegen diese Angriffe zu gewährleisten.