What is Dynamic Code Analysis?

Les organisations appliquent plusieurs méthodes pour identifier les vulnérabilités potentiellement exploitables dans leurs logiciels. Par exemple, l'analyse statique du code est une forme de test en boîte blanche qui peut aider à identifier les problèmes de sécurité dans le code source. D'autre part, l'analyse dynamique du code est une forme d'analyse de vulnérabilité en boîte noire qui permet aux équipes logicielles d'analyser le site application en cours d'exécution et d'identifier les vulnérabilités.

Lorsqu'elle est correctement mise en œuvre, l'analyse dynamique du code peut réduire le temps moyen d'identification (MTTI) des incidents de production, améliorer la visibilité des problèmes sur application et renforcer la sécurité globale d'un projet. Nous examinerons ici de plus près l'analyse dynamique du code.

CloudGuard AppSec Évaluation gratuite

What is Dynamic Code Analysis?

What is Dynamic Code Analysis?

L'analyse dynamique du code - également appelée test dynamique de la sécurité des applications (DAST) - est conçue pour tester une application en cours d'exécution afin de détecter les vulnérabilités potentiellement exploitables. Les outils DAST pour identifier les vulnérabilités au moment de la compilation et de l'exécution, telles que les erreurs de configuration qui n'apparaissent que dans un environnement d'exécution réaliste.

 

Un outil DAST utilise un dictionnaire de vulnérabilités connues et d'entrées malveillantes pour "fuzzer" une application. Voici quelques exemples de ces entrées potentiellement malveillantes :

 

  • Requêtes SQL (pour identifier la vulnérabilité aux injections SQL)
  • Chaînes d'entrée longues (pour exploiter la vulnérabilité du débordement de la mémoire tampon)
  • Nombres négatifs et grands nombres positifs (pour détecter les vulnérabilités de débordement et d'insuffisance de nombres entiers)
  • Données d'entrée inattendues (pour exploiter les hypothèses non valables des développeurs)

 

Lorsque l'application s'exécute, elle est bombardée par ces entrées potentiellement malveillantes, et l'outil DAST analyse les réponses de l'application. Si l'application réagit négativement à une entrée (blocage, réponse non valide, etc.), l'outil DAST enregistre la vulnérabilité identifiée.

 

Comme les outils DAST sont exécutés sur une application en cours d'exécution, ils peuvent détecter un large éventail de vulnérabilités potentielles. Il s'agit notamment des vulnérabilités qui sont difficiles ou impossibles à détecter dans le code source, comme les problèmes d'allocation de mémoire.

DAST et le cycle de vie du développement de logiciels sécurisés

Le cycle de développement des logiciels (SDLC) décrit les étapes du processus de développement des logiciels. Cela va de la planification initiale et de l'identification des besoins d'une application à la maintenance à long terme et à la fin de vie de l'application.

 

La DAST intervient généralement dans la phase de test du cycle de développement durable. En effet, DAST nécessite la possibilité d'exécuter l'application et de la tester à l'aide de données malveillantes simulées. Par conséquent, une fois que le code de l'application est capable de se construire et de se déployer dans un environnement de test ou de mise en scène, vous pouvez utiliser DAST. Avec les flux de travail d'intégration et de livraison continues (CI/CD), cela peut signifier que les analyses DAST s'exécutent plusieurs fois par jour au fur et à mesure des constructions itératives.

 

Dans de nombreux programmes de sécurité des logiciels d'entreprise, le DAST intervient après les tests de pénétration qui ne nécessitent pas d'expertise interne en matière de sécurité. Par exemple, après un test d'intrusion pour répondre aux exigences de la norme PCI DSS (Payment Card Industry Data Security Standard), une équipe de sécurité peut utiliser un outil DAST pour effectuer des analyses de sécurité automatisées.

Différences entre l'analyse statique et l'analyse dynamique du code

L'analyse statique et l'analyse dynamique du code sont deux des formes les plus courantes de tests de sécurité sur le site application. Ils adoptent des approches différentes pour identifier la vulnérabilité et sont souvent complémentaires.

 

Contrairement à l'analyse dynamique du code, l'analyse statique du code - également appelée Static application Security Testing (SAST) - ne nécessite pas l'accès à un exécutable complet. Il adopte plutôt une approche "boîte blanche" et inspecte le code source de l'application pour en déterminer la vulnérabilité. En construisant un modèle du flux d'exécution de l'application et en appliquant des règles à ce modèle, SAST peut détecter les injections, les débordements de mémoire tampon et autres vulnérabilités similaires.

 

Étant donné que DAST et SAST appliquent des méthodes de test différentes et des types de fichiers différents (exécutables compilés ou code source), ils détectent des types de vulnérabilité différents et sont appliqués à des étapes différentes du processus de développement. Le SAST peut être appliqué plus tôt dans le SDLC (pendant la phase de développement) que le DAST car il n'exige pas que l'application soit complétée pour identifier la vulnérabilité.

Pourquoi l'analyse dynamique du code est essentielle

L'analyse dynamique du code est appliquée une fois que l'application est en grande partie terminée et qu'elle peut être exécutée. Il utilise des entrées malveillantes pour simuler des attaques réalistes contre l'application et observer ses réponses.

 

L'un des principaux avantages des tests DAST est qu'ils permettent de simuler le comportement d'une application dans un environnement de déploiement réaliste. Cela permet au testeur d'identifier les problèmes de configuration et d'autres vulnérabilités qui peuvent n'être visibles que lorsque le code est actif. En outre, l'utilisation d'attaques réelles simulées permet de voir l'impact d'un exploit potentiel sur l'état de l'application. L'outil DAST peut également détecter des vulnérabilités dans les dépendances et les bibliothèques de tiers, qui affectent la sécurité de l'application mais peuvent échapper à SAST et à d'autres outils similaires axés sur le code source.

 

Check Point CloudGuard offre une analyse de vulnérabilité pour les serveurs en nuage et les conteneurs application. Cela inclut la prise en charge de l'analyse de vulnérabilité DAST et SAST afin de faciliter l'identification et la correction des vulnérabilités au cours du processus de développement. Pour découvrir les capacités de CloudGuard Solutions for Serverless applications en action, planifiez une démonstration. Vous pouvez également demander un essai gratuit pour voir comment il peut s'intégrer dans le flux de travail de développement de votre organisation.

×
  Commentaires
Ce site web utilise des cookies pour sa fonctionnalité et à des fins d'analyse et de marketing. En continuant à utiliser ce site web, vous acceptez l'utilisation de cookies. Pour plus d'informations, veuillez lire notre avis sur les cookies.
OK