bluebay2014 - stock.adobe.com

Comment Engie est passé au DevSecOps à grande échelle

Depuis 2021, la division France Retail d’Engie a renforcé la sécurité de ses applications. Elle mise sur la plateforme de Veracode pour débusquer les vulnérabilités dans son code et dans ses librairies. Elle a aussi converti ses « trains agiles » aux vertus du DevSecOps.

La division France Retail d’Engie commercialise l’énergie auprès des particuliers et assure la disponibilité de tous les services en ligne, comme le suivi de consommation, les programmes de fidélité, les options vertes, l’activité des panneaux photovoltaïques, etc.

Cette division héberge une dizaine de portails Web, et de nombreux serveurs middleware et backend pour porter ces applications : « cette activité représente de l’ordre de 450 repos applicatifs », résume Thibault Dubois, responsable des projets cyber de la direction grand public d’Engie. Et de préciser que « nos développeurs utilisent essentiellement les langages Java, du NodeJS, du Python pour la partie middleware et la Data Platform. Nous avons aussi du Ruby, du PHP de manière marginale, ou encore de l’APEX pour les applications Salesforce et des développements Android, Flutter et iOS pour les mobiles ».

Dès 2016, Engie a adopté une organisation agile. L’activité d’une partie de la DSI est organisée sous forme de trains selon le framework d’agilité à l’échelle SAFe. Trois trains ont été créés, qui regroupent de 5 à 10 équipes produits regroupées dans un train autour d’un même produit, d’une même roadmap. Celles-ci travaillent sur des incréments de 3 mois. 

L’industriel a mené sa migration vers le cloud entre 2018 et 2022, et de l’ordre de 90 % de ses actifs IT ont été migrés sur AWS, avec essentiellement SAP qui restait dans le datacenter du groupe. « Sur ces 90 %, au moins 80 % des applications étaient dockerisées et déployées de manière industrialisée en chaîne CI/CD sur des clusters », précise Thibault Dubois. Il ajoute qu’« à partir de 2021, nous avons commencé à mettre en place des outils de remontée des vulnérabilités et comme l’usage le veut, et nous avons obtenu un sapin de Noël avec des alertes un peu partout. Très vite, nous avons localisé le problème. Il s’agissait de notre gestion de l’obsolescence ».

« L’audit DSOMM a montré que nous étions très avancés sur le volet infrastructure, avec des applications poussées sur des clusters à jour. Par contre, sur le volet applicatif, nous n’avions pas de gestion des obsolescences. »
Thibault DuboisResponsable des projets cyber de la direction grand public, Engie

Les applications ont été dockerisées, mais les librairies et frameworks n’avaient pas été mis à jour à cette occasion : « il s’agit typiquement d’une problématique de type SCA (Software Composition Analysis) qui portait sur les frameworks, les librairies et les VM », ajoute le responsable.

Un audit lancé en 2022

Pour améliorer la situation, un audit est lancé avec Thales sur la base du DSOMM (DevSecOps Maturity Model) élaboré par l’OWASP. Cette analyse a permis d’établir le niveau de maturité de l’organisation à date et définir une maturité cible.

« L’audit a montré que nous étions très avancés sur le volet infrastructure, avec des applications poussées sur des clusters à jour », explique Thibault Dubois. « Par contre, sur la partie applications, nous n’avions pas de gestion des obsolescences : nous ne les détections pas et les applications n’étaient pas mises à jour en conséquence ».

Un manque est ainsi identifié en matière d’outillage. Les équipes devaient pouvoir disposer d’un logiciel de balayage de code pour les applications développées par ses équipes agiles, mais aussi pour les librairies ou encore le volet Infrastructure as Code Terraform

Dans la recherche d’une solution, Engie a défini 5 exigences fortes vis-à-vis de l’outil : il devait pouvoir assurer une détection des secrets dans le code, assurer le volet SCA avec le Bill Of Materials (BOM) des applications, assurer la recherche des vulnérabilités dans le code rédigé par les développeurs, vérifier la configuration des conteneurs, et enfin assurer une vérification des scripts mis en œuvre dans l’infrastructure as code.

L’entreprise étant déjà fortement engagée sur le cloud, le choix d’une solution SaaS n’était pas bloquant : « lorsque nous avons étudié les différentes solutions du marché, une possibilité était d’opter pour des outils Open Source. Cela impliquait de mettre en œuvre plusieurs solutions. Or les développeurs préféraient une plateforme unique qui puisse tout scanner, y compris tous les langages que nous utilisons ».

Le responsable souligne que les équipes ne disposaient pas de compétences AppSec en interne, ni côté cyber, ni côté infrastructure. L’outil devait aider les équipes à monter en compétences sur la sécurité du code. La solution de Veracode, est retenue en 2023 puis déployée sur 350 applications. 35 équipes et 180 personnes sont enrôlées sur la plateforme. La solution a été mise en œuvre par un ETP pendant 1 an et demi.

Une phase d’adoption peu contraignante pour les développeurs

Une phase cruciale dans le succès du déploiement d’une telle solution porte sur son adoption par les développeurs. Impossible d’imposer un outil de ce type et de bloquer les mises en production dès qu’une vulnérabilité est découverte.

L’intégration aux IDE mis en œuvre par les développeurs d’Engie (IntelliJ et Visual Studio Code) participe à l’adoption de la solution. Le développeur voit directement dans son environnement toutes les vulnérabilités de ses librairies. Une application peut en compter jusqu’à une centaine et la mise à jour d’une librairie peut être réalisée d’un clic via l’outil.

« Le fait que l’activité de l’entité soit organisée en trains aide beaucoup. »
Thibault DuboisResponsable des projets cyber de la direction grand public, Engie

L’organisation agile va aussi jouer un rôle dans cette évolution vers DevSecOps : « le fait que l’activité de l’entité soit organisée en trains aide beaucoup », estime Thibault Dubois. Ainsi, explique-t-il, « lorsqu’on s’adresse à un train, on touche 7 ou 8 équipes d’un coup, avec des product managers, des product owners. Ils comprennent rapidement l’intérêt de la démarche et entrent le projet dans leur backlog. Nous nous sommes aussi appuyés sur les membres de l’infrastructure qui nous ont aidés à automatiser la démarche, créer des étapes de pipeline (stages) dans GitLab et créer des modules qui ont ensuite été déployés sur 350 applications ».

Pour faciliter l’adoption de la solution, le responsable a choisi de ne pas bloquer le passage en production des applications affligées de vulnérabilités : « notre rôle est de remonter les vulnérabilités, mettre de la visibilité sur les problèmes, mais pas de bloquer le travail des équipes », explique Thibault Dubois. Une phase de sensibilisation a été menée auprès des équipes, dont les membres ayant montré une certaine appétence pour la cybersécurité ont été ciblés : « nous nous sommes appuyés sur les Security Champions et toutes les semaines, nous faisons un point avec eux sur les indicateurs de performances remontés par Veracode ».

Le responsable cyber souligne que la mise en place de DevSecOps va bien au-delà du seul déploiement d’un outil : « il faut se poser des questions sur les processus et les pratiques de chacun. Le CISO va vouloir prioriser les corrections à apporter, mais comment prioriser ? […] En fonction de son analyse de risque. Il va privilégier le SCA, car ce sont les vulnérabilités les plus fréquemment remontées par les outils de recherche de vulnérabilité du groupe. Pour autant, une faille dans le code de type SQL Injection dans une application front office en production est sans doute plus prioritaire que bien d’autres ».

Face à ces priorités divergentes, Engie a décidé que toutes les vulnérabilités critiques remontées par l’analyse statique du code applicatif (Static Application Security Testing, ou SAST) devaient être corrigées en priorité. En parallèle, le chantier de fond de la correction des vulnérabilités dans les frameworks et bibliothèques est mené pour réduire cette dette technique. En octobre 2024, 1 500 analyses avaient été réalisées et 20 000 « findings » ouverts via la plateforme Veracode.

Propos recueillis lors des Assises de la sécurité 2024.

Pour approfondir sur Menaces, Ransomwares, DDoS