Ce que contient une étiquette SWID
Une étiquette SWID n'est pas le logiciel lui-même. C'est un fichier de métadonnées qui accompagne le programme. L'installateur de l'éditeur le place généralement à un emplacement fixe lors de l'installation. Un outil d'inventaire peut le lire sans lancer le logiciel ni analyser entièrement le fichier.
Chaque étiquette enregistre l'éditeur, l'identité du produit (nom, version, édition et architecture ou plateforme cible), un identifiant unique distinct du nom du produit, et le type d'étiquette. Ce type indique s'il s'agit d'une installation principale, d'un correctif, d'un composant complémentaire ou d'un corpus de pré-installation. L'exemple ci-dessous montre la structure d'une étiquette selon le schéma ISO/IEC 19770-2, avec des valeurs fictives :
<SoftwareIdentity xmlns="http://standards.iso.org/iso/19770/-2/2015/schema.xsd" name="Example Editor" version="5.2.1" versionScheme="multipartnumeric" tagId="example-editor-5-2-1">
<Entity name="Example Corp" regid="example.com" role="softwareCreator"/>
</SoftwareIdentity>Pourquoi le standard existe
Avant SWID, chaque outil de gestion des actifs informatiques utilisait ses propres heuristiques pour reconnaître les logiciels installés. Il rapprochait les noms d'exécutables, les clés de registre ou les structures de dossiers. Ces éléments changent d'une version à l'autre et d'un éditeur à l'autre, si bien que la méthode est fragile. Un même produit peut apparaître sous plusieurs noms dans un parc. Un simple renommage ou un nouvel empaquetage peut amener un outil à mal compter les licences ou à manquer une version vulnérable.
L'ISO/IEC 19770-2 donne au secteur une source commune de vérité. L'éditeur déclare ce qui a été installé, dans un format standard que chaque outil lit de la même façon. Le rapprochement des licences et l'inventaire cessent alors de reposer sur des suppositions.
Comment l'étiquette atteint l'inventaire
L'étiquette suit quatre étapes, de l'installateur de l'éditeur jusqu'à la fiche d'inventaire :
- 1
Publication
L'installateur de l'éditeur écrit l'étiquette à côté du produit pendant l'installation.
- 2
Lecture
L'outil d'inventaire lit le fichier XML sans exécuter le logiciel.
- 3
Rapprochement
Le produit, l'édition et la version sont comparés aux droits achetés et aux versions vulnérables connues.
- 4
Enregistrement
Le résultat est stocké sous forme de fiche structurée, afin que chaque machine le signale de la même façon.
À quoi servent les étiquettes SWID
Les étiquettes répondent à quatre usages courants. Chacun a aussi une limite, qui découle de la couverture des étiquettes :
| Usage | Ce que fournit l'étiquette | Limite |
|---|---|---|
| Gestion des actifs logiciels | Un décompte exact des logiciels installés, sans rapprocher les noms de fichiers | Seuls les produits dont l'éditeur a créé une étiquette sont comptés |
| Rapprochement des licences | Identifiants exacts de produit et d'édition comparés aux droits achetés | Un produit sans étiquette reste hors de la comparaison |
| Correspondance des vulnérabilités et des correctifs | Produit et version associés aux versions vulnérables connues ; les étiquettes de correctif confirment l'application d'un correctif | Un produit sans étiquette ne peut pas être rapproché |
| Conformité réglementaire | Les référentiels qui citent le protocole SWIMA maintenu par le NIST attendent que les postes signalent les logiciels sous forme d'étiquettes SWID | Le rapport n'est complet que là où les étiquettes existent |
Où les étiquettes SWID montrent leurs limites en pratique
Le standard dépend de son adoption. Une étiquette SWID n'existe que si l'installateur de l'éditeur la crée. Un outil qui s'appuie uniquement sur les étiquettes aura donc des angles morts.
C'est pourquoi l'essentiel de l'inventaire logiciel reste construit par découverte automatisée, à partir de ce qu'un agent ou un scanner observe sur le poste. Les étiquettes SWID constituent un signal complémentaire, plus fiable, là où elles existent. Elles ne sont pas la source unique de vérité. Les principales preuves proviennent :
- des listes de programmes installés, telles que le système les enregistre
- des fichiers et des traces de registre laissés par l'installation
- des registres du gestionnaire de paquets
Étiquettes SWID et inventaire général
Il faut distinguer le standard de l'objectif. L'inventaire logiciel est l'objectif plus large : un relevé à jour et précis de chaque application installée sur les machines de l'organisation. Une étiquette SWID est une manière standardisée d'identifier précisément un produit installé.
Une organisation peut disposer d'un inventaire fiable, construit par découverte à base d'agents, sans jamais utiliser d'étiquette SWID. L'inverse existe aussi : une machine peut porter des étiquettes SWID pour certains produits, tandis que son inventaire global couvre le reste par d'autres moyens. La pratique plus large est décrite dans la gestion des actifs logiciels.
Comment cela apparaît dans Anexet
La liste des logiciels d'Anexet est construite à partir des attributs que l'agent lit sur chaque poste : nom, société, version et chemin. Dans Anexet Inventory, la fiche de chaque poste liste les programmes installés, de sorte que les logiciels que personne n'a demandés ressortent dans la liste.
Par où commencer
Il est judicieux de commencer par les produits qui coûtent le plus en licences ou qui présentent le plus de risques pour la sécurité, puis de vérifier si leurs éditeurs créent des étiquettes. Si c'est le cas, l'étiquette confirme le produit exact. Sinon, l'enregistrement du poste reste la source, et le processus d'inventaire le maintient à jour.
Une étiquette indique ce que l'éditeur affirme avoir installé. L'inventaire indique ce qui se trouve réellement sur la machine.
