Nombreuses sont les entreprises frileuses de mettre en place des outils de contrôle de sécurité dans leurs projets d’innovation. Elles imaginent devoir investir des moyens conséquents sur des fonctionnalités de sécurité qui retarderaient leurs livraisons, alors que le marché leur réclame toujours plus d’agilité et de rapidité. Pour autant, si un projet manque de moyens de sécurité, il est voué à l’échec car il coûtera cher à corriger a posteriori et qu’il impactera l’image de marque de la société.

Pour concilier agilité et sécurité, la solution serait de repenser l’organisation du projet et d’implémenter la sécurité dès le début d’un projet, et non à l’issue de ce dernier.

Le modèle DevSecOps pour intégrer la sécurité dès la conception

Débuter un projet en anticipant les failles de ses futurs applications et systèmes informatiques rompt avec les habitudes. En effet, les projets de développement sont généralement menés par des équipes successives. Elles ne prennent pas forcément en compte la sécurité durant le cycle de développement du projet, et finissent par traiter les vulnérabilités en dernier lieu. D’autant plus qu’aujourd’hui, de nombreuses entreprises se tournent vers le principe DevOps[1] afin de s’adapter aux demandes d’un marché de plus en plus exigeant, en faisant preuve de rapidité et d’agilité.

En quelques mots, le DevOps est avant tout un concept et une philosophie que les entreprises sont complètement libres de s’approprier. Au sein d’une même entreprise, cela se traduit par la mise en place d’un groupe de travail composé de différentes entités (équipe réseaux, équipe projets, équipe sécurité pour le DevSecOps, etc.) pour collaborer sur un projet de développement spécifique. A une échelle plus large, le DevOps a pour vocation de favoriser la collaboration et le partage d’informations entre les entreprises, parfois même concurrentes. Ainsi, en partageant plus et mieux leurs données, les entreprises enrichissent mutuellement leurs solutions (applications, logiciels, etc.) et accélèrent ainsi leur développement et leur business. Le modèle DevSecOps a l’avantage d’intégrer la sécurité dès le début du projet et ainsi de promouvoir l’approche de Security by Design[2].

3 étapes clés pour implémenter l’approche DevSecOps en entreprise

Le modèle DevSecOps tient en trois points. Le premier est d’instaurer une culture sécurité auprès de tous les collaborateurs, en les formant aux techniques nécessaires et en les incitant à faire régulièrement de la veille technologique. Cela peut se traduire par l’organisation de courtes sessions de sensibilisation autour de sujets sécurités liées à l’actualité. Mais aussi en permettant à ses collaborateurs de monter en compétences à l’aide de formations, éventuellement à distance grâce aux solutions d’e-learning. On peut aussi imaginer désigner un référent sécurité dans chaque équipe participant au projet.

La deuxième étape repose sur la mise en place de processus et de procédures liés à la sécurité en alignement avec les méthodes de production agile. L’intégration de la sécurité dans un cycle de développement agile doit commencer le plus tôt possible, ce qui, dans la plupart des cas, signifie dès la phase de définition des exigences. Cette approche, appelée « Shift Security Left », permet aux organisations de disposer d’un flux de travail entièrement sécurisé à chaque étape du cycle de développement du projet. Pour y parvenir, il faut veiller à intégrer la sécurité dans les processus de développement et opérationnels en mettant en place des dispositifs capables de détecter et d’alerter sur les problèmes de sécurité, mais aussi pour réagir en cas d’incident. Ils ne doivent pas être vus comme un frein à l’innovation puisqu’ils suppriment les goulots d’étranglement et permettent de livrer plus rapidement des produits sécurisés.

Le troisième point consiste à utiliser des outils dédiés et à favoriser l’automatisation. Les outils d’automatisation, par exemple, évitent les erreurs humaines dans les déploiements, car une manipulation involontaire ou des administrateurs qui ne s’appuient pas sur les mêmes standards peuvent engendrer des problèmes de sécurité. Parmi les autres outils dédiés, ceux qui reposent sur la découverte de vulnérabilités – du type solutions de revue de code ou de scanners – qui peuvent se greffer aux dispositifs existants. L’association de ces solutions à un outil de suivi des bugs permet d’inscrire automatiquement les remédiations à effectuer dans la liste des corrections que les développeurs doivent accomplir. Ces outils vont en définitif contribuer à améliorer la rapidité d’exécution des tests de sécurité et leur suivi. Ils aident aussi à renforcer la robustesse et la fiabilité de la solution produite. Il est donc important de s’appuyer sur des technologies performantes, voir innovantes. Cela ne peut se faire qu’en se tenant informés sur les avancées technologiques dans le domaine.

DevSecOps compatible avec d’autres pratiques de sécurité

Le modèle DevSecOps peut se conjuguer avec d’autres pratiques qui visent également à renforcer la sécurité sans nuire à l’agilité. Ainsi, la discipline dite de la défense en profondeur consiste à segmenter son application et son environnement en plusieurs couches, chacune dotée de contrôles de sécurité autonomes. Ainsi si une couche est compromise, cela permet de limiter la propagation de cette menace au sein de l’environnement.

Le Red Teaming (littéralement, constituer une équipe de « rouges ») consiste à confier à des collaborateurs la tâche de simuler des attaques sur les projets en cours afin de mettre en évidence ses faiblesses et ses vulnérabilités. L’enjeu des Red Teams est donc de mettre en avant les problèmes de sécurité mais surtout de proposer des solutions de corrections aux équipes. Ainsi, la démarche proactive prend le pas sur la démarche curative.

Enfin, une nouvelle approche qui prend de l’ampleur s’intitule le « bug bounty ». Contrairement aux prestations classiques de tests d’intrusion où une équipe de consultants est chargée de découvrir le maximum de vulnérabilités sur un temps imparti, il est question ici de faire appel à une communauté de chercheurs qui sera uniquement rémunérée pour chaque vulnérabilité remontée. À la clé, des économies substantielles sur les budgets de ses projets mais aussi une prestation qui ne sera pas limitée par le temps.

Plusieurs règles conditionnent toutes ces bonnes pratiques. Il est illusoire de basculer soudainement en mode DevSecOps, et préférable d’introduire étape par étape des petites mesures qui évolueront au cours du cycle de vie du projet. Le DSI occupe un rôle central dans la mise en application de ce modèle. En qualité de responsable hiérarchique, le DSI est la seule personne en position d’agir et de sensibiliser les collaborateurs aux processus de sécurité. Il représente ainsi la pierre angulaire entre les différentes équipes du projet (sécurité, exploitation, applications et architecture).

_______
[1]
DevOps : mélange des tâches qu’effectuent les équipes d’une entreprise chargées de développement des applications (Dev) et de l’exploitation des systèmes (Ops, pour les opérations)

[2] Security by Design : intégration de la sécurité dès la phase de conception

_________
Margot Priem est Consultante Sécurité chez Claranet France