La chaîne d'approvisionnement numérique n'est pas une seule chaîne. C'est un ensemble de chaînes superposées et interdépendantes qui traversent à la fois chaque pile technologique du monde. Les couches sont distinctes par leur nature technique et fortement couplées par leurs dépendances, et un changement sur l'une d'elles se propage à travers tout ce qui est construit par-dessus.
La couche dans laquelle se situe un constat détermine ce que l'on peut y faire. La façon dont les couches interagissent est ce qui a produit le constat en premier lieu.
La pile

À qui appartient chaque couche

Une matrice des huit couches de la chaîne d'approvisionnement numérique. Pour chaque couche : qui en est responsable, quelles preuves existent, et si elle est revue de façon habituelle. La colonne de revue indique rarement, presque jamais, partiellement, à l'intégration, à l'intégration, rarement, non et non.
Structure

Huit couches se tiennent entre une requête et ce qu'une personne voit

Du câble dans le sol à l'image sur l'écran. Chaque couche dépend de celles qui se trouvent en dessous, et chacune relève d'un ensemble différent de parties, revue selon un calendrier différent, par des personnes qui se parlent rarement.

01

Réseaux et infrastructure
Câble, fibre, spectre, satellite, équipements de routage, et les centres de données qui abritent tout le reste. Au-dessus du physique se trouve le logique : le système de noms qui transforme une adresse en destination, le protocole de routage qui décide du chemin, et les autorités de certification sur lesquelles repose toute connexion sécurisée. Une route détournée ou un certificat émis frauduleusement place sur le chemin une partie que l'application située au-dessus n'a aucun moyen de détecter. Le cadenas s'affiche toujours.

02

Logiciels et micrologiciels
Le logiciel embarqué qui commande le comportement du matériel, situé sous le système d'exploitation dans les équipements réseau, les serveurs, les machines des utilisateurs et le matériel industriel. Il est écrit par les fabricants, rarement soumis à la revue appliquée au code applicatif, et mis à jour par des canaux que la plupart des organisations ne surveillent pas. Il survit en outre à presque tout ce que l'on fait aux couches supérieures.

03

Matériel et appareils
La machine qu'une personne regarde réellement, les serveurs derrière chaque fournisseur de la chaîne, les équipements intermédiaires, et l'ensemble croissant de systèmes industriels, de bâtiment, médicaux et de réseaux publics qui présentent aujourd'hui des interfaces d'exploitation basées sur le navigateur. Ces interfaces sont assemblées à partir de la même chaîne d'approvisionnement que n'importe quelle autre application web, et les décisions prises à partir de ce qu'elles affichent ont des conséquences physiques.

04

Services et kits de développement
Les API commerciales et les kits de développement que les organisations intègrent plutôt que de les construire. Un SDK n'est pas une connexion de données passive ; c'est du code exécutable qui tourne avec les permissions de l'application qui l'héberge. L'organisation a revu la version un à l'intégration. Le fournisseur diffuse la version quatorze, aux capacités sensiblement plus larges, à tous ceux qui ont un jour intégré une version quelconque.

05

Code et bibliothèques logicielles
Le code propre, et l'ensemble sensiblement plus vaste de code tiers apporté de l'extérieur. Une partie est compilée dans l'application et figée à la version choisie. Une grande partie ne l'est pas : elle est détenue par d'autres parties et chargée depuis leurs systèmes lorsque l'application s'exécute, et c'est pourquoi une nomenclature, qui est un enregistrement de ce qui a été assemblé, ne la décrit pas.

06

Données, modèles et informations
Les applications ne chargent pas seulement du code. Elles chargent de la configuration, des indicateurs de fonctionnalité, des flux de contenu, des chaînes de localisation, des réponses d'API et, de plus en plus, les sorties de modèles hébergés par des tiers. Chacun est un intrant de chaîne d'approvisionnement que l'application traite et, dans la plupart des cas, affiche. C'est aussi la couche la moins documentée de la pile : il existe rarement un enregistrement des points de terminaison qu'une application consulte, encore moins de qui les détient, et les fournisseurs de modèles sont apparus comme une classe de sous-traitants plus vite que la pratique de déclaration ne s'y est adaptée.

07

Ressources et fichiers
Images, polices, feuilles de style, vidéo, audio et documents. Non exécutables, et pas passifs pour autant : une feuille de style décide de ce qui est visible et de ce qui est masqué, une police décide des caractères qui sont dessinés, une image porte de l'information directement dans le jugement d'une personne, et un document servi par une application est lu comme l'original parce que rien sur la page ne suggère le contraire.

08

L'interface
Toutes les couches inférieures convergent ici, dans l'image unique qu'une personne lit et sur laquelle elle agit. C'est le seul endroit où la chaîne assemblée est visible dans son ensemble, et c'est l'endroit qu'aucun cadre d'usage courant ne regarde. Chacun a été conçu pour confirmer que des composants individuels fonctionnent comme spécifié, et un assemblage n'est pas un composant.
En tant que système

L'exposition provient de l'interaction entre les couches

Le code dépend des données. Les données voyagent sur des réseaux. Les réseaux routent à travers du matériel. Le matériel exécute des micrologiciels. Les services consomment et produisent les données sur lesquelles le code agit. Les ressources sont livrées par des fournisseurs qui sont eux-mêmes des réseaux de matériel exécutant des micrologiciels. Un changement sur une couche se propage à travers toutes les couches supérieures qui en dépendent.
La surface d'attaque n'est donc pas la somme des faiblesses de chaque couche prise séparément. C'est l'ensemble des voies par lesquelles un changement sur une couche atteint l'interface en passant par plusieurs autres. C'est précisément ce que l'outillage au niveau du composant est fait pour manquer : le changement est distribué, les preuves sont fragmentées entre des couches appartenant à des parties différentes, et le résultat assemblé n'est visible que là où elles convergent.
Un graphe de la chaîne d'approvisionnement montrant un domaine source relié vers l'extérieur à plus de cent domaines et hôtes tiers observés au cours d'une seule session.
Les couches telles qu'elles apparaissent dans une session observée, et non comme un schéma d'architecture. Lire la méthode de cartographie.
Preuves

Certaines couches laissent une trace. Plusieurs n'en laissent presque aucune.

Aucune source ne couvre à elle seule la pile. Quatre corpus de preuves s'en approchent ensemble, et chacun a été réuni par des personnes différentes pour des raisons différentes. L'essentiel de la valeur se trouve aux endroits où ils se contredisent.
Comportement observé
Ce que l'application a réellement fait : les requêtes qu'elle a émises, le code qu'elle a exécuté, les charges utiles qu'elle a envoyées, le stockage qu'elle a écrit. Preuve primaire pour les couches du code, des données, des ressources et des services, et seule source qui reflète l'assemblage plutôt que ses pièces.
Registres techniques
Enregistrement des domaines, allocation des adresses, annonces de routage, transparence des certificats et enregistrements d'hébergement. Ceux-ci transforment un hôte observé en un exploitant nommé, et ils sont la voie par laquelle la couche réseau devient quelque chose sur quoi une personne peut raisonner.
Déclarations et contrats
Listes de sous-traitants, accords de traitement des données, rapports d'audit, nomenclatures et registres d'achats. Non pas la vérité de départ, mais l'affirmation mise à l'épreuve. Là où la déclaration est obligatoire, une omission est elle-même signalable.
Registres de sociétés
Registres du commerce, dépôts légaux, enregistrements de financement, données de sanctions et d'actions répressives. Ceux-ci mènent d'un exploitant à une société, à ses propriétaires et à la juridiction dont la loi régit ce qu'elle fait de vos données. La Cartographie de la chaîne de détention prend le relais à partir de là.

Une seule session traverse les huit couches à la fois

Aucune organisation ne peut auditer huit couches appartenant à des centaines de parties, et aucune n'en a besoin. Une seule session capturée enregistre chaque partie que l'application assemblée a réellement contactée, sur les huit couches en même temps, sans demander de liste à aucune d'elles. Rattacher ces parties aux sociétés qui se trouvent derrière, et confronter le résultat à ce qui a été déclaré, voilà la méthode.