Évaluation de la maturité de la sécurité du cycle de vie des développements logiciels

La cybersécurité constitue de plus en plus un véritable challenge pour les organisations publiques et privées et aussi pour les particuliers. Le développement des cyberattaques et leur sophistication devient une préoccupation de premier ordre pour les décideurs et les utilisateurs à tous les niveaux.

Les attaquants adoptent des démarches très élaborées pour exploiter les vulnérabilités des systèmes d’information pour pouvoir y accéder de manière illégitime afin de porter atteinte à la confidentialité, la disponibilité ou l’intégrité de ces systèmes. Dans la panoplie des systèmes visés, les actifs applicatifs constituent des cibles de choix.

En effet, des études récentes démontre qu’une partie d’attaques réussies ciblent des vulnérabilités exploitables résidant dans la couche applicative. A ce titre et d’après le cabinet « Software Improvement Group », environ 75% des attaques sur internet ont exploité des failles de sécurité propres aux logiciels.

Pour pallier à cette problématique, les développeurs de logiciels ont essayé dans le passé, d’externaliser les tâches de sécurité. Cela a été fait avec des pare-feu, des détecteurs d'intrusion ou une protection contre les logiciels malveillants. Cependant, si le logiciel présente des vulnérabilités de sécurité, il n'est pas toujours possible de remédier à ces faiblesses via des composants de sécurité ajoutés en externe sans perte de fonctionnalités.

Cette pratique de développement de logiciels actuellement répandue engendre plusieurs vulnérabilités, qui doivent être traitées le plus rapidement possible via des cycles de correctifs. Les risques pesant sur les applications développées continueront à progresser de manière substantielle si la sécurité des logiciels mis en place n’est pas prise en compte. Il devient de plus en plus primordial d’adopter une démarche intégrant la sécurité dès la conception des logiciels et jusqu’à leur livraison et mise en production.

A travers les différents audits menés par la DGSSI, et par des cabinets d’audits auprès des différentes parties prenantes, il a été souvent constaté que les applications développées présentent plusieurs vulnérabilités critiques dont les corrections sont généralement coûteuses. Développer une application puis réfléchir dans un second temps aux mesures de sécurité à mettre en place, est une pratique courante que la DGSSI recommande vivement d’éviter.  Cette dernière recommande en effet, d’intégrer les exigences de sécurité dès la conception de l’application ou du service. Ces exigences peuvent se traduire par des choix d’architecture, de fonctionnalités, de technologies, etc.

A ce titre, la DGSSI recommande d’intégrer la notion de risques dans le cycle de vie des projets de développement logiciel. L’objectif est de proposer une suite d’actions, répartie sur tout le cycle de conception et de développement d’un produit et qui s’intègre dans la méthodologie projet existante de chaque entité. L’implication de tous les intervenants (Développeurs, Responsables de sécurité/risque, opérations) constitue un gage de sécurité dans cette démarche. La sécurité doit être la responsabilité de tous.

Dans ce cadre, la DGSSI a procédé au cours de l’année 2021, à l’élaboration d’un guide relatif à la maturité du cycle de développent des logiciels. Ce guide définit la sécurité des applications selon plusieurs axes et traite notamment:

  •  Les méthodologies de développement des logiciels les plus connues;
  •  Quelques modèles concernant les cycles de vie de développement sécurisé;
  •  Un focus sur le modèle de la maturité SAMM;
  •  Et puis une matrice de calcul du niveau de la maturité selon le modèle SAMM 2.0.

La matrice de calcul du niveau de maturité constitue le fruit de ce travail. Elle permet aux parties prenantes, quelle que soit la méthodologie de développement logiciel adoptée, d’accéder à un formulaire de questions/réponses simple et concis pour calculer de façon transparente le niveau de maturité de la sécurité de leurs cycles de développement et ce, de la même manière que ce qui a été utilisé précédemment dans le cadre de la DNSSI.

La démarche proposée est conçue pour être indépendante de la méthodologie de développement, ce qui signifie qu'elle peut être appliquée à tous les types de projets. Elle devrait permettre par ailleurs de :

  •  Évaluer les pratiques de la sécurité logicielle existantes d'une organisation;
  •  Construire un programme équilibré de la sécurité logicielle selon des itérations bien définies;
  •  Démontrer des améliorations concrètes à un programme d'assurance de la sécurité ;
  •  Définir et mesurer les activités liées à la sécurité ;
  •  Permettre aux entités de s’autoévaluer et calculer les écarts par rapport aux pratiques de sécurité ;

Le but de cette démarche est de développer davantage la culture de la sécurité applicative au niveau national. La DGSSI invite toutes les parties prenantes à procéder à l’évaluation proposée et de lui faire part des résultats pour consolider un document relatif à la maturité de la sécurité du cycle de développement logiciel au niveau national.

DGSSI2024 All rights reserved