À mesure que les cyberattaques gagnent en sophistication et se multiplient, les SBOM, ou nomenclatures des composants logiciels, sont devenues une pratique plus courante dans toute la chaîne d’approvisionnement logicielle afin de retracer les vulnérabilités avec la plus grande précision possible. Les nomenclatures des composants logiciels aident les acheteurs de logiciels à prendre des décisions d’achat mieux informées en révélant les différents composants d’une application.
Qu’est-ce qu’une nomenclature des composants logiciels (SBOM) ?
Une nomenclature des composants logiciels répertorie les composants d’un logiciel — qu’ils soient open source ou propriétaires — à des fins de transparence et de sécurité. Ces composants comprennent :
- Dépendances
- Micrologiciel
- Relations hiérarchiques
- Bibliothèques
- Licences
- Systèmes d’exploitation
- Métadonnées
Un SBOM fonctionne de manière comparable à une étiquette indiquant les informations nutritionnelles : il décrit les ingrédients utilisés pour développer le logiciel. Toutefois, un SBOM n’est pas seulement une liste de composants : c’est aussi un catalogue des versions et des mises à jour du logiciel. Autrement dit, il s’agit d’un document évolutif qui progresse avec le logiciel.
À quoi servent les SBOM ?
Le développement logiciel fait intervenir des tiers, créant une chaîne d’approvisionnement logicielle devenue de plus en plus vulnérable aux attaques. À titre d’exemple, le dépôt de code open source de Python s’est révélé vulnérable à des activités malveillantes en 2021. Tout logiciel tiers utilisant Python était exposé, de même que, plus loin dans la chaîne, les entreprises qui utilisaient ce logiciel. Si ce logiciel tiers avait disposé d’un SBOM, ses utilisateurs situés plus loin dans la chaîne d’approvisionnement auraient pu être informés de la vulnérabilité et l’examiner plus en détail.
Avantages des SBOM
Les SBOM sont utiles à toute organisation qui accorde la priorité à la sécurité. Selon Bren Briggs, vice-président de la division DevSecOps chez Hypergiant, un SBOM constitue un « composant essentiel du contrôle de la cybersécurité ». Briggs ajoute que « l’inventaire des actifs est le contrôle le plus fondamental dont disposent les organisations pour réduire le risque de vulnérabilités ». Étant donné que les cyberattaques deviennent plus complexes et plus fréquentes, Briggs estime que la mise en place d’un SBOM est une bonne pratique permettant aux organisations de « faire preuve de rigueur dans les contrôles de base » et d’atteindre « des niveaux de sécurité bien supérieurs, avec moins d’efforts et de coûts ».
Les SBOM donnent également plus de poids aux acheteurs de logiciels et garantissent l’adaptabilité, la conformité et l’intégrité de la chaîne d’approvisionnement.
Adaptabilité
Comme les SBOM contiennent un catalogue des versions antérieures du logiciel, ils permettent aux développeurs de revenir rapidement à une version précédente lorsqu’une mise à jour perturbe ou menace les performances et la sécurité du logiciel.
Pouvoir des acheteurs
Les SBOM offrent donc aux acheteurs de logiciels une meilleure visibilité sur le contenu d’un logiciel et ses vulnérabilités potentielles, et leur permettent de garder le contrôle du processus de recherche et d’achat avant de s’engager pour une application.
Conformité
Les SBOM ne relèvent pas uniquement de la discrétion des entreprises. Le président Biden a annoncé dans un décret présidentiel que les développeurs d’applications devaient fournir une nomenclature des composants logiciels afin d’améliorer la cybersécurité.
De même, conformément aux lois californienne et oregonienne de 2020 sur la cybersécurité de l’IoT, les fabricants doivent intégrer des fonctionnalités de sécurité standard au logiciel de leurs appareils, notamment des mises à jour de sécurité régulières et automatiques.
Les SBOM contiennent un journal des modifications et des versions du logiciel, ce qui permet au développeur de tenir facilement ses registres et de rester conforme aux normes réglementaires en cas d’audit.
Intégrité de la chaîne d’approvisionnement
Dans l’ensemble, la vigilance exercée tout au long de la chaîne d’approvisionnement logicielle a favorisé l’utilisation des SBOM à des fins de transparence. Du côté des fournisseurs, un SBOM aide les développeurs de logiciels à être plus vigilants quant aux composants tiers. Les SBOM améliorent la visibilité sur les composants logiciels, facilitent la gestion des dépendances entre composants et favorisent les bonnes pratiques et les normes du secteur. Ils renforcent l’intégrité de la chaîne d’approvisionnement, en veillant à ce que les développeurs, les fournisseurs et les clients soient informés et unis dans leur approche de la sécurité.
Inconvénients des SBOM
Difficulté
La rédaction d’un SBOM n’est pas une opération simple. Si une liste des différentes pièces convient à l’environnement manufacturier, ce n’est pas ainsi que se déroule le développement logiciel. Un développeur peut n’intégrer que certains fichiers, certaines fonctions ou certaines lignes de code d’un logiciel tiers, ce qui rend la rédaction d’un SBOM difficile.
Fausses alertes
Les composants logiciels ne sont pas intrinsèquement vulnérables ; ils ne le deviennent qu’en fonction de la manière dont ils sont utilisés au sein du logiciel. Il est donc trompeur pour les clients de s’appuyer sur un SBOM pour retracer les vulnérabilités, car le composant concerné peut n’être vulnérable que s’il est utilisé d’une certaine manière. Le contexte d’utilisation devrait donc être inclus dans les SBOM afin de ne pas déclencher de fausses alertes chez les clients.
Chronophage
Compte tenu de la difficulté à retracer les composants pour rédiger un SBOM, cette tâche prend également du temps. D’autres facteurs prolongent le processus, notamment la formation du personnel à l’utilisation d’un outil permettant de créer un SBOM conforme aux recommandations de la National Telecommunications and Information Administration (NTIA). Le temps nécessaire à la rédaction d’un SBOM ne saurait toutefois justifier que l’on renonce à la sécurité et à la transparence ; il s’agit néanmoins d’un défi de taille que les développeurs de logiciels doivent prendre en compte.
Manque de données
Les détracteurs de l’efficacité des SBOM citent le manque de données de la NTIA pour étayer leur efficacité dans la prévention des cyberattaques. Si les SBOM peuvent être utiles en théorie, ils pourraient finalement faire plus de mal que de bien en détournant l’attention des développeurs de logiciels et des clients de risques imminents plus graves.
Les SBOM : un pas dans la bonne direction
Les services SBOM s’intègrent de plus en plus aux offres de gestion des vulnérabilités, de gestion des risques liés aux tiers et d’analyse de la composition logicielle. Même si les SBOM ne sont ni préventifs ni une solution miracle contre les cyberattaques, ils constituent un pas vers davantage de transparence et de vigilance pour permettre aux développeurs de logiciels et aux clients d’identifier les risques et d’y remédier.
À lire ensuite : Meilleurs outils et logiciels de gestion des vulnérabilités en 2022