O Que É o Framework SLSA? Níveis para Integridade da Cadeia de Suprimentos
SLSA (Supply-chain Levels for Software Artifacts) é um framework de níveis de segurança graduados que descrevem quão confiável é um processo de build.
SLSA, pronunciado "salsa", dá às equipes uma escada para subir rumo a uma cadeia de suprimentos segura. Em vez de um vago "seja mais seguro", ele define níveis concretos, cada um adicionando requisitos sobre como os artefatos são construídos, como sua origem é registrada e quão resistente a adulteração é o processo. Ele transforma a segurança da cadeia de suprimentos em algo que você pode mirar e auditar.
O problema que o SLSA aborda
A maior parte do software é construída por pipelines automatizados, e atacantes cada vez mais miram esses pipelines em vez do código-fonte. O SLSA foca na integridade do build: provar que um artefato foi construído a partir da fonte esperada pelo processo esperado, sem adulteração no meio.
Os níveis
- Nível 1: o build é scriptado e produz provenance.
- Nível 2: a provenance é assinada por um serviço de build hospedado e autenticado.
- Nível 3: o build roda em uma plataforma endurecida e isolada, resistente a adulteração.
- Níveis mais altos adicionam garantias mais fortes de reprodutibilidade e isolamento.
Provenance no centro
Todo nível SLSA se baseia em provenance: metadados verificáveis sobre como um artefato foi produzido. Níveis mais altos exigem que a provenance seja assinada e que o próprio ambiente de build seja difícil de subverter.
Como as equipes o adotam
As equipes geralmente começam no Nível 1 gerando provenance na CI, depois sobem assinando-a e rodando builds em uma plataforma gerenciada e isolada. Cada passo torna mais difícil um artefato forjado ou adulterado se infiltrar na sua release.
Onde a plataforma de build importa
Níveis SLSA mais altos exigem um ambiente de build que um atacante não possa adulterar facilmente: endurecido, isolado e efêmero. Runners gerenciados que dão a cada job um ambiente novo e isolado (como o Latchkey) se alinham com o isolamento e a integridade que o SLSA espera nos níveis superiores.
Principais conclusões
- SLSA é um framework graduado de níveis para integridade da cadeia de suprimentos de software.
- Cada nível adiciona requisitos sobre provenance, assinatura e isolamento de build.
- Provenance e uma plataforma de build endurecida e isolada sustentam os níveis mais altos.