NSA CI/CD Sicherheitsrichtlinien: Schutz der Software-Lieferkette

Von 2019 bis 2022 stieg die Zahl der Angriffe auf die Software-Lieferkette im Jahresdurchschnitt um über 700 %, ein wachsender Trend, dessen wirtschaftliche Auswirkungen im Jahr 80 voraussichtlich die Marke von 2026 Milliarden Dollar überschreiten werden. Angesichts der Schwere dieses Problems National Security Agency (NSA) und der Agentur für Cybersicherheit und Infrastruktursicherheit (CISA) freigegeben Wichtige Richtlinien absichern CI/CD Umgebungen und begegnet der zunehmenden Bedrohung durch sogenannte böswillige Cyber-Akteure (MCAs), die Schwachstellen ausnutzen.

Diese Richtlinien konzentrieren sich speziell auf die Verhinderung der Offenlegung von Geheimnissen innerhalb CI/CD pipelines und bieten konkrete Einblicke.

 

Was sind die kritischsten CI/CD Sicherheitsbedrohungen?

Wie in den NSA-Richtlinien steht, ist die Sicherung eines CI/CD Umgebung erfordert das Erkennen und Abwehren verschiedener Arten von Sicherheitsbedrohungen, die sich auswirken können CI/CD Operationen. Hier sind einige häufige Risiken in CI/CD pipelines, zusammen mit dem OWASP Top 10 CI/CD Sicherheitsrisiken:

  • Unzureichende Flusskontrollmechanismen: Dieses Risiko bezieht sich auf das Fehlen geeigneter Kontrollen zur Verwaltung des Daten- und Aufgabenflusses in der CI/CD pipeline. Ohne diese Kontrollen könnten unbefugte Änderungen in die pipeline, was zu potenziellen Sicherheitslücken führt.
  • Unzureichendes Identitäts- und Zugriffsmanagement: Dieses Risiko besteht darin, dass nicht ordnungsgemäß verwaltet wird, wer Zugriff auf die CI/CD pipeline und was sie tun können. Ohne ein angemessenes Identitäts- und Zugriffsmanagement könnten unbefugte Personen Zugriff auf die pipeline und böswillige Änderungen einführen.
  • Missbrauch der Abhängigkeitskette: Dieses Risiko bezieht sich auf das Potenzial für Angreifer, Schwachstellen in den von Ihrer Software verwendeten Abhängigkeiten auszunutzen. Wenn diese Abhängigkeiten nicht ordnungsgemäß verwaltet und gesichert werden, können sie eine Angriffsmöglichkeit bieten.
  • Vergiftet Pipeline Ausführung: Dieses Risiko besteht darin, dass Angreifer möglicherweise schädlichen Code in das CI/CD pipeline. Dies könnte zur Ausführung von Schadcode in der Produktionsumgebung führen.
  • Unzureichende PBAC (Pipeline-basierte Zugriffskontrollen): Dieses Risiko bezieht sich auf das Fehlen angemessener Zugriffskontrollen auf der Grundlage der pipeline. Ohne diese Kontrollen könnten unbefugte Personen auf sensible Teile des pipeline.
  • Unzureichende Anmeldeinformationshygiene: Dieses Risiko besteht darin, dass die Anmeldeinformationen, die in der CI/CD pipeline. Wenn diese Anmeldeinformationen kompromittiert werden, könnte dies einem Angreifer Zugriff auf die pipeline.
  • Unsichere Systemkonfiguration: Dieses Risiko bezieht sich auf potenzielle Sicherheitslücken aufgrund von
    falsch konfigurierte Systeme in der CI/CD pipeline. Angreifer könnten diese Schwachstellen ausnutzen.
  • Unkontrollierte Nutzung von Diensten Dritter: Dieses Risiko besteht darin, Dienste von Drittanbietern ohne angemessene Aufsicht und Kontrolle zu verwenden. Diese Dienste können Sicherheitslücken aufweisen, wenn sie nicht ordnungsgemäß verwaltet und gesichert werden.
  • Unsachgemäße Validierung der Artefaktintegrität: Dieses Risiko bezieht sich auf das Fehlen einer ordnungsgemäßen Validierung der von der CI/CD pipeline. Ohne ordnungsgemäße Validierung könnten bösartige oder kompromittierte Artefakte in die Produktionsumgebung eingeschleust werden.
  • Unzureichende Protokollierung und Sichtbarkeit: Dieses Risiko beinhaltet unzureichende Protokollierung und Transparenz in den
    Aktivitäten in der CI/CD pipeline. Es könnte schwierig sein, Sicherheitsvorfälle zu erkennen und darauf zu reagieren, ohne die richtige Protokollierung und Transparenz

 

Die schlimmsten Bedrohungsszenarien und wie man sie behebt

Angreifer verschaffen sich die Anmeldeinformationen eines Entwicklers, um auf ein Git-Repository zuzugreifen:

  1. Minimieren Sie die Verwendung langfristiger Anmeldeinformationen.
  2. Verwenden Sie für alle Codeaktualisierungen das Zwei-Personen-Prinzip (2PR).
  3. Sichern Sie Benutzerkonten und implementieren Sie Richtlinien mit geringsten Berechtigungen.
  4. Implementieren Sie Netzwerksegmentierung und Verkehrsfilterung
  • SSCS Werkzeuge wie Xygeni Im Prinzip so, wie Sie es von Google Maps kennen. Fehlkonfigurationen in diesen Bereichen erkennen und die Anwendung sicherer Unternehmensrichtlinien durchsetzen.

Supply Chain-Kompromittierung einer Anwendungsbibliothek, eines Tools oder eines Container-Images in einem CI/CD pipeline:

  1. Beschränken Sie nicht vertrauenswürdige Bibliotheken und Tools und analysieren Sie committed Werkzeuge.
  2. Implementieren Sie EDR-Tools und Auditing.
  3. Behalten CI/CD Tools, Software und Betriebssysteme auf dem neuesten Stand.
  • Xygeni Plattform automatisch aktualisiert seine Scan-Fähigkeiten in jedem Scanvorgang um die neuesten Schadkomponenten zu erkennen, die Ihre Softwareversion beeinträchtigen könnten.

Kompromiss eines CI/CD Umgebung, die Konfigurationen ändert oder schädliche Abhängigkeiten einschleust:

  1. Analysieren committed Code & integrieren Sicherheits-Scanning in CI/CD.
  2. Implementierung SBOM , SCA und EDR-Tools implementieren.
  3. Signaturen hinzufügen zu CI/CD config und überprüfen Sie es.
  • Xygeni Fähigkeiten in Analyse aller an der Softwareentwicklung beteiligten Assets, Aufbau und Lieferung ermöglichen die Erkennung jeglicher Bedrohung während der CI/CD verarbeiten und generieren die SBOM als Nachweis für Ihr Audit und Ihre Kunden.

Die folgende Abbildung zeigt verschiedene Angriffsvektoren am Beispiel eines CI/CD pipeline. Diese Angriffsmethoden ähneln stark denen anderer CI/CD Anschläge.

 Bild: Beispiel für verschiedene Angriffsvektoren in einem AWS CI/CD pipeline
 

 

Ermöglichung eines echten Zero-Trust-Ansatzes:

Aktive Härtungsstrategien der NSA

 

In dieser Richtlinie werden mehrere Strategien aufgeführt, die zum Schutz der Software-Lieferkette eingesetzt werden können. Hier finden Sie eine Zusammenfassung der wichtigsten:

Die Verwendung veralteter und schwacher kryptografischer Algorithmen birgt erhebliche Risiken für CI/CD pipelines. Dies könnte zur Offenlegung vertraulicher Daten, Datenlecks, beeinträchtigter Authentifizierung und unsicheren Sitzungen führen. 

Durch Ausnutzung dieser Schwachstellen könnten böswillige Akteure die CI/CD pipeline und die Software-Lieferkette gefährden. Um diese Risiken zu minimieren, haben die NSA und CISA empfiehlt die Implementierung und Konfiguration robuster kryptografischer Algorithmen, wie sie vom National Institute of Standards and Technology (NIST) beim Einrichten von Cloud-Anwendungen und -Diensten.

Minimieren Sie die langfristige Nutzung von Anmeldeinformationen

Wenn es um die menschliche Authentifizierung geht, sollten Sie immer Identitätsföderation und Sicherheitstoken bevorzugen, die gegen Phishing-Angriffe resistent sind. Diese Maßnahmen sollten eingesetzt werden, um temporäre SSH- und andere Schlüssel zu erhalten. 

Ebenso ist es ratsam, bei der Software-zu-Software-Authentifizierung die Verwendung softwarebasierter langfristiger Anmeldeinformationen soweit wie möglich zu minimieren.

Detektoren von Tools wie Xygeni unterstützen die Erkennung jeglicher Art von Anmeldeinformationen und Geheimnissen in Dutzenden von Formaten entlang der gesamten Software-Lieferkette: Code, pipelines, IaC Konfigurationen usw.

Signaturen hinzufügen zu CI/CD Konfiguration und überprüfen Sie sie immer

Während der CI/CD Unabhängig vom Entwicklungsstadium ist es bei jedem Prozess von entscheidender Bedeutung, sicherzustellen, dass der Code konsistent und korrekt signiert ist und die Signatur überprüft wird.

Wenn die Validierung der Signatur fehlschlägt, untersuchen Sie die Ursache des Validierungsproblems gründlich.

Reduzieren Sie Passwortrisiken durch Multi-Faktor-Authentifizierung (MFA)

Es könnte auch durch eine rollenbasierte Zugriffskontrolle (RBAC) ergänzt werden. Heutzutage wird MFA häufig in allen Arten von Diensten verwendet. Es hilft, die Sicherheit zu erhöhen, während es sowohl für interne als auch für externe Benutzer angewendet wird. 

Gemäß dem Prinzip der geringsten Privilegien stellt RBAC sicher, dass Benutzern nur die Berechtigungen erteilt werden, die sie zum Ausführen ihrer spezifischen Aufgaben benötigen.

Unternehmensrichtlinien sollten diese heute obligatorischen Konfigurationen berücksichtigen. Automatisierte Compliance- und Auditing-Funktionen von SSCS Tools setzen sie alle in der gesamten DevOps-Infrastruktur durch.

Implementieren Sie Least-Privilege-Richtlinien für CI/CD Zugriff

Es ist von entscheidender Bedeutung, Entwicklern nur Zugriff auf die pipelines und Komponenten, die für die ihnen zugewiesenen Aufgaben unmittelbar relevant sind. 

Die Implementierung einer Aufgabentrennung ist von entscheidender Bedeutung, da Entwickler, die für das Einchecken des Quellcodes verantwortlich sind, nicht das Recht benötigen, die Build-Umgebung zu aktualisieren. Ebenso benötigen Ingenieure, die Builds überwachen, keinen Lese-/Schreibzugriff auf den Quellcode. Eine ausführlichere Anleitung zur Implementierung von Sicherheitskontrollen finden Sie unter NIST-SP 800-53.

Verwenden Sie die Zwei-Personen-Regel (2PR) für Code-Updates

Die Einhaltung des Vier-Augen-Prinzips verbessert nicht nur die Codequalität, sondern verringert auch die Wahrscheinlichkeit der erfolgreichen Einführung von Schadcode, wenn die Anmeldeinformationen eines Entwicklers kompromittiert werden.

SSCS Tools wie Xygeni beinhalten normalerweise eine spezielle Prüfung, die feststellt, ob das Projekt eine Codeüberprüfung erfordert, bevor pull requests (Merge Requests) werden zusammengeführt.

Diese Prüfung folgt den aktuellen Open SSF-Sicherheitsrichtlinien. standard.

Sichere Benutzerkonten und Geheimnisse

Die Prüfung von Benutzerkonten und die Konfiguration von Zugriffskontrollen auf Grundlage der Grundsätze der geringsten Privilegien und der Aufgabentrennung ist von entscheidender Bedeutung. 

Darüber hinaus ist die sichere Handhabung von Geheimnissen, Token und Anmeldeinformationen innerhalb der CI/CD pipeline ist von größter Bedeutung.

Übermitteln Sie niemals Geheimnisse im Klartext an einen beliebigen Ort im pipeline, und stellen Sie sicher, dass sie niemals in Software eingebettet werden, die zurückentwickelt werden kann.

Führen Sie eine umfassende Aufzeichnung aller Drittanbieter- und Open-Source-Komponenten in der Codebasis, indem Sie eine Software-Stückliste implementieren (SBOM):

Das SBOM unterstützt Unternehmen dabei, potenzielle Schwachstellen im Code zu erkennen und die Verwendung veralteter und nicht autorisierter Komponenten zu verhindern. Die Einhaltung von Vorschriften, wie z. B. den FDA-Anforderungen für Medizinprodukte, kann die Verwendung von SBOMs.

 

Weitere wesentliche Maßnahmen im Entwicklungsprozess

Zu Schwachstellen zu identifizieren, ist es entscheidend, Integrieren Sie Sicherheitsscans in die CI/CD pipeline leicht. Die Integration sollte in jedem Schritt einfach sein: in der Workstation (vor dem Hochladen), in einem commit, oder im nächtlichen Aufbau mithilfe von Leitplanken.

Halten Sie Software, Betriebssysteme und CI/CD Zubehör: Regelmäßig aktualisieren CI/CD Tools, da diese Fehler und Schwachstellen enthalten können. Nutzen Sie zentralisierte Patch-Management-Systeme, einschließlich Softwareintegritäts- und Validierungsprozessen für Betriebssysteme und Software-Updates.

Beschränken Sie nicht vertrauenswürdige Bibliotheken und entfernen Sie temporäre Ressourcen: Verwenden Sie nur Software, Tools, Bibliotheken und Artefakte aus vertrauenswürdigen und sicheren Quellen, um Bedrohungen für die CI/CD pipeline. Stellen Sie immer sicher, dass die Konfiguration angemessen ist, um die Ausführung von Code oder die Einführung von Hintertüren zu verhindern. Es ist auch wichtig,Entfernen Sie unnötige Anwendungen und schützen Sie Endpunkte.

Erfahren Sie mehr über die Xygeni-Plattform. Laden Sie das Datenblatt der Xygeni-Plattform herunter.

SCA-Tools-Software-Zusammensetzungs-Analyse-Tools
Priorisieren, beheben und sichern Sie Ihre Softwarerisiken
7-Tage kostenlose Testversion
Keine Kreditkarte erforderlich

Sichern Sie Ihre Softwareentwicklung und -bereitstellung

mit der Xygeni-Produktsuite