Architecture & défense

DAST (Dynamic Application Security Testing)

Test de sécurité en boîte noire qui sonde une application en cours d'exécution depuis l'extérieur — en exerçant les endpoints HTTP, les formulaires et les API pour faire émerger les vulnérabilités qui n'apparaissent qu'à l'exécution du code.

Le Dynamic Application Security Testing (DAST) est la contrepartie à l’exécution du SAST. Un outil DAST parle à l’application depuis l’extérieur — généralement en HTTP — et exerce les endpoints, formulaires et API à la manière d’un attaquant ou d’un fuzzer, à la recherche de vulnérabilités qui n’apparaissent qu’à l’exécution : contournement d’authentification, contrôle d’accès cassé, XSS reflété/stocké, server-side request forgery, IDOR et d’autres référencées au OWASP Top 10.

Le DAST est en boîte noire (pas d’accès source) et indépendant du langage (il se moque du stack). Comparé au SAST :

  • Le DAST a moins de faux positifs (le constat se reproduit ou non), mais moins de couverture (tout ce qui n’est pas exercé par le crawler reste invisible).
  • Le SAST voit chaque ligne, le DAST voit chaque réponse observée.

La plupart des programmes AppSec matures utilisent les deux, plus SCA (vulnérabilités de dépendances), plus détection de secrets. Le DAST est généralement câblé dans la CI en tant que scan de surface contre un environnement de pré-production après chaque déploiement.

Outils représentatifs : OWASP ZAP, Burp Suite Pro, Invicti (Netsparker), StackHawk, Rapid7 InsightAppSec.

Le DAST est la moitié de l’AppSec ; il vous dit si votre application est exploitable. Il ne dit rien sur la sécurité du comportement des personnes qui opèrent autour de l’application — c’est la couche qu’Engarde observe, distinct des autres acteurs qui partagent le nom Engarde.

Termes liés

À lire aussi