BLOG

Équilibrer la sécurité et les performances avec les pare-feu d'applications Web

Miniature de Lori MacVittie
Lori MacVittie
Publié le 26 mars 2018
  • La sécurité est importante, mais les performances le sont tout autant.
  • Plus de la moitié (57 %) des organisations utilisent des pare-feu d'applications Web pour protéger les applications dans le cloud et sur site (État de la distribution des applications 2018)
  • L’analyse d’une réponse sortante est l’une des dernières opportunités de détecter une violation en cours – et de l’arrêter. 
  • On peut avoir « trop d’une bonne chose ». Réfléchissez soigneusement à la manière d’équilibrer la sécurité et les performances pour optimiser les deux. 

Nous savons (comme tout le monde) à quel point la performance est importante pour le succès continu de l’entreprise numérique. Alors que ceux d’entre nous qui ont été élevés aux connexions par ligne commutée et aux téléchargements de plusieurs heures ont tendance à être plus indulgents en matière de performances, nos enfants natifs du numérique ne sont pas aussi généreux. Ils attendent des réponses instantanées et des téléchargements rapides.

La preuve de notre impatience est dans les chiffres : plus de 80 % d’entre nous ont supprimé une application en raison de mauvaises performances . Certains d’entre nous – trois sur dix – sont même prêts à payer pour avoir le privilège d’avoir des applications ultra-rapides.

Mais nous sommes difficiles à satisfaire, quelle que soit la génération technologique à laquelle nous appartenons. N’osez pas ignorer la sécurité pendant que vous accélèrez cette application. Si vous le faites et que nos données sont violées, nous ferons plus que simplement supprimer votre application.

Il appartient alors aux professionnels de l’informatique, en particulier à ceux qui s’occupent de sécurité, d’équilibrer la demande de performance avec le besoin de sécurité. Les applications doivent être rapides et sécurisées.

L’un des moyens par lesquels plus de la moitié des organisations parviennent à sécuriser leurs applications consiste à utiliser un pare-feu d’application Web (WAF), entre autres services d’application, pour protéger les applications contre les attaques. Ils le font de deux manières :

Tout d’abord, ils analysent les demandes entrantes pour détecter toute activité malveillante. Deuxièmement, ils inspectent les réponses sortantes. Il n’est pas surprenant que les organisations qui appliquent systématiquement ces tactiques de sécurité soient parmi celles qui ont le plus confiance dans leur capacité à résister à une attaque d’application.

En utilisant un WAF, vous pouvez inspecter chaque élément d'une demande et d'une réponse. Vous pouvez analyser, décomposer, tordre et modifier le contenu comme vous le souhaitez.

Mais ce n’est pas parce que vous le pouvez que vous devez le faire.

La sécurité n’est pas gratuite. Il faut des cycles CPU et de la mémoire pour inspecter le trafic des applications avec le type d’attention requis pour détecter des attaques ou des preuves d’une violation.

C’est pourquoi il est important d’équilibrer sécurité et performances. Chaque microseconde supplémentaire que vous passez à scanner ou à nettoyer est une microseconde supplémentaire que les utilisateurs doivent attendre pour obtenir cette réponse.

Et ils s'additionnent.

Après tout, c’est une question de physique : il faut un certain nombre de microsecondes aux paquets pour traverser un réseau et revenir. Il faut encore quelques microsecondes pour établir une connexion. Il en reste encore quelques-uns à traiter… vous voyez l’idée. Tout ce que vous faites prend du temps, et plus vous prenez du temps, plus vos utilisateurs deviennent impatients.

Certains ont traditionnellement jeté le bébé avec l’eau du bain lorsqu’il s’agit de ce conflit. Ils désactivent la sécurité jusqu'à ce que les performances soient acceptables. Mais ce n’est pas la bonne réponse. Il existe un équilibre qui peut satisfaire à la fois le besoin de sécurité et l’exigence de performance.

Sur demande, n'hésitez pas à effectuer une analyse et une vérification au niveau du protocole. Inspectez la charge utile et recherchez tout signe d’attaque. Commencez par des analyses basées sur des signatures et ensuite par des comparaisons basées sur du texte. Les analyses basées sur les signatures, lorsque cela est possible, améliorent les performances de sécurité car vous n'avez pas besoin d'analyser et de comparer. C'est juste une comparaison directe, et c'est un processus assez rapide. 

En ce qui concerne la réponse, ne succombez pas à la tentation d’analyser et de mettre le contenu sous un microscope. Il doit y avoir un certain niveau de confiance avec les développeurs, ici, que le JSON est formaté correctement ou que le XML suit le schéma approprié. Soyons réalistes, s’il y a une erreur de protocole ou de format ici, l’utilisateur le découvrira. C’est une préoccupation des développeurs, ce n’est généralement pas un risque de sécurité.

Ce qui constitue un risque de sécurité, c’est l’inclusion de données sensibles – numéros de carte de crédit ou de compte, numéros de sécurité sociale, adresses e-mail, peut-être. Des chiffres et des données avec des modèles bien définis qui peuvent être rapidement recherchés et masqués dans les données. Comme pour les analyses basées sur les signatures, vous effectuez ici une correspondance de modèles et les services de sécurité sont devenus très efficaces pour les exécuter aussi rapidement que possible.

La longueur du contenu est également un élément que vous devrez vérifier si vous le pouvez. Un certain nombre d’exploits très médiatisés ont été identifiés simplement par la quantité de contenu renvoyé. Si vous savez qu'une requête spécifique ne doit renvoyer qu'environ 1 Ko de données, alors une réponse de 4 Ko devrait probablement déclencher une sonnette d'alarme quelque part. Il s’agit d’une vérification simple qui prend beaucoup moins de temps que l’analyse et le comptage des enregistrements de données.

Une bonne règle empirique consiste à toujours respecter la règle de sécurité zéro sur la demande et à vérifier tout ce que vous pouvez lorsqu'une saisie utilisateur est présente. À la sortie, recherchez les indicateurs d’une violation en cours et masquez les données sensibles, mais ne perdez pas de temps à vous soucier des formats de données et de la conformité des schémas. Laissez les développeurs se soucier de savoir s’ils ont correctement formaté la réponse. C’est leur domaine de compétence, pas le vôtre.

La sécurité et les performances peuvent être équilibrées, à condition de ne pas sacrifier l’une au profit de l’autre. Et cela signifie dans les deux sens. Ne renoncez pas à la sécurité au profit des performances, mais ne négligez pas non plus les performances au profit de la sécurité (potentiellement inutile).

Si vous utilisez la sécurité de manière stratégique pour empêcher l’exploitation et détecter les violations, vous pouvez atteindre l’équilibre avec les performances dont vous avez besoin pour garantir la satisfaction des utilisateurs et la sécurité des données et des applications.