0Pricing
Cyber Security Academy · Lektion

Signieren von Abhängigkeiten und Artefakten

Herkunft mit SLSA und Sigstore verifizieren

Signieren von Abhängigkeiten und Artefakten ist eine kostenlose Cyber Security Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cyber Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.

Warum Provenienz wichtig ist

Ein SBOM zeigt Ihnen, was in einem Artefakt enthalten ist. Die Provenienz zeigt Ihnen, woher es stammt und wie es erstellt wurde. Durch die Signatur wird ein Artefakt an eine überprüfbare Herkunft gebunden, sodass Verbraucher alles ablehnen können, was nicht von Ihrer vertrauenswürdigen Pipeline erzeugt wurde.

Ohne Provenienz ist ein Angreifer, der einen Tarball in Ihrer Registry austauscht, nicht von einer legitimen Veröffentlichung zu unterscheiden.

Digests statt Tags

Die Grundlage der Integrität ist die inhaltsbasierte Adressierung. Ein kryptografischer Hash (Digest) eines Artefakts identifiziert diese exakte Bytefolge eindeutig. Veränderliche Tags wie latest können auf einen anderen Inhalt verweisen; ein Digest kann das nicht.

# pull by immutable digest, not a tag
docker pull my-app@sha256:1d52838af602b4b5a831beb13a0e4d073280665ea7be7f69ce2382f29c5a613f

# compute a file digest
sha256sum release-1.4.0.tar.gz

Grundlagen digitaler Signaturen

Eine digitale Signatur verwendet einen privaten Schlüssel, um den Hash des Artefakts zu signieren; jeder, der über den zugehörigen öffentlichen Schlüssel verfügt, kann die Signatur verifizieren. Das bietet zwei Garantien:

  • Integrität — Das Artefakt wurde nach der Signierung nicht verändert
  • Authentizität — Es wurde vom Inhaber des privaten Schlüssels signiert

Die Schwierigkeit liegt nicht in der Mathematik, sondern in der Schlüsselverwaltung und Vertrauensverteilung: Wie weiß ein Prüfer, welchem öffentlichen Schlüssel er vertrauen kann?

Schlüsselloses Signieren mit Sigstore

Traditionelle Signaturen zwingen Teams dazu, langlebige private Schlüssel zu schützen, die leicht in falsche Hände geraten. Sigstore bietet schlüsselloses Signieren: Es stellt ein kurzlebiges Zertifikat aus, das an eine OIDC-Identität gebunden ist (etwa eine CI-Workload oder eine Entwickler-E-Mail-Adresse), signiert und das Ereignis in einem öffentlichen Transparenzprotokoll namens Rekor festhält.

Es gibt keinen langlebigen Schlüssel, den man stehlen könnte, und jede Signatur kann öffentlich geprüft werden.

Mit Cosign signieren

Cosign ist das Sigstore-Tool zum Signieren von Container-Images und anderen Artefakten. Im schlüssellosen Modus verwendet es das OIDC-Token der Pipeline, sodass keine Schlüsseldatei auf dem Datenträger liegt.

# keyless sign in CI (uses ambient OIDC identity)
COSIGN_EXPERIMENTAL=1 cosign sign my-registry/my-app@sha256:1d5283...

# verify, asserting the expected signer identity
cosign verify my-registry/my-app@sha256:1d5283... \
  --certificate-identity-regexp '.*@my-org\.com' \
  --certificate-oidc-issuer https://accounts.google.com

Das Transparenzprotokoll

Sigstore hält jedes Signierungsereignis in Rekor fest, einem manipulationsnachweisbaren, nur erweiterbaren öffentlichen Protokoll. Dies ist eine wirkungsvolle Maßnahme zur Aufdeckung:

  • Sie können nachweisen, wann etwas signiert wurde
  • Ein Angreifer, der eine Identität stiehlt, kann nicht heimlich signieren — das Ereignis wird öffentlich protokolliert
  • Anomale Signaturen (unerwartete Identität, außerhalb der Arbeitszeit) werden erkennbar

Transparenz macht aus einer unbemerkten Kompromittierung einen beobachtbaren Beleg.

SLSA: Stufen der Build-Integrität

SLSA (Supply-chain Levels for Software Artifacts) ist ein Framework, das bewertet, wie vertrauenswürdig Ihr Build-Prozess ist. Höhere Stufen verlangen stärkere Garantien gegen Manipulation.

  • L1 — Provenienz ist vorhanden und dokumentiert
  • L2 — signierte Provenienz von einem gehosteten Build-Dienst
  • L3 — gehärtete, isolierte Builds; die Provenienz ist selbst für einen Insider der Pipeline nicht fälschbar

SLSA ist ein Fahrplan: Wählen Sie eine Zielstufe und schließen Sie die Lücken.

Provenienzattestierungen für Builds

Eine Provenienzattestierung ist eine signierte Erklärung, die beschreibt, wie ein Artefakt erstellt wurde: den Quell-Commit, die Identität des Builders, die Build-Parameter und die Eingaben. Das Format in-toto standardisiert diese Angaben.

# generate and attach SLSA provenance for an image
cosign attest --type slsaprovenance \
  --predicate provenance.json \
  my-registry/my-app@sha256:1d5283...

# verify provenance matches expected source repo
cosign verify-attestation --type slsaprovenance my-registry/my-app@sha256:1d5283...

Signaturen bei der Admission erzwingen

Signieren ist nur dann nützlich, wenn etwas unsignierte Artefakte ablehnt. In Kubernetes kann ein Admission Controller jedes Image blockieren, dem eine gültige Signatur und Provenienz Ihrer vertrauenswürdigen Identität fehlen.

  • Policy-Controller verifizieren Cosign-Signaturen, bevor ein Pod gestartet wird
  • Images ablehnen, die von unerwarteten Identitäten signiert wurden
  • Eine Provenienz verlangen, die auf Ihr freigegebenes Quell-Repository verweist

Damit schließt sich der Kreis: Nicht vertrauenswürdige Artefakte werden nie ausgeführt.

Upstream-Abhängigkeiten signieren

Provenienz ist am wertvollsten, wenn sie sich auch auf das erstreckt, was Sie beziehen, und nicht nur auf das, was Sie ausliefern. Ökosysteme ergänzen zunehmend native Signierung und Provenienz:

  • npm provenance verknüpft ein veröffentlichtes Paket mit seinem Quell-Commit und CI-Lauf
  • Container-Basis-Images werden zunehmend mit Cosign-Signaturen ausgeliefert
  • Sprach-Registries erproben die von Sigstore unterstützte Verifizierung

Bevorzugen Sie Abhängigkeiten, die eine überprüfbare Provenienz veröffentlichen, und verifizieren Sie diese bei der Installation, sofern dies unterstützt wird.

Verifizierung an erste Stelle setzen

Eine praktische Signaturstrategie ist mehrschichtig und wird durchgängig verifiziert:

  • Eingaben anhand ihres Digests festschreiben
  • Artefakte schlüssellos signieren und SBOM sowie Provenienzattestierungen anhängen
  • Alles in einem Transparenzprotokoll festhalten
  • Die Verifizierung bei der Bereitstellung mit einer Admission-Richtlinie erzwingen

Die Kette ist nur so stark wie ihr schwächstes nicht verifiziertes Glied. Verifizieren Sie daher an jeder Stelle der Nutzung.

Schnelltest: Schlüsselloses Signieren

Analysieren Sie, warum schlüsselloses Signieren die Sicherheit der Software-Lieferkette verbessert.

Zusammenfassung: Signieren von Abhängigkeiten und Artefakten

Sie haben gelernt, Provenienz nachzuweisen und durchzusetzen.

  • Nach Digest festschreiben, nicht nach veränderlichen Tags
  • Digitale Signaturen bieten Integrität und Authentizität; die Herausforderung ist die Schlüsselverwaltung
  • Sigstore + cosign ermöglichen schlüsselloses Signieren mit dem öffentlichen Rekor-Transparenzprotokoll
  • SLSA bewertet die Build-Integrität; Provenienzattestierungen halten fest, wie Artefakte erstellt wurden
  • Admission-Richtlinien lehnen bei der Bereitstellung alles Uns signierte oder nicht Vertrauenswürdige ab

Als Nächstes: die Härtung der CI/CD-Pipeline, die diese Artefakte erzeugt.

Häufig gestellte Fragen

Ist die Lektion „Signieren von Abhängigkeiten und Artefakten“ kostenlos?

Ja — der vollständige Text von „Signieren von Abhängigkeiten und Artefakten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cyber Security Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Signieren von Abhängigkeiten und Artefakten“?

Herkunft mit SLSA und Sigstore verifizieren Du übst Cyber Security Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cyber Security Academy zu starten?

Keine Vorkenntnisse erforderlich. Cyber Security Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Signieren von Abhängigkeiten und Artefakten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cyber Security Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cyber Security Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Bedrohungen der Lieferkette
  2. Software Bill of Materials (SBOM)
  3. Signieren von Abhängigkeiten und Artefakten
  4. CI/CD-Pipelines absichern
← Zurück zu Cyber Security Academy