Il est essentiel que les organisations qui dépendent de services numériques suivent les bonnes pratiques en matière de sécurité des applications web, notamment en testant régulièrement et en continu leurs sites web et leurs applications afin d’y détecter d’éventuelles vulnérabilités. Les tests de sécurité permettent aux organisations d’identifier et de corriger rapidement les vulnérabilités des applications web, avant qu’elles ne puissent être exploitées par des attaquants, ainsi que de soumettre à des tests poussés les mécanismes et contrôles de sécurité en place afin de vérifier qu’ils fonctionnent comme prévu dans des conditions réelles.
Lisez cet article de blog pour découvrir les principales catégories de tests de sécurité des applications web, ainsi que quand et comment utiliser chacune d’entre elles. Nous présentons des exemples d’outils de test de sécurité des applications web et abordons les bonnes pratiques en la matière. L’article se termine par une liste de contrôle pratique pour la sécurité des applications web, accompagnée de conseils et de recommandations concrètes.
“« Les tests de sécurité permettent aux organisations d’identifier et de corriger rapidement les vulnérabilités des applications web, avant qu’elles ne puissent être exploitées par des attaquants. »”
Types de tests de sécurité des applications web
Il existe trois principaux types de tests de sécurité des applications web. Les tests statiques de sécurité des applications (SAST) reposent sur l’analyse du code source afin d’identifier les vulnérabilités, tandis que les tests dynamiques de sécurité des applications (DAST) consistent à analyser la surface d’attaque externe (généralement côté client/front-end) pendant l’exécution de l’application afin de détecter les vulnérabilités. Lors des tests d’intrusion (souvent appelés « pen tests »), des experts en cybersécurité simulent des attaques en temps réel afin de mieux comprendre les éventuelles failles de sécurité.
Tests statiques de sécurité des applications (SAST)
Le SAST analyse le code source d’une application sans exécuter le programme afin de détecter les vulnérabilités connues et les erreurs de programmation dès les premières étapes du cycle de développement logiciel. Il est donc idéal pour repérer les problèmes avant la mise en production d’une application. Parmi les vulnérabilités couramment détectées par le SAST figurent les dépassements de mémoire tampon, qui se produisent lorsque le volume de données excède la capacité de la mémoire allouée, ce qui peut entraîner des plantages ou l’exécution de code. Le SAST peut également repérer les failles d’injection SQL, dans lesquelles des entrées non assainies sont utilisées dans des requêtes de base de données, permettant ainsi à des attaquants de manipuler les données ou d’y accéder. Il peut aussi détecter les failles de type cross-site scripting (XSS), qui permettent d’injecter des scripts malveillants dans des pages web consultées par d’autres utilisateurs.
Contrairement aux outils DAST, les outils SAST sont généralement utilisés dès le début du cycle de développement afin de garantir le respect des pratiques de développement sécurisé, à un stade où les erreurs sont souvent plus faciles à corriger. Contrairement aux tests d’intrusion, les tests SAST sont généralement réalisés à l’aide d’outils automatisés, avec une intervention humaine minimale, et sont souvent intégrés à un processus d’intégration et de livraison continues (CI/CD).
Les outils SAST sont propres à chaque langage. Veillez donc à en choisir un qui prend en charge votre ou vos langages de programmation. L’Open Worldwide Application Security Project (OWASP) tient à jour une liste exhaustive des outils SAST.
Tests dynamiques de sécurité des applications (DAST)
DAST analyse les applications pendant leur exécution afin d’identifier les vulnérabilités d’exécution qui peuvent ne pas être visibles dans le code source. Le DAST peut aider à détecter les vulnérabilités liées à la configuration qui n’apparaissent que dans certaines conditions environnementales, ainsi qu’à identifier les risques de sécurité découlant des interactions avec des systèmes externes, tels que les API, les bases de données et les services tiers. Le DAST peut également détecter les vulnérabilités déclenchées par un comportement utilisateur malveillant ou inattendu, comme la manipulation des données saisies ou l’utilisation abusive des sessions.
Contrairement au SAST, les outils DAST interviennent plus tard dans le cycle de développement, une fois l’application déployée en production. Le DAST effectue généralement des analyses et des tests côté client, sans accès au code source, reproduisant ainsi le comportement d’un attaquant qui cherche à détecter et à exploiter des vulnérabilités. Le DAST est particulièrement utile pour identifier les problèmes dans des environnements de préproduction ou similaires à la production, et complète les méthodes de test au niveau du code telles que le SAST. Le DAST se distingue également des tests d’intrusion, car il est généralement réalisé par des outils automatisés avec une intervention humaine minimale et s’exécute en continu dans le cadre d’un processus CI/CD.
F5 propose une solution de type DAST avec F5 Distributed Cloud Web App Scanning, qui simplifie la sécurité web en explorant, en détectant et en cartographiant automatiquement les ressources web exposées afin de créer des inventaires précis des applications et services sur l’ensemble des domaines. Elle effectue des tests d’intrusion automatisés et détecte aussi bien les vulnérabilités connues, telles que les vulnérabilités et expositions courantes (CVE) et les logiciels obsolètes, que les vulnérabilités inconnues, notamment les menaces du Top 10 de l’OWASP et du Top 10 des LLM. Cette approche proactive garantit une protection complète de vos ressources web. L’OWASP tient également à jour une longue liste d’outils DAST.
Tests d’intrusion
Les tests d’intrusion sont généralement des évaluations manuelles de la sécurité menées par des professionnels expérimentés de la cybersécurité, qui simulent des attaques réelles sophistiquées afin d’identifier et d’exploiter les vulnérabilités d’une application, d’un système ou d’un réseau. Ils fournissent des informations précieuses sur le niveau de sécurité d’une organisation en révélant comment un attaquant pourrait exploiter ses faiblesses et quelles pourraient en être les conséquences.
Les tests d’intrusion sont particulièrement efficaces pour détecter les menaces sophistiquées ou complexes susceptibles d’échapper aux outils automatisés, telles que les attaques visant la logique métier, qui exploitent les fonctionnalités et les processus prévus d’une application. Ils permettent également d’identifier les risques d’attaques par ingénierie sociale, lors desquelles des attaquants manipulent des personnes afin d’obtenir un accès non autorisé ou des informations confidentielles.
Contrairement aux tests SAST et DAST, les tests d’intrusion sont réalisés à intervalles réguliers dans la plupart des organisations. Ils sont souvent effectués une fois par an, par trimestre ou par mois, selon le budget et les exigences de sécurité.
Les tests d’intrusion s’appuient sur un large éventail d’outils spécialisés pour simuler des attaques et détecter d’éventuelles vulnérabilités dans l’environnement numérique d’une organisation. Ils utilisent notamment des scanners d’applications web afin de cartographier les services d’attaque externes d’un domaine et d’identifier les vulnérabilités potentielles. Ces tests font également appel à des analyseurs de réseau pour surveiller et analyser le trafic réseau à la recherche de signes d’activité non autorisée ou d’exposition de données, ainsi qu’à des proxys web pour intercepter et examiner le trafic entre un navigateur et le ou les serveurs web d’une organisation, afin de repérer des problèmes tels que la transmission non sécurisée de données. Les outils de cassage de mots de passe permettent de tester la robustesse du hachage des mots de passe ou de détecter des identifiants stockés de manière inappropriée.
Certains produits de test spécialisés, tels que Burp Suite, proposent un ensemble complet d’outils de test d’intrusion, mais la plupart des testeurs d’intrusion utilisent différents outils spécialisés, chacun étant particulièrement adapté à une tâche précise. Bien que certains outils prétendent proposer des « tests d’intrusion automatisés » et puissent constituer une solution plus abordable qu’un test d’intrusion manuel, il reste judicieux de faire réaliser ponctuellement un test d’intrusion manuel complet par des experts en cybersécurité, dans la mesure où le budget le permet, et de l’associer à des solutions de test automatisé en continu afin de combler les intervalles entre les tests manuels.
En outre, F5 propose une prestation gratuite d’analyse des applications web qui peut constituer une première étape pour évaluer et améliorer la posture de sécurité des applications web de toute organisation. Cette prestation interactive offre une visibilité sur n’importe quel domaine et constitue une excellente base pour renforcer vos défenses de sécurité.
Bonnes pratiques en matière de tests de sécurité des applications web
Pour garantir l’efficacité des outils de test de sécurité des applications web que vous choisissez, veillez à suivre ces bonnes pratiques.
Intégrez les tests de sécurité tout au long du cycle de développement logiciel afin de détecter les vulnérabilités rapidement et régulièrement.
- Exploitez une combinaison de techniques et d’outils de test afin d’assurer une couverture complète et de réduire les angles morts.
- Automatisez les tests continus au sein du pipeline CI/CD afin de garantir des contrôles de sécurité cohérents à chaque modification du code.
- Effectuez régulièrement des tests d’intrusion approfondis afin de détecter les menaces sophistiquées ou passées inaperçues.
- Veillez à ce que les outils et processus de test de sécurité soient capables de détecter un large éventail de vulnérabilités, des erreurs de programmation courantes aux vecteurs d’attaque complexes, notamment les menaces modernes répertoriées dans le Top 10 de l’OWASP pour les API et celles visant les grands modèles de langage (LLM).
Liste de contrôle des tests de sécurité des applications web
Voici une liste de contrôle pratique des types d’informations et de vulnérabilités à rechercher lors des tests de sécurité des applications web, que vous utilisiez des outils SAST ou DAST, ou que vous réalisiez des tests d’intrusion. Pour en savoir plus, consultez le Guide de test de la sécurité des applications web de l’OWASP, une ressource complète proposant des instructions détaillées, étape par étape, pour tester la sécurité des applications web.
Catégorie DescriptionCollecte d’informations
Cartographiez l’architecture de l’application web, ses points d’entrée et ses chemins d’exécution, et repérez toute fuite d’informations via les moteurs de recherche, le contenu web ou les métafichiers.Configuration et gestion du déploiement Testez la configuration du réseau et de la plateforme applicative, les méthodes HTTP, les politiques de sécurité du contenu et les autorisations d’accès aux fichiers.Gestion des identités Testez la définition des rôles, les processus de provisionnement des comptes et les politiques relatives aux noms d’utilisateur.Authentification Recherchez les identifiants par défaut, les contournements de l’authentification, les méthodes d’authentification faibles, les mécanismes de verrouillage et les fonctionnalités de changement de mot de passe.Autorisation Recherchez les traversées de répertoires, les références directes non sécurisées à des objets, les élévations de privilèges et les faiblesses d’OAuth.Gestion des sessions Vérifiez le schéma de gestion des sessions et les attributs des cookies, et recherchez les variables de session exposées, le détournement de session et la falsification de requêtes intersites.Validation des entrées Recherchez les attaques par script intersite, les injections de données (injection SQL, injection LDAP, injection de code, etc.) et la falsification de requêtes côté serveur.Gestion des erreurs Assurez-vous que la gestion des erreurs ne permet pas aux attaquants de comprendre les API utilisées, de cartographier les différentes intégrations de services ou de déclencher un déni de service (DoS).Cryptographie Recherchez les faiblesses de la sécurité de la couche de transport et du chiffrement, ainsi que l’envoi d’informations sensibles via des canaux non chiffrés.Logique métier Testez la validation des données de la logique métier, la possibilité de falsifier des requêtes, le téléversement de types de fichiers inattendus et les fonctionnalités de paiement.Côté client Recherchez les attaques par script intersite basées sur le DOM, les injections HTML et CSS, les redirections d’URL côté client, le partage de ressources entre origines multiples et le cross-site flashing.API Effectuez une reconnaissance des API et recherchez les défaillances d’autorisation au niveau des objets.
Pour plus d’informations, consultez cette présentation de la solution.
À propos de l’auteur
Articles de blog associés

F5 NGINXaaS pour Google Cloud : des applications résilientes et évolutives
Découvrez comment NGINXaaS s’intègre à Google Cloud pour renforcer les performances et la sécurité, et préparer vos applications critiques à un avenir propulsé par l’IA.
L’intégration de F5 Web Application Firewall (WAF) à AWS est disponible dès aujourd’hui
En faisant appel à un partenaire de déploiement AWS WAF tel que F5, vous pouvez renforcer la sécurité de vos applications web grâce à des règles personnalisées qui bloquent les schémas d’attaque courants, comme les injections SQL ou les attaques par scripts intersites (XSS).
Appliquer le principe de Peter Parker à l’inspection TLS
« Un grand pouvoir implique de grandes responsabilités. » Si l’on en trouve des échos chez Voltaire et Churchill, cette citation est surtout connue grâce aux bandes dessinées Spider-Man, où elle est attribuée à l’oncle Ben. Bien entendu, si cette phrase est si répandue dans la culture populaire, c’est notamment parce qu’elle peut s’appliquer à une multitude de situations et de sujets, y compris à l’inspection TLS.
Le NetOps a besoin de défenseurs, pas d’adversaires
Il est important de reconnaître que les équipes NetOps ne sont pas toujours celles qui font obstacle au déploiement de la dernière nouveauté, application ou service. Les freins à la rapidité sont souvent dus au fait que les organisations n’adoptent pas tous les principes du DevOps lorsqu’elles cherchent à transformer leurs opérations informatiques.
Mise à jour des services applicatifs : sécurité, rapidité et visiteurs suspects
Il est de nouveau temps de nous pencher sur les services applicatifs que les entreprises utilisent réellement pour rendre leurs applications plus rapides et plus sûres. On constate notamment une hausse du recours aux services de protection contre les bots, ainsi que la progression lente mais régulière de HTTP/2. Bien qu’il ne s’agisse pas d’une application…
Les templates prennent le contrôle du cloud
Les modèles s’imposent dans le cloud. Lisez le blog de F5 pour découvrir comment l’infrastructure en tant que code et les API déclaratives automatisent la mise à disposition des applications.
