CI/CD Software Build Pipeline Bewertung
Unsere Vision
Software-CI/CD-Build-Pipelines sind das Herzstück der Software-Produktion und müssen höchste Sicherheitsstandards erfüllen, um die Verfügbarkeit und vor allem die Integrität Ihrer gelieferten Dienste oder Software zu gewährleisten.
Über CI/CD Build Pipelines
Software-Build-Pipelines sind von größter Bedeutung für die Bereitstellung sicherer Software. Organisatorisch werden diese CI/CD-Pipelines oft von den Entwicklungsteams selbst betrieben und sind in einigen Fällen (DevOps) Teil der produktiven Umgebung des betriebenen Dienstes. In jedem Fall sitzen diese Landschaften zwischen der Entwicklungs- und der Betriebs-/Auslieferungsorganisation, oft ohne klar definierte Verantwortungslinien. Während unseres Assessments organisieren wir Workshop-Sitzungen mit den wichtigsten Stakeholdern und stellen sicher, dass die Rollen und Verantwortlichkeiten klar definiert sind und keine Lücken bestehen.
CI/CD-Software-Delivery-Build-Pipelines bestehen aus drei Hauptkomponenten und die Nutzung, Konfiguration und Sicherheit jeder dieser drei Komponenten ist von größter Bedeutung für die Sicherheit des gelieferten Dienstes/der Software. Die drei Komponenten sind das Source Code Repository (wie GIT, SVN, GitLab, GitHub, GitHub Enterprise, Perforce, Bitbucket, etc.), der Build Scheduler (Jenkins, TeamCity, Concourse CI, Cruise Control, Bamboo, etc.) und das Binär-Repository (JFrog Artifactory, Nexus, etc.). Es gibt eine Vielzahl von Produkten, die diese Funktionalität bereitstellen, und die Komplexität kann je nach Szenario stark variieren. Die folgende Illustration stellt eine High-Level-Abstraktion einer Software-Build-Pipeline dar.
Das Herzstück der CI/CD Build Pipeline ist der Build Scheduler. In der Regel sammelt der Build Scheduler auf automatisierte Weise den Quellcode, kompiliert ihn auf Build-Knoten, verpackt binäre Artefakte, führt automatisierte Tests und Scans durch, lädt binäre Artefakte in binäre Repositories hoch, löst automatisierte Bereitstellungen aus, meldet den Status eines Builds an das Quellcode-Verwaltungstool zurück, usw. Um diese Anforderungen zu erfüllen, benötigt der Build Scheduler privilegierten Zugriff (oft verbunden mit WRITE-Berechtigungen auf dem Source-Code-Management- und den binären Repositories) auf alle Komponenten der Build-Landschaft. Während eine Kompromittierung der Quellcode- oder Binär-Repositories eine böswillige Modifikation des Build-Ergebnisses ermöglichen würde, würde ein unautorisierter Zugriff auf den Build Scheduler oft zu einer Kompromittierung der Sicherheit aller zugehörigen Komponenten führen. Daher stellen wir den Build Scheduler in den Mittelpunkt unserer Bewertungen.
In jedem Fall müssen gemeinsame IT-Betriebsprozesse für alle Komponenten vorhanden sein, um die Sicherheit der Build-Pipeline zu gewährleisten. Besonders relevante Prozesse, die rigoros ausgeführt werden sollten, sind:
Change-Management und Patch-Management
Benutzer-, Zugriffs- und Berechtigungsmanagement
Sicherung und Wiederherstellung
Systemhärtung und -überwachung
Ein gründliches Verständnis der Landschaftsarchitektur, der Systemabhängigkeiten und Datenflüsse ist die Grundlage für die Durchführung einer Bedrohungsmodellierung, um Schwachstellen zu identifizieren. Ergänzt man dies mit einem Security Assessment/Pentest gegen die Umgebung, erhält man einen hervorragenden Überblick über den Zustand einer CI/CD Build Pipeline.
Unsere Leistung
Wir haben ein tiefes Verständnis und Fachwissen auf dem Gebiet der Build-Landschaften. Wir kennen die Best Practices und die operativen Schwierigkeiten von Pipeline-Operations-Teams, was uns hilft, Ihnen praktikable Verbesserungsvorschläge zu machen.
Wir führen Sicherheitsbewertungen für CI/CD-Build-Pipelines durch, indem wir Workshop-Sitzungen mit Build-Pipeline-Operations-Teams und Stakeholdern des Entwicklungsprozesses organisieren, um ein Verständnis für die oben genannten gemeinsamen IT-Prozesse zu erhalten. Wir diskutieren die Entwicklungs- und Release-Management-Prozesse und bilden diese auf der Technologieebene ab. Durch die Workshop-Sitzungen gewinnen wir wertvolles Wissen für die nächste Phase, in der wir einen Penetrationstest für die CI/CD-Build-Pipeline durchführen. Wir dokumentieren alle identifizierten Probleme und geben Empfehlungen zur Behebung, um den Sicherheitsstatus der Pipeline zu verbessern.
Wir helfen unseren Kunden dabei, sichere, zuverlässige und reproduzierbare Builds zu erzielen, indem wir die Sicherheit der Build Pipelines für kontinuierliche Integration / kontinuierliche Lieferung gewährleisten.