Ce jour-là, à trois heures du matin, les téléphones portables de l'assistance technique sont tombés en panne. Le nombre de connexions à la base de données de la plate-forme d'échecs du client a instantanément grimpé à cinq mille, et les graphiques de trafic du serveur ont directement pris la verticale - il ne s'agissait pas d'une réjouissance des joueurs, mais d'une attaque mixte de scripts d'effacement de score et de DDoS par des gangs de l'industrie noire avec de faux ingrédients de folie. Quinze minutes plus tard, toute la salle de jeu était bloquée en tant que PPT, et les revenus accumulés en trois jours ont été balayés par deux cent mille en dix minutes.
L'industrie des échecs est si cruelle. Les joueurs veulent jouer aux cartes sans décalage, la synchronisation vocale avec zéro délai, tandis que l'équipe opérationnelle est de prévenir le trafic DDoS de dizaines de G par seconde et de simuler le comportement des joueurs réels “woolgathering” équipe. La bande passante de votre serveur est importante, vous rencontrez une attaque SYN Flood ou une attaque HTTP lente comme d'habitude ; votre logique d'entreprise est rigoureuse, vous rencontrez des points de brossage d'agents distribués et il est également difficile de les identifier d'un coup d'œil. J'ai vu trop d'équipes écraser le budget sur le matériel du serveur, mais avec un CDN gratuit, une vague de pénétration après la nuit pour trouver des fournisseurs de services de haute défense pour éteindre l'incendie.
Dans ce domaine, le CDN à haute défense n'est plus depuis longtemps un “accessoire optionnel”, mais une question de vie ou de mort. Cependant, de nombreuses personnes choisissent le type de solution le plus facile pour s'égarer : soit elles ne considèrent que la bande passante de défense, 300G étant certainement mieux que 100G ; soit elles recherchent aveuglément une faible latence, en ignorant la perte des contrôles de sécurité. Dans les scénarios réels, les trois fonctions d'anti-scrubbing, d'anti-DDoS et de faible latence doivent être en boucle fermée, et une fonction en moins est la planche la plus courte du tonneau.
Commençons par l'anti-scoring. Au lieu de simplement brosser les demandes, les brosses du jeu de société simulent fortement le comportement de personnes réelles : s'inscrire, se connecter, faire correspondre des jeux, placer des paris, et même perdre quelques parties volontairement. Les WAF traditionnels ne peuvent rien empêcher, car le trafic a l'air trop “normal”. L'année dernière, une plateforme a été confrontée à une vague d'attaques, chaque demande de contrôle de fréquence d'IP dans le fonctionnement normal de l'intervalle humain, mais trois mille IP en même temps pour recevoir la récompense de la tâche, dix minutes pour rouler des millions d'or.
Le cœur de ce type d'attaque réside dans la reconnaissance de l'identité et du comportement. J'ai découvert qu'une simple restriction de fréquence d'IP est presque inutile - le black proxy pool est une IP dynamique, qui en bloque une pour dix. Il faut se trouver dans les nœuds de bordure du CDN pour pouvoir enterrer les caractéristiques : empreintes de la pile TCP, caractéristiques de la poignée de main TLS, empreintes du navigateur Canvas et même traces de souris. Par exemple, le modèle comportemental déployé sur CDN07 avec cette configuration :
Ne croyez pas les vendeurs qui vous annoncent un “gardiennage entièrement automatisé”. Les modèles d'apprentissage automatique ont besoin d'au moins deux semaines d'entraînement pour différencier les bots, et doivent initialement être associés à des règles manuelles. Par exemple, dans une salle de Texas Hold'em, un joueur réel aura un temps de réflexion fluctuant et des mises dispersées, alors qu'un script aura un intervalle fixe de quelques millisecondes entre les mains et toujours un multiple fixe de mises. Le module d'analyse du temps que nous avons déployé sur le CDN5 détecte spécifiquement de tels modèles :
Les DDoS sont les plus redoutés par les jeux de société, comme l'inondation HTTP attaquant l'interface de requête du lobby du jeu, ou l'inondation UDP pénétrant le service de chat vocal. Si l'on se contente de s'appuyer sur la défense dure de la salle des serveurs, les joueurs réels seront bloqués par erreur, tandis que le nettoyage pur et simple du nuage entraînera une latence élevée. Le schéma fiable est maintenant un ordonnancement mixte : le trafic local est d'abord pris en charge par les nœuds de bordure du CDN, les attaques de petit trafic sont effectuées directement sur la bordure avec les règles d'élimination, les attaques de gros trafic sont envoyées au centre de nettoyage.
Par exemple, la stratégie de nettoyage à plusieurs niveaux de 08Host est très pratique : elle consiste d'abord à limiter le débit et à vérifier la conformité du protocole au niveau des nœuds périphériques afin de filtrer le trafic indésirable 70% ; ensuite, le trafic restant retourne à la source en passant par la salle des serveurs de haute défense, où se trouve un matériel spécial pour analyser l'anomalie de la machine d'état TCP. Testé contre les attaques CC, ce schéma est inférieur de 40 ms au délai de nettoyage en nuage pur, car la majeure partie du trafic n'a pas besoin de faire un détour par le centre de nettoyage.
Mais attention, certains vendeurs se vantent d'avoir une protection de niveau T contre l'eau. J'ai testé une fois un certain fournisseur qui se targuait d'une protection de 2T, mais le résultat réel a été de 800G lorsque toute la table de routage s'est effondrée, parce que l'une de ses routes n'a pas convergé. La capacité anti-D réelle dépend de trois indicateurs : la densité de couverture des nœuds du centre de nettoyage, la qualité de la bande passante BGP et le délai d'émission des règles. Par exemple, les nœuds de nettoyage globaux de CDN07 peuvent achever la planification du trafic en 50 secondes, alors que certains fournisseurs ont besoin de trois minutes, ce qui est suffisant pour que le service de jeu tombe en panne plusieurs fois.
Enfin, parlons de la faible latence. Il ne s'agit pas seulement d'examiner les données de test fournies par le fournisseur de CDN. La sensibilité à la latence des jeux de société est extrêmement élevée, le Texas Hold'em plus de 200 ms les joueurs peuvent percevoir un décalage, et les jeux de propriétaires devraient être garantis dans les 100 ms. Mais l'ajout d'une somme de contrôle de sécurité ne peut qu'augmenter le délai de calcul, la clé étant de trouver un équilibre.
J'ai comparé trois programmes : le réseau Anycast de CDN5 est vraiment rapide, la latence moyenne des nœuds asiatiques est de 87 ms, mais l'exécution des règles de sécurité prend parfois plus de 30 ms ; 08Host utilise une planification intelligente, les contrôles de sécurité ne sont déclenchés que par un trafic suspect, et la latence moyenne est contrôlée dans les 95 ms ; CDN07 est le plus radical, plaçant une partie de la logique de sécurité dans le côté client du SDK, et le côté serveur ne fait que la vérification, et la latence est pressée à 80 ms, mais le côté client est plus grand que le côté client, et le côté serveur est plus grand que le côté client. Le délai est de 80 ms, mais le volume du client est supérieur de 2 Mo.
La solution vraiment pratique est la dégradation dynamique : le trafic normal emprunte le chemin rapide et seules les attaques présumées déclenchent des sommes de contrôle complètes. Par exemple, cette configuration :
Il y a un autre point que beaucoup de gens négligent : l'optimisation des longues connexions WebSocket. Les jeux de société utilisent largement WS pour envoyer des mises à jour de statut, et certains CDN ont un support médiocre pour WS, soit des connexions instables, soit de grandes fluctuations de latence. L'implémentation WS de Test CDN5 est la meilleure, le multiplexage est effectué de manière approfondie, permettant de maintenir 100 000 connexions simultanées alors que l'utilisation de la mémoire est 40% inférieure à celle de la concurrence.
En résumé, le choix d'un CDN à haute défense doit s'apparenter à un arsenal : anti-scrubbing pour être suffisamment intelligent pour identifier les modèles de comportement, anti-DDoS pour nettoyer sans tuer, faible latence pour prendre en compte la sécurité et l'expérience. Ne croyez pas à la propagande de la “protection à clé unique” - personne ne peut manger tous les scénarios. Il est recommandé de dresser le premier portrait de l'entreprise : s'il s'agit principalement d'un jeu de cartes, il faut se concentrer sur la capacité à identifier le comportement ; s'il s'agit d'une classe de paris, il faut se concentrer sur la largeur de bande de la protection DDoS ; s'il s'agit d'un jeu d'échecs occasionnel, le poids de la latence doit être le plus élevé.
La dernière phrase crachée : de nos jours, même le CDN doit “prévenir les coéquipiers”. Certains fournisseurs “partageront” les données de votre entreprise avec leurs homologues afin de réaliser l'attaque des caractéristiques de la bibliothèque, le résultat étant que votre maison a été touchée alors que d'autres sont à l'abri. Dans le contrat, assurez-vous d'ajouter des clauses de confidentialité des données, le nettoyage des journaux de trafic est mieux stocké localement - après tout, l'industrie des échecs, la sécurité elle-même est compétitive.
(Annexe des données mesurées : après un projet d'accès au CDN5, le temps d'arrêt causé par les DDoS a diminué de 180 minutes à 3 minutes par mois, la perte de points de brossage a diminué de 92%, mais la latence moyenne a augmenté de 11ms. Plus tard, nous sommes passés à la solution hybride de 08Host, la latence a augmenté de seulement 6ms, mais le coût a été réduit de 30% -) -Il n'y a pas de programme parfait, seulement les compromis les plus appropriés).

