Les tests de sécurité dynamiques des applications ( DAST ) représentent un processus de test non fonctionnel visant à identifier les faiblesses et les vulnérabilités de sécurité d'une application. Ce processus de test peut être effectué manuellement ou à l'aide d'outils automatisés. L'évaluation manuelle d'une application implique une intervention humaine pour identifier les failles de sécurité qui pourraient échapper à un outil automatisé. En général, les erreurs de logique métier, les vérifications des conditions de concurrence et certaines vulnérabilités zero-day ne peuvent être identifiées qu'à l'aide d'évaluations manuelles.
De l'autre côté, un outil DAST est un programme qui communique avec une application Web via le front-end Web afin d'identifier les vulnérabilités de sécurité potentielles de l'application Web et les faiblesses architecturales. Il effectue un test de boîte noire . Contrairement aux outils de test de sécurité des applications statiques , les outils DAST n'ont pas accès au code source et détectent donc les vulnérabilités en effectuant des attaques.
Les outils DAST permettent des analyses sophistiquées, détectant les vulnérabilités avec un minimum d'interactions utilisateur une fois configurés avec le nom d'hôte, les paramètres d'exploration et les informations d'authentification. Ces outils tenteront de détecter les vulnérabilités dans les chaînes de requête, les en-têtes, les fragments, les verbes (GET/POST/PUT) et l'injection DOM.
Aperçu
Les outils DAST facilitent l'examen automatisé d'une application Web dans le but exprès de découvrir des vulnérabilités de sécurité et sont tenus de se conformer à diverses exigences réglementaires. Les scanners d'applications Web peuvent rechercher une grande variété de vulnérabilités, telles que la validation des entrées/sorties (par exemple, les scripts intersites et les injections SQL ), les problèmes d'application spécifiques et les erreurs de configuration du serveur.
Scanners commerciaux et open source
Les scanners commerciaux sont une catégorie d'outils d'évaluation Web qui doivent être achetés. Certains scanners incluent des fonctionnalités gratuites, mais la plupart doivent être achetés pour avoir un accès complet à la puissance de l'outil.
Les scanners open source sont souvent gratuits pour l’utilisateur.
Points forts
Ces outils peuvent détecter les vulnérabilités des versions finales candidates avant leur mise sur le marché. Les scanners simulent un utilisateur malveillant en attaquant et en sondant, en identifiant les résultats qui ne font pas partie de l'ensemble de résultats attendus, ce qui permet une simulation d'attaque réaliste. Le gros avantage de ces types d'outils est qu'ils peuvent analyser toute l'année pour rechercher en permanence des vulnérabilités. De nouvelles vulnérabilités étant découvertes régulièrement, cela permet aux entreprises de trouver et de corriger les vulnérabilités avant qu'elles ne soient exploitées.
En tant qu'outil de test dynamique, les scanners Web ne dépendent pas de la langue. Un scanner d'application Web est capable d'analyser les applications Web pilotées par moteur. Les attaquants utilisent les mêmes outils, donc si les outils peuvent trouver une vulnérabilité, les attaquants le peuvent aussi.
Faiblesses
Lors de l'analyse avec un outil DAST, des données peuvent être écrasées ou des charges malveillantes injectées dans le site concerné. Les sites doivent être analysés dans un environnement de production, mais non productif, pour garantir des résultats précis tout en protégeant les données dans l'environnement de production.
Comme l'outil implémente une méthode de test dynamique , il ne peut pas couvrir 100 % du code source de l'application, ni l'application elle-même. Le testeur de pénétration doit examiner la couverture de l'application Web ou de sa surface d'attaque pour savoir si l'outil a été configuré correctement ou s'il a pu comprendre l'application Web.
L'outil ne peut pas implémenter toutes les variantes d'attaques pour une vulnérabilité donnée. Ainsi, les outils disposent généralement d'une liste prédéfinie d'attaques et ne génèrent pas les charges utiles d'attaque en fonction de l'application Web testée. Certains outils sont également assez limités dans leur compréhension du comportement des applications à contenu dynamique telles que JavaScript et Flash .