www.wikidata.de-de.nina.az
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 Offnen von Verbindungen dazu provoziert wird die eigenen Ressourcen auf das Offenhalten der Verbindungen zu verwenden Inhaltsverzeichnis 1 Verbindungsaufbau mit TCP 2 Erweiterung um SYN Cookies 3 Vor und Nachteile der Verwendung von SYN Cookies 4 Weblinks 5 EinzelnachweiseVerbindungsaufbau mit TCP BearbeitenBeim Herstellen einer herkommlichen 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 Schliesslich sendet der Client ein ACK Paket an den Server und die Verbindung ist hergestellt Erweiterung um SYN Cookies BearbeitenDas 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 musste Da bei aktiven SYN Cookies die Tabelle der halboffenen Verbindungen nicht verwendet wird kann es bei dieser Tabelle zu keiner Blockade kommen womit ein SYN Flood Angriff abgeschwacht wird Der SYN Cookie Mechanismus lauft vollstandig auf Server Seite ab Da das Verfahren fur den Client transparent ablauft wird keine Unterstutzung durch den Client benotigt und der Server kann SYN Cookies flexibel ein und ausschalten Des Weiteren kann die Implementierung auf verschiedene Art und Weise erfolgen Bernstein schlagt folgendes Verfahren vor 1 t ist ein langsam ansteigender Zeitstempel der empfohlenerweise alle 64 Sekunden inkrementiert wird m ist die maximale Paketgrosse des Clients s ist ein Hashwert aus den folgenden Werten Der Zeitstempel t IP Adressen und Portnummern von Client und Server Der Hashwert muss 24 Bit lang sein Der Server sendet sein SYN ACK Paket mit einer speziell generierten Sequenznummer Diese Sequenznummer ist laut TCP Spezifikation jedoch auf 32 Bit beschrankt und kann folgendermassen generiert werden Die ersten 5 Bits t mod 32 Mittlere 3 Bits Eine individuelle Kodierung von m nur acht verschiedene Moglichkeiten Die letzten 24 Bits sDa der Client die Sequenznummer des TCP SYN ACK bei Empfang um eins hochzahlt enthalt sein TCP ACK Paket die vom Server generierte initiale Sequenznummer um eins inkrementiert Der Server dekrementiert diese also wieder um eins und vergleicht sie anschliessend mit dem Hashwert des Pakets Stimmen die beiden Hashes nicht uberein muss die Verbindung neu aufgebaut werden wozu der Server dem Client ein TCP RST Paket sendet Im Detail passiert am Server Folgendes nachdem das Paket dekrementiert wurde Die ersten 5 Bits mussen mit der aktuellen Berechnung von t oder einen Zeitstempel davor ubereinstimmen Somit kann herausgefunden werden ob bereits eine Zeituberschreitung eingetreten ist Der Wert s wird erneut aus Zeitstempel t oder einem Zeitstempel davor IP Adressen und Portnummern von Client und Server berechnet und mit den letzten 24 Bit verglichen Nur bei Ubereinstimmung wird die Verbindung zugelassen Die mittleren 3 Bits werden dekodiert und die Verbindung mit der gewunschten maximalen Paketgrosse aufgebaut Weil die Uberprufung des Verbindungsaufbaus auf dem Server passiert kann die Hashfunktion der Implementierung grundsatzlich beliebig definiert sein sie sollte jedoch moglichst zufallig sein damit ein Angreifer den Wert nicht erraten kann 2 Dies kann durch eine kryptographische Hashfunktion erreicht werden die als zusatzlicher Eingabeparameter einen geheimen Schlussel des Servers erhalt 3 Vor und Nachteile der Verwendung von SYN Cookies BearbeitenSYN Cookies konnen Denial of Service Angriffe abmildern oder bei kleineren Angriffen diese sogar verhindern Wie gut sie vor einem Angriff schutzen ist dabei abhangig von dessen Art und Ausmass Denn wahrend der Einsatz von SYN Cookies ein Uberlaufen der Tabelle halboffener TCP Verbindungen wirksam verhindert so kostet der Einsatz aufgrund der hierzu notigen Berechnungen mehr Rechenleistung als wenn keine SYN Cookies verwendet werden wodurch moglicherweise der Server uberlastet werden konnte In einem solchen Fall ware dann der SYN Flood Angriff trotzdem erfolgreich jedoch aufgrund der benotigten langeren Rechenzeit nicht aufgrund des vollen Speicher Die DOS Attacke an sich ware so dennoch erfolgreich da dem Server sprichwortlich die Puste ausgeht Ausserdem ist es beim Einsatz von SYN Cookies nicht moglich gewisse TCP Erweiterungen wie beispielsweise grosse Fenster zu nutzen da fur die hierfur benotigten Informationen nicht genugend Platz im SYN Cookie zur Verfugung steht 4 Aus diesen Grunden werden SYN Cookies in der Praxis haufig wie standardmassig beispielsweise im Linux Kernel nur dann eingesetzt wenn die Tabelle der halboffenen TCP Verbindungen droht uberzulaufen Zwar konnen die Clients die per SYN Cookie bedient werden gewisse TCP Erweiterungen nicht nutzen doch ist dies immer noch besser als wenn der Server ihre Verbindungsanfrage aufgrund von Platzmangel komplett ablehnen musste Sobald wieder genugend Platz in der Tabelle vorhanden ist werden die SYN Cookies auf Serverseite deaktiviert Auf diese Weise kann der Server die Vorteile der SYN Cookies bei aktiven Angriffen nutzen ohne deren Nachteile im normalen Betriebsfall in Kauf nehmen zu mussen 4 Weblinks BearbeitenWebsite des Entwicklers W Eddy RFC 4987 TCP SYN Flooding Attacks and Common Mitigations August 2007 englisch Einzelnachweise Bearbeiten SYN cookies cr yp to Website des SYN Cookies Entwicklers abgerufen am 18 Dezember 2009 S Bellovin RFC 1948 Defending Against Sequence Number Attacks Mai 1996 S 5 AT amp T Research englisch RFC 4987 TCP SYN Flooding Attacks and Common Mitigations 14 August 2007 Abschnitt 7 Informative References cr yp to englisch a b William Stallings Lawrie Brown Computer Security Principles and Practice 2 Auflage Kapitel 7 Denial of Service Attacks Pearson Verlag ISBN 0 273 76449 7 S 263 264 Abgerufen von https de wikipedia org w index php title SYN Cookies amp oldid 235811603