SYN-Cookies

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Unter SYN-Cookies versteht man einen im Jahr 1996 von Daniel J. Bernstein entwickelten Mechanismus zum Schutz vor SYN-Flood-Angriffen. Bei diesen handelt es sich um eine Form des Denial-of-Service-Angriffs bei der der anzugreifende Rechner durch massives Öffnen von Verbindungen dazu provoziert wird, die eigenen Ressourcen auf das Offenhalten der Verbindungen zu verwenden.

Inhaltsverzeichnis

[Bearbeiten] Verbindungsaufbau mit TCP

Beim Herstellen einer herkömmlichen TCP-Verbindung, dem sogenannten Drei-Wege-Handshake, schickt ein Client zuerst ein SYN-Paket an den Server. Dieser speichert diese Nachricht und antwortet mit einem SYN/ACK-Paket. Schließlich sendet der Client ein ACK-Paket an den Server und die Verbindung ist hergestellt.

[Bearbeiten] Erweiterung um SYN-Cookies

Das Transmission Control Protocol (TCP) macht keine Vorgaben zum initialen Wert der Sequenznummer der SYN/ACK-Pakete. Also kann der Server sie nutzen, um Informationen zu kodieren, die er sonst in einer Tabelle halboffener TCP-Verbindungen speichern müsste. Da es keine solche Tabelle gibt, kann sie auch nicht überlaufen, womit ein SYN-Flood-Angriff nicht zu einem Denial of Service (DOS) führen kann.

Da der Client die Sequenznummer des TCP SYN/ACK um 1 hochzählt, enthält sein TCP ACK-Paket die vom Server generierte initiale Sequenznummer um 1 inkrementiert. Der Server dekrementiert diese also wieder um 1 und vergleicht sie anschließend mit dem Hashwert des Pakets. Stimmen die beiden Hashes nicht überein, muss die Verbindung neu aufgebaut werden, wozu der Server dem Client ein TCP RST-Paket sendet.

Weil die Überprüfung des Verbindungsaufbaus auf dem Server passiert, kann die Hashfunktion der Implementierung grundsätzlich beliebig definiert sein; sie sollte jedoch möglichst zufällig sein, um Sicherheitsrisiken zu vermeiden. Dieses Verfahren läuft für den Client transparent ab, weswegen Verbindungen zwischen Gegenstellen unabhängig davon aufgebaut werden können, ob sie SYN-Cookies verwenden.

[Bearbeiten] Inhalt der initialen Sequenznummer [1][2]

  • Zeitstempel mit einer Auflösung von 64 Sekunden
  • maximale Segmentgröße
  • Hashfunktion über:
    • Sender- und Empfänger-IP-Adresse
    • Ports
    • Zeitstempel mit einer Auflösung von 64 Sekunden
    • Ein nur dem Server bekannter geheimer Wert, der sich (wenn überhaupt) in großen Abständen ändert

Die Hashfunktion ist im zugehörigen RFC 4987 nicht spezifiziert und kann daher frei gewählt werden.

[Bearbeiten] Weblinks

[Bearbeiten] Einzelnachweise

  1. SYN cookies. Website des SYN Cookies Entwicklers. Abgerufen am 18. Dezember 2009.
  2. RFC 4987. RFC 4987 Abschnitt SYN-Cookies. Abgerufen am 18. Dezember 2009.

Steven M. Bellovin: RFC 1948 - Defending Against Sequence Number Attacks. In: Internet Engineering Task Force (IETF). AT&T Research, Mai 1996, S. 5, abgerufen am 20. Juni 2010 (englisch).

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Mitmachen
Drucken/exportieren
Werkzeuge
In anderen Sprachen