Découvrez comment intégrer facilement l'analyse statique, les tests unitaires et d'autres méthodes de test de logiciels C et C++ dans votre pipeline CI/CD. Inscrivez-vous pour la démo >>

Le rôle de SAST pour l'analyse des applications dans la conformité DISA ASD STIG

Par Arthur Hicken

22 décembre 2020

6  min lire

DISA ASD STIG comprend l'Agence des systèmes d'information de défense (DISA), la sécurité et le développement des applications (ASD) et les guides de mise en œuvre technique de la sécurité (STIG). Il s'agit d'un ensemble de directives pour sécuriser les applications de bureau et d'entreprise utilisées par le ministère de la Défense. Il existe de nombreuses STIGS pour sécuriser différentes parties de l'infrastructure et des services du DoD, cependant, les directives ASD couvrent le développement d'applications en interne et l'évaluation d'applications tierces.

Pour se conformer aux directives DISA ASD STIG, il faut une preuve, généralement sous forme de documentation, qui satisfasse les auditeurs. Cet article couvre:

L'approche recommandée par Parasoft pour assurer la conformité d'une manière efficace, moins risquée et rentable.

Exigences qui spécifient l'utilisation de scanners d'application ou de scanners de code d'application, que les équipes peuvent valider avec analyseurs statiques.

Approche à trois niveaux de la conformité du développement logiciel

Pour atteindre la conformité, une approche de validation à trois niveaux est requise:

  • Analyse du code d'application détecte les vulnérabilités avec des outils d'analyse statique pour assurer la correction dans l'application. L'ASD STIG a des directives spécifiques sur les classes de vulnérabilités à détecter et à corriger.
  • Test du système pour la sécurité avec des outils de test fonctionnel et de pénétration vérifie et valide les exigences DISA ASD STIG. Voir Le rôle de l'automatisation des tests fonctionnels dans DISA ASD STIG pour en savoir plus.
  • Conformité Shift-Left avec les processus préventifs élimine les mauvaises pratiques de codage qui conduisent à des vulnérabilités. Ce champ de détection plus large comprend l'analyse des applications et l'application des normes de codage de l'industrie telles que le codage sécurisé CWE ou CERT. Il comprend également des directives telles que la suppression de "le code sent», Qui sont de mauvaises pratiques connues pour être à l'origine des failles de sécurité des logiciels.

Ce poinçon 1-2-3 est la clé pour atteindre la conformité par la validation et la documentation. L'objectif est de faire évoluer le processus au-delà de la détection vers la prévention des vulnérabilités de sécurité.

Que signifie la conformité avec DISA ASD STIG?

L'ASD STIG utilise un code de catégorie de gravité (CAT I, CAT II, ​​CAT III) pour organiser et hiérarchiser les lignes directrices en fonction de l'impact possible d'un exploit de la ligne directrice.

Liste infographique des directives de code de catégorie DISA pour les catégories I (11%), II (81%), III (8%).

L'évaluation de la documentation des produits et des processus ainsi que l'observation et la vérification des fonctionnalités par rapport aux directives déterminent la conformité. En d'autres termes, le STIG exige la preuve d'une conception et d'une mise en œuvre sécurisées par la documentation, la vérification et la validation de tous les aspects du cycle de vie du développement logiciel. Cela comprend le déploiement et l'exploitation. Ces directives s'appliquent pendant toute la durée de vie du produit, depuis la configuration, le déploiement, la maintenance et la fin de vie.

Test de sécurité des applications statiques

L'exigence des scanners de code d'application est importante pour la discussion de cet article:

«… Un outil automatisé qui analyse le code source des applications pour détecter les failles de sécurité, les codes malveillants et les portes dérobées.» —Vue d'ensemble de DISA ASD STIG, section 4.1

Dans une terminologie plus courante, il s'agit de tests de sécurité d'application statique (SAST) implémentés via une analyse de code statique. Il «devrait être utilisé chaque fois que possible. En particulier dans l'environnement de développement où le code qui a été identifié comme nécessitant une correction peut être traité avant la publication. » L'ASD STIG contient également les conseils suivants:

«Un scanner d'application peut être utilisé pour tester les systèmes d'application de développement ou de production pour détecter les vulnérabilités de sécurité résultant d'erreurs de code d'application ou de mauvaise configuration du système d'application. Ces vulnérabilités incluent l'injection SQL, l'injection de code, le Cross Site Scripting (XSS), les divulgations de fichiers, les autorisations et d'autres vulnérabilités de sécurité qui peuvent être trouvées dans les applications accessibles par le réseau »—DISA ASD STIG Overview, Section 4.2 - Application Scanner

L'ASD STIG nécessite l'utilisation de tests de vulnérabilité actifs (par exemple, des outils de test de stylet) pour tester les logiciels exécutables. Ces outils sont nécessaires pendant le développement et le déploiement pour prendre en charge les évaluations de vulnérabilité.

Méthodes de validation DISA ASD STIG

L'ASD STIG décrit les moyens de vérifier la conformité aux exigences, notamment:

  • Code d'application et numérisation des applications
  • Revue manuelle
  • Test de sécurité fonctionnelle

Les équipes utilisent les rapports et audits des outils SAST pour valider l'analyse des applications et du code. Les tests fonctionnels vérifient avec des outils automatisés ou des tests manuels que la vulnérabilité n'est pas présente dans le logiciel. En d'autres termes, considérez l'approche comme «faire quelque chose, vérifier quelque chose». Par exemple, vérifiez si l'action a fonctionné correctement et a été consignée si nécessaire). Ces approches conviennent aux tests automatisés en raison de l'efficacité et des outils de piste d'audit fournis.

Une approche pragmatique de la conformité DISA ASD STIG avec des outils d'analyse statique

La réalité du développement logiciel pour le DoD, qui nécessite DISA ASD STIG, est que vous devez tester toutes les exigences et vulnérabilités. Cela peut être une tâche ardue, mais l'automatisation est possible pour alléger certains fardeaux.

La recommandation de Parasoft sur la façon d'aborder la conformité avec DISA ASD STIG est de tirer parti de l'automatisation là où cela a le plus de sens, comme dans les pipelines CI / CD ou les processus DevSecOps. L'objectif est d'alléger le fardeau de la conformité mais aussi d'utiliser des techniques préventives pour prévenir les vulnérabilités. Il est plus coûteux et plus long de détecter et de corriger les vulnérabilités lorsque le logiciel est presque terminé que pendant le développement. Pour cette raison, l'approche de Parasoft est de décaler vers la gauche l'évaluation, la détection et la correction des vulnérabilités plus tôt dans le cycle de vie.

Satisfaire les exigences d'analyse des applications DISA ASD STIG avec analyse statique

Le DISA ASD STIG utilise le terme «analyse d'application», qui équivaut à une analyse de code statique et à des technologies connexes telles que l'analyse de composition logicielle. En plus de l'exigence générale d'évaluation des vulnérabilités via l'analyse de code statique, il existe des exigences spécifiques pour rechercher des vulnérabilités spécifiques telles que:

  • OWASP Top 10 (V-69513)
  • Débordements (V-70277)
  • Conditions de course (V-70185)
  • Traitement des erreurs (V-70391)

Bien que cela ressemble à un petit ensemble de vulnérabilités, la réalité est que cela se traduit par de nombreuses faiblesses logicielles associées. Par exemple, le Top 10 OWASP (Open Web Application Security Project) se traduit par plus de 50 CWE. Chacun peut avoir plusieurs faiblesses liées.

Bien qu'il s'agisse d'un ensemble de vulnérabilités spécifiques à la conformité, il est prudent d'envisager un éventail plus large de vulnérabilités à détecter. En outre, il est important que les équipes élargissent leur champ d'action au-delà des lignes directrices du DISA ASD STIG pour inclure des lignes directrices préventives telles que celles incluses dans les normes de codage sécurisé communes de l'industrie.

Comme son nom l'indique, le Top 10 de l'OWASP est une organisation engagée dans l'amélioration de la sécurité des applications Web. Leur projet OWASP Top 10 fournit une liste des vulnérabilités de sécurité des applications Web les plus courantes et à fort impact.

Intégration avec les outils SCA

Bien qu'il soit possible d'utiliser des outils d'analyse statique pour détecter la plupart des problèmes, certains ne sont pas statiquement analysables. La directive pour éviter les logiciels présentant des vulnérabilités connues est liée à l'analyse de la composition logicielle (SCA). Parasoft prend en charge cela en intégrant aux outils SCA notre sortie d'analyse statique dans un seul rapport, ce qui permet une couverture complète du Top 10.

L'analyse statique Parasoft prend en charge OWASP Top 10 via des paramètres préconfigurés et des rapports de tableau de bord Web spécifiques pour C / C ++, Java et C # /. NET. Les rapports OWASP dans les outils Parasoft fournissent un cadre de conformité entièrement vérifiable pour les projets. Ces rapports s'intègrent dans un tableau de bord spécifique aux normes comme celui ci-dessous pour DISA ASD STIG.

Capture d'écran du tableau de bord du rapport montrant les résultats de l'analyse statique prenant en charge OWASP Top 10.
Tableau de bord Parasoft DISA ASD STIG

Parasoft a mis en œuvre toutes les principales normes de sécurité des applications, telles que le codage sécurisé SEI CERT, les directives de codage CWE (Common Weakness Enumeration), UL 2900 et OWASP, et des tableaux de bord spécifiques à la sécurité pour chacun. Cela aide les utilisateurs à comprendre les risques et à hiérarchiser les violations / vulnérabilités / défauts de sécurité en suspens.

Rapports axés sur la sécurité

Les rapports de conformité sont disponibles sur demande. Les critères de conformité sont flexibles et spécifiques au projet et à la base de code de l'équipe. Les développeurs peuvent élaborer des politiques en fonction de la gravité, du risque, de l'impact, de l'âge du code, de l'importance des composants, etc. Ils peuvent les utiliser pour guider facilement le développement et montrer leurs efforts à un auditeur.

Capture d'écran du rapport de conformité Parasoft OWASP Top 10 pour DISA ASD STIG.
Rapport de conformité Parasoft OWASP Top 10

L'un des aspects cruciaux des outils d'analyse statique est les capacités de reporting et d'analyse. Les projets créent une grande quantité de données en termes d'avertissements et sont multipliés build par build. La gestion des données est la clé du succès de l'adoption et du retour sur investissement des outils d'analyse statique.

Les tableaux de bord, les rapports et la conformité réglés pour chaque norme de codage et directive de sécurité sont essentiels. L'analyse Parasoft s'appuie sur des modèles de risque standard et de multiples techniques d'intelligence artificielle (IA) et d'apprentissage automatique (ML) pour hiérarchiser les avertissements de sécurité et aider les développeurs à se concentrer sur les problèmes les plus critiques ayant le plus grand impact.

Résumé

Le DISA ASD STIG présente un ensemble impressionnant d'exigences pour sécuriser les logiciels pour les applications DoD. Il existe différentes méthodes pour démontrer le respect des règles énoncées dans le STIG. Les méthodes habituelles comprennent:

  • Audits de documentation
  • Rapports d'outils tels que les analyseurs statiques et autres
  • Effort manuel pour enquêter sur les journaux d'application, si nécessaire

Le STIG décrit les principaux domaines d'opportunité d'automatisation tels que le code d'application et la numérisation des applications. L'analyse statique permet d'atteindre certains de ces objectifs.

Une approche pragmatique allège le fardeau de la conformité et encourage les techniques préventives qui éliminent les vulnérabilités au début du cycle de vie du projet. L'analyse statique de Parasoft permet une détection précoce des vulnérabilités. Cette solution applique le style et la qualité du code pour éviter les mauvaises pratiques de sécurité le plus tôt possible.

Apprenez-en plus sur le rôle de l'automatisation des tests, les aspects requis des outils et une approche pragmatique de la mise en œuvre de DISA ASD STIG dans notre livre blanc.

Texte Obtenir le livre blanc: Comment aborder la conformité DISA ASD STIG pour le développement logiciel

Par Arthur Hicken

Arthur est impliqué dans la sécurité logicielle et l'automatisation des tests chez Parasoft depuis plus de 25 ans, aidant à la recherche de nouvelles méthodes et techniques (dont 5 brevets) tout en aidant les clients à améliorer leurs pratiques logicielles.

Recevez les dernières nouvelles et ressources sur les tests de logiciels dans votre boîte de réception.