Accélérer la sécurité grâce au DevSecOps et à une approche axée sur les développeurs
21 janvier 2020
0 minutes de lectureSnyk boucle une levée de fonds de 150 millions de dollars ! Découvrez le point de vue de notre PDG.
La transformation numérique n’est pas un simple mot à la mode : c’est une force. Presque toutes les entreprises, petites ou grandes, cherchent à faire de la technologie un pilier de leur activité et à accélérer leur capacité à s’adapter au marché. Pourtant, alors que les organisations tout entières se réinventent pour relever ces nouveaux défis, la sécurité reste à la traîne.
Les pratiques de sécurité n’ont pas changé depuis celles qui étaient en vigueur il y a vingt ans. Elles maintiennent les équipes de sécurité à l’écart et mal informées, ce qui conduit à la mise en production d’applications non sécurisées tandis que les autres avancent à toute vitesse. Elles placent les équipes de sécurité sur le chemin critique et ralentissent tout le monde alors que chacun cherche à accélérer. Enfin, elles supposent que des spécialistes en cybersécurité vont apparaître comme par magie à mesure que l’activité numérique se développe, malgré une grave pénurie de talents qui dure depuis plus de dix ans.
Ce n’est pas la voie à suivre. Nous avons besoin d’une nouvelle approche de la sécurité, fondée sur la réalité d’aujourd’hui, et non d’une légère adaptation de ce que nous faisions l’an dernier. Je pense que cette approche doit donner la priorité aux développeurs, et j’espère que cet article vous amènera à partager cette réflexion.
Pour fonder notre approche sur cette nouvelle réalité numérique, nous devons d’abord la comprendre : quels sont les principaux changements induits par la transformation numérique et quel est leur impact sur la sécurité ? Nous allons les regrouper en trois grandes catégories : l’entreprise numérique, le cloud et le DevOps.
Entreprise numérique : plus de logiciels = plus de risques liés aux logiciels
Au fond, la transformation numérique consiste à faire reposer une part toujours plus importante de l’activité sur la technologie. Autrement dit, la technologie permet de fournir de la valeur et de l’innovation auparavant assurées par des moyens physiques ou manuels. Les exemples ne manquent pas : remplacer les magasins par des boutiques en ligne, faire déplacer les marchandises dans les entrepôts par des robots plutôt que par des personnes, ou encore guider les transactions à l’aide d’algorithmes plutôt que de courtiers.

À mesure que votre activité se numérise, une part croissante de vos risques le devient aussi. Les données de vos clients sont gérées par des logiciels, vos sources de revenus dépendent du bon fonctionnement de vos systèmes et vos secrets de fabrication sont stockés dans des dépôts de code.
En bref, plus il y a de logiciels, plus les risques liés aux logiciels sont importants.
Pour la sécurité, cela signifie qu’il faut reconnaître que la protection d’une entreprise transformée par le numérique exige de mettre davantage l’accent sur la sécurité des logiciels. Les autres risques n’ont pas disparu, mais à mesure que l’activité se numérise, la sécurité doit suivre le mouvement. Ce changement touche toute l’organisation de la sécurité : à qui le RSSI rend compte, comment le budget de sécurité est réparti, quelle est la structure de l’équipe de sécurité, et bien plus encore.
Cloud : l’infrastructure devient partie intégrante de l’application
Les révolutions commerciales reposent généralement sur des innovations de rupture, et dans ce cas, c’est le cloud. En transformant le matériel en logiciel disponible à la demande, le cloud a permis d’ajouter plus facilement et à moindre coût de nouvelles technologies à l’entreprise, et de les adapter à la demande des clients. La création de nouvelles applications est devenue de plus en plus simple grâce à des technologies qui prolongent ces débuts dans le cloud, comme les conteneurs et le serverless.
Cette évolution a soulevé la question de la responsabilité de la pile d’infrastructure virtuelle. Au départ, les équipes qui géraient le matériel en propre ont étendu leur rôle pour prendre également en charge l’infrastructure virtuelle. Bon nombre de pratiques étaient similaires, comme la gestion des ports ouverts et l’application de correctifs aux serveurs, et pouvaient — en théorie — se poursuivre sans changement.
En pratique, cependant, le cloud offrait davantage. La mise à l’échelle élastique permet de lancer une machine sans processus de gestion de capacité. Un VPC (cloud privé virtuel) isole naturellement un système déployé des autres, sans qu’il soit nécessaire de le cartographier dans le plan de routage de tout le datacenter. Le cloud permet de supprimer les dépendances entre les applications, afin que chacune puisse prendre plus rapidement ses décisions d’infrastructure. Le cloud ne se contente pas de rendre l’infrastructure définie par logiciel : il en fait une partie intégrante de l’application.
Du point de vue de la sécurité, il faut repenser la protection contre les menaces liées à l’infrastructure. Les risques n’ont pas disparu : un conteneur peut contenir des composants vulnérables qui n’ont pas été corrigés, tout comme un serveur que vous possédez, et l’accès réseau à des données sensibles peut être trop permissif dans les deux cas. Mais les personnes qui créent et entretiennent l’infrastructure ne font plus partie de l’équipe informatique centrale : ce sont les développeurs d’applications.
DevOps : des équipes autonomes et responsabilisées
Le changement de responsabilité en matière d’infrastructure a des conséquences au moins aussi importantes sur les opérations que sur la sécurité, et il a joué un rôle clé dans l’essor du DevOps. Le DevOps prône le partage de la responsabilité entre les développeurs et les équipes opérationnelles pour assurer le bon fonctionnement et les performances des applications. Cette nouvelle façon de penser s’oppose à des habitudes bien ancrées : les développeurs qui « jettent le code par-dessus le mur » pour que quelqu’un d’autre l’exploite, et les équipes opérationnelles qui freinent le changement pour en limiter les risques.
Les avantages des pratiques DevOps, d’abord théoriques, ont depuis été démontrés statistiquement. Les entreprises qui adoptent le DevOps bénéficient d’une meilleure disponibilité et de meilleures performances, réduisent leurs coûts d’exploitation, livrent leurs applications plus rapidement et attirent des talents de premier plan. Elles s’adaptent ainsi plus vite aux besoins du marché et des clients et obtiennent de meilleurs résultats que leurs concurrentes.
Faire évoluer une organisation pour qu’elle adopte le DevOps n’est pas chose facile, mais c’est un élément essentiel de la transformation numérique. Cette démarche repose largement sur le concept d’équipes applicatives autonomes, capables de prendre en charge leurs applications tout au long de leur cycle de vie et d’avancer rapidement sans dépendre d’intervenants externes. De leur côté, de nombreuses équipes opérationnelles sont devenues des équipes « DevOps » ou SRE, chargées de promouvoir l’excellence opérationnelle. Leur objectif n’est plus d’exploiter elles-mêmes les logiciels, mais de fournir aux développeurs les outils, les connaissances et l’expertise nécessaires pour les rendre autonomes.
La sécurité, en revanche, n’a pas suivi le mouvement. Les équipes de sécurité sont restées en dehors des groupes DevOps, relèvent généralement d’un autre responsable et appliquent des processus complètement différents. Elles restent à l’écart des flux d’information, ce qui entraîne la mise en production d’applications non sécurisées, faute pour les spécialistes de disposer des informations dont ils ont besoin. De plus, lorsque les équipes de sécurité interviennent lors des audits, elles ralentissent les livraisons et vont à l’encontre de l’objectif initial de l’entreprise. Pour ne rien arranger, les équipes de sécurité manquent cruellement de personnel, une situation aggravée par la grave pénurie de talents qui touche le secteur de la cybersécurité.
Sécurité axée sur les développeurs et DevSecOps
Vous l’aurez compris : dans ce monde transformé par le numérique, le cloud et le DevOps, nous avons besoin d’une nouvelle approche de la sécurité. Cette approche, parfois appelée DevSecOps (un puissant mot à la mode, mais souvent galvaudé), doit s’appuyer sur ces nouvelles technologies et méthodes et intégrer la sécurité dès leur conception. Elle doit favoriser l’autonomie des équipes et accélérer l’activité au lieu de la ralentir. En d’autres termes, elle doit donner la priorité aux développeurs.
Une sécurité axée sur les développeurs signifie que ces derniers réalisent la majeure partie du travail de sécurité : conception de la sécurité, tests de sécurité, gestion du backlog de sécurité et, bien sûr, correction des problèmes, entre autres. Les équipes de développement d’applications doivent être autonomes et en mesure d’assumer ces responsabilités. L’organisation — et l’équipe de sécurité — doit leur faire confiance pour y parvenir. Une fois ces responsabilités confiées aux développeurs, ils peuvent sécuriser leurs applications au fil de leur création, à leur propre rythme.
Les équipes de sécurité jouent un rôle essentiel dans cette évolution. Tout comme les équipes opérationnelles avant elles, elles doivent s’adapter : passer de la mise en œuvre au conseil, de la responsabilité directe à l’accompagnement. Les développeurs auront naturellement moins d’expertise en sécurité. Les équipes de sécurité doivent donc trouver des moyens de diffuser leurs connaissances, de créer des outils et de donner aux développeurs les moyens de sécuriser leurs applications, de différentes façons. Elles doivent également continuer à piloter et à surveiller la sécurité pour connaître son état actuel et aider les deux parties à s’améliorer en continu.
Il s’agit d’un changement majeur, qui exige non seulement une nouvelle attitude, mais aussi de nouvelles compétences au sein des équipes de sécurité. Justin Somaini, dirigeant moderne de la sécurité et ancien RSSI de Yahoo!, Box, SAP (entre autres), s’attend à ce qu’un tiers, voire la moitié des effectifs de sécurité, soit renouvelé. Les nouvelles équipes pourront toutefois mettre leur expertise à profit plus souvent, au lieu de mener une bataille perdue d’avance pour rattraper leur retard.
Enfin, il faut revoir en profondeur les outils de sécurité. Il nous faut des solutions qui considèrent les développeurs comme leurs principaux utilisateurs, même si c’est l’équipe de sécurité qui signe le chèque. Ces solutions devraient moins ressembler aux fournisseurs traditionnels de sécurité des applications et davantage aux entreprises spécialisées dans les outils pour développeurs. À terme, elles supplanteront les acteurs historiques, comme cela s’est produit dans le monde du DevOps.
En résumé
La transformation numérique est une force qui pousse les entreprises à accélérer toujours davantage. Celles qui l’adoptent, mettent en œuvre efficacement le DevOps et tirent parti du cloud creusent l’écart avec leurs concurrentes. Celles qui prennent du retard risquent de ne jamais pouvoir le rattraper.
Mais le parcours ne s’achève que lorsque la sécurité suit le mouvement. Comme pour le DevOps, les organisations qui anticipent et adoptent le DevSecOps ainsi qu’une approche de la sécurité axée sur les développeurs obtiendront de meilleurs résultats que leurs pairs. Aujourd’hui, cela relève encore d’un acte de foi, mais dans quelques années, ce sera une évidence scientifique.
Lancez-vous dans les compétitions Capture The Flag
Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.
