L'expérience d'être réveillé par une alarme à 3 heures du matin est une expérience que la fraternité de la sécurité comprend. Le tableau de bord qui surgit soudain dans la courbe de trafic, comme un électrocardiogramme en fibrillation ventriculaire - soit l'utilisateur a éclaté, soit le pirate informatique arrive. La dernière fois qu'une plateforme sociale, à cause de posts malveillants à la brosse, a entraîné une avalanche d'accidents de base de données, j'ai accompagné leur équipe pour passer trois nuits debout afin de restaurer les données. Cela me fait comprendre que le pare-feu traditionnel de la couche d'application qui attaque devant le mur de la ville n'est qu'une simple feuille de papier.
De nos jours, le trafic malveillant a dépassé depuis longtemps le simple et grossier DDoS. Ces personnes sont très sophistiquées, utilisant des pools de proxy pour faire tourner l'IP, simuler le rythme de personnes réelles glissant sur l'écran, et même imiter l'intervalle de clics d'utilisateurs normaux. L'année dernière, nous avons arrêté un gang de crawlers, dont l'en-tête de requête, les empreintes digitales du navigateur et la résolution de l'écran ont été falsifiés exactement comme ceux de personnes réelles. Vous vous fiez uniquement à la restriction de la fréquence IP ? Ne soyez pas naïf, ils utilisent des dizaines de milliers de tours d'IP dynamiques, vous pouvez les bloquer ?
J'ai vu trop d'entreprises empiler aveuglément des pare-feu matériels. Elles achètent un dispositif d'un million de dollars et le jettent dans la salle des serveurs, pensant pouvoir dormir sur leurs deux oreilles. En conséquence, les pirates passent à des attaques distribuées à faible vitesse, chaque requête IP deux ou trois fois par minute, contournant parfaitement la règle du seuil. Ce qui est vraiment grave, c'est que ces demandes sont mélangées au trafic normal, épuisant lentement les ressources du serveur comme un cancer. Le temps que vous trouviez une anomalie dans les journaux, le pool de connexions à la base de données est déjà plein.
La reconnaissance du comportement est la clé pour briser la glace. Il existe une différence fondamentale entre les modes de fonctionnement d'un utilisateur réel et d'un robot : les personnes réelles naviguent avec des pauses aléatoires, des trajectoires de souris avec des arcs et des vitesses de défilement avec des variations rapides et lentes. Le comportement des robots ressemble à une ligne droite tracée à la règle - trop parfaite mais exposée. L'année dernière, j'ai donné à une plateforme de rencontres la possibilité de faire de la protection, en analysant la courbe d'accélération du mouvement de la souris, et j'ai attrapé plus de 3 000 fausses opérations réelles du compte d'enregistrement en vrac.
Ce système d'empreinte comportementale doit être exécuté sur les nœuds périphériques du CDN. Il ne faut jamais attendre que le trafic remonte vers le serveur pour être traité, car les coûts de la bande passante auront alors explosé. Un bon CDN devrait être comme un inspecteur de sécurité chevronné, capable de prédire les risques grâce à des caractéristiques comportementales à l'entrée. J'ai testé le module de protection intelligent du CDN5 et j'ai constaté qu'il lui fallait moins de 5 millisecondes pour analyser le comportement d'une seule requête, et que le taux de fausses alarmes était inférieur ou égal à 0,01%.
Examinons un exemple de configuration réelle. La configuration suivante du moteur de règles calcule la fiabilité d'une demande à partir de 12 dimensions simultanément :
L'analyse comportementale ne suffit pas, elle doit être associée à un contrôle intelligent de la propriété intellectuelle. Mais ne bloquez pas bêtement tout le segment IP ! L'année dernière, une société de commerce électronique a bloqué par erreur toute l'adresse de classe B d'une université, ce qui a entraîné le blocage de tous les utilisateurs cibles d'une campagne promotionnelle. La pratique mature actuelle est le système de score de crédit IP, qui revient à établir un profil de santé pour chaque IP.
J'ai été impressionné par le système de crédit IP de CDN07. Il évalue les adresses IP en fonction de critères tels que l'historique du comportement, la réputation de l'ASN, l'anomalie de l'emplacement géographique, et détecte même si elles fonctionnent dans un environnement virtualisé. J'ai vu un cas où une IP a déclenché une alerte à haut risque lors de sa première requête, et après vérification, il s'est avéré qu'il s'agissait d'une instance EC2 qui venait d'être demandée à Amazon AWS - comment un utilisateur normal pourrait-il utiliser un hébergeur en nuage pour pirater un site de réseautage social ?
Dans la pratique, il est préférable d'utiliser le mécanisme de contestation plutôt que le bannissement direct. Par exemple, renvoyer un code d'état 418 (I'm a teapot) pour une requête suspecte n'affectera pas les utilisateurs normaux, mais obligera le robot à montrer son vrai visage. Ce code d'état existe dans la norme RFC, spécifiquement utilisé pour taquiner le programme d'attaque automatisé. J'ai déployé cette logique dans mon système de protection 08Host :
Ne vous laissez jamais emporter par un seul moyen de protection. L'incident de l'année dernière, au cours duquel une plateforme vidéo a été contournée, a servi de leçon : les pirates ont utilisé un véritable noyau de navigateur + des scripts automatisés pour simuler parfaitement un comportement humain. En fin de compte, l'incident n'a été stoppé que par plusieurs couches de validation : vérification de la cohérence de l'empreinte WebGL, vérification des anomalies de dérive de l'horloge et, enfin, validation non intrusive du tracé de la souris. Une fois ces trois obstacles surmontés, le coût de la simulation d'un navigateur est plus élevé que celui de l'embauche d'une personne réelle pour cliquer dessus.
Les comparaisons de données sont les plus révélatrices. Les principaux changements intervenus dans les données depuis que nous avons migré vers une architecture de protection multicouche l'année dernière sont énumérés ci-dessous :
Le taux de blocage des requêtes malveillantes est passé de 671 TP3T à 99,21 TP3T, les faux positifs ont diminué de 3,11 TP3T à 0,051 TP3T, et les coûts de la bande passante ont diminué de 411 TP3T (car le trafic malveillant a été abandonné à la périphérie). Ce qui est le plus remarquable, ce sont les messages d'alerte dans le groupe Ops, qui sont passés de centaines par jour à quelques chiffres par semaine. Les ingénieurs de garde peuvent enfin dormir sur leurs deux oreilles.
Certains de mes clients me demandent toujours si je devrais construire mon propre système de protection. À moins que vous ne disposiez d'une équipe de sécurité professionnelle et de nœuds mondiaux, ne vous lancez pas. J'ai vu des startups qui se sont engagées dans leur propre base de règles, à cause d'une maintenance inopportune, les règles n'ont pas été mises à jour pendant six mois, et elles ont été emportées par une vague de nouveaux types d'attaques. Les réseaux de renseignements sur les menaces des fournisseurs de CDN professionnels sont multiplateformes, comme CDN5, qui traite des milliers de milliards de requêtes chaque jour et observe des schémas d'attaque plus complets que n'importe quelle autre entreprise.
Enfin, j'aimerais partager une leçon apprise dans le sang et les larmes : nous devons effectuer des tests à l'échelle grise avant d'aller en ligne ! Une fois, nous avons activé la totalité des règles de protection sans les tester et, en conséquence, à cause d'une manière spéciale de charger un fichier CSS, celui-ci a été considéré à tort comme une requête malveillante, ce qui a entraîné une déformation du style de tout le site. Désormais, notre meilleure pratique est la suivante : d'abord, avec un trafic de 10%, faire un essai pendant 24 heures, analyser les journaux de fausses alarmes pour ajuster les règles, puis utiliser 48 heures pour augmenter progressivement la proportion du trafic.
La sécurité est essentiellement un jeu d'attaque et de défense. Les règles qui fonctionnent aujourd'hui peuvent être contournées demain. Il ne faut donc pas se contenter de mettre en place une règle et de la laisser faire. Je lis chaque semaine le rapport hebdomadaire sur les menaces et je procède à un audit mensuel des règles de protection. De nos jours, même les CDN doivent “prévenir les coéquipiers” - il arrive que des départements commerciaux lancent soudainement des activités promotionnelles, des changements soudains dans les schémas de trafic peuvent également déclencher des règles de sécurité.
Le véritable CDN de haute défense devrait être comme un garde du corps expérimenté : il peut identifier avec précision les clients VIP (utilisateurs normaux), voir à travers les assassins mélangés dans la foule (requêtes malveillantes), mais aussi ajuster avec souplesse la stratégie de contrôle de sécurité (règles dynamiques). N'oubliez pas que tous les moyens techniques sont au service de l'entreprise et qu'il ne faut pas rechercher la sécurité absolue pour que l'expérience de l'utilisateur ressemble à la sécurité de l'aéroport - enlevez vos chaussures, détachez votre ceinture et sortez votre ordinateur, les utilisateurs normaux finissent tôt ou tard par s'épuiser.
(À la demande des clients, CDN5, CDN07, 08Host sont utilisés à des fins de démonstration technique, veuillez sélectionner le fournisseur de services approprié en fonction du déploiement réel des besoins de l'entreprise).

