Récemment, pour aider quelques plateformes sociales à renforcer leur sécurité, elles ont remis leurs journaux CDN de haute défense, ce qui m'a presque fait rire - les attaquants vont même jusqu'à “3 heures du matin pour pointer au travail”, ce genre d'opération sordide a eu lieu cette année, et le chantage est également en train de prendre une tournure inattendue.
Pour être honnête, de nombreuses équipes ne regardent même pas les journaux de défense des CDN. Les WAF ouverts peuvent dormir sur leurs deux oreilles, les résultats de l'attaque du trafic ressemblant à une promenade dans le jardin. J'ai vu le cas le plus scandaleux : une application sociale était saisie d'un trafic de 300G chaque jour, l'exploitation et la maintenance ont été gelées pendant trois mois pour voir que les logs ne trouvaient pas de champs anormaux.
Commençons par la répartition des types d'attaques. D'après les journaux CDN5 et CDN07 que j'ai testés, 70 % des attaques contre les entreprises sociales se concentrent sur la couche API. En particulier l'interface de libération dynamique de l'utilisateur, le simple changement d'un ID utilisateur peut permettre de parcourir l'ensemble des données de l'utilisateur de la station :
De telles requêtes sont cachées très profondément dans les journaux. Les requêtes normales des utilisateurs durent environ 200 ms, les requêtes de traversée malveillantes durent généralement plus de 2 secondes, mais vous devez établir une corrélation entre le champ de la longueur de la réponse et la requête du code d'erreur 5xx pour les bloquer.
Les attaques de type CC, qui ressemblent à des robots d'indexation, sont encore plus désagréables. Un client avec la configuration par défaut de CDN5 a été touché par 800 demandes d'interface de connexion par seconde - l'attaquant a simulé le comportement complet de Chrome pour chaque IP, allant même jusqu'à simuler l'événement MouseMove. J'ai par la suite ajouté des contrôles d'empreintes dynamiques au WAF pour l'arrêter :
En ce qui concerne la défense contre les crawlers, il ne faut pas croire la propagande des fournisseurs de CDN qui parlent de “reconnaissance intelligente homme-machine”. J'ai testé trois fournisseurs de services grand public, les règles par défaut sur le taux de reconnaissance des clics simulés sont inférieures à 40%. Plus tard, 08Host a proposé une solution : dans la page de connexion enterrée dans le champ invisible Honeypot, le robot 100% va remplir ces champs, la personne réelle ne peut pas être vu - un seul mouvement pour arrêter 90% de l'automatisation ! attaques d'enregistrement.
En fait, le plus grand piège de l'analyse des journaux réside dans la corrélation temporelle. Un jour, le client a déclaré que le trafic augmentait chaque jour aux premières heures du matin, pensant qu'il s'agissait d'une activité normale de l'utilisateur. Après avoir examiné le journal, l'attaquant a choisi la période de 3 heures à 6 heures du matin pour effleurer l'interface de coupon, car c'est à ce moment-là que la surveillance de l'exploitation et de la maintenance est la plus laxiste. Il a ensuite dressé une carte de répartition des heures d'utilisation de l'interface avant de se retirer :
Ce type d'attaque doit être analysé par corrélation temporelle. J'ai versé les logs de CDN07 dans ELStack (système de logging développé par mes soins) et j'ai mis en place une règle d'alerte pour les bandes temporelles anormales :
Une autre attaque avancée est un DoS HTTP lent, où l'attaquant n'envoie que quelques octets par requête, en utilisant l'ensemble du pool de connexions. Dans les logs, cela se traduit par un temps de connexion très long + un trafic très faible, qui ne peut pas être détecté par un WAF classique. Plus tard, j'ai ajouté l'analyse de la couche de liaison TCP au nœud de périphérie de 08Host, et j'ai vu plus de 10 minutes de connexions semi-ouvertes directement sur la ligne.
Lorsqu'il s'agit de stratégies d'optimisation, la première chose à changer est la configuration par défaut du CDN. Presque tous les fournisseurs de WAF ont des paramètres d'usine à “faible sensibilité”, même la détection des injections SQL est édulcorée. Il est recommandé que la première chose à faire lorsque vous obtenez l'autorisation soit d'ajuster la base de règles :
Le deuxième point concerne les poids des règles personnalisées. De nombreuses équipes ouvrent directement le mode d'apprentissage, et le résultat est empoisonné par les attaquants - en déclenchant délibérément des faux positifs avec des requêtes normales, afin que le WAF ajuste les poids des règles malveillantes à la baisse. Je recommande maintenant d'utiliser deux moteurs en parallèle : le moteur d'IA de CDN5 pour le filtrage primaire, et ensuite d'utiliser des règles développées par l'équipe elle-même pour les vérifications secondaires :
Enfin, vous devez établir le profil de l'attaquant. Une fois, j'ai découvert qu'une certaine adresse IP essayait chaque jour 20 types de techniques d'attaque, de l'injection SQL au SSRF pour changer le modèle. Le suivi a révélé qu'il s'agissait d'une équipe d'infiltration engagée par un concurrent, spécialisée dans le test des offres de vulnérabilité. Par la suite, nous avons directement établi un tableau de bord des menaces et commencé à procéder à une vérification humaine des adresses IP ayant obtenu un score élevé :
De nos jours, le chantage aime jouer sur une combinaison de coups. D'abord, il ralentit la détection pendant une demi-heure pour trouver le format de paramètre URL publié par le WAF, puis il utilise 200 nœuds de fonction dans le nuage pour exploser en même temps. Une fois que le journal de défense a montré que l'attaquant avait même utilisé ChatGPT pour générer un contenu de dialogue utilisateur normal afin de cacher la charge utile malveillante, l'IA commence à s'engager dans le chantage de nos jours.
Pour être honnête, regarder les logs de défense revient à résoudre un crime. Les attaquants laissent toujours des traces : une IP n'est jamais accompagnée d'un Referrer, un numéro de version de User-Agent est fixé à 99.0, un certain type de requête doit être déclenché par l'erreur 504... Récemment, pour aider les clients à se dépanner, on a découvert que le groupe d'attaquants utilisait en fait la vidéo populaire ID comme commande de contrôle, dans les commentaires de la commande cryptographique de décodage des mots déclenchée après l'attaque CC, ce trou dans le cerveau ! C'est une excellente idée.
Il est recommandé de consacrer une demi-heure chaque week-end à l'examen des journaux. Concentrez-vous sur la distribution des codes de réponse anormaux, la diversité des demandes provenant de la même IP et les appels d'API à des heures non conventionnelles. Une fois que j'ai découvert qu'une certaine IP demande toujours 59 fois par seconde (juste coincé dans le seuil de 60 fois / seconde de la limite de flux), le chemin vers la fin d'un gang DDoS professionnel.
Aujourd'hui, le client utilise la solution que j'ai mise au point pour déployer un mélange de CDN07 et de 08Host pour une redondance à deux liens. Les bases de règles des deux fournisseurs se complètent, 08Host identifie bien les attaques de la couche de protocole, et le moteur d'intelligence artificielle de CDN07 est plus sensible à la détection des comportements. Le coût mensuel de la défense a augmenté de 8%, mais le trafic capturé par le chantage a chuté de 20TB par mois à moins de 100GB - ce ratio de retour sur investissement est un véritable prix du sang.
Enfin, la solution de la bombe atomique : enfouir des scripts personnalisés dans les nœuds de périphérie du CDN. Lorsqu'ils rencontrent une demande suspecte, ils renvoient vers les fausses données + les marqueurs de suivi, ce qui permet non seulement de réduire les revenus de l'attaque, mais aussi d'inverser la traçabilité de l'attaquant. Le code spécifique est trop long pour être publié, l'idée principale est la suivante :
La sécurité n'est jamais permanente. Les méthodes d'attaque d'aujourd'hui sont à prévenir, demain il y aura peut-être une nouvelle variante. L'essentiel est d'analyser les journaux quotidiennement et, petit à petit, vous serez en mesure de développer l'intuition du “one look at the fake” - une fois, j'ai déterré un réseau utilisant des dispositifs IoT comme proxies en raison d'anomalies dans la taille de la fenêtre TCP initiale d'une certaine IP.
Par ailleurs, ne vous laissez pas abuser par les déclarations de défense fournies par les vendeurs. Ils incluront des attaques simples afin de montrer leur efficacité, et le taux de défense effectif réel peut être réduit. Il est préférable d'écrire vos propres scripts pour analyser les journaux, en vous concentrant sur l'impact commercial des données réelles de blocage des attaques.
Désormais, les clients sont beaucoup plus calmes lorsqu'ils sont confrontés à des attaques. La dernière fois qu'une plateforme sociale a été frappée par un million de QPS, les journaux de défense ont rapidement ajusté la stratégie de limitation du taux, dix minutes pour stabiliser la situation. Le patron a déclaré : “Ce sentiment de sécurité est plus réel que l'achat de trois années d'assurance”.

