A cadeia de suprimentos digital não é uma única cadeia. É um conjunto de cadeias sobrepostas e interdependentes que correm ao mesmo tempo por cada pilha tecnológica do mundo. As camadas são distintas em caráter técnico e fortemente acopladas nas suas dependências, e uma mudança em qualquer uma delas viaja adiante por tudo o que foi construído sobre ela.
Em qual camada uma constatação se situa determina o que se pode fazer a respeito. Como as camadas interagem é o que produziu a constatação em primeiro lugar.
A pilha

De quem é cada camada

Uma matriz das oito camadas da cadeia de suprimentos digital. Para cada camada: quem é responsável, que evidências existem, e se ela é revisada de forma rotineira. A coluna de revisão diz raramente, quase nunca, parcialmente, na integração, na integração, raramente, não e não.
Estrutura

Oito camadas ficam entre uma requisição e o que uma pessoa vê

Do cabo no chão à imagem na tela. Cada camada depende das que estão abaixo, e cada uma é responsabilidade de um conjunto diferente de partes, revisada em um calendário diferente, por pessoas que raramente conversam entre si.

01

Redes e infraestrutura
Cabo, fibra, espectro, satélite, equipamentos de roteamento e os centros de dados que abrigam todo o resto. Acima do físico está o lógico: o sistema de nomes que transforma um endereço em destino, o protocolo de roteamento que decide o caminho, e as autoridades certificadoras sobre as quais repousa toda conexão segura. Uma rota sequestrada ou um certificado emitido de forma fraudulenta coloca no caminho uma parte que a aplicação acima não tem como detectar. O cadeado continua aparecendo.

02

Software e firmware
O software embarcado que controla como o hardware se comporta, situado abaixo do sistema operacional em equipamentos de rede, servidores, máquinas de usuário final e hardware industrial. É escrito pelos fabricantes, raramente submetido à revisão que se aplica ao código de aplicação, e atualizado por canais que a maioria das organizações não acompanha. Além disso, sobrevive a quase tudo o que se faz nas camadas acima dele.

03

Hardware e dispositivos
A máquina que uma pessoa está de fato olhando, os servidores por trás de cada fornecedor da cadeia, os equipamentos intermediários, e o conjunto crescente de sistemas industriais, prediais, médicos e de utilidades que hoje apresentam interfaces de operação baseadas em navegador. Essas interfaces são montadas com a mesma cadeia de suprimentos de qualquer outra aplicação web, e as decisões tomadas a partir do que elas exibem têm consequências físicas.

04

Serviços e kits de desenvolvimento
As API comerciais e os kits de desenvolvimento que as organizações integram em vez de construir. Um SDK não é uma conexão de dados passiva; é código executável rodando com as permissões da aplicação que o hospeda. A organização revisou a versão um na integração. O fornecedor está distribuindo a versão quatorze, com capacidades substancialmente mais amplas, a todos que integraram alguma versão.

05

Código e bibliotecas de software
O código próprio e o conjunto substancialmente maior de código de terceiros trazido de fora. Parte dele é compilada na aplicação e fixada na versão escolhida. Boa parte não: fica com outras partes e é carregada dos sistemas delas quando a aplicação roda, e é por isso que uma lista de materiais, sendo um registro do que foi montado, não a descreve.

06

Dados, modelos e informações
As aplicações não carregam só código. Carregam configuração, sinalizadores de funcionalidade, fluxos de conteúdo, textos de localização, respostas de API e, cada vez mais, as saídas de modelos hospedados por terceiros. Cada uma é um insumo de cadeia de suprimentos que a aplicação processa e, na maioria dos casos, coloca na tela. É também a camada menos documentada da pilha: raramente existe registro de quais endpoints uma aplicação consulta, e menos ainda de quem os mantém, e os fornecedores de modelos chegaram como uma classe de subprocessador mais rápido do que a prática de divulgação se ajustou a eles.

07

Recursos e arquivos
Imagens, fontes, folhas de estilo, vídeo, áudio e documentos. Não executáveis, e também não passivos: uma folha de estilo decide o que é visível e o que fica oculto, uma fonte decide quais caracteres são desenhados, uma imagem leva informação direto ao juízo de uma pessoa, e um documento servido por uma aplicação é lido como o original porque nada na página sugere o contrário.

08

A interface
Todas as camadas abaixo convergem aqui, na única imagem que uma pessoa lê e sobre a qual age. É o único lugar em que a cadeia montada é visível como um todo, e é o lugar para o qual nenhum modelo de uso comum olha. Cada um foi construído para confirmar que componentes individuais funcionam conforme o especificado, e uma montagem não é um componente.
Como sistema

A exposição vem da interação entre as camadas

O código depende dos dados. Os dados viajam por redes. As redes roteiam por hardware. O hardware executa firmware. Os serviços consomem e produzem os dados sobre os quais o código age. Os recursos são entregues por fornecedores que são, eles mesmos, redes de hardware executando firmware. Uma mudança em qualquer camada se propaga por todas as camadas acima que dependem dela.
Portanto, a superfície de ataque não é a soma das fraquezas de cada camada tomada separadamente. É o conjunto de caminhos pelos quais uma mudança em uma camada alcança a interface passando por várias outras. É exatamente isso que as ferramentas em nível de componente foram feitas para não ver: a mudança está distribuída, as evidências estão fragmentadas entre camadas que pertencem a partes diferentes, e o resultado montado só é visível onde elas convergem.
Um grafo da cadeia de suprimentos mostrando um domínio de origem conectado para fora a mais de cem domínios e hosts de terceiros observados em uma única sessão.
As camadas como aparecem em uma sessão observada, e não como um diagrama de arquitetura. Ler o método de mapeamento.
Evidências

Algumas camadas deixam registro. Várias quase não deixam nenhum.

Nenhuma fonte cobre sozinha a pilha. Quatro conjuntos de evidências chegam perto juntos, e cada um foi reunido por pessoas diferentes por razões diferentes. A maior parte do valor está nos pontos em que eles se contradizem.
Comportamento observado
O que a aplicação de fato fez: as requisições que fez, o código que executou, as cargas úteis que enviou, o armazenamento que escreveu. Evidência primária das camadas de código, dados, recursos e serviços, e a única fonte que reflete a montagem em vez das suas peças.
Registros técnicos
Registro de domínios, alocação de endereços, anúncios de roteamento, transparência de certificados e registros de hospedagem. Eles transformam um host observado em um operador com nome, e são o caminho pelo qual a camada de rede se torna algo sobre o que uma pessoa pode raciocinar.
Declarações e contratos
Listas de subprocessadores, contratos de tratamento de dados, relatórios de auditoria, listas de materiais e registros de compras. Não a verdade de partida, mas a afirmação sob teste. Onde a divulgação é obrigatória, a própria omissão já é passível de notificação.
Registros corporativos
Registros empresariais, atos societários, registros de financiamento, dados de sanções e de medidas de fiscalização. Eles levam de um operador até uma empresa, os seus proprietários e a jurisdição cuja lei rege o que ela faz com os seus dados. O Mapeamento da Cadeia Societária assume daí em diante.

Uma única sessão cruza as oito camadas ao mesmo tempo

Nenhuma organização pode auditar oito camadas que pertencem a centenas de partes, e nenhuma precisa. Uma única sessão capturada registra cada parte que a aplicação montada de fato contatou, nas oito camadas ao mesmo tempo, sem pedir lista a nenhuma delas. Resolver essas partes nas empresas por trás delas, e confrontar o resultado com o que foi declarado, é o método.