Dynamic Application Security Testing

Fonds national pour la société numérique
Technologie de Sécurité & Résilience des Réseaux

Bienvenue !

Le projet DAST vise au développement d’un environnement de génération de tests dynamiques de sécurité dirigé par les modèles. En complément des techniques aujourd’hui matures d’analyse statique de code pour la sécurité (type « Vulnerability Analysis »), le projet DAST vise à offrir aux ingénieurs de test de sécurité un outillage capturant les modèles de test de vulnérabilité et démultipliant la capacité de ces ingénieurs à tester efficacement et rapidement des applications critiques.

Cette approche du test de sécurité dirigée par les modèles permettra de systématiser le test dynamique de sécurité des applications, qui constituent aujourd‘hui un des maillons faibles de la chaîne de sécurité du logiciel. Dans le marché à très forte croissance des outils de test de sécurité, les résultats du projet DAST permettront de positionner une offre leader dans le domaine du test dynamique de sécurité applicatif, encore peu développé et structuré et où les opportunités de prise de parts de marché sont fortes.

Le projet DAST fournira d’une part une infrastructure permettant l’exploitation des patterns de test de vulnérabilités pour la génération de tests, et d’autre part des verticalisations Métier, instanciant l’infrastructure sur deux domaines à fort potentiel de marché :

  • Les applications Web / e-Commerce sur terminaux mobiles et connectés ;
  • Les systèmes de type C2 – Contrôle-Commande – tels que ceux utilisés pour la surveillance aérienne.

Le projet DAST possède plusieurs points distinctifs sur le plan technologique et de l’offre de valeur :

  • Il vise le test de vulnérabilités applicatives, plutôt que l’infrastructure réseau ou système d’exploitation, car c’est à ce niveau que se concentrent actuellement les principales vulnérabilités sur les systèmes d’information ;
  • Il concerne le test dynamique de sécurité, c'est-à-dire des tests réalisés par exécution de l’application. Le test dynamique se différentie du test statique – SAST - Static Application Security Testing, qui concerne l’analyse de code. Les approches SAST et DAST sont reconnues comme étant complémentaires . En particulier, l’approche statique ne peut prendre en compte l’intelligence applicative dans la recherche de vulnérabilités.
  • Il vise à capitaliser sur l’expertise en matière de test de vulnérabilités au travers de la formalisation de « patterns » de test de sécurité exploitée par une technologie de génération automatique de tests à partir de modèle (Model-Based Security Testing).
  • Il met en synergie le test de vulnérabilités à base de patterns et la prise en compte de l’intelligence applicative du système sous test. Cela signifie que les tests de vulnérabilités générés, le sont dans un contexte comportemental approprié, améliorant ainsi la pertinence des tests générés.
  • Il vise le développement d’une infrastructure destinée à la verticalisation Métier, c'est-à-dire permettant de particulariser l’environnement de tests de sécurité sur des domaines métier particulier tels que les applications Web / e-Commerce et les systèmes C2 de surveillance aérienne. La spécialisation des patterns et de modèles comportementaux constitue une dimension clé de l’efficacité de l’environnement de test de vulnérabilités issu du projet DAST.
  • Au delà des deux verticaux Métier étudiés au sein du projet, l’infrastructure DAST vise l’ensemble des domaines du test de vulnérabilités, et offre un processus outillé réplicable.

La figure suivante illustre globalement le schéma de mise en œuvre de l’approche DAST, au sein duquel la production des tests de vulnérabilité est réalisée par l’ingénieur de test de sécurité avec pilotage à partir des patterns de test et de la modélisation comportementale adaptée à l’objet du test.

Dans ce processus, l’ingénieur de test de sécurité travaille à partir d’un environnement DAST adapté au domaine à tester, et incluant des patterns de test spécifiques sur le domaine, et des éléments de modélisation comportementale adaptés à l’objet testé. Son travail consiste donc à adapter ces éléments en fonction des besoins de test identifiés pour produire les tests de vulnérabilité requis.

Ainsi, les objectifs généraux du projet DAST sont les suivants :

  • Accroitre la confiance des utilisateurs à fort besoin de sécurité par la démarche systématique et outillée mise en œuvre pour le test de vulnérabilités ;
  • Systématiser la couverture de vulnérabilités - Les patterns de test de sécurité formalisent l’expérience et permettent une couverture systématique des vulnérabilités visées ;
  • Capitaliser sur l’expérience et le savoir-faire des ingénieurs de test sécurité :
    • en formalisant et exploitant les patterns de test de vulnérabilités pour faciliter la transmission du savoir ;
    • en fournissant une infrastructure pour permettre l’enrichissement incrémentale des patterns.
  • Accélérer la conception des tests de vulnérabilité par une infrastructure qui prend en charge la conception des tests et la génération des scripts.