La visibilité – ou son absence – est aujourd’hui une plainte courante dans tous les domaines opérationnels et de développement. Les développeurs déplorent le manque de visibilité sur les performances des applications une fois déployées dans le néant qu'est la « production » - que ce soit sur site ou dans un cloud public. Les opérations de tous types - de l'infrastructure au réseau en passant par la sécurité - déplorent l'incapacité à scruter les fissures du trafic applicatif et à extraire de son flux les signes d'une attaque.
La visibilité, telle qu'elle est utilisée en sécurité, est nécessairement obtenue par le déploiement de services réseau et applicatifs qui se trouvent logiquement devant l'application. Cette pratique est née pour de nombreuses raisons, mais la vérité est qu’une application manque du contexte nécessaire pour reconnaître de nombreuses formes d’attaque. Cela est dû au fait que les piles d’applications limitent les développeurs aux informations disponibles par connexion. Il s’agit d’une mesure de sécurité en soi, car l’isolement empêche un mauvais acteur sur une connexion d’avoir accès à un bon acteur sur une autre connexion.
Mais cette restriction limite la capacité de l’application – et de sa plateforme – à comprendre les connexions et le trafic applicatif dans leur contexte. En déplaçant cette responsabilité en amont - devant - l'application, le réseau et les services applicatifs ont la possibilité d'évaluer chaque connexion et sa charge utile dans le contexte de toutes les connexions et charges utiles échangées avec cette application.
Il est important de reconnaître ce point lorsque nous examinons la manière de répondre à la menace croissante des attaques DoS au niveau de la couche applicative.
Il est déconcertant de constater que ces attaques au niveau de la couche applicative augmentent en volume et en fréquence. Il est encore plus inquiétant de savoir que 43 % des attaques DoS au niveau de la couche applicative parviennent à échapper à la détection basée sur la signature et la réputation. Les signatures statiques deviennent rapidement obsolètes en raison de l’évolution rapide de la capacité des mauvais acteurs à personnaliser et à cibler des applications spécifiques.
Les signatures statiques sont comme les vaccins contre la grippe. Les vaccins contre la grippe sont développés pour protéger contre une souche particulière de la grippe, en fonction de l’expérience antérieure avec le virus. Il s’agit essentiellement d’une signature biologique qui identifie un virus spécifique. Il n’est pas en mesure d’identifier une nouvelle souche du même virus, ce qui nous rend vulnérables à une nouvelle vague de grippe.
Les mauvais acteurs sont aussi habiles qu’un virus de la grippe à s’adapter et à évoluer pour éviter d’être détectés et éliminés. Pour relever ce défi, nous devons être capables d’identifier les mauvais acteurs en fonction de leur comportement plutôt que d’une signature spécifique. Pour cela , nous avons besoin de visibilité et du contexte qu’elle peut nous donner.
Essentiellement, la protection DoS comportementale L7 est un vaccin contre la grippe capable de détecter le virus responsable en fonction de son comportement plutôt que de sa composition réelle. Cette capacité est particulièrement importante au niveau de la couche 7 (application) car de telles attaques ne sont pas simplement volumétriques. Certaines sont conçues simplement pour bloquer les connexions et réduire la capacité de l'application à servir les utilisateurs légitimes, leur refusant ainsi le service. D'autres sont plus subtiles et tentent de formuler des requêtes de telle sorte que l'application plante et provoque une panne.
Pour détecter les différentes formes d’attaques DoS L7, il faut pouvoir évaluer les requêtes individuelles par rapport à ce qui est considéré comme normal. Mais définir simplement un comportement « normal » revient à créer une signature. Ce qui est normal pour une application hyperscale basée sur une API n’est pas normal pour une application Web utilisée par une seule unité commerciale ou un seul département.
Déterminer ce qui est « normal » est donc la première étape. Le DoS comportemental accomplit cela en collectant des éléments d’information spécifiques de chaque paquet qui passe par le système. Ces bits sont extraits des données du réseau, du transport et de l'application. Une ligne de base est établie à partir d'éléments tels que les attributs ou les tailles d'en-tête normaux, la contrainte normale sur le serveur ou les temps de réponse et la latence normaux. À l’aide d’un modèle statistique, le système calcule un seuil normal pour ces valeurs à partir de milliers d’observations chaque seconde.
Lorsque l'application montre des signes de stress avec des performances dégradées ou une charge importante, elle déclenche le passage du système en « mode attaque ». Dans ce mode, plusieurs choses se produisent :
Ce processus consiste à s’assurer qu’il y a moins de 5 % de chevauchement des caractéristiques avec les « bons flux » pour éviter les faux négatifs. Une fois que l’état de l’application revient à la normale, le système peut se détendre.
L’avantage du DoS comportemental L7 est qu’il se concentre sur l’apprentissage constant de ce qui est normal et sur l’identification de ce qui ne l’est pas. Cela lui permet de détecter les attaques L7 qui sont nouvelles ou qui ont évolué à partir d'attaques antérieures que les systèmes basés sur des signatures statiques ne remarqueront pas tant qu'ils ne seront pas mis à jour.
L'analyse comportementale est possible grâce à des modèles d'apprentissage automatique très ciblés. Ces modèles permettent à la protection des applications d’évoluer en temps réel, offrant l’agilité dont le domaine de la sécurité a si désespérément besoin pour suivre le rythme aujourd’hui. Les mauvais acteurs modifient et peaufinent constamment leurs attaques pour échapper à la détection. Pour mieux protéger les applications, les services de sécurité doivent modifier leurs hypothèses et opérer dans le contexte de l’environnement dans lequel ils se trouvent. Il n’est tout simplement pas raisonnable de demander aux professionnels de la sécurité d’élaborer des seuils pour chaque application du portefeuille de l’entreprise.
À mesure que la charge sur la sécurité et les opérations augmente en raison de l’ajout de nouvelles applications et de nouveaux environnements, il est important de transférer cette charge des personnes vers la technologie chaque fois que cela est possible. Le DoS comportemental dans le cadre d'un WAF avancé est l'un des moyens de faire travailler les machines pour vous , plutôt que contre vous.