Cyberattaques alimentées par l'IA : Comment détecter, prévenir et se défendre contre les menaces intelligentes

Lire la suite
Nous utilisons l'intelligence artificielle pour les traductions de sites et, bien que nous nous efforcions d'être précis, il se peut que les traductions ne soient pas toujours exactes à 100 %. Nous vous remercions de votre compréhension.

Formats SBOM : Points de vue d'experts sur la sécurité deSupply Chain Software 

par OPSWAT
Partager cet article

Un SBOM (Software Bill of Materials) est un élément fondamental pour garantir l'intégrité des composants logiciels, dont les origines remontent aux premiers efforts de développement de logiciels pour documenter les dépendances des logiciels libres dans les années 1990. Les SBOM aident les organisations à suivre les composants de leur pile d'applications logicielles et à maintenir la conformité avec les réglementations industrielles. Les écosystèmes logiciels devenant de plus en plus complexes, l'adoption de formats SBOM normalisés devient essentielle pour améliorer la sécurité et l'interopérabilité. 

Définir le SBOM 

UneBill of Materials (SBOM) Software Bill of Materials (SBOM) est un inventaire complet de tous les composants d'une application logicielle, y compris les éléments logiciels propriétaires, open-source et tiers. Elle fournit des métadonnées détaillées telles que le nom du logiciel, la version, le fournisseur, les informations de licence et les hachages cryptographiques pour la vérification.  

En offrant une visibilité totale sur les dépendances logicielles, les SBOM améliorent la transparence de la chaîne d'approvisionnement, permettent de vulnerability detection et favorisent la conformité aux réglementations. Ils aident les organisations à réduire les risques de sécurité, à rationaliser les audits et à améliorer la réponse aux incidents en identifiant et en traitant les menaces potentielles au sein de leur écosystème logiciel. 

Qu'est-ce qu'une norme SBOM ? 

Les normes SBOM (Software Bill of Materials) garantissent la cohérence et l'interopérabilité entre les différents secteurs et organisations en fournissant un cadre unifié pour la documentation des composants logiciels. Ces normes aident les entreprises à rationaliser la gestion des vulnérabilités, à se conformer à l'évolution des exigences réglementaires et à faciliter une collaboration transparente entre les producteurs de logiciels, les vendeurs et les utilisateurs finaux.

En adoptant des formats SBOM normalisés, les organisations peuvent améliorer la sécurité de la chaîne d'approvisionnement en logiciels, réduire le risque de falsification des logiciels et améliorer la transparence globale des logiciels.

Qu'est-ce qu'un format SBOM ? 

Les formats de SBOM sont des schémas normalisés, lisibles par une machine, utilisés pour structurer et partager les données contenues dans un SBOM. Ces formats définissent la manière dont les détails des composants logiciels sont représentés et échangés entre les systèmes.

Les formats SBOM les plus utilisés sont SPDX et CycloneDX, qui permettent tous deux l'automatisation, l'interopérabilité et la traçabilité tout au long du cycle de vie des logiciels. Ces formats permettent d'améliorer la vulnerability detection, la conformité réglementaire et la gestion des risques de la chaîne d'approvisionnement en garantissant une documentation cohérente des composants logiciels.

Composants clés d'un SBOM 

graphique montrant les composants clés d'une nomenclature logicielle (sbom)

Pour être efficace, un SBOM doit contenir des éléments clés qui offrent une transparence totale sur un logiciel. La NTIA (National Telecommunications and Information Administration) des États-Unis définit sept composants minimums pour un SBOM

  • Détails du fournisseur : Identifie l'entité responsable du logiciel. 
  • Nom duSoftware et du composant : Identifie le composant logiciel. 
  • Informations sur la version : Spécifie les détails de la version du composant. 
  • Nom de l'auteur : La personne ou l'organisation (mais pas l'outil) qui a créé le rapport SBOM. 
  • Relations entre les composants : Décrit les dépendances et les interactions entre les éléments du logiciel. 
  • Horodatage : Partie des méta-informations du SBOM qui précise la date et l'heure auxquelles le rapport a été produit. 
  • Autres identifiants uniques : Fournit des informations supplémentaires pour définir les composants logiciels 

Les autres éléments essentiels sont les suivants : 

  • Type de SBOM : fournit un contexte sur la manière dont le rapport du SBOM est nécessaire et sur la raison pour laquelle il l'est. 
  • Informations sur la licence : Définit les droits d'utilisation du logiciel.
  • Hachures cryptographiques : Garantit l'intégrité et l'authenticité des composants. 

Format SPDX SBOM

Le format SPDX (Software Package Data Exchange), développé par la Fondation Linux, est une norme SBOM largement utilisée, conçue pour faciliter la conformité aux licences open-source et le suivi des composants logiciels. Il offre un moyen structuré de documenter les composants logiciels et leurs métadonnées associées, ce qui en fait un outil essentiel pour la transparence et la sécurité des logiciels.

En outre, SPDX est le format qui a reçu le statut de certification ISO (Organisation internationale de normalisation), ce qui en fait le format qui répond aux exigences de normalisation et d'assurance qualité.

Les documents au format SPDX contiennent plusieurs éléments clés :

Informations sur le paquet

Décrit le paquet, qui peut consister en un ou plusieurs fichiers - y compris le code source, les binaires, les documents, etc. D'autres types d'informations incluent des détails sur l'auteur original, la source, l'URL de téléchargement, la somme de contrôle et une vue d'ensemble des licences.

Métadonnées au niveau du fichier

Détails sur les fichiers spécifiques, tels que la licence, la somme de contrôle, les contributeurs du fichier, etc.

Autres informations sur les licences

Assurer la gestion de la propriété intellectuelle en spécifiant les licences des logiciels.

Liste des dépendances Software

Documente la hiérarchie des dépendances logicielles.

Annotations et relations

Fournit des métadonnées supplémentaires et établit des relations entre les artefacts logiciels.

Le format SPDX prend en charge plusieurs formats, ce qui permet une certaine flexibilité en fonction des cas d'utilisation et de la compatibilité des outils :

  • Étiquette/Valeur (.spdx) : Un format simple basé sur le texte
  • JSON (.spdx.json) : Un format léger, lisible par une machine
  • YAML (.spdx.yml) : Un format de sérialisation de données convivial
  • RDF/XML (.spdx.rdf) : Un format structuré pour la représentation de données sémantiques
  • Feuille de calcul (.xls) : Format tabulaire utile pour l'analyse manuelle

SPDX est largement adopté par les grandes entreprises technologiques, les organismes de réglementation et les communautés de logiciels libres. Il est couramment utilisé pour :

  • Gestion des licences de logiciels libres : Aide les organisations à suivre et à respecter les exigences en matière de licences de logiciels libres.
  • Audit de sécurité : Fournit des informations sur les composants logiciels afin de détecter les vulnérabilités et de gérer les risques.
  • Conformité réglementaire : Garantir le respect des normes industrielles et des exigences légales en matière de transparence des logiciels.
  • Suivi de la provenance desSoftware : Établit un lien clair entre les composants logiciels pour une meilleure responsabilisation.

En tirant parti du format SPDX, les organisations peuvent renforcer la sécurité de la chaîne d'approvisionnement, rationaliser les efforts de mise en conformité et obtenir une meilleure visibilité de leurs écosystèmes logiciels.

graphique comparant le format sbom spdx et le format sbom cyclone dx

Format du SBOM CycloneDX 

Développé par la fondation OWASP, le format CycloneDX fournit une nomenclature complète (Bill of Materials), y compris le SBOM, et est conçu en mettant l'accent sur la sécurité, la gestion des vulnérabilités et la transparence complète des logiciels. Il fournit un modèle d'objet prescriptif qui décrit efficacement les relations complexes entre les composants logiciels, les services et les dépendances. 

Les principales caractéristiques du format CycloneDX sont les suivantes :

Représentation extensive des métadonnées

Il recueille les coordonnées des fournisseurs, les informations sur les licences, les auteurs, les outils, les processus de fabrication, etc.

Conception axée sur la sécurité

Permet l'identification précise des vulnérabilités, l'analyse de l'exploitabilité et la prise en charge des cas d'utilisation VEX.

Cartographie de la dépendance et de la composition

Représente les relations directes et transitoires entre les composants logiciels et les services.

Formats de sérialisation multiples

Prise en charge de JSON, XML et des tampons de protocole (protobuf), garantissant une large compatibilité avec les outils de sécurité.

Conformité et normalisation

S'intègre aux normes de sécurité telles que OWASP ASVS, MASVS, SCVS et SAMM, fournissant un cadre lisible par machine pour le suivi de la conformité.

Grâce à son architecture robuste et à son approche axée sur la sécurité, CycloneDX est largement adopté dans les applications axées sur la cybersécurité pour la gestion des vulnérabilités et le contrôle de la sécurité. Cela fait du format CycloneDX un outil essentiel pour la gestion des risques dans la chaîne d'approvisionnement des logiciels. 

CycloneDX vs SPDX Formats 

Fonctionnalité SPDX CycloneDX
Focus Conformité aux licences de logiciels libres et propriété intellectuelleSécurité des applications et analyse de la chaîne d'approvisionnement
Caractéristiques Métadonnées complètes pour les composants logicielsLéger et convivial, il met l'accent sur les données essentielles des composants et sur l'évaluation de la sécurité.
Cas d'utilisation Licences de logiciels libres (à l'origine), audits de conformité et provenance des logicielsGestion des vulnérabilités, analyse de la chaîne d'approvisionnement des logiciels et surveillance de la sécurité
L'adoption Grandes entreprises technologiques et équipes chargées de la conformitéFournisseurs d'outils de sécurité et entreprises de cybersécurité, équipes DevSecOps

Exploration des étiquettes SWID 

graphique montrant les applications des étiquettes swid

Applications des étiquettes SWID 

Pour gérer correctement les logiciels, les entreprises doivent tenir des inventaires logiciels précis de leurs appareils gérés, afin de soutenir les fonctions de haut niveau de l'entreprise, des technologies de l'information et de la cybersécurité. Des inventaires logiciels précis aident les organisations à : 

  • Gérer la conformité avec les accords de licence de logiciel en suivant les installations et l'utilisation, afin d'éviter les coûts inutiles. 
  • Garantir le respect des politiques de l'organisation, en réduisant l'empreinte logicielle et la surface d'attaque. 
  • Vérifier les mises à jour et les correctifs pour atténuer les vulnérabilités connues et les cybermenaces. 
  • Évaluer les configurations par rapport aux politiques de sécurité afin de renforcer les systèmes et de réduire les vecteurs d'attaque. 
  • Planifier les investissements pour la mise à niveau des logiciels et le remplacement des systèmes existants. 

Bien que certains fournisseurs proposent des outils pour la gestion des licences, les mises à jour, les correctifs et le suivi de la configuration, les entreprises utilisent souvent plusieurs outils pour gérer différents produits logiciels. Cette fragmentation augmente le risque d'erreur humaine et les contraintes de ressources, limitant la capacité d'une organisation à maintenir une gestion active des logiciels. Un mécanisme unifié est nécessaire pour fournir une vue d'ensemble de tous les logiciels d'une entreprise, quel que soit le fournisseur. 

Les étiquettes SWID (Software Identification), telles que définies par la norme ISO/IEC 19770-2:2015, répondent à ce besoin en fournissant un moyen transparent de suivre les logiciels installés sur les appareils gérés. Les fichiers d'étiquettes SWID contiennent des métadonnées descriptives sur une version logicielle spécifique et suivent un cycle de vie au cours duquel ils sont ajoutés lors de l'installation et supprimés lors de la désinstallation. Ce cycle de vie garantit que la présence d'une étiquette SWID correspond directement à la présence du produit logiciel qu'elle décrit. 

Le NIST (National Institute of Standards and Technology) recommande l'adoption de la norme SWID Tag, et plusieurs organismes de normalisation, dont le TGC (Trusted Computing Group) et l'IETF (Internet Engineering Task Force), ont intégré les SWID Tags dans leurs normes.  

Le NIST continue de promouvoir les étiquettes SWID en vue d'une adoption plus large dans la communauté des logiciels et d'une intégration dans les données de référence sur la cybersécurité et le contenu de l'automatisation de la sécurité. En outre, le NIST a intégré les données des étiquettes SWID dans la base de données nationale sur les vulnérabilités (NVD) et dans la version 1.3 du protocole d'automatisation du contenu de la sécurité (SCAP), améliorant ainsi le suivi des vulnérabilités et la gestion de la sécurité. 

En intégrant les étiquettes SWID dans les cadres d'automatisation de la sécurité, les entreprises peuvent améliorer le suivi de l'inventaire des logiciels, l'évaluation des vulnérabilités, le contrôle de la conformité et la position générale en matière de cybersécurité. 

Importance des nomenclatures Software 

Les SBOM jouent un rôle crucial dans la transparence et la responsabilité des logiciels. Ils fournissent des informations sur la chaîne d'approvisionnement des logiciels, permettant aux organisations de vérifier l'intégrité des composants logiciels. Ce niveau de transparence réduit le risque d'altération des logiciels et de modifications non autorisées, renforçant ainsi la confiance entre les producteurs de logiciels, les vendeurs et les utilisateurs finaux. 

En outre, les SBOM soutiennent la réponse aux incidents et la gestion du cycle de vie des logiciels. Lorsque des vulnérabilités sont découvertes, le fait de disposer d'un SBOM détaillé permet aux équipes de sécurité d'évaluer rapidement l'impact et de mettre en œuvre les correctifs de manière efficace. Cette approche proactive minimise les temps d'arrêt et garantit que les systèmes critiques restent protégés contre les nouvelles menaces. 

Les SBOM dans le domaine de la sécurité et de la conformité 

Un SBOM est un outil essentiel pour garantir la sécurité des logiciels et la conformité aux réglementations. En fournissant un inventaire complet de tous les composants logiciels, les SBOM permettent aux organisations de suivre et de gérer les vulnérabilités plus efficacement. Ils permettent aux équipes de sécurité d'identifier et d'atténuer les risques de manière proactive, en s'assurant que toutes les dépendances tierces et open-source sont à jour et exemptes d'exploits connus. Cette visibilité est essentielle à mesure que les cybermenaces deviennent plus sophistiquées et omniprésentes. 

Les cadres réglementaires tels que le NIST, l'ISO, l'ordre exécutif 14028 et d'autres guides techniques régionaux imposent des mesures plus strictes en matière de transparence et de sécurité des logiciels, ce qui fait des SBOM une exigence essentielle en matière de conformité. Les organisations qui s'appuient sur les SBOM peuvent plus facilement démontrer qu'elles respectent ces normes, évitant ainsi d'éventuelles répercussions juridiques et financières. En maintenant des SBOM précis et à jour, les entreprises peuvent rationaliser les audits, réduire les frais de mise en conformité et s'assurer que les logiciels sont conformes aux réglementations du secteur. 

Comparaison des formats de SBOM 

Forces et faiblesses 

Chaque format de SBOM répond à des objectifs différents et il est donc essentiel de choisir le bon en fonction de ses besoins spécifiques. 

Fonctionnalité Points fortsFaiblesses
SPDXComplet et largement utilisé. L'accent est mis sur l'octroi de licences et la conformité. Peut être complexe pour les petits projets
CycloneDX Optimisé pour la gestion de la sécurité et de la vulnérabilité. Moins d'importance accordée aux détails de l'autorisation
Tags SWID Intégré au logiciel Normalisation limitée entre les secteurs d'activité

Conclusion 

La compréhension et la mise en œuvre des SBOM sont essentielles pour la sécurité des logiciels modernes. En exploitant des formats tels que SPDX, CycloneDX et les étiquettes SWID, les organisations peuvent améliorer la transparence de leur chaîne d'approvisionnement en logiciels et atténuer les risques de sécurité. 

Prochaines étapes 

Évaluez les pratiques actuelles de votre organisation en matière de chaîne d'approvisionnement en logiciels et explorez les formats SBOM qui correspondent à vos besoins en matière de sécurité et de conformité. 

Pour en savoir plus sur la sécurisation de votre chaîne d'approvisionnement en logiciels avec des solutions SBOM robustes, visitez la solution Sécurité deSupply Chain Software OPSWAT

Restez à jour avec OPSWAT!

Inscrivez-vous dès aujourd'hui pour recevoir les dernières mises à jour de l'entreprise, de l'entreprise, des histoires, des informations sur les événements, et plus encore.