Lorsque j'ai pris en charge l'exploitation et la maintenance du site web officiel de l'entreprise, il était courant d'être réveillé au milieu de la nuit par des messages d'alarme. Une alerte de temps d'arrêt rouge sang s'affiche à l'écran, il est impossible de se connecter en arrière-plan, l'activité est complètement paralysée - inutile de deviner, c'est encore SYN Flood. Cette chose est comme une armée de zombies dans le monde des réseaux, avec une demi-connexion qui empile votre serveur, mais ne laisse pas non plus de preuves complètes. Le plus pitoyable, c'est que les pare-feu traditionnels tuent souvent par erreur de vrais utilisateurs, ce côté de l'attaque ne s'est pas arrêté, l'autre côté du téléphone de la plainte du client a été éclaté.
Plus tard, j'ai testé une fois les principaux CDN de haute défense du marché, et j'ai constaté qu'ils pouvaient empêcher l'inondation SYN sur deux points : la précision de la détection des connexions TCP et le mécanisme de vérification de l'adresse IP source. Certains fournisseurs soufflant le ciel, la rencontre réelle avec les attaques de trafic lourd directement couché, pas aussi bon que leur propre iptables difficile à transporter.
Où se trouve la nausée SYN Flood ? Il profite de la faille de la poignée de main TCP à trois reprises pour envoyer frénétiquement des demandes de demi-connexion. La poignée de main normale exige que le client envoie SYN, que le serveur renvoie SYN-ACK, que le client renvoie ACK, mais l'attaquant est toujours bloqué à la deuxième étape et ne répond pas. Les ressources du serveur sont occupées par ces ”connexions zombies”, et les nouveaux utilisateurs ne peuvent tout simplement pas s'y insérer. Ce qui est encore mieux, c'est que l'IP source de l'attaque est falsifiée, de sorte que vous ne pouvez même pas trouver où se trouve le véritable ennemi.
Dans les premières années, nous avons à peine réussi à faire face à cette situation avec le réglage des paramètres du noyau Linux :
Mais cela ne peut résister qu'au volume d'attaque de dizaines de milliers de paquets par seconde, rencontré plus de 300Gbps DDoS tout simplement pour rien. Une fois, après avoir été pénétré, je me suis accroupi dans la salle des serveurs tout en redémarrant le serveur en jurant, je comprends tout à fait que cela doit faire partie du programme professionnel.
La détection des connexions TCP est un véritable atout pour les CDN à haute défenseL'écart entre les algorithmes est céleste et terrestre. Ne regardez pas ce que l'on appelle le ”nettoyage intelligent”, l'écart algorithmique entre le ciel et la terre. J'ai testé le système de CDN07, qui peut identifier les caractéristiques anormales des paquets SYN en 3 secondes :
Mais le plus impitoyable est la technologie de simulation de pile de protocole de 08Host - ils utilisent des algorithmes adaptatifs pour ajuster dynamiquement la taille de la fenêtre TCP, l'utilisateur réel suivra la spécification du protocole pour compléter la poignée de main, et l'outil d'attaque pour envoyer un paquet malformé directement exposé.
La vérification de l'IP source est un peu aléatoire.L'approche du CDN5 est plus intelligente. Certains fournisseurs bloquent simplement et grossièrement les segments IP, souvent l'adresse de la passerelle de l'opérateur est également tuée par erreur. L'approche de CDN5 est plus intelligente : elle ne suit pas immédiatement la découverte d'une interception IP suspecte, mais est d'abord détournée vers l'environnement sandbox pour compléter la vérification du défi :
Le test réel a révélé que cet ensemble de combinaisons peut filtrer 99% de faux IP, les 1% restants passant par la bibliothèque d'empreintes digitales TCP pour un filtrage secondaire. L'année dernière, nous avons transporté un SYN Flood de 5,8 millions QPS sur double eleven, et la latence de l'entreprise n'a augmenté que de 3 millisecondes.
Maintenant, regardez l'essence de la protection SYN Flood est le jeu de coût entre les attaquants et les défenseurs. L'attaquant loue un botnet pour des dizaines de dollars par heure, et le CDN à haute défense doit utiliser une énorme quantité de bande passante et d'arithmétique pour le transporter difficilement.08Host s'est récemment engagé dans la collaboration des nœuds de la blockchain, les nœuds de bord mondiaux ensemble pour vérifier l'authenticité de l'IP source, le coût de l'attaque à des milliers de dollars par heure, dissuader directement la grande majorité des pirates informatiques.
Bien entendu, il n'existe pas de solution parfaite. Une fois, nous avons bloqué le segment IP d'une grande entreprise parce que les ordinateurs de ses employés étaient infectés par des chevaux de Troie et s'étaient transformés en nœuds zombies. Par la suite, nous avons ajouté un module d'apprentissage intelligent et adopté une politique plus souple pour les segments IP des multinationales afin de réduire le taux de faux positifs grâce à l'analyse comportementale plutôt qu'au simple filtrage IP.
Des conseils sincères pour vos pairsLa meilleure chose à faire est de choisir un CDN hautement défensif et de ne pas se contenter de regarder les chiffres de la bande passante, mais de se concentrer sur le test de la compatibilité de sa pile TCP et de la précision de la vérification de l'IP source. Le mieux est de simuler soi-même le scénario d'attaque : utilisez hping3 pour envoyer des paquets SYN avec des IP source aléatoires et voyez combien de fois les règles de protection sont déclenchées. N'oubliez pas de vérifier si les services HTTPS sont affectés, car les pages de défi de certains fournisseurs rompent la poignée de main SSL.
De nos jours, même les CDN doivent ”prévenir les coéquipiers” - une grande usine se vante de la ”protection de l'IA”, qui est en fait une commutation manuelle des lignes en arrière-plan, l'attaque est venue à tâtons pour ajuster l'itinéraire. Nous utilisons CDN5 pour l'accélération quotidienne, 08Host est spécialisé dans les attaques à fort trafic, les moments critiques peuvent vraiment sauver des vies.
En fin de compte, la protection contre les inondations du SYN est un processus de jeu continu. Les algorithmes qui fonctionnent aujourd'hui peuvent être piratés par les hackers le mois prochain, c'est pourquoi nous devons maintenir la technologie itérative. Récemment, nous avons testé une architecture de confiance zéro combinée à la randomisation des ports TCP, qui transforme les ports d'écoute des serveurs en cibles mobiles, de sorte que les attaquants ne peuvent même pas trouver une poignée de main. Il n'est pas possible d'entrer dans les détails de certaines de ces choses, mais il faut se souvenir d'une chose : il faut toujours avoir deux longueurs d'avance sur l'attaquant.

