À mesure que de plus en plus d’équipes de développement d’applications intègrent la sécurité dans leurs flux de travail, elles étudient l’impact de la sécurité sur leurs applications, du point de vue du pipeline d’applications, du flux de travail et des performances.
En raison des exigences de conformité, la protection des applications Web et des API (WAAP) est généralement déployée dans une pile d’applications. Mais à mesure que les organisations déplacent leurs charges de travail vers le cloud et commencent à intégrer la sécurité dans la structure de leurs applications, le rôle du WAAP évolue. Les entreprises ont besoin de plates-formes WAAP capables d’évoluer et de s’adapter à l’évolution des architectures cloud et aux menaces de sécurité croissantes.
Dans cet article, nous examinerons comment le moteur WAAP — et, plus précisément, un jeu de règles conçu spécifiquement pour être utilisé avec ce moteur — peut être adapté pour évoluer dans des flux de travail cloud et améliorer les performances de votre application Web tout en maintenant une protection renforcée contre les menaces en ligne.
Considérez à la fois le moteur WAAP et son ruleset
Le WAAP doit être une partie importante de votre pile d’applications et de votre programme de sécurité réseau. Traditionnellement, les WAAP étaient déconnectés du développement d’applications et étaient considérés comme une couche de sécurité qui se trouvait en dehors de l’application. Mais les architectures et outils WAAP modernes ont aidé SecOps à collaborer avec DevOps tout au long du processus ci/CD, y compris la création de règles et le test au fur et à mesure du développement d’une application. Lorsqu’ils sont utilisés correctement pour analyser le trafic traversant votre infrastructure applicative, le moteur WAAP et son jeu de règles jouent un rôle important dans la rapidité de l’analyse et dans la qualité des décisions d’audit et de blocage qui en résultent dans le cadre de l’architecture applicative globale.
Comme le moteur, l’ordinateur et la transmission d’une voiture, un moteur WAAP, ses jeux de règles et l’application qu’il protège doivent être conçus et optimisés pour fonctionner ensemble. Un constructeur automobile ne conçoit pas un moteur dans une bulle. Il doit être optimisé pour le reste du châssis et des composants de la voiture afin d’atteindre des performances et une efficacité maximales à tous les niveaux. Il en va de même pour le moteur WAAP et son jeu de règles. Un WAAP qui ne tient pas compte de ces variables peut être surchargé et surchargé, et finalement dégrader les performances et l’expérience utilisateur de l’application web.
Réduisez la charge de travail WAAP pour améliorer la vitesse et effectiveness
Edgio WAAP utilise une combinaison de signatures open-source, industrielles et propriétaires pour informer son jeu de règles. Nous évaluons soigneusement l’impact de chaque signature sur la performance de l’ensemble de règles.
Lorsque nous avons conçu et optimisé notre moteur WAAP , nous avons vu qu’en collectant et en consommant les jeux de règles open source et industrielles sans aucune modification, (presque) chaque règle devrait être analysée lorsque le trafic traverse le réseau. Ce modèle est assez commun parmi les WAAP et permet de voir « facilement » ce qui arrive au trafic. Mais il force également le WAAP à exécuter toutes les règles pour évaluer le risque associé au trafic. Cela met une charge de travail inutilement lourde sur le WAAP, qui est encore exacerbée à mesure que le jeu de règles se développe.
Bien sûr, il ne s’agit pas toujours de vitesse. Un élément clé d’un WAAP est sa capacité à déterminer le risque (compromission) par rapport à la récompense (transactions réussies) associé au trafic et à décider s’il faut marquer le trafic comme malveillant, suspect ou Bénin. Le WAAP enverrait une alerte à l’équipe (mode audit/alerte) et bloquerait ou réacheminerait le trafic s’il était jugé trop risqué à laisser passer (mode production/blocage).
Cette analyse devient un défi plus important lorsqu’on examine les règles de l’open source et du secteur ingérées. Il est peu probable qu’ils aient été créés avec la vitesse et l’efficacité à l’esprit pour tous les moteurs WAAP possibles sur le marché. Cela ne signifie pas qu’ils sont mauvais, cela signifie simplement qu’ils se concentrent d’abord sur le risque, laissant la performance comme une réflexion après coup. En d’autres termes, il y a place à l’amélioration.
Avec les jeux de règles créés pour l’exhaustivité et la précision en premier, de nombreux WAAP trouvent qu’ils ne peuvent pas gérer le trafic analysé dans les deux modes (audit et bloc), forçant les équipes InfoSec à choisir un mode : commencer par le mode audit et le déplacer en mode production ou passer directement en mode production avec peu ou pas de tests réels, ce qui les laisse ouverts aux menaces manquées et aux faux positifs
Comment Edgio améliore son WAAP rulesets
Le modèle Open source OWASP ModSecurity pour les jeux de règles fournit une manière standard et cohérente par laquelle les jeux de règles WAAP peuvent être développés et implémentés. Pour compléter cela, OWASP offre un ensemble de règles génériques de l’industrie qui peut être ingéré par un WAAP qui suit ce modèle.
Cependant, alors que notre équipe implémentait le jeu de règles, ils se sont rendus compte que les jeux de règles ingérés — bien que complets et précis — freinaient en effet le moteur WAAP. L’équipe a donc décidé d’examiner comment les jeux de règles sont structurés et traités. Ce que nous avons constaté, ce qui ne devrait surprendre aucun administrateur WAAP, est que de nombreuses règles passent par les mêmes données encore et encore pour parcourir les vérifications nécessaires pour déterminer le risque du trafic passant par le WAAP.
Certaines règles d’application des protocoles sont assez simples et n’ont pas à « vivre » dans l’écosystème des jeux de règles. Pour résoudre ce problème, nous avons d’abord développé le jeu de règles qui a efficacement réduit le jeu de règles OWASP en les implémentant directement dans le moteur WAAP dans un format autre que ModSecurity. Il en résulte une exécution précoce et une détection plus rapide.
Ensuite, nous avons ciblé les règles qui analysent les corps de requête. Nous avons créé une couche de mise en cache qui atténue la surcharge de performance liée au recalcul des mêmes expressions dans les règles. En prenant un exemple de corps au format XML, nous avons cherché combien de fois l’expression “XML:/*” apparaît dans le jeu de règles CRS OWASP pour voir combien de fois un XPath pourrait être recalculé dans le traitement d’une seule requête sans couche de cache, le nombre est significatif.
Enfin, là où de nombreuses extensions de macro/substitutions de chaînes et recherches explicites ont lieu, nous avons identifié et supprimé ces règles du jeu de règles et les avons implémentées dans le moteur avec de meilleurs algorithmes de recherche et de recherche tels que les recherches HashMap et l’opérateur de correspondance de phrase (pm) au lieu d’un opérateur regex (Rx) chaque fois que possible.
En faisant les choses différemment avec la structure des jeux de règles, notre moteur WAAP utilise des structures de données plus rapides et des formats standard ouverts comme JSON, qui sont plus faciles à configurer et à exécuter plus rapidement. Il en résulte de meilleures performances, non seulement en termes de vitesse, mais aussi en termes de précision :
- Faux positifs faibles : Edgio organise et contrôle le jeu de règles de manière à garantir la précision
- Amélioration des performances du moteur : le moteur Edgio WAAP exécute les jeux de règles de manière à éviter de surtaxer le moteur
Par exemple, pour la règle de stratégie de liste de blocage IP OWASP, le moteur ModSecurity utilise son propre algorithme « msc_tree » qui examine une liste IP incorrecte. Alternativement, le moteur Edgio WAAP utilise un algorithme différent qui est un peu plus rapide. Les résultats de test suivants montrent comment Edgio WAAP fonctionne par rapport à ModSecurity. ModSecurity ajoute environ 200 ms à 500 ms de latence lors de l’exécution d’un million de requêtes sur de grandes listes IP. Edgio WAAP traite environ 10 milliards de requêtes par jour sur son réseau. Ces petits nombres comptent beaucoup sur une si grande échelle.
Évitez d’alerter les vS bloquant les compromis
Une meilleure combinaison moteur WAAP et jeu de règles signifie également que les entreprises obtiennent des performances plus rapides et peuvent exécuter des WAAP en double mode (en mode bloc et en mode audit). Cela permet aux équipes chargées des opérations de sécurité d’expérimenter de nouvelles règles contre le trafic de production en mode audit/alerte et d’affiner les règles avant de promouvoir le jeu de règles en mode bloc sur WAAP.
Les jeux de règles Edgio hautement personnalisés permettent aux administrateurs de découper et de découper partout et d’exécuter les jeux de règles en mode double. Avec les mêmes règles appliquées à différents paramètres, les administrateurs peuvent les exécuter deux fois sans affecter les performances, en partie grâce au moteur intelligent et à la mise en œuvre du jeu de règles.
La valeur ici s’étend au-delà de l’équipe de gestion WAAP. De nombreux clients Edgio intègrent cette option dans leur cycle de vie DevOps, donnant à l’entreprise, à l’équipe d’ingénierie et à l’équipe de sécurité INFORMATIQUE la possibilité de collaborer et de tester les règles en mode audit avant de les appliquer en mode blocage de production.
Ce processus en deux étapes permet à l’équipe de sécurité INFORMATIQUE de vérifier les modifications apportées à la configuration du pare-feu avant qu’elles ne soient activées, en dotant l’équipe de données pour tester les modifications apportées au trafic de production réel, réduisant ainsi les faux positifs une fois le jeu de règles mis en production. Une fois le jeu de règles validé, les configurations mises à jour sont déployées en quelques secondes. Et les retours arrière, si nécessaire, sont possibles en quelques minutes. Cela rend les essais significatifs de jeux de règles beaucoup plus réalistes, dynamiques, percutants, efficaces et soutenant les objectifs commerciaux.
L’approche Edgio Dual WAF mode améliore également les performances. Le jeu de règles intelligent garantit que le trafic malveillant connu est bloqué rapidement pour donner une certaine marge de manœuvre au WAF afin qu’il puisse gérer le reste du trafic qu’il est constamment présenté. Les administrateurs disposent ainsi de plus de temps pour se concentrer sur l’obtention d’une visibilité prédictive ; en d’autres termes, ils peuvent voir les éléments des applications via le mode audit avant leur déploiement sur les sites de production.
Pensez au moteur WAAP et à la conception du jeu de règles si votre entreprise a besoin d’une pile d’applications capable de s’adapter à des charges de travail imprévisibles tout en offrant une architecture hautement sécurisée. Lorsqu’ils sont optimisés, ces facteurs peuvent améliorer les performances de vos applications Web.
Pour plus d’informations sur la façon dont le moteur intelligent Edgio WAAP et les jeux de règles peuvent protéger vos applications web avec rapidité et précision, connectons-nous dès aujourd’hui.