Voici un article d’expert pour les lecteurs de Solutions Numériques signé de Nicolas Massé, Solution Architect, spécialiste des questions de sécurité, chez Red Hat.
Traditionnellement, la sécurité est considérée comme un frein à l’innovation pour les équipes DevOps qui préfèrent avoir les mains libres pour explorer leur créativité et adopter des technologies cloud-native, comme Docker, Kubernetes, PaaS ou des architectures “serverless”. Or la sécurité nécessite l’instauration de politiques et de protocoles qui restreignent cette liberté et limitent les options. Une approche fragmentée ne fait qu’ajouter à cette complexité, alourdissant le fardeau qui pèse sur les équipes en charge de la sécurité, qui adoptent alors la plupart du temps une posture plus défensive en matière de gestion du risque.
La quasi-totalité des programmes logiciels incluent au moins un composant open source et cette omniprésence en fait une cible de choix. Ainsi, en 2021, le nombre d’attaques portant sur la chaîne d’approvisionnement, qui visent des vulnérabilités dans les communautés open source en amont, a connu une hausse de 650 % par rapport à l’année précédente (source sonatype). Une simple vulnérabilité peut potentiellement coûter des millions en amendes et bien davantage en matière de confiance. Le recours à de nouvelles ressources pour se prémunir contre ce type de risque peut se révéler compliqué : lorsque la sécurité est gérée en interne, l’investissement en matière de connaissances et de personnel ne doit pas être sous-estimé. « Savez-vous quel logiciel est utilisé ? Est-il compatible avec le dispositif de sécurité de votre infrastructure ? Avez-vous les moyens de détecter des vulnérabilités ? Êtes-vous en mesure de résoudre les problèmes que vous découvrez ? », autant de questions élémentaires auxquelles une équipe de sécurité doit pouvoir répondre avec assurance. Dans le cas contraire, quelles mesures une organisation doit-elle prendre ? L’arrêt au recours à des éléments open source comporte un risque tout aussi élevé. En 2021, toujours selon la même source, six millions de nouvelles versions de logiciels open source ont été mises sur le marché pour permettre aux entreprises de stimuler l’innovation et, à terme, d’augmenter leurs bénéfices.
Un modèle sécuritaire qui dit « oui »
La vision sécuritaire est fondamentalement liée à des questions de culture ; et plus particulièrement de culture ouverte. Au sein d’une culture ouverte, innovation et sécurité ne s’opposent pas. Au contraire, elles deviennent interchangeables. Il s’agit d’une approche fondée sur l’association de la sécurité et du développement – les DevSecOps. La sécurité n’est plus la responsabilité d’une seule équipe au dernier stade du développement. En raison de la brièveté des cycles de mise sur le marché actuels, elle doit s’appuyer sur le partage de connaissances et être incorporée au sein des flux de travail DevOps, au lieu de se concentrer uniquement sur le moment où l’application est sur le point d’être déployée en production. Cela nécessite souvent des transformations organisationnelles, l’introduction de nouveaux modes de travail, ainsi qu’une métamorphose culturelle.
Toutefois, la sécurité de l’open source s’étend au-delà des dynamiques internes ; car dans la lutte qui oppose entreprises et cybercriminels, il est important d’avoir l’avantage du nombre. Les cybercriminels pensent comme des développeurs et c’est ainsi qu’ils planifient leurs attaques. Par conséquent, plus l’entreprise dispose de développeurs occupés à chercher des bugs et des vulnérabilités dans le code, plus elle est en sécurité.
La transparence est aussi un élément clé ; la sécurité n’est plus un domaine opaque et secret. Elle est partagée, tout le monde en est responsable et les opérations se déroulent au grand jour. En matière d’open source, davantage de personnes sont en mesure de repérer une vulnérabilité, d’enquêter, de développer des correctifs et de les tester. Plus d’utilisateurs font également preuve de vigilance et disposent de moyens d’action. Les vulnérabilités sont détectées et corrigées rapidement et des enseignements en sont retenus. Cet effort collectif crée un cercle vertueux. La participation et l’ouverture dont cette approche s’accompagne comportent de nombreux avantages sur une vision propriétaire de la sécurité, qui repose sur la vigilance et les compétences d’un petit nombre.
L’un des principaux défis de l’open source réside dans le fait que les outils et technologies DevOps –conteneurs, Kubernetes, Docker, ou encore micro-services – sont fortement personnalisables et offrent des options de configuration variées, qui peuvent avoir un impact sur la posture de sécurité d’une application. Une mauvaise configuration constitue une menace pour la sécurité. La gestion automatisée de ces opérations, qui donne à la technologie (et non à des êtres humains) le rôle de garde-fou, permet de minimiser ces complications.
Connaître l’origine du code
La provenance a néanmoins son importance : connaître l’origine du code open source utilisé constitue la première ligne de défense. L’un des plus grands avantages de l’open source réside dans le fait que toutes les entreprises, quelle que soit leur taille, peuvent adopter et utiliser librement ces technologies. En contrepartie, il est nécessaire d’investir pour s’assurer que les projets sont correctement examinés, validés et sécurisés par les développeurs en interne avant leur mise en production.
Il est cependant possible de faire appel à des logiciels open source fournis par des prestataires qui effectuent les vérifications et les mises à jour de sécurité pour le compte de l’entreprise. Plus le nombre de fournisseurs de logiciels est réduit, moins le nombre de partenaires auxquels l’entreprise doit faire confiance pour offrir un accompagnement adapté est élevé. Des systèmes moins nombreux vont également de pair avec une complexité réduite, ce qui permet de minimiser la charge de travail. Il est essentiel de prendre en compte certaines caractéristiques : un logiciel issu d’un réseau de distribution validé et sécurisé et comportant des signatures qui garantissent son authenticité ; un code stocké dans des entrepôts internes sécurisés ; des packages signés et des garde-fous robustes qui protègent contre toute altération ; ainsi qu’un code sujet à des modifications minimales tout au long du cycle de vie du produit.
Transcender la sécurité
N’envisager la sécurité que dans un second temps peut donner lieu à des ingérences, des interruptions, des restrictions et, en définitive, empêcher l’entreprise de concentrer son attention et ses ressources à des activités qui favorisent sa croissance. Lorsqu’elle est considérée dès le départ – au sein du package logiciel, des processus de sécurité du distributeur et de la plateforme de déploiement – la sécurité est un facteur d’innovation. Elle devient un élément permanent, qui s’exécute en arrière-plan, hors de vue, et stimule discrètement la productivité sans jamais la mettre en péril.