Blog

Atténuer la dette technique grâce à une sécurité pilotée par les développeurs

Taylor Broadfoot
Publié le 15 février 2023

Parlons de la dette 

Tout le monde sait aujourd'hui que la cybercriminalité est devenue un problème majeur pour l'économie mondiale. En 2022, le coût moyen d'une violation de données aux États-Unis s'élevait à 9,44 millions de dollars, contre 9,05 millions de dollars l'année précédente. Il est important de ne pas ignorer le coût du code non sécurisé et de la dette technique accumulée. Selon le rapport 2022 du Consortium for Information and Software Quality : The Cost of Poor Software Quality report, on estime que le coût de la mauvaise qualité des logiciels aux États-Unis s'élève à 2,41 billions de dollars et que la dette technique accumulée s'élève à 1,52 billions de dollars. 

Les coûts croissants du traitement des codes non sécurisés et de leur dette technique sont devenus le principal obstacle à toute modification des bases de code existantes, les laissant ainsi vulnérables à l'exploitation et aux menaces extérieures. L'état de la sécurité des logiciels est confronté à une crise existentielle - nous savons que nous devons améliorer notre posture de sécurité et nous attaquer à la dette technique accumulée, mais les obstacles sont énormes : 

  • On estime à 300 000 le nombre de postes de développeurs de logiciels et d'emplois liés à l'informatique non pourvus aux États-Unis, avec un taux de croissance prévu de 15 %. 
  • On prévoit que d'ici 2025, 40 % des budgets informatiques seront consacrés à la simple maintenance de la dette technologique.
  • 1/3 des heures hebdomadaires des développeurs sont en moyenne consacrées au traitement de la dette technologique

Les solutions rapides sont risquées - et plus coûteuses à long terme 

Qu'est-ce que la dette technique et pourquoi est-elle si importante ? La dette technique s'accumule lorsque les décideurs optent pour une solution à court terme à un problème de développement logiciel - au lieu d'une solution plus exhaustive et à long terme. Cela s'accompagne d'un coût caché substantiel que les organisations doivent payer plus tard. À l'instar d'une carte de crédit épuisée, la dette technique se compose de deux éléments principaux :

  • Principal - se réfère au coût total du remaniement ou de la correction d'un logiciel afin qu'il atteigne le niveau souhaité de maintenabilité et de sécurité.
  • Intérêt - l'effort supplémentaire que les développeurs consacrent à ces changements pour remédier à la seule dette technique, et non à de nouvelles fonctionnalités. Chaque minute passée sur un code qui n'est pas tout à fait correct ajoute de l'intérêt à la dette.
Comment l'impact de la dette technique s'accroît avec le temps

On peut finir par atteindre un état de "faillite technique" lorsque le coût des nouvelles fonctionnalités, des corrections de bogues et de la maintenance dépasse le budget du projet, ce qui réduit considérablement la valeur de l'application logicielle. 

Cependant, une certaine accumulation de dettes, comme dans la vie, est normale et, dans la plupart des cas, quelque peu attendue. 

Idéalement, tous les développeurs de logiciels devraient réduire les bogues autant que possible avant de livrer le code. Cependant, ils sont confrontés à un compromis difficile : pour être compétitive, une organisation peut vouloir livrer des fonctionnalités ou des produits à ses clients rapidement et à un coût minimum. En conséquence, la qualité de l'application en pâtit, car les indicateurs clés de performance des développeurs sont basés sur la rapidité de la livraison et le coût initial de la construction. Ce qui manque dans le tableau, ce sont les lacunes accumulées et les vulnérabilités potentielles intégrées dans le code. Celui-ci est donc mûr pour des bogues ou des vulnérabilités de sécurité en aval ou, pire, pour une exploitation par des acteurs malveillants. 

Mais c'est là que réside l'énigme : existe-t-il un autre moyen de livrer des produits rapidement sans accumuler une dette technique massive ? 

Le coût de la détection et de la correction des lacunes et des vulnérabilités est la dépense la plus importante du cycle de développement des logiciels. Plus les problèmes sont détectés tôt dans le cycle de développement, plus la livraison globale sera rentable. 

La dette technique peut se transformer en dette de sécurité

De nombreux développeurs tentent de contourner ce compromis en utilisant un code source ouvert qui leur permet d'avancer rapidement et, dans l'idéal, d'utiliser une solution déjà validée. Toutefois, le fait de s'appuyer fortement sur des logiciels à code source ouvert présente souvent ses propres risques

  • 82% des composants open source se sont révélés obsolètes (c'est-à-dire non corrigés ou mal pris en charge). 
  • 75 % des bases de code contenaient des vulnérabilités (contre 60 % en 2018), et 49 % contenaient des vulnérabilités à haut risque. 
  • En moyenne, 82 vulnérabilités ont été identifiées par base de code. 

Cette situation entraîne la prolifération d'un sous-ensemble de la dette technique : la dette de sécurité. La dette de sécurité est l'accumulation de vulnérabilités dans une application logicielle qui rend plus difficile, voire impossible, la protection des données et des systèmes contre une attaque.

L'un des exemples les plus notoires est celui d'Equifax, le géant de l'information sur le crédit qui a été victime d'une brèche en 2017 parce qu'il n'avait pas corrigé une vulnérabilité connue dans Apache Struts, un cadre d'application web open-source populaire. Le correctif était disponible depuis des mois, mais la brèche a compromis les données personnelles cruciales de plus de 147 millions de personnes.

Il convient donc d'accorder une plus grande attention aux pratiques de codage sécurisées, car de nombreuses applications ont atteint une masse critique non seulement en termes de dette technique, mais aussi de densité de faiblesses et de vulnérabilités en matière de sécurité dans l'application elle-même.

Cela peut entraîner des pertes considérables, qui peuvent être matérielles ou immatérielles : 

Atteinte à la réputation : La perte de la confiance des clients peut avoir un impact extrêmement négatif à long terme. Il peut s'agir d'une atteinte à la marque, d'une perte de chiffre d'affaires et de problèmes juridiques coûteux à la suite d'une violation. 

Impact sur la réglementation et la conformité : Si une faille de sécurité peut amener une entreprise à ne pas respecter un délai et/ou des obligations contractuelles, l'entreprise peut avoir des problèmes avec les autorités de régulation, ce qui entraîne des amendes importantes. Le non-respect d'un accord de niveau de service peut entraîner des problèmes avec les autorités de réglementation et des amendes importantes. 

Coûts de remise en état : Des travaux supplémentaires sont souvent nécessaires à la suite d'une panne ou d'un arrêt pour compenser la perte de productivité.

Prévenir la dette technique et de sécurité dans le cycle de développement durable (SDLC)

De nombreuses organisations ont déjà réorienté leur budget pour renforcer leur dispositif de sécurité. L'année dernière, Google s'est engagé à verser 10 milliards de dollars sur cinq ans pour financer un programme de renforcement de la cybersécurité. L'administration Biden a également demandé 2,1 milliards de dollars dans le budget discrétionnaire de 2022 pour l'Agence pour la cybersécurité et la sécurité des infrastructures (CISA). 

Fournir davantage de ressources et de formations pour soutenir la croissance professionnelle et les connaissances de vos développeurs peut être la première étape dans l'établissement de normes de qualité pour tous les codes livrés en production. 

Le coût de la détection et de la correction d'une vulnérabilité ou d'un défaut augmente de manière exponentielle plus la détection et la correction sont tardives dans le cycle de développement du logiciel. Et comme nous l'avons vu, en consacrant tant de temps à la résolution de la dette technique et de sécurité, les organisations créent leurs propres pertes en renonçant à l'innovation et au temps consacré à de nouvelles fonctionnalités ou à de nouveaux produits. 

En 2022, une majorité d'équipes de développeurs ont déclaré que DevOps ou DevSecOps était leur méthodologie de choix, et ce n'est pas une surprise. DevSecOps intègre la sécurité à chaque étape du cycle de vie du développement logiciel afin de fournir des applications de meilleure qualité et plus sûres. Les équipes de sécurité et de développement continuent de travailler en silos et de connaître des tensions, mais il est clair que cela doit changer pour aider les entreprises à réussir. DevOps fait partie de la manière dont les organisations tentent de faire tomber les barrières et de remodeler la culture. L'objectif fondamental de DevSecOps est de renforcer la collaboration entre l'AppSec/la sécurité et les développeurs dès le début du cycle de vie du développement logiciel.

Source : Consortium pour la qualité de l'information et des logiciels : Consortium pour la qualité de l'information et des logiciels : Le coût de la mauvaise qualité des logiciels aux États-Unis Rapport 2022 

La mise en œuvre d'une nouvelle façon de penser la dette technique et la sécurité ne doit pas nécessairement être un exploit monumental. L'instauration d'un état d'esprit proactif par le biais de la formation est essentielle lorsqu'il s'agit d'améliorer la sensibilisation à la sécurité et les compétences de la communauté des développeurs d'une organisation. Une solide formation au codage sécurisé pour les développeurs garantit que l'apprentissage est continu, interactif, pertinent et contextuel. Une approche véritablement holistique doit prendre en compte ce qui est nécessaire pour favoriser une véritable culture de la sécurité menée par les développeurs. Cela peut nécessiter un changement d'orientation par rapport aux méthodes habituelles de gestion et de constitution d'équipes de développeurs.

Créer un changement de culture n'est pas facile, mais Secure Code Warrior vous aide à identifier vos champions de la sécurité et à doter les développeurs et les organisations des compétences adéquates pour relever les défis actuels de la sécurité en constante évolution. 

Le lancement d'un programme de code sécurisé engageant et évolutif est un investissement valable en raison de l'approche préventive à long terme de la sécurité, au lieu de l'approche réactive du passé. En fin de compte, cela permet d'atténuer les risques coûteux d'une violation, d'enseigner aux développeurs comment trouver et corriger rapidement les vulnérabilités, et de faciliter une approche plus agile du développement de produits et une mise sur le marché plus rapide.

Image abstraite noire et rouge avec le texte "mitigating technical debt with developer-driven security".
Image abstraite noire et rouge avec le texte "mitigating technical debt with developer-driven security".
Voir la ressource
Voir la ressource

Le coût du traitement du code non sécurisé et de la dette technique qui en découle est l'un des plus grands obstacles auxquels est confrontée la technologie aujourd'hui. Découvrez comment la mise en œuvre d'un programme évolutif de formation au code sécurisé permet de réduire la dette technique en s'attaquant aux mauvais schémas de codage et en détectant les vulnérabilités dès le début du cycle de développement du logiciel.

Vous souhaitez en savoir plus ?

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Réservez une démonstration
Partager sur :
Auteur
Taylor Broadfoot
Publié le 15 février 2023

Taylor Broadfoot-Nymark est responsable du marketing produit à l'adresse Secure Code Warrior. Elle a écrit plusieurs articles sur la cybersécurité et l'apprentissage agile, et dirige également les lancements de produits, la stratégie GTM et la défense des intérêts des clients.

Partager sur :
Image abstraite noire et rouge avec le texte "mitigating technical debt with developer-driven security".
Image abstraite noire et rouge avec le texte "mitigating technical debt with developer-driven security".

Parlons de la dette 

Tout le monde sait aujourd'hui que la cybercriminalité est devenue un problème majeur pour l'économie mondiale. En 2022, le coût moyen d'une violation de données aux États-Unis s'élevait à 9,44 millions de dollars, contre 9,05 millions de dollars l'année précédente. Il est important de ne pas ignorer le coût du code non sécurisé et de la dette technique accumulée. Selon le rapport 2022 du Consortium for Information and Software Quality : The Cost of Poor Software Quality report, on estime que le coût de la mauvaise qualité des logiciels aux États-Unis s'élève à 2,41 billions de dollars et que la dette technique accumulée s'élève à 1,52 billions de dollars. 

Les coûts croissants du traitement des codes non sécurisés et de leur dette technique sont devenus le principal obstacle à toute modification des bases de code existantes, les laissant ainsi vulnérables à l'exploitation et aux menaces extérieures. L'état de la sécurité des logiciels est confronté à une crise existentielle - nous savons que nous devons améliorer notre posture de sécurité et nous attaquer à la dette technique accumulée, mais les obstacles sont énormes : 

  • On estime à 300 000 le nombre de postes de développeurs de logiciels et d'emplois liés à l'informatique non pourvus aux États-Unis, avec un taux de croissance prévu de 15 %. 
  • On prévoit que d'ici 2025, 40 % des budgets informatiques seront consacrés à la simple maintenance de la dette technologique.
  • 1/3 des heures hebdomadaires des développeurs sont en moyenne consacrées au traitement de la dette technologique

Les solutions rapides sont risquées - et plus coûteuses à long terme 

Qu'est-ce que la dette technique et pourquoi est-elle si importante ? La dette technique s'accumule lorsque les décideurs optent pour une solution à court terme à un problème de développement logiciel - au lieu d'une solution plus exhaustive et à long terme. Cela s'accompagne d'un coût caché substantiel que les organisations doivent payer plus tard. À l'instar d'une carte de crédit épuisée, la dette technique se compose de deux éléments principaux :

  • Principal - se réfère au coût total du remaniement ou de la correction d'un logiciel afin qu'il atteigne le niveau souhaité de maintenabilité et de sécurité.
  • Intérêt - l'effort supplémentaire que les développeurs consacrent à ces changements pour remédier à la seule dette technique, et non à de nouvelles fonctionnalités. Chaque minute passée sur un code qui n'est pas tout à fait correct ajoute de l'intérêt à la dette.
Comment l'impact de la dette technique s'accroît avec le temps

On peut finir par atteindre un état de "faillite technique" lorsque le coût des nouvelles fonctionnalités, des corrections de bogues et de la maintenance dépasse le budget du projet, ce qui réduit considérablement la valeur de l'application logicielle. 

Cependant, une certaine accumulation de dettes, comme dans la vie, est normale et, dans la plupart des cas, quelque peu attendue. 

Idéalement, tous les développeurs de logiciels devraient réduire les bogues autant que possible avant de livrer le code. Cependant, ils sont confrontés à un compromis difficile : pour être compétitive, une organisation peut vouloir livrer des fonctionnalités ou des produits à ses clients rapidement et à un coût minimum. En conséquence, la qualité de l'application en pâtit, car les indicateurs clés de performance des développeurs sont basés sur la rapidité de la livraison et le coût initial de la construction. Ce qui manque dans le tableau, ce sont les lacunes accumulées et les vulnérabilités potentielles intégrées dans le code. Celui-ci est donc mûr pour des bogues ou des vulnérabilités de sécurité en aval ou, pire, pour une exploitation par des acteurs malveillants. 

Mais c'est là que réside l'énigme : existe-t-il un autre moyen de livrer des produits rapidement sans accumuler une dette technique massive ? 

Le coût de la détection et de la correction des lacunes et des vulnérabilités est la dépense la plus importante du cycle de développement des logiciels. Plus les problèmes sont détectés tôt dans le cycle de développement, plus la livraison globale sera rentable. 

La dette technique peut se transformer en dette de sécurité

De nombreux développeurs tentent de contourner ce compromis en utilisant un code source ouvert qui leur permet d'avancer rapidement et, dans l'idéal, d'utiliser une solution déjà validée. Toutefois, le fait de s'appuyer fortement sur des logiciels à code source ouvert présente souvent ses propres risques

  • 82% des composants open source se sont révélés obsolètes (c'est-à-dire non corrigés ou mal pris en charge). 
  • 75 % des bases de code contenaient des vulnérabilités (contre 60 % en 2018), et 49 % contenaient des vulnérabilités à haut risque. 
  • En moyenne, 82 vulnérabilités ont été identifiées par base de code. 

Cette situation entraîne la prolifération d'un sous-ensemble de la dette technique : la dette de sécurité. La dette de sécurité est l'accumulation de vulnérabilités dans une application logicielle qui rend plus difficile, voire impossible, la protection des données et des systèmes contre une attaque.

L'un des exemples les plus notoires est celui d'Equifax, le géant de l'information sur le crédit qui a été victime d'une brèche en 2017 parce qu'il n'avait pas corrigé une vulnérabilité connue dans Apache Struts, un cadre d'application web open-source populaire. Le correctif était disponible depuis des mois, mais la brèche a compromis les données personnelles cruciales de plus de 147 millions de personnes.

Il convient donc d'accorder une plus grande attention aux pratiques de codage sécurisées, car de nombreuses applications ont atteint une masse critique non seulement en termes de dette technique, mais aussi de densité de faiblesses et de vulnérabilités en matière de sécurité dans l'application elle-même.

Cela peut entraîner des pertes considérables, qui peuvent être matérielles ou immatérielles : 

Atteinte à la réputation : La perte de la confiance des clients peut avoir un impact extrêmement négatif à long terme. Il peut s'agir d'une atteinte à la marque, d'une perte de chiffre d'affaires et de problèmes juridiques coûteux à la suite d'une violation. 

Impact sur la réglementation et la conformité : Si une faille de sécurité peut amener une entreprise à ne pas respecter un délai et/ou des obligations contractuelles, l'entreprise peut avoir des problèmes avec les autorités de régulation, ce qui entraîne des amendes importantes. Le non-respect d'un accord de niveau de service peut entraîner des problèmes avec les autorités de réglementation et des amendes importantes. 

Coûts de remise en état : Des travaux supplémentaires sont souvent nécessaires à la suite d'une panne ou d'un arrêt pour compenser la perte de productivité.

Prévenir la dette technique et de sécurité dans le cycle de développement durable (SDLC)

De nombreuses organisations ont déjà réorienté leur budget pour renforcer leur dispositif de sécurité. L'année dernière, Google s'est engagé à verser 10 milliards de dollars sur cinq ans pour financer un programme de renforcement de la cybersécurité. L'administration Biden a également demandé 2,1 milliards de dollars dans le budget discrétionnaire de 2022 pour l'Agence pour la cybersécurité et la sécurité des infrastructures (CISA). 

Fournir davantage de ressources et de formations pour soutenir la croissance professionnelle et les connaissances de vos développeurs peut être la première étape dans l'établissement de normes de qualité pour tous les codes livrés en production. 

Le coût de la détection et de la correction d'une vulnérabilité ou d'un défaut augmente de manière exponentielle plus la détection et la correction sont tardives dans le cycle de développement du logiciel. Et comme nous l'avons vu, en consacrant tant de temps à la résolution de la dette technique et de sécurité, les organisations créent leurs propres pertes en renonçant à l'innovation et au temps consacré à de nouvelles fonctionnalités ou à de nouveaux produits. 

En 2022, une majorité d'équipes de développeurs ont déclaré que DevOps ou DevSecOps était leur méthodologie de choix, et ce n'est pas une surprise. DevSecOps intègre la sécurité à chaque étape du cycle de vie du développement logiciel afin de fournir des applications de meilleure qualité et plus sûres. Les équipes de sécurité et de développement continuent de travailler en silos et de connaître des tensions, mais il est clair que cela doit changer pour aider les entreprises à réussir. DevOps fait partie de la manière dont les organisations tentent de faire tomber les barrières et de remodeler la culture. L'objectif fondamental de DevSecOps est de renforcer la collaboration entre l'AppSec/la sécurité et les développeurs dès le début du cycle de vie du développement logiciel.

Source : Consortium pour la qualité de l'information et des logiciels : Consortium pour la qualité de l'information et des logiciels : Le coût de la mauvaise qualité des logiciels aux États-Unis Rapport 2022 

La mise en œuvre d'une nouvelle façon de penser la dette technique et la sécurité ne doit pas nécessairement être un exploit monumental. L'instauration d'un état d'esprit proactif par le biais de la formation est essentielle lorsqu'il s'agit d'améliorer la sensibilisation à la sécurité et les compétences de la communauté des développeurs d'une organisation. Une solide formation au codage sécurisé pour les développeurs garantit que l'apprentissage est continu, interactif, pertinent et contextuel. Une approche véritablement holistique doit prendre en compte ce qui est nécessaire pour favoriser une véritable culture de la sécurité menée par les développeurs. Cela peut nécessiter un changement d'orientation par rapport aux méthodes habituelles de gestion et de constitution d'équipes de développeurs.

Créer un changement de culture n'est pas facile, mais Secure Code Warrior vous aide à identifier vos champions de la sécurité et à doter les développeurs et les organisations des compétences adéquates pour relever les défis actuels de la sécurité en constante évolution. 

Le lancement d'un programme de code sécurisé engageant et évolutif est un investissement valable en raison de l'approche préventive à long terme de la sécurité, au lieu de l'approche réactive du passé. En fin de compte, cela permet d'atténuer les risques coûteux d'une violation, d'enseigner aux développeurs comment trouver et corriger rapidement les vulnérabilités, et de faciliter une approche plus agile du développement de produits et une mise sur le marché plus rapide.

Voir la ressource
Voir la ressource

Remplissez le formulaire ci-dessous pour télécharger le rapport

Nous aimerions que vous nous autorisiez à vous envoyer des informations sur nos produits et/ou sur des sujets liés au codage sécurisé. Nous traiterons toujours vos données personnelles avec le plus grand soin et ne les vendrons jamais à d'autres entreprises à des fins de marketing.

Soumettre
Pour soumettre le formulaire, veuillez activer les cookies "Analytics". N'hésitez pas à les désactiver à nouveau une fois que vous aurez terminé.
Image abstraite noire et rouge avec le texte "mitigating technical debt with developer-driven security".

Parlons de la dette 

Tout le monde sait aujourd'hui que la cybercriminalité est devenue un problème majeur pour l'économie mondiale. En 2022, le coût moyen d'une violation de données aux États-Unis s'élevait à 9,44 millions de dollars, contre 9,05 millions de dollars l'année précédente. Il est important de ne pas ignorer le coût du code non sécurisé et de la dette technique accumulée. Selon le rapport 2022 du Consortium for Information and Software Quality : The Cost of Poor Software Quality report, on estime que le coût de la mauvaise qualité des logiciels aux États-Unis s'élève à 2,41 billions de dollars et que la dette technique accumulée s'élève à 1,52 billions de dollars. 

Les coûts croissants du traitement des codes non sécurisés et de leur dette technique sont devenus le principal obstacle à toute modification des bases de code existantes, les laissant ainsi vulnérables à l'exploitation et aux menaces extérieures. L'état de la sécurité des logiciels est confronté à une crise existentielle - nous savons que nous devons améliorer notre posture de sécurité et nous attaquer à la dette technique accumulée, mais les obstacles sont énormes : 

  • On estime à 300 000 le nombre de postes de développeurs de logiciels et d'emplois liés à l'informatique non pourvus aux États-Unis, avec un taux de croissance prévu de 15 %. 
  • On prévoit que d'ici 2025, 40 % des budgets informatiques seront consacrés à la simple maintenance de la dette technologique.
  • 1/3 des heures hebdomadaires des développeurs sont en moyenne consacrées au traitement de la dette technologique

Les solutions rapides sont risquées - et plus coûteuses à long terme 

Qu'est-ce que la dette technique et pourquoi est-elle si importante ? La dette technique s'accumule lorsque les décideurs optent pour une solution à court terme à un problème de développement logiciel - au lieu d'une solution plus exhaustive et à long terme. Cela s'accompagne d'un coût caché substantiel que les organisations doivent payer plus tard. À l'instar d'une carte de crédit épuisée, la dette technique se compose de deux éléments principaux :

  • Principal - se réfère au coût total du remaniement ou de la correction d'un logiciel afin qu'il atteigne le niveau souhaité de maintenabilité et de sécurité.
  • Intérêt - l'effort supplémentaire que les développeurs consacrent à ces changements pour remédier à la seule dette technique, et non à de nouvelles fonctionnalités. Chaque minute passée sur un code qui n'est pas tout à fait correct ajoute de l'intérêt à la dette.
Comment l'impact de la dette technique s'accroît avec le temps

On peut finir par atteindre un état de "faillite technique" lorsque le coût des nouvelles fonctionnalités, des corrections de bogues et de la maintenance dépasse le budget du projet, ce qui réduit considérablement la valeur de l'application logicielle. 

Cependant, une certaine accumulation de dettes, comme dans la vie, est normale et, dans la plupart des cas, quelque peu attendue. 

Idéalement, tous les développeurs de logiciels devraient réduire les bogues autant que possible avant de livrer le code. Cependant, ils sont confrontés à un compromis difficile : pour être compétitive, une organisation peut vouloir livrer des fonctionnalités ou des produits à ses clients rapidement et à un coût minimum. En conséquence, la qualité de l'application en pâtit, car les indicateurs clés de performance des développeurs sont basés sur la rapidité de la livraison et le coût initial de la construction. Ce qui manque dans le tableau, ce sont les lacunes accumulées et les vulnérabilités potentielles intégrées dans le code. Celui-ci est donc mûr pour des bogues ou des vulnérabilités de sécurité en aval ou, pire, pour une exploitation par des acteurs malveillants. 

Mais c'est là que réside l'énigme : existe-t-il un autre moyen de livrer des produits rapidement sans accumuler une dette technique massive ? 

Le coût de la détection et de la correction des lacunes et des vulnérabilités est la dépense la plus importante du cycle de développement des logiciels. Plus les problèmes sont détectés tôt dans le cycle de développement, plus la livraison globale sera rentable. 

La dette technique peut se transformer en dette de sécurité

De nombreux développeurs tentent de contourner ce compromis en utilisant un code source ouvert qui leur permet d'avancer rapidement et, dans l'idéal, d'utiliser une solution déjà validée. Toutefois, le fait de s'appuyer fortement sur des logiciels à code source ouvert présente souvent ses propres risques

  • 82% des composants open source se sont révélés obsolètes (c'est-à-dire non corrigés ou mal pris en charge). 
  • 75 % des bases de code contenaient des vulnérabilités (contre 60 % en 2018), et 49 % contenaient des vulnérabilités à haut risque. 
  • En moyenne, 82 vulnérabilités ont été identifiées par base de code. 

Cette situation entraîne la prolifération d'un sous-ensemble de la dette technique : la dette de sécurité. La dette de sécurité est l'accumulation de vulnérabilités dans une application logicielle qui rend plus difficile, voire impossible, la protection des données et des systèmes contre une attaque.

L'un des exemples les plus notoires est celui d'Equifax, le géant de l'information sur le crédit qui a été victime d'une brèche en 2017 parce qu'il n'avait pas corrigé une vulnérabilité connue dans Apache Struts, un cadre d'application web open-source populaire. Le correctif était disponible depuis des mois, mais la brèche a compromis les données personnelles cruciales de plus de 147 millions de personnes.

Il convient donc d'accorder une plus grande attention aux pratiques de codage sécurisées, car de nombreuses applications ont atteint une masse critique non seulement en termes de dette technique, mais aussi de densité de faiblesses et de vulnérabilités en matière de sécurité dans l'application elle-même.

Cela peut entraîner des pertes considérables, qui peuvent être matérielles ou immatérielles : 

Atteinte à la réputation : La perte de la confiance des clients peut avoir un impact extrêmement négatif à long terme. Il peut s'agir d'une atteinte à la marque, d'une perte de chiffre d'affaires et de problèmes juridiques coûteux à la suite d'une violation. 

Impact sur la réglementation et la conformité : Si une faille de sécurité peut amener une entreprise à ne pas respecter un délai et/ou des obligations contractuelles, l'entreprise peut avoir des problèmes avec les autorités de régulation, ce qui entraîne des amendes importantes. Le non-respect d'un accord de niveau de service peut entraîner des problèmes avec les autorités de réglementation et des amendes importantes. 

Coûts de remise en état : Des travaux supplémentaires sont souvent nécessaires à la suite d'une panne ou d'un arrêt pour compenser la perte de productivité.

Prévenir la dette technique et de sécurité dans le cycle de développement durable (SDLC)

De nombreuses organisations ont déjà réorienté leur budget pour renforcer leur dispositif de sécurité. L'année dernière, Google s'est engagé à verser 10 milliards de dollars sur cinq ans pour financer un programme de renforcement de la cybersécurité. L'administration Biden a également demandé 2,1 milliards de dollars dans le budget discrétionnaire de 2022 pour l'Agence pour la cybersécurité et la sécurité des infrastructures (CISA). 

Fournir davantage de ressources et de formations pour soutenir la croissance professionnelle et les connaissances de vos développeurs peut être la première étape dans l'établissement de normes de qualité pour tous les codes livrés en production. 

Le coût de la détection et de la correction d'une vulnérabilité ou d'un défaut augmente de manière exponentielle plus la détection et la correction sont tardives dans le cycle de développement du logiciel. Et comme nous l'avons vu, en consacrant tant de temps à la résolution de la dette technique et de sécurité, les organisations créent leurs propres pertes en renonçant à l'innovation et au temps consacré à de nouvelles fonctionnalités ou à de nouveaux produits. 

En 2022, une majorité d'équipes de développeurs ont déclaré que DevOps ou DevSecOps était leur méthodologie de choix, et ce n'est pas une surprise. DevSecOps intègre la sécurité à chaque étape du cycle de vie du développement logiciel afin de fournir des applications de meilleure qualité et plus sûres. Les équipes de sécurité et de développement continuent de travailler en silos et de connaître des tensions, mais il est clair que cela doit changer pour aider les entreprises à réussir. DevOps fait partie de la manière dont les organisations tentent de faire tomber les barrières et de remodeler la culture. L'objectif fondamental de DevSecOps est de renforcer la collaboration entre l'AppSec/la sécurité et les développeurs dès le début du cycle de vie du développement logiciel.

Source : Consortium pour la qualité de l'information et des logiciels : Consortium pour la qualité de l'information et des logiciels : Le coût de la mauvaise qualité des logiciels aux États-Unis Rapport 2022 

La mise en œuvre d'une nouvelle façon de penser la dette technique et la sécurité ne doit pas nécessairement être un exploit monumental. L'instauration d'un état d'esprit proactif par le biais de la formation est essentielle lorsqu'il s'agit d'améliorer la sensibilisation à la sécurité et les compétences de la communauté des développeurs d'une organisation. Une solide formation au codage sécurisé pour les développeurs garantit que l'apprentissage est continu, interactif, pertinent et contextuel. Une approche véritablement holistique doit prendre en compte ce qui est nécessaire pour favoriser une véritable culture de la sécurité menée par les développeurs. Cela peut nécessiter un changement d'orientation par rapport aux méthodes habituelles de gestion et de constitution d'équipes de développeurs.

Créer un changement de culture n'est pas facile, mais Secure Code Warrior vous aide à identifier vos champions de la sécurité et à doter les développeurs et les organisations des compétences adéquates pour relever les défis actuels de la sécurité en constante évolution. 

Le lancement d'un programme de code sécurisé engageant et évolutif est un investissement valable en raison de l'approche préventive à long terme de la sécurité, au lieu de l'approche réactive du passé. En fin de compte, cela permet d'atténuer les risques coûteux d'une violation, d'enseigner aux développeurs comment trouver et corriger rapidement les vulnérabilités, et de faciliter une approche plus agile du développement de produits et une mise sur le marché plus rapide.

Accès aux ressources

Cliquez sur le lien ci-dessous et téléchargez le PDF de cette ressource.

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Voir le rapportRéservez une démonstration
Télécharger le PDF
Voir la ressource
Partager sur :
Vous souhaitez en savoir plus ?

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Réservez une démonstration
Partager sur :
Auteur
Taylor Broadfoot
Publié le 15 février 2023

Taylor Broadfoot-Nymark est responsable du marketing produit à l'adresse Secure Code Warrior. Elle a écrit plusieurs articles sur la cybersécurité et l'apprentissage agile, et dirige également les lancements de produits, la stratégie GTM et la défense des intérêts des clients.

Partager sur :

Parlons de la dette 

Tout le monde sait aujourd'hui que la cybercriminalité est devenue un problème majeur pour l'économie mondiale. En 2022, le coût moyen d'une violation de données aux États-Unis s'élevait à 9,44 millions de dollars, contre 9,05 millions de dollars l'année précédente. Il est important de ne pas ignorer le coût du code non sécurisé et de la dette technique accumulée. Selon le rapport 2022 du Consortium for Information and Software Quality : The Cost of Poor Software Quality report, on estime que le coût de la mauvaise qualité des logiciels aux États-Unis s'élève à 2,41 billions de dollars et que la dette technique accumulée s'élève à 1,52 billions de dollars. 

Les coûts croissants du traitement des codes non sécurisés et de leur dette technique sont devenus le principal obstacle à toute modification des bases de code existantes, les laissant ainsi vulnérables à l'exploitation et aux menaces extérieures. L'état de la sécurité des logiciels est confronté à une crise existentielle - nous savons que nous devons améliorer notre posture de sécurité et nous attaquer à la dette technique accumulée, mais les obstacles sont énormes : 

  • On estime à 300 000 le nombre de postes de développeurs de logiciels et d'emplois liés à l'informatique non pourvus aux États-Unis, avec un taux de croissance prévu de 15 %. 
  • On prévoit que d'ici 2025, 40 % des budgets informatiques seront consacrés à la simple maintenance de la dette technologique.
  • 1/3 des heures hebdomadaires des développeurs sont en moyenne consacrées au traitement de la dette technologique

Les solutions rapides sont risquées - et plus coûteuses à long terme 

Qu'est-ce que la dette technique et pourquoi est-elle si importante ? La dette technique s'accumule lorsque les décideurs optent pour une solution à court terme à un problème de développement logiciel - au lieu d'une solution plus exhaustive et à long terme. Cela s'accompagne d'un coût caché substantiel que les organisations doivent payer plus tard. À l'instar d'une carte de crédit épuisée, la dette technique se compose de deux éléments principaux :

  • Principal - se réfère au coût total du remaniement ou de la correction d'un logiciel afin qu'il atteigne le niveau souhaité de maintenabilité et de sécurité.
  • Intérêt - l'effort supplémentaire que les développeurs consacrent à ces changements pour remédier à la seule dette technique, et non à de nouvelles fonctionnalités. Chaque minute passée sur un code qui n'est pas tout à fait correct ajoute de l'intérêt à la dette.
Comment l'impact de la dette technique s'accroît avec le temps

On peut finir par atteindre un état de "faillite technique" lorsque le coût des nouvelles fonctionnalités, des corrections de bogues et de la maintenance dépasse le budget du projet, ce qui réduit considérablement la valeur de l'application logicielle. 

Cependant, une certaine accumulation de dettes, comme dans la vie, est normale et, dans la plupart des cas, quelque peu attendue. 

Idéalement, tous les développeurs de logiciels devraient réduire les bogues autant que possible avant de livrer le code. Cependant, ils sont confrontés à un compromis difficile : pour être compétitive, une organisation peut vouloir livrer des fonctionnalités ou des produits à ses clients rapidement et à un coût minimum. En conséquence, la qualité de l'application en pâtit, car les indicateurs clés de performance des développeurs sont basés sur la rapidité de la livraison et le coût initial de la construction. Ce qui manque dans le tableau, ce sont les lacunes accumulées et les vulnérabilités potentielles intégrées dans le code. Celui-ci est donc mûr pour des bogues ou des vulnérabilités de sécurité en aval ou, pire, pour une exploitation par des acteurs malveillants. 

Mais c'est là que réside l'énigme : existe-t-il un autre moyen de livrer des produits rapidement sans accumuler une dette technique massive ? 

Le coût de la détection et de la correction des lacunes et des vulnérabilités est la dépense la plus importante du cycle de développement des logiciels. Plus les problèmes sont détectés tôt dans le cycle de développement, plus la livraison globale sera rentable. 

La dette technique peut se transformer en dette de sécurité

De nombreux développeurs tentent de contourner ce compromis en utilisant un code source ouvert qui leur permet d'avancer rapidement et, dans l'idéal, d'utiliser une solution déjà validée. Toutefois, le fait de s'appuyer fortement sur des logiciels à code source ouvert présente souvent ses propres risques

  • 82% des composants open source se sont révélés obsolètes (c'est-à-dire non corrigés ou mal pris en charge). 
  • 75 % des bases de code contenaient des vulnérabilités (contre 60 % en 2018), et 49 % contenaient des vulnérabilités à haut risque. 
  • En moyenne, 82 vulnérabilités ont été identifiées par base de code. 

Cette situation entraîne la prolifération d'un sous-ensemble de la dette technique : la dette de sécurité. La dette de sécurité est l'accumulation de vulnérabilités dans une application logicielle qui rend plus difficile, voire impossible, la protection des données et des systèmes contre une attaque.

L'un des exemples les plus notoires est celui d'Equifax, le géant de l'information sur le crédit qui a été victime d'une brèche en 2017 parce qu'il n'avait pas corrigé une vulnérabilité connue dans Apache Struts, un cadre d'application web open-source populaire. Le correctif était disponible depuis des mois, mais la brèche a compromis les données personnelles cruciales de plus de 147 millions de personnes.

Il convient donc d'accorder une plus grande attention aux pratiques de codage sécurisées, car de nombreuses applications ont atteint une masse critique non seulement en termes de dette technique, mais aussi de densité de faiblesses et de vulnérabilités en matière de sécurité dans l'application elle-même.

Cela peut entraîner des pertes considérables, qui peuvent être matérielles ou immatérielles : 

Atteinte à la réputation : La perte de la confiance des clients peut avoir un impact extrêmement négatif à long terme. Il peut s'agir d'une atteinte à la marque, d'une perte de chiffre d'affaires et de problèmes juridiques coûteux à la suite d'une violation. 

Impact sur la réglementation et la conformité : Si une faille de sécurité peut amener une entreprise à ne pas respecter un délai et/ou des obligations contractuelles, l'entreprise peut avoir des problèmes avec les autorités de régulation, ce qui entraîne des amendes importantes. Le non-respect d'un accord de niveau de service peut entraîner des problèmes avec les autorités de réglementation et des amendes importantes. 

Coûts de remise en état : Des travaux supplémentaires sont souvent nécessaires à la suite d'une panne ou d'un arrêt pour compenser la perte de productivité.

Prévenir la dette technique et de sécurité dans le cycle de développement durable (SDLC)

De nombreuses organisations ont déjà réorienté leur budget pour renforcer leur dispositif de sécurité. L'année dernière, Google s'est engagé à verser 10 milliards de dollars sur cinq ans pour financer un programme de renforcement de la cybersécurité. L'administration Biden a également demandé 2,1 milliards de dollars dans le budget discrétionnaire de 2022 pour l'Agence pour la cybersécurité et la sécurité des infrastructures (CISA). 

Fournir davantage de ressources et de formations pour soutenir la croissance professionnelle et les connaissances de vos développeurs peut être la première étape dans l'établissement de normes de qualité pour tous les codes livrés en production. 

Le coût de la détection et de la correction d'une vulnérabilité ou d'un défaut augmente de manière exponentielle plus la détection et la correction sont tardives dans le cycle de développement du logiciel. Et comme nous l'avons vu, en consacrant tant de temps à la résolution de la dette technique et de sécurité, les organisations créent leurs propres pertes en renonçant à l'innovation et au temps consacré à de nouvelles fonctionnalités ou à de nouveaux produits. 

En 2022, une majorité d'équipes de développeurs ont déclaré que DevOps ou DevSecOps était leur méthodologie de choix, et ce n'est pas une surprise. DevSecOps intègre la sécurité à chaque étape du cycle de vie du développement logiciel afin de fournir des applications de meilleure qualité et plus sûres. Les équipes de sécurité et de développement continuent de travailler en silos et de connaître des tensions, mais il est clair que cela doit changer pour aider les entreprises à réussir. DevOps fait partie de la manière dont les organisations tentent de faire tomber les barrières et de remodeler la culture. L'objectif fondamental de DevSecOps est de renforcer la collaboration entre l'AppSec/la sécurité et les développeurs dès le début du cycle de vie du développement logiciel.

Source : Consortium pour la qualité de l'information et des logiciels : Consortium pour la qualité de l'information et des logiciels : Le coût de la mauvaise qualité des logiciels aux États-Unis Rapport 2022 

La mise en œuvre d'une nouvelle façon de penser la dette technique et la sécurité ne doit pas nécessairement être un exploit monumental. L'instauration d'un état d'esprit proactif par le biais de la formation est essentielle lorsqu'il s'agit d'améliorer la sensibilisation à la sécurité et les compétences de la communauté des développeurs d'une organisation. Une solide formation au codage sécurisé pour les développeurs garantit que l'apprentissage est continu, interactif, pertinent et contextuel. Une approche véritablement holistique doit prendre en compte ce qui est nécessaire pour favoriser une véritable culture de la sécurité menée par les développeurs. Cela peut nécessiter un changement d'orientation par rapport aux méthodes habituelles de gestion et de constitution d'équipes de développeurs.

Créer un changement de culture n'est pas facile, mais Secure Code Warrior vous aide à identifier vos champions de la sécurité et à doter les développeurs et les organisations des compétences adéquates pour relever les défis actuels de la sécurité en constante évolution. 

Le lancement d'un programme de code sécurisé engageant et évolutif est un investissement valable en raison de l'approche préventive à long terme de la sécurité, au lieu de l'approche réactive du passé. En fin de compte, cela permet d'atténuer les risques coûteux d'une violation, d'enseigner aux développeurs comment trouver et corriger rapidement les vulnérabilités, et de faciliter une approche plus agile du développement de produits et une mise sur le marché plus rapide.

Table des matières

Télécharger le PDF
Voir la ressource
Vous souhaitez en savoir plus ?

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Réservez une démonstrationTélécharger
Partager sur :
Centre de ressources

Ressources pour vous aider à démarrer

Plus d'articles
Centre de ressources

Ressources pour vous aider à démarrer

Plus d'articles