Home Articles techniques Amélioration des performances applicatives grâce à des règles de sécurité plus rapides
Applications

Amélioration des performances applicatives grâce à des règles de sécurité plus rapides

About The Author

Outline

À mesure que de plus en plus d’équipes de développement d’applications intègrent la sécurité dans leurs workflows, elles étudient l’impact de la sécurité sur leurs applications, du point de vue du pipeline d’applications, du workflow 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 allons examiner 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 les flux de travail cloud et améliorer les performances de votre application Web tout en maintenant une protection solide contre les menaces en ligne.‍

Considérez à la fois le moteur WAAP et son ruleset‍

Le WAAP doit être un élément important 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é située 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 les tests 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 performance des décisions d’audit et de bloc 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 règles, et l’application qu’il protège doit être conçue et optimisée 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. La même chose devrait être vraie 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‍

Le WAAP Edgio 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.

Lors de la conception et de l’optimisation de notre moteur WAAP, nous avons constaté qu’en collectant et en consommant les jeux de règles open source et industrielles sans aucune modification, (presque) chaque règle devait être analysée au fur et à mesure que le trafic croise le fil. Ce modèle est assez courant parmi les WAAP et permet de voir « facilement » ce qui arrive au trafic. Mais cela oblige également le WAAP à passer en revue toutes les règles pour évaluer le risque associé au trafic. Cela impose une charge de travail inutilement lourde au WAAP qui est encore aggravée à mesure que le jeu de règles se développe.

Bien sûr, ce n’est pas toujours une question 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 convient de signaler le trafic comme malveillant, suspect ou Bénin. Le WAAP envoie une alerte à l’équipe (mode audit/alerte) et bloque ou réachemine le trafic s’il est jugé trop risqué à laisser passer (mode production/bloc).

Cette analyse devient un défi plus important lors de l’examen des règles de l’Open Source et de l’industrie ingérées. Il est peu probable qu’ils aient été créés avec la vitesse et l’efficacité à l’esprit pour chaque moteur WAAP possible sur le marché. Cela ne signifie pas qu’ils sont mauvais, cela signifie simplement qu’ils se concentrent sur le risque en premier, laissant la performance comme une réflexion après coup. En d’autres termes, il y a place à l’amélioration.

Avec des jeux de règles créés en premier lieu pour être complets et précis, de nombreux WAAP constatent qu’ils ne peuvent pas gérer le trafic analysé dans les deux modes (audit et blocage), forçant les équipes InfoSec à choisir un mode : commencez par le mode audit et passez-le en mode production ou passez 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 OWASP ModSecurity open-source 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 propose un jeu de règles générique 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, elle s’est rendue compte que les jeux de règles ingérés — bien qu’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 découvert, qui ne devrait surprendre aucun administrateur WAAP, est que de nombreuses règles passent par les mêmes données encore et encore pour effectuer 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 besoin de « vivre » à l’intérieur de 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 réduit efficacement le jeu de règles OWASP en les implémentant directement dans le moteur WAAP dans un format non 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 OWASP CRS pour voir combien de fois un XPath pouvait être recalculé dans le traitement d’une seule requête sans couche de cache, le nombre étant significatif.

Enfin, où beaucoup d’expansions de macro/substitutions de chaînes et de 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 phrases (pm) au lieu d’un opérateur regex (Rx) dans la mesure du 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 arrange 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 surcharger le moteur

Par exemple, pour la règle de stratégie liste de blocage IP OWASP, le moteur ModSecurity utilise son propre algorithme « msc_Tree » qui examine une mauvaise liste IP. 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 demandes par jour sur son réseau. Ces petits chiffres importent beaucoup à une si grande échelle.

Évitez d’alerter ou de bloquer les compromis

Un moteur WAAP amélioré et une combinaison de jeux de règles signifient également que les entreprises obtiennent des performances plus rapides et peuvent exécuter des WAAP en mode double (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 le WAAP.

Les jeux de règles Edgio hautement personnalisés permettent aux administrateurs de trancher et de dés partout et d’exécuter les jeux de règles en mode Dual. 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 va au-delà de l’équipe de direction WAAP. De nombreux clients d’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 la 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 sur le 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 en arrière, si nécessaire, sont possibles en quelques minutes. Cela rend les essais de jeux de règles significatifs 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’acquisition d’une visibilité prédictive ; en d’autres termes, ils peuvent voir les choses dans les applications via le mode audit avant qu’elles ne soient déployées sur les sites de production.

Envisagez la conception du moteur WAAP et du jeu de règles si votre entreprise a besoin d’une pile d’applications capable de s’adapter aux 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 et les jeux de règles Edgio WAAP peuvent protéger vos applications Web avec rapidité et précision, connectez-vous dès aujourd’hui.