DevSecOps, la sécurité Dans le DevOps

Le DevOps vise à rapprocher les équipes de développement et d’exploitation afin de répondre aux besoins des clients de manière plus agile. Pour renforcer la confiance des utilisateurs finaux et raccourcir les cycles de développement, les équipes en charge de la sécurité peuvent également être associées aux projets. C’est l’approche DevSecOps.

Le trio DevSecOps, la nouvelle définition du DevOps

L’approche DevSecOps vise à rapprocher les spécialistes de la sécurité informatique (Sec) des équipes chargées du développement des applications (Dev) et de l’exploitation des systèmes (Ops). Ce rapprochement renforce la sécurité des applications ou des logiciels d’une part et protège davantage l’infrastructure de développement d’autre part. Pour quels usages ? En incluant les analyses de sécurité statiques (SAST) et dynamiques (DAST) dans les chaînes d’intégration continue, les Dev et les Ops sont outillés pour détecter les éventuelles vulnérabilités. En s’appuyant sur les experts de sécurité, les équipes peuvent ainsi apporter les correctifs au code source de l’application et à l’infrastructure et ceci au plus tôt. Les outils modernes permettent également de construire un inventaire logiciel automatique, dit SBOM (Software Bill of Materials). Les experts de sécurité peuvent ainsi identifier rapidement les applications concernées par une vulnérabilité lorsque celle-ci est découverte.

Pourquoi cette intégration de la sécurité lors du développement et non plus après, devient-elle essentielle aux projets DevOps ? Tout d’abord parce que le risque de cyberattaque reste très élevé. D’après le baromètre CESIN 2023, 45% des entreprises françaises ont été victimes de cyberattaques réussies en 2022. La fréquence de mise à jour des composants d’application continue, elle, à s’accélérer chez les fournisseurs. Une entreprise qui n’effectue pas ces mises à jour de manière continue devient vulnérable.

Le principe d’itération propre à l’approche DevOps raccourcit aussi les délais entre les différentes versions des applications livrées au client. Il faut donc à chaque fois s’assurer qu’elles offrent les garanties de sécurité suffisantes à l’utilisateur final. Face à ce travail de sécurisation qui a tendance à allonger les cycles de développement, le DevSecOps encourage l’automatisation des portes de sécurité (par exemple les clés et les certificats de chiffrement) et évite ainsi un trop fort ralentissement du flux de travail.

Renforcer l’approche DevOps en brisant les silos

En faisant le lien entre les équipes d’exploitation, de développement et de sécurité, la DSI a un rôle clé dans le développement des pratiques DevSecOps. Elle va notamment encourager le rapprochement de métiers souvent silotés. Un défi autant humain que technologique, qui se fait par étapes ! Cela peut passer par des processus communs et un rôle actif de chacune des équipes sur l’ensemble du cycle de vie de l’application. En effet, même au stade préliminaire, l’équipe Dev va intégrer les exigences des équipes Ops et Sec et l’équipe Ops va construire l’infrastructure nécessaire aux développeurs en suivant les recommandations de l’équipe Sec.Pour créer cet environnement intégré, la DSI peut par exemple favoriser la présence des 3 équipes dès la conception ou encore faire participer des développeurs aux réunions hebdomadaires de l’équipe sécurité.

Autre option, mettre l'accent sur le risque lié au développement d’application et non plus sur la seule sécurité, qui focaliserait uniquement l’attention sur les outils de protection. L’angle « risque » favorise une prise de conscience face aux menaces et la définition de bonnes pratiques communes à toutes les équipes. Enfin, une approche « security by design » réunira les représentants Dev, Sec et Ops pour intégrer la sécurité dès les phases de conception de l’application.

Des bénéfices très concrets

Quels bénéfices offre le DevSecOps ? Commençons par le budget : plus une faille de sécurité est détectée tôt dans le cycle de vie d’une application, moins le coût de sa résolution sera élevé. De plus, l'équipe DevSecOps dispose d’une parfaite connaissance des composants de son application/logiciel, mais aussi des fournisseurs et de la fréquence de publication des mises à jour. Viennent ensuite les délais : si les processus de sécurité sont intégrés au fil du développement, la durée d’intégration des mesures de protection est réduite. L’entreprise peut donc produire des versions d’application plus stables et sécurisées dans des délais raccourcis.

Les pratiques du DevOps évoluent et celles du DevSecOps aussi. Le rapport « 2021 State of DevOps » de Puppet révèle que la majeure partie des entreprises les plus performantes intègrent la sécurité dans la gestion de leurs exigences (51%), dans la conception (61%), dans le développement (53%) et les tests (52%). A contrario, les entreprises moins performantes intègrent la sécurité uniquement lors d’audits programmés (48%) ou lorsqu’un problème intervient en production (45%).

Le DevSecOps devient partie intégrante du DevOps et permet d’augmenter la sécurité des applications et des infrastructures sur lesquelles elles reposent tout en préservant l’agilité nécessaire aux entreprises d’aujourd’hui.