Les attaques sur la supply chain logicielle explosent, et les solutions de sécurité s’adaptent en conséquence. Dépendances, SBOM, conteneurs : chaque maillon doit être protégé pour éviter les intrusions. Apiiro entre dans la danse avec deux outils open-source capables de détecter et stopper le code malveillant avant même qu’il n’atteigne la production.
À l’ère de chaînes CI/CD et des plateformes, la chaîne d’approvisionnement logicielle est devenue le pilier central du développement et du déploiement des applications modernes. Cette chaîne englobe l’ensemble des composants, des bibliothèques, des outils et des processus utilisés pour créer et distribuer un produit logiciel. Avec l’augmentation de la complexité et de l’interconnexion des systèmes, la sécurité de cette chaîne est devenue une préoccupation majeure. Des incidents récents ont démontré que la compromission d’un seul maillon peut avoir des répercussions catastrophiques sur des milliers d’organisations à travers le monde. Sa protection est donc devenue l’une des grandes priorités des DSI et RSSI alors que depuis la tristement célèbre affaire SolarWinds les attaques sur la supply chain logicielle n’ont cessé de se multiplier.
Un écosystème d’outils de protection en formation
Et forcément, les éditeurs de solutions de cybersécurité ont commencé depuis deux à réellement se pencher sur la question. Même si la protection de cette chaîne logicielle impose en réalité une démarche globale, elle s’appuie sur différents types d’outils de protection et de surveillance. Plusieurs catégories de nouveaux boucliers ont ainsi émergé :
- Analyse et gestion des dépendances
Ces outils examinent les bibliothèques et composants tiers intégrés aux projets pour identifier et remédier aux vulnérabilités potentielles. Ils assurent que les dépendances utilisées sont sécurisées et à jour. Des outils comme Snyk, SonarQube ou Dependabot (intégré à GitHub) en font partie. - Génération et gestion des SBOM (Software Bill of Materials)
Les SBOM fournissent un inventaire détaillé des composants logiciels utilisés dans un projet. Les outils de cette catégorie créent et gèrent ces inventaires, offrant une visibilité complète sur les dépendances et facilitant l’identification rapide des vulnérabilités. CycloneDX, Microsoft SBOM Tool et la solution open source Syft en sont de bons exemples. - Surveillance et journalisation
Ces outils assurent une surveillance continue des pipelines CI/CD et des environnements de production pour détecter des comportements anormaux ou des accès non autorisés. Ils collectent et analysent les journaux d’événements pour faciliter la détection et la réponse aux incidents de sécurité. Splunk, Datadog, Prelude SIEM et bien d’autres outils sont aujourd’hui exploités pour cette surveillance en continu. - Intégration de la sécurité dans les conteneurs
Avec l’adoption croissante des conteneurs, ces outils se concentrent sur la sécurisation des images de conteneurs, la gestion des configurations et le contrôle des accès pour prévenir l’introduction de vulnérabilités dans les environnements conteneurisés. Des scanners comme Trivy, Clair et Anchore sont spécialisés dans la sécurisation des containers. - Modélisation des menaces
Ces outils aident à anticiper et à identifier les menaces potentielles en analysant les architectures et les flux de données. Ils permettent de concevoir des stratégies de mitigation adaptées en fonction des vulnérabilités identifiées. On citera en exemple des outils comme OWASP Threat Dragon et Microsoft Threat Modeling Tool.
Des outils en open source chez Apiiro
C’est dans ce contexte d’outils qui s’organisent pour défendre la supply chain que Apiiro annonce le lancement de deux nouveaux outils open-source destinés à détecter et bloquer l’intégration de codes malveillants dès la phase de développement.
Le premier est un ensemble de règles optimisées pour Semgrep et Opengrep, qui identifie des schémas de code suspects souvent présents dans les logiciels malveillants mais rarement dans les programmes légitimes. Ce ruleset affiche un taux de détection remarquable, avec 94,3 % pour les packages PyPI et 88,4 % pour ceux du npm, et se distingue par son faible taux de faux positifs, garantissant ainsi une fiabilité en conditions réelles.
Le second outil, PRevent, s’intègre directement à GitHub pour analyser en temps réel les pull requests. Il intercepte automatiquement les modifications suspectes avant leur fusion, avec un taux de détection de 91,5 %, permettant ainsi de bloquer l’intégration de code potentiellement dangereux. Les équipes peuvent choisir de faire approuver manuellement les modifications ou d’ajouter des commentaires explicatifs pour alerter sur les risques identifiés.
Ces outils reposent sur une analyse statique du code, permettant de détecter sans exécuter le code des techniques d’obfuscation, l’utilisation de fonctions sensibles, le téléchargement de charges malveillantes et les méthodes d’exfiltration de données.
Bien sûr ces projets sont encore naissants et incomplets. Typiquement ils ne couvrent pas encore la détection de malwares cachés dans des binaires compilés ni le scan direct des packages npm et PyPI. Des améliorations sont déjà prévues, comme l’analyse approfondie du code et des scans assistés par intelligence artificielle. Développés en open source et accessibles gratuitement sur GitHub, ils sont accompagnés d’instructions détaillées pour leur intégration dans les pipelines CI/CD, offrant ainsi aux développeurs une solution efficace pour renforcer la sécurité de leurs projets dès la phase de revue de code.
Ces outils sont à découvrir ici : Guard your Codebase: Practical Steps and Tools to Prevent Malicious Code