Alors que de plus en plus d’aspects de notre vie quotidienne se déplacent en ligne, les cyberattaquants poursuivent leurs efforts pour dégrader le niveau de service fourni par les applications sur lesquelles nous comptons. Leurs motivations sont nombreuses, allant de la vengeance à l’influence sur le cours des actions des entreprises concernées, en passant par la création d’un écran de fumée pour distraire les équipes de sécurité des violations de données.
Dans un blog précédent , nous décrivons comment, par le passé, les équipes de sécurité ont dû continuellement développer de nouvelles défenses contre les attaques par déni de service volumétrique (DoS) et par déni de service distribué (DDoS) aux niveaux du réseau et du transport ( couches 3 et 4 ), qui épuisent la bande passante disponible des serveurs en les inondant de demandes de connexion TCP/UDP. Les attaquants ont désormais ajouté un nouvel outil à leur arsenal : les attaques DoS et DDoS qui utilisent des requêtes HTTP ou des appels API pour épuiser les ressources au niveau de l’application ( couche 7 ).
Les protections DoS traditionnelles contre les attaques réseau et volumétriques ne sont pas efficaces contre les attaques de couche 7, car au niveau de l’application, les requêtes malveillantes ressemblent souvent aux requêtes légitimes. De plus, les attaques HTTP au niveau de la couche 7 peuvent être dommageables à un taux et un volume de requêtes bien inférieurs à ceux des attaques au niveau du réseau. La protection DoS de la couche 7 doit être plus sensible face à un ensemble d'exigences entièrement nouveau :
NGINX App Protect Denial of Service (DoS) répond à tous ces défis pour garantir une protection zero-day rationalisée, facile à mettre en œuvre et offrant une configuration de politique adaptative et sans intervention.
NGINX App Protect DoS utilise un processus en plusieurs étapes pour détecter et atténuer les attaques DoS de couche 7 :
La première étape du processus consiste à capturer le comportement des utilisateurs et des applications à un moment où nous savons que le site n'est pas attaqué, afin de créer un modèle de site statistique qui capture une base de comportement typique. NGINX App Protect DoS suit 320 mesures d'utilisateurs et d'applications pour une vue complète du déploiement de votre application. Il met également à jour de manière dynamique le modèle statistique du site à mesure qu'il observe le trafic. Cela vous libère de la nécessité d'ajuster manuellement les seuils du système, tout en garantissant que NGINX App Protect DoS prend en compte les changements dans les modèles de trafic qui se produisent inévitablement au fil du temps.
Une classe de mesures suivies concerne les caractéristiques des requêtes HTTP : la méthode HTTP, la valeur de l'en-tête User-Agent
et d'autres comme celles présentées dans le graphique.
De nombreux outils d’atténuation des attaques DoS de couche 7 ne prêtent attention qu’aux modèles de trafic client. Pour une détection d'attaque supérieure, vous pouvez configurer NGINX App Protect DoS pour vérifier activement l'état du service en plus. Il suit plusieurs mesures de performances du serveur telles que le temps de réponse et la proportion de requêtes abandonnées. La détérioration des valeurs de ces mesures indique qu’une application est « sous stress », peut-être en raison d’une attaque. Le suivi des mesures du serveur présente un autre avantage : une fois que NGINX App Protect DoS détermine qu’une attaque est en cours, le modèle de réponses aux contrôles de santé permet d’identifier le moment où l’attaque a commencé.
Lorsque NGINX App Protect DoS détermine qu'une attaque est en cours (en fonction des écarts par rapport au modèle statistique du site et des modifications apportées à la réponse du serveur (si configurée), il arrête de mettre à jour le modèle statistique du site et analyse à la place la manière dont les valeurs métriques actuelles diffèrent des lignes de base établies. Les différences indiquent probablement une anomalie mondiale.
NGINX App Protect DoS déclenche alors deux procédures qui s'exécutent en parallèle :
Analyser le comportement des utilisateurs individuels pour détecter qui a créé ou contribué à l'anomalie.
NGINX App Protect traite initialement tous les utilisateurs comme des suspects et analyse leur comportement. Il est peu probable que chaque utilisateur soit un attaquant, mais mesurer le comportement de chacun d’entre eux permet à NGINX App Protect de créer une image statistique qui révèle qui a contribué et qui n’a pas contribué à l’attaque. Les mauvais acteurs détectés sont identifiés à l’aide de leur adresse IP ou de l’en-tête X-Forwarded-For
dans leurs requêtes.
Génération d’une liste de règles décrivant le trafic d’attaque sans bloquer les utilisateurs légitimes – signatures en temps réel pour une protection contre les attaques zero-day. Les signatures générées lors d’attaques précédentes peuvent être réutilisées.
Les signatures générées identifient les attributs HTTP associés à l'attaque, comme dans cet exemple :
http.request.method eq GET et http.user_agent contient Chrome et http.uri_parameters eq6 et http.accept_header_exists eq faux et http.headers_count eq 7
L’objectif principal de la défense contre une attaque de couche 7 est de l’attraper avant qu’elle ne puisse causer des dégâts.
Comme indiqué dans le diagramme suivant, vous pouvez configurer une stratégie d’atténuation conservatrice ou standard. Avec les deux stratégies, la première couche de défense consiste à bloquer les requêtes des acteurs malveillants qui ont été identifiés par l’adresse IP et l’en-tête X-Forwarded-For
à l’étape précédente. La couche de défense suivante bloque les demandes qui correspondent aux signatures générées à l’étape précédente.
Enfin, si vous avez configuré l’atténuation standard et que NGINX App Protect DoS constate que les deux premières couches de défense sont insuffisantes, il applique une limitation de débit globale pendant une courte période.
Lorsque NGINX App Protect DoS applique une limitation de débit globale, il existe un risque que les demandes des utilisateurs légitimes soient bloquées – un faux positif. NGINX App Protect DoS peut réduire les faux positifs car une attaque DoS typique est créée à l'aide de scripts exécutés par un contrôleur de botnet (logiciel malveillant sur les ordinateurs infectés), et non directement par des humains. Contrairement aux navigateurs Web, la plupart de ces scripts simples ne peuvent pas gérer correctement une redirection HTTP, et encore moins peuvent traiter JavaScript. Ces différences de capacités entre les scripts et les navigateurs aident NGINX App Protect DoS à déterminer lequel d'entre eux génère le trafic suspect.
Ainsi, au lieu de limiter le débit des requêtes de tous les clients, NGINX App Protect DoS envoie d’abord une redirection HTTP, puis un extrait de JavaScript à traiter. Les robots scriptés ne peuvent pas répondre avec succès, mais un navigateur le peut, ce qui permet à NGINX App Protect DoS de bloquer le trafic provenant des scripts tout en autorisant le trafic du navigateur.
Nous reconnaissons que certains utilisateurs ne sont pas à l’aise avec l’apprentissage adaptatif en raison du risque de grand nombre de faux positifs, mais nous avons constaté qu’il s’agit du moyen le plus efficace d’atténuer les attaques DoS de couche 7. NGINX App Protect DoS réduit les faux positifs en combinant plusieurs approches : analyse du comportement des utilisateurs, vérification de l'état du service et mesure de l'efficacité des tactiques d'atténuation. Ensemble, les trois approches offrent une visibilité et une protection complètes sans que vous ayez à modifier manuellement la configuration en réponse aux attaques.
Vous vous demandez peut-être pourquoi vous avez besoin d’une protection DoS de couche 7 si votre WAF protège déjà contre les bots. S’il est vrai que les attaques DDoS de couche 7 sont généralement lancées par des robots, leur objectif n’est pas le même que les autres activités de robots. Les robots tentent généralement de récupérer des informations sans perturber le service, alors que la perturbation du service est précisément l'objectif des attaques Layer 7 Dos et DDoS.
Une autre différence est que les outils anti-bots standards tentent de faire la distinction entre les « bons robots » et les « mauvais robots », une tâche difficile qui nécessite généralement une supervision humaine pour éviter les faux positifs. NGINX App Protect DoS, en revanche, ne se soucie pas de savoir si le trafic est généré par des robots ou un autre mécanisme – il se concentre sur la distinction entre les attaquants et les utilisateurs légitimes en fonction de leur comportement. Étant donné que NGINX App Protect DoS utilise des techniques antibot uniquement lorsqu'il a déterminé que les robots participent à une attaque DoS de couche 7, il génère beaucoup moins de faux positifs que les logiciels antibot standard. De plus, les méthodes d’atténuation des attaques DoS de NGINX App Protect sont efficaces en termes de processeur, ce qui lui permet de continuer à protéger vos applications tout au long d’une attaque DoS de couche.
NGINX App Protect DoS suit plus de 320 mesures liées au comportement des utilisateurs et des applications, ce qui donne lieu à un modèle statistique multifactoriel qui offre la protection la plus précise possible. Ses algorithmes uniques réduisent considérablement les faux positifs. Ces fonctionnalités permettent à NGINX App Protect DoS d'atténuer les attaques DoS hautement distribuées, où chaque demande d'attaque semble totalement légale et un seul attaquant peut même générer moins de trafic que l'utilisateur légitime moyen. Grâce à sa technologie adaptative, NGINX App Protect DoS protège les infrastructures modernes non seulement contre les attaques d’aujourd’hui mais aussi contre celles qui évolueront à l’avenir.
Si vous souhaitez en savoir plus sur la manière de garantir la protection DoS, consultez notre présentation de solution . Voir également ces blogs connexes :
Essayez NGINX App Protect DoS par vous-même – démarrez un essai gratuit de 30 jours dès aujourd'hui ou contactez-nous pour discuter de vos cas d'utilisation .
« Cet article de blog peut faire référence à des produits qui ne sont plus disponibles et/ou qui ne sont plus pris en charge. Pour obtenir les informations les plus récentes sur les produits et solutions F5 NGINX disponibles, explorez notre famille de produits NGINX . NGINX fait désormais partie de F5. Tous les liens NGINX.com précédents redirigeront vers un contenu NGINX similaire sur F5.com."