Accueil Sécurité du code : au-delà du Shift Left

Sécurité du code : au-delà du Shift Left

La plateforme Prisma Cloud assure une corrélation des données relatives à l’application, ce qui lui permet de reconstituer les éventuels chemins d’attaque (attack path) que l’attaquant pourra emprunter pour hacker l’application.

La sécurité des applications passe par la qualité du code et une chasse aux vulnérabilités dès l’écriture du code source. Pourtant, tout l’édifice DevSecOps ne peut reposer uniquement sur les épaules du développeur. Par Alain Clapaud

Ce fut certainement l’une des démonstrations les plus impressionnantes de l’édition 2023 de GitHub Universe. L’IA générative devient un outil particulièrement efficace pour aider les développeurs à sécuriser leur code. Kedasha Kerr, Developer Adocate chez GitHub, a ainsi dévoilé une fonction appelée Code Scanning Autofix, encore en prévisualisation sur la plateforme : « Les scanners de sécurité peuvent trouver des failles dans le code depuis longtemps, mais maintenant vous n’avez plus seulement une notification. Il y a aussi une solution complète suggérée grâce à la puissance de l’IA. Cette capacité est appelée le Code Scanning Autofix. Il suggère les corrections à apporter au code source afin de remédier à la vulnérabilité. » En quelques clics, le développeur peut accepter ou modifier la proposition de l’IA générative et l’intégrer à son application. Cette fonctionnalité en annonce d’autres, notamment dans le domaine du secret scanning, c’est-à-dire la recherche des credentials (identifiants/mot de passe) cachés dans le code et qui représentent une sérieuse faille de sécurité pour les applications.

Une approche Shift Left qui atteint ses limites

De facto, de plus en plus d’outils sont à la disposition des développeurs pour vérifier la sécurité du code qu’ils écrivent. La règle qui veut qu’une vulnérabilité détectée au plus vite est moins coûteuse à corriger pousse les DSI à privilégier une approche Shift Left qui remonte ces contrôles en amont, c’est-à-dire sur les épaules du développeur. Une surcharge de travail alors que ce dernier est engagé dans des cycles de développement courts et n’a guère de loisirs entre les sprints… « L’outil détecte les vulnérabilités mais aide surtout les développeurs à remédier aux problèmes de sécurité du code, explique Frédéric Patouly, directeur régional France chez Veracode. On va lui indiquer la vulnérabilité découverte dans le code et proposer la façon dont il faut écrire ce bout de code pour y remédier. » Tout comme le Code Scanning Autofix de GitHub pour les développeurs ou le Security Copilot de Microsoft pour les analystes de sécurité, Veracode embarque de l’IA dans sa solution avec des résultats déjà probants  : « La fonctionnalité Veracode Fix est arrivée sur notre plateforme en avril dernier et, avec sept mois de recul sur du code Java, nous sommes déjà capables de proposer des corrections sur 74 % des vulnérabilités détectées. »

Pour Frédéric Patouly, lorsqu’une entreprise commence à lancer des scans de sécurité sur son portefeuille d’applications, elle découvre une masse de vulnérabilités, une dette de sécurité que les développeurs ont beaucoup de mal à traiter. En effet, ceux-ci sont continuellement pris dans leurs cycles de développement et la dette de sécurité ne cesse de grossir. « Les outils DevSecOps  permettent d’éviter d’ajouter de nombreuses vulnérabilités liées aux nouvelles applications à cette dette, mais pas véritablement de la traiter. L’IA et Veracode Fix vont pouvoir s’y attaquer. »

Une vulnérabilité détectée puis résolue d’un seul clic grâce à la proposition d’une IA générative, c’est la promesse de Code Scanning Autofix de GitHub.

Attention aux risques liés aux librairies embarquées dans le code

Outre l’analyse du code écrit par le développeur, Éric Antibi, directeur technique de Palo Alto Networks, souligne l’importance de faire ce que l’on appelle la Source Composition Analysis (SCA). « Dans les environnements cloud native, environ 75  % du code proviennent de la réutilisation, que ce soit du code open source ou de librairies diverses. L’enjeu est d’extraire des informations sur des vulnérabilités dans ce code récupéré sur Internet. » L’éditeur propose aujourd’hui une douzaine de modèles intégrés dans sa plateforme Prima Cloud, dont un module SCA, un autre dédié à l’infrastructure as code, un SAST (Static Analysis) pour l’analyse du code source, le secret scanning pour repérer les credentials, un module pour le CI/CD, un CSPM pour avoir une visibilité des assets déployés chez les différents fournisseurs cloud, un module de gestion des vulnérabilités, la partie API et enfin la protection du runtime. « Avec la version 5 de la plateforme Prisma Cloud, l’entreprise va disposer d’une vue réellement unifiée et globale, qui peut aussi bien être partagée auprès des développeurs que des experts en sécurité. »

Vers une approche plus large, le Shift Everywhere

Acteur de l’intégration continue dont l’activité gravite autour de Jenkins – comme les nombreux acteurs du DevOps –, CloudBees a étendu son offre autour de cet outil pour avoir une ouverture fonctionnelle de plus en plus large avec l’intégration continue, l’orchestration, le feature management, la sécurité et la compliance. « Le DevSecOps introduit une notion de Shift Left où l’on pousse les problèmes de cybersécurité vers les développeurs pour les résoudre au plus vite, argumente Sacha Labourey, cofondateur de CloudBees. Cela part d’un bon sentiment, mais le problème est que les équipes impliquées ne sont pas les mêmes.  » Face au ras-le-bol des développeurs, la solution prônée par CloudBees est de filtrer au maximum les données présentées aux développeurs. «  Plutôt que d’ajouter des couches au CI/CD, notre idée est plutôt de mettre un système dédié à la sécurité et à la compliance en parallèle de l’intégration continue. Chaque changement dans le code source, dans les binaires, les environnements ou la publication d’une CVE va déclencher un moteur de règles. Ces règles sont définies graphiquement par l’entreprise et nous fournissons des jeux de règles correspondant aux conformités DoRa ou SOC 2, par exemple, des règles qui sont indépendantes des outils et des cloud. » La solution CloudBees Security and Compliance embarque de nombreux outils open source, mais elle peut orchestrer les outils déjà mis en œuvre par l’entreprise comme Skyk ou Mend.io. La solution indique au développeur la vulnérabilité ou la non-conformité qu’il doit traiter en priorité et lui suggère la marche à suivre pour y parvenir.

Autre défenseur de l’approche Shift Everywhere : Checkmarx, un éditeur créé par un développeur. « Il y a aujourd’hui une grande complexité d’outillage et des surcoûts importants, explique Fabien Petiau, directeur régional France de Checkmarx. Notre valeur avec Checkmarx One 3.0 est de proposer une plateforme unique pour consolider tous ces outils et simplifier la vie des CISO et RSSI. Toute notre stratégie repose sur le Shift Everywhere. Il s’agit de simplifier la vie des développeurs au moyen de tâches prédéfinies et d’une interface conviviale, et surtout d’éliminer au maximum les faux positifs. »

L’éditeur propose une plateforme disponible en SaaS ou en on-premise. Il revendique en une seule intégration l’ajout d’une couche de sécurité sur la stack des développeurs. Cette notion de plateforme unique permet de consolider les résultats des différents scanners, de les corréler. «  Nous couvrons complètement le cycle DevSecOps et nous nous intégrons dans la chaîne CI/CD à différents endroits du cycle de développement. » Comme ses concurrents, Checkmarx travaille sur l’IA générative pour simplifier le travail des experts AppSec, mais un nouveau risque se dessine déjà : celui lié à la sécurité des IA, notamment les risques de fuites de données via les IA génératives. Encore une nouvelle problématique qu’il va falloir traiter et gérer par les DevSecOps.