Ouvrir le menu Fermer le menu

ROI de SAST dans DevSecOps

trait de séparation
Temps de lecture : 8 minutes
Avec la dépendance croissante à l'égard des logiciels pilotant des fonctionnalités critiques dans tous les types de produits tels que les commandes industrielles, les dispositifs médicaux, les capteurs automobiles, les systèmes de contrôle de vol et bien plus encore, il est plus essentiel que jamais d'assurer la qualité, la sûreté et la sécurité du logiciel. Pour obtenir ces résultats, des tests continus sont nécessaires, mais peuvent être perçus comme coûteux.

Choisir la bonne solution de Test Statique de Sécurité des Applications (SAST - Static Application Security Testing) peut améliorer les processus de développement logiciel, fournir des gains d'efficacité significatifs et fournir des produits de haute qualité, tout en offrant un retour sur investissement très attractif.

Commencez par adopter DevSecOps

DevSecOps (Développement-Sécurité-Opérations) améliore le pipeline DevOps (Développement-Opérations) là où la sécurité est une partie essentielle du processus de développement. La prise de conscience ici est qu'un échec de sécurité est identique, ou pire, qu'un échec de qualité. La sécurité est un différenciateur, mais pas au détriment de l'innovation et du délai de mise sur le marché. Les organisations de logiciels n'omettent pas intentionnellement la sécurité, mais à moins que cela ne fasse partie de la culture de développement, cela ne se fait pas. À grands risques, les équipes logicielles délèguent la sécurité jusqu'à la fin du cycle de développement. Malheureusement, "s'attaquer" à la sécurité à la fin peut entraîner des inefficacités, des dépassements de coûts, des retards de projet et des vulnérabilités dans le produit final

Intégrer la sécurité à une culture organisationnelle et à un pipeline DevOps nécessite une planification, une formation, une expertise et un support d'automatisation appropriés. Pour réduire l'impact de DevSecOps, intégrer les bons outils dans le processus de sécurité et de qualité est la clé.

En outre, l'une des principales raisons d'intégrer la sécurité dans des processus agiles et continus est de s'appuyer sur les connaissances accumulées au cours du projet. Il n'est pas raisonnable de s'attendre à ce que les équipes logicielles comprennent leur surface d'attaque complète, par exemple, au début du projet. L'intégration de la sécurité dans les opérations quotidiennes accumule de l'expertise et des connaissances. Commencer tôt est la clé. Ceci est souvent appelé «déplacement vers la gauche» ou introduction de la sécurité dans les phases de développement du SDLC.

C'est grâce à cette poussée pour améliorer la sécurité tout au long du cycle de vie, le plus tôt possible, que DevSecOps atteint son retour sur investissement (ROI). Pour chaque défaut de conception détecté avant la mise en œuvre, chaque faiblesse logicielle supprimée avant qu'elle ne devienne une vulnérabilité et chaque vulnérabilité supprimée avant l'intégration et les tests, les économies de coûts deviennent beaucoup plus importantes que si un produit est publié avec de graves vulnérabilités de sécurité.

En termes simples, un dollar dépensé pour l'amélioration de la sécurité permet désormais d'économiser des centaines de milliers de dollars plus tard dans le cycle de vie du logiciel. Comment arrive-t-on à un tel nombre ?

La réponse simple : retour sur investissement pour la suppression précoce des défauts et des vulnérabilités avec SAST

Les outils de Test Statique de Sécurité des Applications (SAST - Static Application Security Testing) sont fortement recommandées dans les normes de sécurité des logiciels et dans DevSecOps, à juste titre. La détection précoce des vulnérabilités et des défauts de sécurité permet de réaliser d'énormes économies, car c'est là que la majorité des bogues sont introduits. SAST permet de réduire les coûts, le temps et les ressources des manières suivantes :
  • Trouve les défauts avant de tester : les solutions SAST peuvent être utilisées directement sur le bureau et les outils du développeur ? environnement pour identifier les défauts lors du codage et peut prévenir ces défauts avant qu'ils n'entrent dans le système de construction et les étapes ultérieures de développement. Chaque défaut supprimé à ce stade évite à l'équipe l'échec des tests unitaires, d'intégration et système, ainsi que des débogages et des tests supplémentaires si nécessaire.
  • Détecte les défauts que les tests et révisions de code manuels manquent : il est bien connu que les tests et révisions de code manuels, même sur des projets exigeant des niveaux de couverture de code élevés, passeront à côté de défauts importants. Les vulnérabilités de sécurité complexes et les problèmes de concurrence sont souvent ignorés avec les processus de test normaux. L'automatisation de SAST tout au long du SDLC trouvera plus de défauts qui se traduiront par une meilleure qualité et un code plus sécurisé à mesure qu'ils sont corrigés.
  • Empêche les défauts en premier lieu : L'application de normes de codage strictes, telles que MISRA C pour les logiciels critiques pour la sécurité ou SEI CERT C/++ pour d'autres applications, peut aider à prévenir de nombreuses classes de défauts dans le code. L'application d'une bonne discipline dans le codage et la création d'un micro cycle de développement-analyse-test pour les petites modifications de code peuvent empêcher la création de nombreux défauts en premier lieu. 
L'utilisation d'un simple calculateur de suppression de défauts, tel que celui proposé par Google , peut illustrer un fort retour sur investissement pour les solutions SAST. Même s'il s'agit d'une vision limitée car elle ne tient pas compte des coûts importants en aval pour les principales vulnérabilités de sécurité (davantage à discuter à ce sujet). Cependant, même dans le cycle de conception, de mise en œuvre, de test et de déploiement, il est possible d'améliorer la sécurité et de réduire les retouches et les nouveaux tests.

Le tableau suivant est basé sur les données de Google et le type d'applications qu'ils créent. Cela montre que 40 % de leur temps d'ingénierie est consacré à la correction de bogues et à une grande application qui s'élève à 2,4 millions de dollars par an.
blog_GT_ROI-SAST-DevSecOps_ISIT_tab1
blog_GT_ROI-SAST-DevSecOps_ISIT_tab2
Alors, quel est le retour sur investissement compte tenu de ces facteurs ?
SAST diminue le volume de défauts dans les logiciels en cours de développement à toutes les étapes du SDLC. Une analyse simple consiste à réduire le nombre de défauts à partir des données que nous avons du tableau 1. Compte tenu de cette réduction des défauts créés au cours du développement, nous pouvons constater une réduction significative des coûts :
blog_GT_ROI-SAST-DevSecOps_ISIT_tab3
Cette analyse simple permet de réaliser des économies importantes lorsque les défauts moyens sont réduits. Même en utilisant des chiffres relativement prudents pour un seul projet, les économies se chiffrent en centaines de milliers de dollars. Ceci est basé uniquement sur la réduction du temps de développement et de test et ne tient pas compte des coûts de correction des défauts et des vulnérabilités en production et en déploiement chez les clients.

SAST est plus qu'une simple réduction des défauts

En plus de la détection des défauts, les solutions SAST telles que CodeSonar de GrammaTech sont utilisées pour détecter les problèmes de concurrence complexes et trouver les erreurs que les méthodes de test traditionnelles manquent. Ces avantages critiques ne sont pas pris en compte dans l'analyse plutôt simple ci-dessus, mais s'ajoutent clairement au retour sur investissement de l'utilisation d'une solution SAST. Cependant, trouver des défauts qui "passent entre les mailles du filet" donne les plus grands avantages économiques à l'équipe de développement. 

Le coût exponentiel de l'échec

Comme indiqué ci-dessus, les meilleures pratiques telles que DevSecOps et l'automatisation de SAST dans l'ensemble du SDLC peuvent générer des économies importantes en trouvant et en corrigeant les défauts et les vulnérabilités. Les résultats sont un code de meilleure qualité et plus sécurisé qui constitue la base des applications logicielles ou des dispositifs d'alimentation logicielle. Ce que vous verrez dans cette section, c'est qu'il existe d'autres facteurs de coût à prendre en compte lors de la mesure du retour sur investissement de l'utilisation de la solution SAST qui ne sont pas aussi concrets à calculer.

La violation de données individuelle moyenne d'une entreprise coûte à une entreprise 4,24 millions de dollars, le coût total moyen le plus élevé des 17 ans d'histoire du «rapport annuel sur le coût d'une violation de données» d'IBM pour 2021. Bien que cela semble astronomiquement élevé, vous devez prendre en compte tous les facteurs. impliqués dans la résolution d'une telle violation. Sans parler des dommages durables à la marque et à la réputation d'une organisation. En 2020, on estimait que les défauts logiciels de toutes sortes, y compris les vulnérabilités logicielles, coûtaient à l'économie 2 000 milliards de dollars . Sans surprise, cela est dû aux défauts logiciels qui traversent toute la phase de développement logiciel pour se manifester dans les produits livrés aux clients.

Voici quelques éléments à prendre en compte lors de l'évaluation du coût réel des vulnérabilités de sécurité et autres défaillances logicielles :

Le risque et la responsabilité sont élevés avec les dispositifs critiques pour la sécurité tels que les contrôles des infrastructures critiques, les systèmes médicaux et automobiles et l'électronique des avions. Un échec ici pourrait causer des blessures humaines ou même la mort. Le problème des freins de la Prius s'est avéré être une défaillance logicielle qui a coûté 5 milliards de dollars à Toyota pour y remédier, notamment le rappel de quatre millions de véhicules. Les accidents du Boeing 737MAX et l'échouement de l'avion coûteront probablement 19 milliards de dollars à Boeing .

La marque et la réputation peuvent être difficiles à monétiser, mais c'est certainement un gros problème pour les entreprises qui ont été victimes d'un incident de sécurité majeur. La violation d'Equifax et l'attaque plus récente de la chaîne d'approvisionnement de Solar Winds en sont deux exemples frappants. Les violations de données ont augmenté de 17 % en 2021 avec plusieurs cas très médiatisés tels que les vulnérabilités du jour zéro dans Microsoft Exchange Server et la vulnérabilité Log4J/Log4shell .

L’expérience client est un différenciateur majeur dans de nombreuses applications d'aujourd'hui. Une mauvaise mise en œuvre (défauts de conception et de codage), une mauvaise sécurité et une mauvaise qualité se traduisent toutes par une mauvaise expérience client. Par exemple, les performances peuvent être un problème important pour l'expérience client : Amazon a constaté que chaque 100 ms de latence dans ses applications en ligne lui coûtait 1 % des ventes . Google a découvert qu'un délai de 500 ms dans les résultats de la page de recherche faisait chuter le trafic de 20 %. Les clients sont au courant des choix sur le marché d'aujourd'hui, l'expérience client est essentielle pour les conserver.

Les correctifs et les rappels sont inévitables lorsque de graves vulnérabilités ou défauts de sécurité sont détectés. Dans le cas de Toyota, ils ont dû rappeler quatre millions de véhicules pour corriger leur logiciel. Il est coûteux de rappeler et de corriger votre propre logiciel, mais vous transférez également des coûts énormes sur vos clients. Les entreprises consacrent des milliers d'heures et des millions de dollars à la gestion des correctifs pour les logiciels déployés dans leurs environnements. Il existe à la fois un coût interne et externe pour les vulnérabilités de sécurité et les défauts des logiciels. Chaque élément non corrigé de votre code entre les mains du client est une responsabilité pour lui et pour vous, car il ouvre de nouveaux vecteurs de menace.

La conformité, en particulier pour les entreprises publiques, est un élément essentiel de leur activité. Le fait de ne pas gérer le risque pour votre entreprise en raison d'incidents de sécurité peut entraîner de lourdes conséquences de la part de la Securities Exchange Commission (SEC) ou de la Federal Trade Commission (FTC). Par exemple, la violation de données d'Equifax a entraîné une amende de 575 millions de dollars à payer à la FTC et au CFPB. La violation de Home Depot a coûté 200 millions de dollars en amendes et la violation de Capital One a entraîné 190 millions de dollars. Notez que ces amendes s'ajoutent à tous les autres coûts et responsabilités résultant de la violation.

La couverture et les primes des assurances cybersécurité commencent à être impactées par les problèmes de qualité, de sûreté et de sécurité des logiciels. Les assureurs commenceront à augmenter les tarifs ou éventuellement à refuser la couverture aux organisations qui ne suivent pas les meilleures pratiques DevSecOps. L'attaque de SolarWinds a coûté plus de 90 millions de dollars aux fournisseurs de cyberassurance .

Il existe une formidable opportunité de réduire ces coûts en aval grâce à un développement logiciel amélioré, en déplaçant la sécurité vers la gauche et en automatisant les pratiques de test.

En conclusion, les pannes logicielles et les failles de sécurité peuvent avoir des effets catastrophiques en termes humains et économiques. Les solutions SAST font partie d'un processus DevSecOps mature qui garantit une amélioration continue et le développement de logiciels sécurisés et de haute qualité. Le retour sur investissement des solutions SAST est convaincant, soulignant son rôle critique lors du développement, mais également les résultats en matière de qualité et de sécurité en aval.
2