Même si DevOps n’est pas nouveau pour les entreprises, une de ses particularités semble rallier tous les suffrages : cette méthodologie permet aux équipes de développement et d’exploitation de travailler ensemble pour faire en sorte de livrer des logiciels plus fiables, plus rapidement. Néanmoins, ce terme occulte un aspect fondamental, celui de l’intégration de la sécurité au sein du processus de développement.
Une sécurité qui n’est pas suffisamment prise en compte
Dans le cadre de DevOps, la sécurité intervient généralement à la fin du développement du logiciel. Elle constitue souvent la dernière case à cocher avant la mise en production. En effet, dans la plupart des cas, les développeurs se concentrent plutôt sur l’aspect technique du développement, laissant la responsabilité de la sécurité à des équipes spécialisées. Or, cette façon de faire, qui se traduit par la mise en place de silos, n’est pas propice à l’évolution des pratiques de développement logiciel. Pour que la sécurité des applications soit en phase avec le rythme très soutenu de l’innovation commerciale, un changement fondamental est nécessaire dans la façon dont elle est appréhendée au sein du cycle de développement.
Intégrer la sécurité au cœur même du cycle de développement
C’est là qu’intervient DevSecOps. Cette pratique, qui connaît une adoption croissante, est un moyen de mieux intégrer la sécurité dans chacune des étapes du développement. Cette évolution ne semble peut-être pas radicale, mais elle exige un changement culturel fondamental. Il est vrai qu’elle bouscule le statu quo de vos processus actuels, mais le jeu en vaut la chandelle.
En faisant de la sécurité une responsabilité partagée, vous contribuez à sa meilleure intégration au sein même du processus de développement. Le résultat est sans appel : les entreprises qui suivent cette approche développent des logiciels plus fiables, livrés plus rapidement. Par ricochet, c’est la capacité de votre organisation à innover rapidement qui augmente à son tour de manière considérable. Mais comment créer un environnement propice à la mise en place de DevSecOps ?
La sécurité : une responsabilité partagée
DevSecOps s’attache à responsabiliser toutes les parties prenantes impliquées dans le cycle de vie des applications. En pratique, cela signifie qu’il est indispensable de déplacer les tests et les examens de sécurité en amont – la fameuse approche « shift left » – afin qu’ils soient intégrés à chaque étape du développement logiciel.
Certes, DevSecOps a été introduit dans le but de réduire les vulnérabilités. Mais il vise surtout à soulager les équipes de sécurité au sein des entreprises, des experts d’autant plus surchargés qu’il existe actuellement une pénurie de ce type de profils. En effet, nous estimons que pour un expert sécurité, il existe 500 développeurs en activité. En diffusant les meilleures pratiques – utilisation de nouveaux outils, partage des connaissances – les développeurs peuvent aider à mieux résoudre les problèmes de sécurité courants. Pendant ce temps, les cyberexperts peuvent consacrer leur temps à des missions plus stratégiques.
Sécuriser le processus de développement
L’objectif de DevSecOps, comme celui de DevOps, est de fournir aux développeurs une cohérence, une répétabilité et un retour d’information constant, tout au long du processus de développement. Ces derniers sont ainsi assurés de disposer des meilleures ressources. En adoptant une approche « developer first », les développeurs sont en meilleure position pour identifier et corriger les vulnérabilités, dès qu’elles sont découvertes. Ceci permet de ne pas affecter l’environnement de production de l’application. Il n’existe pas de méthodes formalisées en matière de pratiques DevSecOps. Néanmoins, il est possible d’accéder à des recommandations sur la manière d’apporter des changements efficaces visant à inclure les pratiques de sécurité pendant le développement du logiciel.
Favoriser une évolution des mentalités
Un bon point de départ consiste à modifier la perception des équipes de développement et de sécurité en encourageant la collaboration quotidienne et une confiance accrue entre les deux équipes. Ce projet peut se déployer à petite échelle, en intégrant des contrôles de sécurité obligatoires dans les revues de code ou bien à grande échelle, par exemple en créant un flux de travail unifié pour des processus, tels que la sécurité des applications et le CI/CD, qui sont généralement cloisonnés. Il ne s’agit pas seulement de décider du moment et de l’endroit où vous résolvez la vulnérabilité, mais surtout de déterminer quels résultats doivent être prioritaires, qui peut les traiter efficacement et pourquoi il est vital de traiter ceux-là en premier. Tous les problèmes sont importants, mais certains le sont davantage. Le fait que les problèmes soient soulevés dès le début permet au développeur de les corriger dans le cadre de la construction, plutôt que de les considérer comme des problèmes à régler à la fin.
De nouveaux modes de collaboration
Le déploiement efficace de DevSecOps nécessite une rupture immédiate avec les mauvaises habitudes actuelles. L’action la plus simple à adopter est de s’appuyer sur des outils efficaces, actuellement disponibles sur le marché, pour l’analyse du code et de ses dépendances, en parallèle à ceux déjà utilisés et appréciés par les équipes de sécurité. Dans le cadre du processus d’analyse, attachez-vous particulièrement à savoir où la consolidation des outils est la plus judicieuse. Combiner plusieurs outils pour les deux équipes permet de mieux comprendre où des mesures doivent être prises et la manière la plus efficace de les mettre en place. Les équipes disposant d’un pipeline commun, les problèmes sont traités plus facilement et plus rapidement.
Au-delà de privilégier l’utilisation de nouveaux outils qui apportent des gains d’efficacité progressifs, DevSecOps s’appuie sur le meilleur de DevOps pour permettre aux équipes de développeurs de devenir plus performantes, tout en intégrant les pratiques les plus pointues en matière de sécurité. Meilleur allié de leur croissance, DevSecOps est l’ingrédient clé permettant aux organisations d’augmenter rapidement leur rythme d’innovation.
(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/fr_FR/all.js#appId=243265768935&xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));
Cliquez ici pour lire l’article depuis sa source.