Les pare-feux applicatif Web (WAF) sont largement utilisés pour protéger les applications et sites web contre diverses attaques web telles que l'injection SQL (SQLi) et le cross-site-scripting (XSS). Mais des techniques pour faire sauter cette sécurité existent comme ont pu le montrer des chercheurs de la Zhejiang University et de l'institut du logiciel de la Chinese Academy of Sciences avec leur outil de test AutoSpear.

« En prenant l'attaque SQLi comme cas représentatif, nous avons conçu et implémenté AutoSpear pour contourner et inspecter automatiquement les WAF existants dans la nature »,ont expliqué Chunming Wu et Zhenqing Qu, respectivement professeur et étudiant à la Zhejiang University et Xiang Ling, chercheur associé à l'institut du logiciel de la Chinese Academy of Sciences. « AutoSpear représente d'abord la charge utile SQLi d'origine avec un arbre hiérarchique pour l'analyse au niveau sémantique, puis utilise un algorithme de mutation pondéré basé sur la grammaire sans contexte pour générer de nombreuses charges utiles sémantiques équivalentes ».

7 solutions WAF du marché contournées

Les chercheurs ont indiqué avoir réussi à contourner 7 solutions WAF du marché (AWS, F5, CSC, Fortinet, Cloudflare, Wallarm et ModSecurity) et ont fait ressortir des taux de succès d'attaque pour 100 requêtes par payload malveillante parfois très élevés. « Des expériences complètes montrent qu'ils sont tous vulnérables à AutoSpear », ont souligné les chercheurs. « En particulier, AutoSpear atteint un taux de réussite des attaques de plus de 89 % contre les WAF AWS. Plus important encore, les fournisseurs respectifs ont reconnu nos divulgations rapidement et sont en train de les corriger.

WAF

Résultats des mesures de compromission par type de requête selon les différents WAF du marché. (crédit : Zhejiang University / l'institut du logiciel de la Chinese Academy of Sciences)

Des failles corrigées

Les chercheurs en sécurité chinois ont par ailleurs émis quelques remarques concernant les résultats de leurs tests : F5/CSC/Fortinet/Wallarm traitent les quatre méthodes de requête de la même manière, Cloudflare implémente différentes stratégies selon que la méthode de requête est GET ou POST, AWS traite la charge utile séparément selon que le paramètre de requête est de type JSON, et ModSecurity traite les requêtes via GET (JSON) séparément.

L'équipe de recherche a signalé les vulnérabilités aux sept fournisseurs concernés qui ont résolu leurs problèmes, a déclaré Zhenqing Qu. L'équipe a également fourni aux sociétés des modèles de contournement qui peuvent être utilisés pour détecter d'autres types de problèmes courus afin d'améliorer leurs produits.