Certains acteurs du marché promettent des firewalls applicatifs qui peuvent presque fonctionner tout seuls et sans besoin préalable de compétences en cybersécurité, notamment grâce au machine learning, l’intelligence artificielle ou plus simplement, l’utilisation de politiques de filtrage simplifies basées sur des standards tels que OWASP 10.
Mais la réalité est tout autre. Ceux ayant tenté de mettre en place de genre de solutions se sont heurtés à des problèmes bien plus complexes que celui de définir une politique de filtrage initiale.
Sans une personnalisation adéquate des politiques de sécurité, il y aura 2 possibilités ; soit le niveau de filtrage ne sera pas optimal, trop faible et donc potentiellement trop vulnérable face à des attaquants de plus en plus expérimentés ; soit dans le cas d’un filtrage trop restrictif, l’impact sur les utilisateurs sera trop important, risquant ainsi de mettre en péril le bon fonctionnement des applications. Comme on le sait dans tout projet de cybersécurité, l’adhérence des utilisateurs est extrêmement importante et il convient donc de trouver un juste milieu entre ces 2 extrêmes.
Certes, les outils de machine learning peuvent aider, par exemple à construire une politique de filtrage basée sur des recommandations en fonction du trafic web passé mais cela ne remplacera jamais les connaissances et le bon sens d’ingénieurs compétents et connaissant le fonctionnement des applications à protéger.
Compétences en programmation, réseau et la connaissance de l’application et des différents types d’attaques (Injection SQL et injection de code, Verb tampering, Cross-Site Scripting, session hijacking, brute force, etc) et une maitrise sans faille des architectures, langages et protocoles web, notamment HTTP, XML ou AJAX sont autant de caractéristiques indispensables.
On comprend aisément que les compétences nécessaires pour gérer une telle technologie de manière efficace sont rarement concentrées à l’intérieur d’une entreprise, et encore moins au sein d’une même équipe. Généralement l’interaction entre les équipes applicatives, réseau et sécurité est nécessaire, mais souvent la coopération entre les différents intervenants est laborieuse, chacun souhaitant garder uniquement la responsabilité sur la partie qui lui incombe à l’origine, l’efficacité dans la gestion du service s’en ressent donc fortement.