Start / Cheat Sheets

Cheat Sheet

Lieferkette: Nachweise und Pflichten — Cheat Sheet

Stand: · DevSecOps und sichere Software-Lieferketten

SBOMSLSASigstoreCyber Resilience Act

Das Blatt für den Moment, in dem jemand einen Nachweis verlangt: Was steckt im Artefakt, woher stammt es, wer steht dafür gerade, und welche Frist läuft gerade. Maßgeblich sind die Originalquellen — SLSA 1.2, SPDX, CycloneDX, Sigstore Cosign und der Cyber Resilience Act.

Die erste Hälfte des Seminars — Angriffspfade, Repository-Schutz, Paketquellen, Scanverfahren und Pipeline-Rechte — liegt auf dem Blatt Lieferkette: Risiken und Härtung. Für Dockerfile, Cache und rootless-Betrieb siehe Container, Images und Lieferkette.

Was zu einem ausgelieferten Artefakt gehört

NachweisBeantwortetWird gebraucht bei
QuellrevisionWoraus wurde gebaut?jeder Ursachensuche
WerkzeuglisteWomit wurde gebaut?kompromittiertem Werkzeug
ProvenanceWer bezeugt den Bau?Verifikation vor dem Deployment
DigestIst es unverändert?jedem Verdacht auf Austausch
SBOMWas steckt darin?neuer Schwachstelle

Ohne Quellrevision am Artefakt beginnt jede Untersuchung mit der Frage, welcher Stand überhaupt läuft. Die Aufbewahrungsfrist richtet sich nach dem Supportzeitraum des Produkts, nicht nach dem Platz auf der Ablage — und Build- Protokolle verfallen oft nach Wochen, während Untersuchungen länger dauern.

Modul: Reproduzierbare und nachvollziehbare Builds

SBOM: Angaben je Komponente

AngabeBeantwortetOhne sie
Name und VersionWas ist es?keine Zuordnung möglich
Lieferant und UrheberWer verantwortet es?keine Ansprechstelle
BezugsquelleWoher kam es?Herkunft nicht prüfbar
PrüfsummeIst es unverändert?Austausch unbemerkt
Lizenz und CopyrightDürfen wir es nutzen?rechtliche Lücke
BeziehungenWarum ist es drin?direkt und transitiv nicht trennbar

Externe Bezeichner wie Package URL und CPE verbinden die Komponente mit den Schwachstellendatenbanken. Was nicht ermittelbar war, gehört ausdrücklich als unbekannt markiert — eine Lücke, die als Lücke dasteht, ist etwas anderes als eine verschwiegene.

Modul: Grundlagen der Software Bill of Materials

Drei Erzeugungspunkte, drei Wahrheiten

Erzeugt ausEnthältFehlt
Quellstanderklärte Abhängigkeitenwas der Build hinzufügt
Build-Artefakttatsächlich eingebundener CodeBetriebssystempakete
Container-Imagealles bis zum Basis-ImageBezug zum Quellstand

Für den Betreiber zählt das Image, für die Ursachensuche der Quellstand — deshalb lohnen beide. Die Differenzen sind kein Fehler, sondern die Information.

Modul: Grundlagen der Software Bill of Materials

SPDX und CycloneDX nebeneinander

SPDXCycloneDX
NormungISO/IEC 5962:2021ECMA-424
AufbauProfile über einem KernmodellAbschnitte in einer BOM
ReichweiteSoftware, Build, Dataset, AISoftware, Hardware, ML, Dienste
SchwachstellenSecurity-Profileigener Abschnitt samt VEX
SerialisierungModell mit SerialisierungenJSON, XML, Protocol Buffers

Die Wahl fällt selten frei — meist gibt der Empfänger das Format vor, und dann werden beide gebraucht.

mvn org.cyclonedx:cyclonedx-maven-plugin:makeBom   # aus dem Projekt
syft <image>:<tag> -o spdx-json=sbom.spdx.json     # aus dem Image
cyclonedx validate --input-file target/bom.json    # gegen das Schema

Erzeugen und Validieren gehören in denselben Schritt: Eine ungeprüfte Stückliste fällt sonst erst beim Empfänger auf. Beim Vergleich zweier Releases ist die ernsteste Beobachtung gleiche Version, andere Prüfsumme — sie steht in keinem Änderungsprotokoll.

Modul: SPDX und CycloneDX praktisch einsetzen

Vier Fragen an einen Schwachstellentreffer

FrageQuelleWirkung auf die Priorität
Wie schwer ist der Fehler?SchweregradbewertungGrundlage, nicht Ergebnis
Wird er aktiv ausgenutzt?Meldungen zu Ausnutzunghebt stark an
Ist der Code erreichbar?eigene Analysesenkt oder hebt deutlich
Gibt es eine Behebung?Herstellerangabebestimmt den Weg

Die dritte Frage kann nur das eigene Team beantworten — sie ist die teuerste und die wertvollste. Erster Schnitt vor jeder Bewertung: Treffer in Testabhängigkeiten von denen in Produktionscode trennen.

Modul: Schwachstellenmanagement mit SBOM und VEX

VEX: drei Aussagen und ihre Voraussetzung

AussageBedeutungWas sie voraussetzt
betroffenhier ausnutzbarPlan mit Frist
nicht betroffenhier nicht ausnutzbarbelegte Begründung
in Prüfungnoch nicht entschiedenTermin für die Entscheidung

Tragfähige Begründungen für „nicht betroffen”: Der verwundbare Code ist gar nicht enthalten · er wird von keinem Pfad erreicht · die Ausnutzung setzt eine Konfiguration voraus, die hier nicht vorliegt · eine vorgelagerte Maßnahme verhindert sie. Ohne Termin wird „in Prüfung” ein Dauerzustand, der die Liste unbrauchbar macht.

Modul: Schwachstellenmanagement mit SBOM und VEX

Prüfsumme, Signatur, Attestierung

MittelWehrt abWehrt nicht ab
Prüfsummezufällige Veränderunggezielten Austausch samt Summe
Signaturfremde UrheberschaftFehler des echten Urhebers
Attestierungerfundene Herkunftfalsche Aussage der Plattform

Deshalb hängt alles daran, wer die Attestierung erzeugt — nicht daran, dass es eine gibt. Beim schlüssellosen Signieren stellt Fulcio nach Prüfung des OIDC-Tokens ein kurzlebiges Zertifikat aus, der private Schlüssel wird nach Gebrauch vernichtet, und Rekor bezeugt den Vorgang mit Zeitstempel.

cosign sign --yes <registry>/<image>@sha256:<digest>

cosign verify \
  --certificate-identity=<erwartete-identitaet> \
  --certificate-oidc-issuer=<erwarteter-aussteller> \
  <registry>/<image>@sha256:<digest>

Ohne die beiden Erwartungsangaben bestätigt die Prüfung nur, dass überhaupt jemand signiert hat. Signiert wird immer der Digest, nie ein Tag.

Modul: Signaturen, Attestierungen und Provenance

Was in einer Provenance steht

AngabeInhaltWird geprüft gegen
ArtefaktDigest des Imagesdas ausgerollte Image
HerkunftRepository und Revisionerwartetes Repository
Plattformdie bauende Instanzerwartete Build-Plattform
ParameterEingaben des Laufserwartete Parameter

Erst wenn alle vier Zeilen eine Erwartung haben, ist die Verifikation mehr als eine Formsache.

PrüfpunktWirkt gegenWirkt nicht gegen
In der PipelineFehler im eigenen AblaufStart an der Pipeline vorbei
Beim Zulassen im Clusterjedes nicht zugelassene ImageManipulation nach dem Start

Erst der zweite Prüfpunkt macht aus der Signatur eine Bedingung statt eines Hinweises. Ablehnungsfall und Notfallweg gehören vorher festgelegt — sonst wird die Regel beim ersten Störfall dauerhaft abgeschaltet.

Modul: Signaturen, Attestierungen und Provenance · Container, Registry und Deployment absichern

SLSA: zwei Spuren, zwei Skalen

Build TrackUmgebungProvenance
L1gehostete Infrastrukturexistiert, benennt das Artefakt eindeutig
L2isoliert zwischen Läufensigniert, von der Steuerungsebene erzeugt
L3je Build neu, Geheimnisse getrenntnicht fälschbar, Parameter vollständig
Source TrackVerlangtNutzen
L1modernes VersionskontrollsystemÄnderungen sind nachvollziehbar
L2Historie gesichert, Provenance je Revisionwer was änderte, zeitnah bezeugt
L3technische Kontrollen am Branch erzwungenNachweis der geltenden Kontrollen
L4Freigabe durch zwei verschiedene Personenerschwert eingeschleuste Änderungen

Der Source Track hat vier Stufen, der Build Track drei. Technische Kontrollen wirken erst ab ihrer Aktivierung — eine Lücke setzt die bezeugte Historie zurück. Stufen gelten je Artefakt und Repository, nicht je Unternehmen.

Verbreitete AnnahmeWirklichkeit
L3 verlangt BitgleichheitReproduzierbarkeit ist nicht gefordert
L3 verlangt NetzfreiheitHermetik ist ausdrücklich ausgenommen

Gefordert ist Isolation: kein geteilter Zustand, kein vergifteter Cache, keine Nachwirkung auf den Folgelauf.

Modul: SLSA 1.2 in der Praxis · Reproduzierbare und nachvollziehbare Builds

Meldung: Rollen und Fristen

RolleErste AufgabeBraucht vorher
Erstkontaktbestätigen und einordnenPostfach und Frist
Entwicklungreproduzieren und eingrenzenZugriff auf alte Stände
Produktsicherheitbewerten und entscheidenBewertungsmaßstab
KommunikationBetroffene informierenVerteiler und Textbausteine

Die rechte Spalte lässt sich nur vorher herstellen. Im Ernstfall merkt man lediglich, dass sie fehlt.

SchrittFristInhalt
Frühwarnung24 Stunden ab Kenntniserste Mitteilung
Vollständige Meldung72 StundenLage und Maßnahmen
Abschluss Schwachstelle14 Tage nach AbhilfeErgebnis und Behebung
Abschluss Vorfall1 Monat nach der 72-Stunden-MeldungAuswertung

Gemeldet wird über die zentrale Meldeplattform an das zuständige CSIRT, zugleich geht die Information an ENISA. Die Uhr läuft ab Kenntnis, nicht ab Klarheit — die Frühwarnung verlangt keine fertige Analyse. Meldepflichtig sind aktiv ausgenutzte Schwachstellen und schwerwiegende Vorfälle, nicht jeder Befund.

Modul: Schwachstellenmeldungen und Security Incident Response

Cyber Resilience Act: die Daten

DatumStatusWas gilt
10.12.2024in KraftVerordnung in Kraft getreten
11.06.2026anwendbarKapitel zu notifizierten Stellen
11.09.2026anwendbarMeldepflichten für Hersteller
11.12.2027anwendbarvollständige Anwendung

Betroffen sind Produkte mit digitalen Elementen — Software oder Hardware samt Fernverarbeitungslösungen, deren Nutzung eine direkte oder mittelbare Datenverbindung zu einem Gerät oder Netz umfasst. Vier Pflichten betreffen den Entwicklungsprozess unmittelbar: Risikobewertung über den Lebenszyklus, Sicherheit durch Gestaltung, ein festgelegter Supportzeitraum und eine technische Dokumentation, die Bewertung und umgesetzte Maßnahmen festhält. Die Einordnung dient der technischen Orientierung und ersetzt keine Rechtsberatung.

Modul: Cyber Resilience Act und dauerhaftes Betriebsmodell

Kennzahlen, die etwas steuern

KennzahlZeigtReagiert auf
Anteil signierter ArtefakteAbdeckung der HerkunftLücken in der Pipeline
Anteil verifizierter DeploymentsWirkung der RegelUmgehungswege
Alter der ältesten AusnahmeVerfall der Disziplinfehlende Fristen
Zeit von Meldung bis BehebungReaktionsfähigkeitEngpässe im Ablauf

Eine Kennzahl ohne benannte Reaktion ist Dekoration — die rechte Spalte ist der eigentliche Zweck. Drei Kennzahlen genügen; mehr werden erhoben, aber nicht mehr gelesen.

Modul: Cyber Resilience Act und dauerhaftes Betriebsmodell

Typische Fallen

  • Die SBOM gilt als dauerhaft gültig. Sie beschreibt den Stand, aus dem sie erzeugt wurde — ohne Erzeugungszeitpunkt lässt sie sich keinem Release zuordnen.
  • Unbekanntes wird weggelassen statt markiert. Eine scheinbar lückenlose Liste ist weniger wert als eine mit sichtbaren Lücken.
  • Nur eine SBOM, und niemand weiß, welche Sicht sie zeigt. Quellstand, Artefakt und Image beantworten verschiedene Fragen.
  • Der Schweregrad wird als Priorität verwendet, weil er als Zahl vorliegt — die Erreichbarkeit im eigenen Produkt entscheidet aber stärker.
  • „Nicht betroffen” wird gesetzt, weil ein Patch aufwendig wäre. Das ist keine Bewertung, sondern eine Umgehung mit unangenehmer Aktenlage.
  • Die Verifikation prüft die Gültigkeit, nicht die erwartete Identität. Ein grüner Haken ohne Inhalt.
  • Signiert wird ein Tag statt eines Digests. Der Tag wandert später, die Signatur bleibt gültig und meint etwas anderes.
  • Die Provenance entsteht im Build-Skript statt durch die Plattform. Dann sagt sie nur, was das Skript behauptet.
  • Beim Umkopieren zwischen Registries bleiben Signatur und Attestierungen zurück. Die Verifikation schlägt dann im Deployment fehl.
  • Die Prüfung läuft nur in der Pipeline. Ein Notfall-Deployment geht daran vorbei.
  • Die Frühwarnung wird verschoben, bis die Analyse fertig ist. Die Frist läuft ab Kenntnis.
  • Der Zeitpunkt der Kenntniserlangung steht nirgends. Dann lässt sich die Einhaltung nicht belegen.
  • Der Supportzeitraum ist nicht festgelegt und beim Kauf nicht erkennbar — dabei ist er eine Entscheidung und eine Zeile in der Produktbeschreibung.

Zum Seminar DevSecOps und sichere Software-Lieferketten