Provenance-Attestation
Was ist Provenance-Attestation?
Provenance-AttestationSignierte, maschinell verifizierbare Aussage darüber, wie ein Software-Artefakt entstanden ist - Quelle, Build-System, Parameter und Abhängigkeiten - damit Konsumenten dem Ursprung vertrauen können.
Eine Provenance-Attestation beantwortet die Frage "Woher stammt dieses Artefakt?" mit kryptografischen Belegen statt mit Konventionsvertrauen. Standardformate sind in-toto-Attestationen und SLSA Provenance v1, die Quell-Commit, Build-Plattform, Rezept, Materialien und Zeitstempel erfassen und vom Builder signiert werden. Konsumenten prüfen Attestationen gegen eine Policy: vertrauenswürdige Builder-Identität, erlaubte Quell-Repos, erwarteter Workflow, SLSA-Level usw. Sigstore Cosign, GitHub Actions, Tekton Chains, GitLab CI und SLSA-konforme Build-Plattformen erzeugen Attestationen automatisch. Provenance ist eine zentrale Kontrolle, um manipulierte Binaries zu erkennen und Regulierung wie die US-Executive Order 14028 oder den EU Cyber Resilience Act einzuhalten.
● Beispiele
- 01
Per GitHub Reusable Workflow erzeugte SLSA Provenance v1, beim Deployment verifiziert.
- 02
Kyverno-Policy, die für jedes Container-Image eine Provenance eines vertrauenswürdigen Builders verlangt.
● Häufige Fragen
Was ist Provenance-Attestation?
Signierte, maschinell verifizierbare Aussage darüber, wie ein Software-Artefakt entstanden ist - Quelle, Build-System, Parameter und Abhängigkeiten - damit Konsumenten dem Ursprung vertrauen können. Es gehört zur Kategorie Anwendungssicherheit der Cybersicherheit.
Was bedeutet Provenance-Attestation?
Signierte, maschinell verifizierbare Aussage darüber, wie ein Software-Artefakt entstanden ist - Quelle, Build-System, Parameter und Abhängigkeiten - damit Konsumenten dem Ursprung vertrauen können.
Wie funktioniert Provenance-Attestation?
Eine Provenance-Attestation beantwortet die Frage "Woher stammt dieses Artefakt?" mit kryptografischen Belegen statt mit Konventionsvertrauen. Standardformate sind in-toto-Attestationen und SLSA Provenance v1, die Quell-Commit, Build-Plattform, Rezept, Materialien und Zeitstempel erfassen und vom Builder signiert werden. Konsumenten prüfen Attestationen gegen eine Policy: vertrauenswürdige Builder-Identität, erlaubte Quell-Repos, erwarteter Workflow, SLSA-Level usw. Sigstore Cosign, GitHub Actions, Tekton Chains, GitLab CI und SLSA-konforme Build-Plattformen erzeugen Attestationen automatisch. Provenance ist eine zentrale Kontrolle, um manipulierte Binaries zu erkennen und Regulierung wie die US-Executive Order 14028 oder den EU Cyber Resilience Act einzuhalten.
Wie schützt man sich gegen Provenance-Attestation?
Schutzmaßnahmen gegen Provenance-Attestation kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für Provenance-Attestation?
Übliche alternative Bezeichnungen: SLSA-Provenance, Build-Provenance.
● Verwandte Begriffe
- appsec№ 1053
SLSA Framework
Supply-chain Levels for Software Artifacts: ein vom OpenSSF veröffentlichter stufenweiser Anforderungskatalog, der Erstellung, Signatur und Verifikation von Software gegen Lieferketten-Manipulation zunehmend härtet.
- appsec№ 522
in-toto
Offenes Framework, das jeden Schritt einer Software-Lieferkette kryptografisch attestiert, damit Konsumenten überprüfen können, dass das Artefakt genau wie vom Projektverantwortlichen vorgesehen erzeugt und behandelt wurde.
- appsec№ 1044
Sigstore
Open-Source-Projekt der Linux Foundation, das Signatur, Verifikation und Schutz von Software-Artefakten mittels kurzlebiger Schlüssel, OIDC-Identitäten und Transparenz-Log einfach macht.
- appsec№ 226
Cosign
Open-Source-CLI des Sigstore-Projekts zum Signieren, Verifizieren und Attestieren von OCI-Artefakten und anderer Software, wahlweise mit Schlüssel oder keyless.
- appsec№ 1069
Software-Supply-Chain-Sicherheit
Disziplin zum Schutz jedes Glieds der Software-Produktion - Quellcode, Abhängigkeiten, Build, Signatur, Distribution und Deployment - gegen Manipulation, bösartigen Code und Integritätsverlust.
- appsec№ 921
Reproduzierbare Builds
Build-Praktiken, die sicherstellen, dass das Übersetzen desselben Quellcodes mit denselben Anweisungen ein bitgleiches Artefakt erzeugt - unabhängig davon, wann und wo gebaut wird.