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 >>

Exploiter les diamants à partir des tests de sécurité de l'analyse statique

Par Arthur Hicken

4 février 2021

4  min lire

Les outils d'analyse statique ou de test de sécurité d'application statique (SAST) sont un moyen puissant de découvrir les défauts de votre base de code au tout début du processus de développement. Cependant, les outils utilisés pour effectuer ces tests sont des instruments contondants.

Les outils SAST fournissent des volumes de données Straîner Out Of Tool. Je pense que c'est SOOT.

Les constatations nécessitent un audit ou un examen. Et trop souvent un triage manuel d'une personne. Même s'ils sont bien intentionnés, les humains ne peuvent pas suivre et ils ont tendance à être dépassés.

Le problème avec les données SOOT de SAST

En raison de la quantité d'informations qu'il fournit, les ingénieurs finissent par passer à côté de certaines des vulnérabilités les plus importantes trouvées par un analyseur statique parce que ces défauts sont cachés dans tout le bruit (ou SUIE).

Sans aucun processus supplémentaire, les développeurs reçoivent un tas de résultats d'analyse statique, mais ils ne savent pas sur quoi concentrer leur attention. Le nombre de violations constatées est si vaste qu'il est tout aussi utile d'ignorer les problèmes que de les réparer.

Lorsque vous passez au crible ce type de données SOOT, vous essayez de trouver les informations significatives - les diamants que vous pouvez traiter et affiner. Mais cela ne représente peut-être que 10% de vos données. Le problème survient lorsque vous essayez de réduire la quantité de bruit, également connue sous le nom de rapport faux-positif. Pour éliminer les fausses lectures, vous avez besoin d'un outil que vous pouvez facilement régler et configurer pour votre environnement spécifique tout en réduisant le recours à l'intelligence humaine et à la surveillance.

Les faux positifs peuvent survenir pour diverses raisons. Pour en savoir plus sur les faux positifs et le chaos qu'ils peuvent créer, lisez Faux positifs dans l'analyse de code statique.

Maîtriser les outils SAST du métier

Tous les circuits Outils SAST Commencez par choisir le bon jeu de vérificateurs et la configuration pour fonctionner correctement avec différents types de bases de code (y compris le code hérité), ainsi que l'attribution de la gravité des violations et de la catégorisation des défauts.

L'ensemble correct est basé sur les consignes de sécurité, les réglementations possibles et des éléments tels que des problèmes que vous rencontrez sur le terrain ou que vous prévoyez peuvent survenir. Ensuite, la configuration pour prendre en compte vos frameworks, votre contexte, votre code hérité, etc., aide à produire un résultat plus utile. Ces vérificateurs ont généralement une gravité par défaut de base pour une hiérarchisation simplifiée.

Avec le contexte de votre code local, de vos builds, de vos styles de codage et de vos frameworks, vous pouvez personnaliser les règles et les configurations de votre système pour définir les valeurs et les seuils sur lesquels un outil d'analyse statique rendra compte. Parasoft va au-delà de cela en utilisant des modèles de risque pour affiner les domaines sur lesquels vous devez vous concentrer.

Utilisation de modèles de risque

Les modèles de risque fournissent un moyen objectif d'aider à déterminer l'impact de l'exploitabilité, de la faiblesse, de la prévalence et de la détectabilité d'un défaut de code. Et aussi quel genre d'impact cela pourrait avoir sur l'application. Le résultat est une plus grande portée de contexte pour s'assurer de prioriser les vulnérabilités faciles à trouver et à exploiter. En combinant les modèles de gravité et de risque, les outils Parasoft peuvent déterminer exactement la gravité d'un problème, tout en fournissant des actions recommandées dès le départ.

Avec les outils d'analyse de code statique de Parasoft, vous obtenez une solution qui exploite la montagne de résultats d'analyse statique pour vous donner les bijoux de la taille d'un diamant Hope sur lesquels vous pouvez agir. En prenant le concept de gravité dans le contexte des risques associés, les outils Parasoft peuvent appliquer des données issues de modèles de sécurité standard tels que CERT, CWEou OWASP et les intégrer directement dans le tableau de bord de reporting et d'analyse.

En prenant en compte plusieurs modèles de risque, nous sommes en mesure d'insuffler du contexte dans vos résultats d'analyse statique, vous permettant de vous concentrer sur les gros diamants sans avoir à filtrer manuellement toute la suie et sans avoir à vous soucier de ce que vous pourriez avoir manqué ( faux négatifs).

Identifiez les violations les plus importantes avec l'IA et le ML

En tirant parti intelligence artificielle (IA) et les technologies d'apprentissage automatique (ML), les outils d'analyse statique Parasoft peuvent identifier les points chauds et les intersections entre toutes les violations trouvées, afin que vous puissiez concentrer vos efforts sur la partie de la base de code qui est à l'origine de nombreux autres problèmes. Mieux encore, ML surveille et apprend du comportement de vos propres équipes de développement pour différencier ce qui est important de ce qui ne l'est pas.

L'entraînement de votre modèle d'IA en fonction du comportement historique de l'équipe de développement fournit une analyse multidimensionnelle des résultats, tandis que le ML regroupe les données pour identifier les violations corrélées, liées ou similaires. Avec les deux technologies combinées, vous obtenez quelque chose de mieux. Quelque chose qui apprend quels résultats faussement positifs ignorer et quels vrais positifs mettre en évidence, de sorte qu'il peut réduire cette montagne d'informations à quelques diamants de grande valeur.

Par exemple, l'analyse statique peut révéler des milliers de violations dans une base de code typique, et bien que vous puissiez identifier des centaines de défauts à résoudre, vous ne pourrez pas tout réparer dans le temps dont vous disposez. Avec l'IA et le ML trouvant des points chauds de violation, vous pouvez corriger plusieurs défauts simultanément en identifiant le seul morceau de code qui est à l'origine de tout.

Rendre la formation SAST facile et agréable

La formation des personnes à l'utilisation des outils d'analyse statique est souvent considérée comme un problème. Il faut une compréhension approfondie d'un langage de programmation particulier pour en tirer le meilleur parti. C'est pourquoi les solutions d'analyse statique de Parasoft sont conçues avec des programmes intégrés de formation, d'éducation et de certification pour mettre rapidement vos développeurs à niveau afin qu'ils puissent minimiser le nombre de faux positifs signalés et concentrer leurs efforts sur le travail qui compte, en écrivant du code plutôt qu'en le tamisant. par des avertissements.

En réduisant le nombre de résultats non pertinents, l'adoption de l'outil augmentera. Il s'agit simplement de former votre équipe pour qu'elle obtienne les informations dont elle a besoin sans avoir à creuser. Si vous donnez aux développeurs trois choses à corriger qui sont clairement prioritaires et réelles, vous obtenez une bien meilleure adoption que si vous leur donnez 300 violations avec seulement 30 défauts valables à corriger. Et si leurs mains en sortent propres, ils seront heureux d'utiliser l'outil encore et encore. Au lieu d'un processus ennuyeux requis par le haut, c'est un conseiller et un outil de confiance.

Résumé

Peu importe le degré d'automatisation de votre analyse statique, il y aura toujours un élément de triage manuel. La question est de savoir jusqu'où vous devez aller avant de trouver quoi que ce soit de valeur. Mais avec des outils qui incluent des métadonnées de risque et équipés de l'IA et du ML pour rendre la recherche et la correction des défauts beaucoup plus efficaces, vous pouvez rapidement remédier aux violations au début de votre cycle de développement logiciel pour créer un logiciel sûr et sécurisé.

Texte: Comment choisir un outil d'analyse statique moderne avec CTA: Téléchargez le livre blanc

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.