DDoS-Erkennung, Mitigation, Management und Bedrohungsanalyse
Umfassende Sicherheit & CGNAT
TLS/SSL Inspection
Web-Application-Firewall
Anwendungssicherheit und Load Balancing
Analytik und Management
CGNAT und IPv6-Migration
September 26, 2019
In diesem Video erläutert Solutions Architect Syed Danial Zaidi, was SYN-Cookies sind und wie sie für die TCP-Authentifizierung zum Schutz vor SYN-Flood-Denial-of-Service-Angriffen (DDoS) verwendet werden können.
Das ist Danial und ich bin der Thunder Threat Protection System (TPS) Solutions Architect bei A10 und in dieser Session werden wir über Syn Cookies sprechen.
Syn-Cookies sind tatsächlich eines der Mittel zur Bereitstellung der TCP-Authentifizierung.
Dies ist also eine spezielle Technik oder ein Mechanismus, der von vielen TCP-Softwares verwendet wird, um die anfängliche Sequenznummer zu generieren.
Und diese Technik wird tatsächlich von vielen DDOS-Schutz-Engines und Load Balancern verwendet, um Schutz vor Syn-Flood-Angriffen zu bieten.
Werfen wir einen Blick darauf. Wie funktioniert das eigentlich?
Nun, in einem normalen Betrieb, nehmen wir an, wir haben hier einen Kunden ...
Wir haben hier einen Server.
Der Syn kommt ins Spiel. Der Server antwortet mit einem Syn-ack.
Zu diesem Zeitpunkt muss der Server die Statusinformationen im TCP-Stapel verwalten, oder Sie können es als TCP-Puffer bezeichnen.
Ich schreibe es einfach auf. Bis es eine Bestätigung erhält, oder? Und das ist ein normaler Prozess. Stellen Sie sich nun vor, Sie werden Opfer eines DDoS-Angriffs.
Ein einfacher, wie ich sagen würde, einfacher Syn-Flood-Angriff, der aus verschiedenen gefälschten Quellen kommt, kann tatsächlich den gesamten auf dem Server verfügbaren TCP-Speicher verbrauchen. Und weil der Server die Zustandsinformationen für alle halboffenen Verbindungen pflegen muss, die es eigentlich gibt, oder?
Und da diese Zustandstabelle endlich ist, wird der Server irgendwann keine neuen Verbindungen mehr akzeptieren und wir werden anfangen, den Dienst für die legitimen Benutzer zu verweigern.
Und hier kommen eigentlich die Syn-Kekse ins Spiel.
Jetzt zeichne ich den Client und den Server noch einmal mit demselben Cookie.
Was passieren wird, ist, dass der Server nach Erhalt eines Syn erneut mit einem Syn-Ack antwortet. Aber zu diesem Zeitpunkt wird die Sequenznummer, die in der syn-ack-Antwort vom Server verwendet wurde, mit einer geheimen mathematischen Funktion generiert. Zu diesem Zeitpunkt müssen die Statusinformationen im TCP-Stapel nicht verwaltet werden.
In dem Moment, in dem er eine Bestätigung vom Client erhält, wird er zu diesem Zeitpunkt die Sequenznummer mit einer mathematischen Funktion vergleichen, die er tatsächlich verwendet. Und wenn dies legitim ist, werden diese Sitzungsinformationen rekonstruiert und die Verbindung wird wie gewohnt fortgesetzt.
Eine Sache, die ich hier hervorheben möchte, ist, wie die Berechnung der syn-Cookies tatsächlich funktioniert.
Wie wir alle wissen, ist die Sequenznummer ein 32-Bit-Wert.
Die Art und Weise, wie es funktioniert, ist, dass die ersten fünf Bits für den eigentlichen Zeitstempel verwendet werden.
Es handelt sich um einen langsam inkrementellen Zeitstempel.
Die nächsten 3 Bits werden tatsächlich für den MSS-Wert verwendet, den der Server möglicherweise in der syn-ack verwendet und möglicherweise im TCP-Syn-Warteschlangeneintrag gespeichert hat.
Und schließlich der 24-Bit-Wert für die kryptografische Hash-Funktion.
Und diese kryptografische Hash-Funktion wird tatsächlich anhand von Quell-IP, DST-IP, Quellport, DST-Port und dem Wert von "T" berechnet.
Also, jetzt das gleiche Szenario ... Wenn der Server am Ende eine Bestätigung erhält, wird der Wert von T neu berechnet. Es wird es mit der aktuellen Uhrzeit vergleichen und nur sehen, ob die Session-Ionenbildung gültig ist oder abgelaufen ist? Es wird den Wert des MSS entschlüsseln und schließlich einen Blick auf den Wert von "S" werfen.
Dieser Wert wird neu berechnet, was eigentlich den syn-Cookies entspricht. Und wenn sich herausstellt, dass dieser Wert legitim ist, werden die Sitzungsinformationen wieder rekonstruiert und die Verbindung wird wie gewohnt fortgesetzt, wie gesagt.
Eine Sache, die ich hier hervorheben möchte, ist, dass jedes Gerät, wenn es sich um einen DDOS-Mitigator oder einen Load Balancer handelt und Syn-Cookies durchführt, das Gerät inline sein muss, da es als Proxy fungiert und sowohl client- als auch serverseitige Sitzungen strecken muss.
Und das ist der Punkt, an dem A10 ich sagen würde, fügen Sie Anzeigen hinzu, seinen Wert.
Unabhängig davon, ob Sie eine asymmetrische reaktive oder eine asymmetrische proaktive Bereitstellung haben, haben wir andere Möglichkeiten, die TCP-Authentifizierung durchzuführen.
Vielen Dank, dass Sie sich dieses Video angesehen haben. Ich hoffe es hat euch gefallen und wir sehen uns in der nächsten Session.