Softwareentwicklungs-Pipelines bieten Cyberkriminellen „freien“ Zugriff auf Cloud-, On-Prem-PlatoBlockchain-Datenintelligenz. Vertikale Suche. Ai.

Softwareentwicklungs-Pipelines bieten Cyberkriminellen „freien“ Zugriff auf die Cloud, On-Prem

Kontinuierliche Integration/kontinuierliche Entwicklung (CI/CD)-Pipelines könnten laut Forschern die gefährlichste potenzielle Angriffsfläche der Software-Lieferkette sein, da Cyberangreifer ihr Interesse an der Suche nach Schwachstellen verstärken.

Auch die Angriffsfläche wächst: CI/CD-Pipelines sind zunehmend ein fester Bestandteil in Entwicklungsteams für Unternehmenssoftware, die sie zum Erstellen, Testen und Bereitstellen von Code mithilfe automatisierter Prozesse verwenden. Aber übermäßige Berechtigungen, ein Mangel an Netzwerksegmentierung und schlechte Geheimnisse und Patch-Management plagen ihre Implementierung und bieten Kriminellen die Möglichkeit, sie zu kompromittieren, um frei zwischen lokalen und Cloud-Umgebungen zu wechseln.

Bei Black Hat USA am Mittwoch, den 10. August, werden Iain Smart und Viktor Gazdag von der Sicherheitsberatung NCC Group während „RCE-as-a-Service: Lehren aus 5 Jahren realer CI/CD-Pipeline-Kompromisse“, um die Reihe erfolgreicher Angriffe auf die Lieferkette zu erörtern, die sie in Produktions-CI/CD-Pipelines für praktisch jedes Unternehmen durchgeführt haben, das die Firma getestet hat.

Die NCC Group hat mehrere Dutzend erfolgreiche Kompromisse von Zielen überwacht, die von kleinen Unternehmen bis hin zu Fortune-500-Unternehmen reichen. Zusätzlich zu Sicherheitslücken, sagen die Forscher, dass neuartige Missbräuche beabsichtigter Funktionen in automatisierten Pipelines es ihnen ermöglicht haben, Pipelines von einem einfachen Entwicklerdienstprogramm in Remote Code Execution (RCE)-as-a-Service umzuwandeln.

„Ich hoffe, die Leute werden ihren CI/CD-Pipelines mehr Liebe schenken und alle oder zumindest eine oder zwei Empfehlungen aus unserer Sitzung anwenden“, sagt Gazdag. „Wir hoffen auch, dass dies mehr Sicherheitsforschung zu diesem Thema anregen wird.“

Tara Seals, Chefredakteurin für Nachrichten bei Dark Reading, hat sich mit Viktor Gazdag, dem leitenden Sicherheitsberater der NCC Group, zusammengesetzt, um mehr zu erfahren.

Tara-Siegel: Was sind einige der häufigsten Sicherheitslücken in CI/CD-Pipelines und wie können diese missbraucht werden?

Viktor Gasdag: Wir sehen regelmäßig drei häufige Sicherheitsschwächen, die mehr Aufmerksamkeit erfordern:

1) Hartcodierte Anmeldeinformationen im Versionskontrollsystem (VCS) oder Source Control Management (SCM).

Dazu gehören Shell-Skripte, Anmeldedateien, hartcodierte Anmeldeinformationen in Konfigurationsdateien, die am selben Ort wie der Code gespeichert sind (nicht separat oder in geheimen Verwaltungs-Apps). Wir finden auch oft Zugriffstoken auf verschiedene Cloud-Umgebungen (Entwicklung, Produktion) oder bestimmte Dienste innerhalb der Cloud wie SNS, Datenbank, EC2 usw.

Wir finden auch immer noch Zugangsdaten für den Zugriff auf die unterstützende Infrastruktur oder auf die CI/CD-Pipeline. Sobald ein Angreifer Zugriff auf die Cloud-Umgebung erhält, kann er seine Berechtigungen auflisten, nach Fehlkonfigurationen suchen oder versuchen, seine Berechtigungen zu erhöhen, da er sich bereits in der Cloud befindet. Mit Zugriff auf die CI/CD-Pipeline können sie den Build-Verlauf einsehen, Zugriff auf die verwendeten Artefakte und Geheimnisse erhalten (z. B. das SAST-Tool und seine Berichte über Schwachstellen oder Cloud-Zugriffstoken) und im schlimmsten Fall, beliebigen Code (Backdoor, SolarWinds) in die zu kompilierende Anwendung einzufügen oder vollständigen Zugriff auf die Produktionsumgebung zu erhalten.

2) Übermäßig freizügige Rollen.

Entwickler- oder Dienstkonten haben häufig eine Rolle, die mit ihren Konten verknüpft ist (oder eine übernehmen kann), die mehr Berechtigungen hat, als für die erforderliche Arbeit erforderlich sind.

Sie können auf weitere Funktionen zugreifen, z. B. das Konfigurieren des Systems oder Geheimnisse, die sowohl für Produktions- als auch für Entwicklungsumgebungen gelten. Sie können möglicherweise Sicherheitskontrollen umgehen, z. B. die Genehmigung durch andere Entwickler, oder die Pipeline ändern und jedes SAST-Tool entfernen, das bei der Suche nach Schwachstellen helfen würde.

Da Pipelines auf Produktions- und Testbereitstellungsumgebungen zugreifen können, können sie, wenn es keine Segmentierung zwischen ihnen gibt, als Brücke zwischen Umgebungen fungieren, sogar zwischen On-Prem und Cloud. Dies ermöglicht es einem Angreifer, Firewalls oder Warnmeldungen zu umgehen und sich frei zwischen Umgebungen zu bewegen, was sonst nicht möglich wäre.

3) Mangel an Prüfung, Überwachung und Alarmierung.

Dies ist der am meisten vernachlässigte Bereich, und in 90 % der Fälle haben wir einen Mangel an Überwachung und Warnungen bei Konfigurationsänderungen oder Benutzer-/Rollenverwaltung festgestellt, selbst wenn die Überwachung aktiviert oder aktiviert war. Das einzige, was möglicherweise überwacht wird, ist die erfolgreiche oder nicht erfolgreiche Jobkompilierung oder -erstellung.

Es gibt auch häufigere Sicherheitsprobleme, wie z. B. fehlende Netzwerksegmentierung, geheime Verwaltung und Patch-Verwaltung usw., aber diese drei Beispiele sind Ausgangspunkte von Angriffen, die erforderlich sind, um die durchschnittliche Erkennungszeit von Sicherheitsverletzungen zu verkürzen, oder es ist wichtig, sie zu begrenzen Angriffsradius.

TS: Haben Sie konkrete Beispiele aus der Praxis oder konkrete Szenarien, auf die Sie verweisen können?

VG: Einige Angriffe in den Nachrichten, die sich auf CI/CD- oder Pipeline-Angriffe beziehen, sind:

  • CCleaner-AngriffMärz 2018
  • Selbstgebraut, August 2018
  • Asus ShadowHammerMärz 2019
  • Verstoß gegen CircleCI-Drittanbieter, September 2019
  • SolarWinds, Dezember 2020
  • Bash-Uploader-Skript von Codecov, April 2021
  • TravisCI unbefugter Zugriff auf Geheimnisse, September 2021

TS: Warum sind Schwachstellen in automatisierten Pipelines problematisch? Wie würden Sie das Risiko für Unternehmen charakterisieren?

VG: Es können Hunderte von Tools in Pipeline-Schritten verwendet werden, und aus diesem Grund ist das enorme Wissen, das jemand wissen muss, enorm. Darüber hinaus haben Pipelines Netzwerkzugriff auf mehrere Umgebungen und mehrere Anmeldeinformationen für verschiedene Tools und Umgebungen. Der Zugriff auf Pipelines ist wie der Erwerb eines kostenlosen Reisepasses, mit dem Angreifer auf alle anderen Tools oder Umgebungen zugreifen können, die mit der Pipeline verbunden sind.

TS: Welche Angriffsfolgen könnten Unternehmen erleiden, wenn ein Angreifer erfolgreich eine CI/CD-Pipeline untergräbt?

VG: Zu den Angriffsergebnissen können das Stehlen von Quellcode oder geistigen Daten, Backdooring einer Anwendung gehören, die bei Tausenden von Kunden (wie SolarWinds) bereitgestellt wird, Zugriff auf mehrere Umgebungen (und freier Wechsel zwischen) wie Entwicklung und Produktion, sowohl lokal als auch im Internet Wolke oder beides.

TS: Wie raffiniert müssen Angreifer sein, um eine Pipeline zu kompromittieren?

VG: Was wir bei Black Hat präsentieren, sind keine Zero-Day-Schwachstellen (obwohl ich einige Schwachstellen in verschiedenen Tools gefunden habe) oder irgendwelche neuen Techniken. Kriminelle können Entwickler über Phishing (Session-Hijacking, Umgehung der Multifaktor-Authentifizierung, Diebstahl von Anmeldeinformationen) oder die CI/CD-Pipeline direkt angreifen, wenn diese nicht geschützt und mit dem Internet verbunden ist.

NCC Group hat sogar Sicherheitsbewertungen durchgeführt, bei denen wir zunächst Webanwendungen getestet haben. Was wir herausgefunden haben, ist, dass CI/CD-Pipelines selten protokolliert und mit Warnungen überwacht werden, außer beim Erstellen/Kompilieren von Software, sodass Kriminelle nicht so vorsichtig oder raffiniert sein müssen, um eine Pipeline zu kompromittieren.

TS: Wie verbreitet sind diese Arten von Angriffen und wie groß ist die Angriffsfläche von CI/CD-Pipelines?

VG: Wie bereits erwähnt, gibt es in den Nachrichten mehrere Beispiele für Angriffe aus der realen Welt. Und Sie finden immer noch z. Jenkins-Instanzen mit Shodan im Internet. Mit SaaS können Kriminelle Passwörter aufzählen und versuchen, sie mit Brute-Force zu erzwingen, um Zugang zu erhalten, da sie keine standardmäßig aktivierte Multifaktor-Authentifizierung oder IP-Einschränkungen haben und mit dem Internet verbunden sind.

Bei Remote-Arbeit sind Pipelines noch schwieriger zu sichern, da Entwickler Zugriff von überall und zu jeder Zeit wünschen und IP-Beschränkungen nicht mehr unbedingt möglich sind, da Unternehmen auf Zero-Trust-Netzwerke umsteigen oder Netzwerkstandorte wechseln.

Pipelines haben normalerweise Netzwerkzugriff auf mehrere Umgebungen (was sie nicht sollten) und haben Zugriff auf mehrere Anmeldeinformationen für verschiedene Tools und Umgebungen. Sie können als Brücke zwischen On-Prem und Cloud oder Produktions- und Testsystemen fungieren. Dies kann eine sehr breite Angriffsfläche sein und Angriffe können von mehreren Stellen kommen, auch von solchen, die nichts mit der Pipeline selbst zu tun haben. Bei Black Hat präsentieren wir zwei Szenarien, in denen wir ursprünglich mit dem Testen von Webanwendungen begonnen haben.

TS: Warum bleiben CI/CD-Pipelines für Unternehmen ein Sicherheits-Blindspot?

VG: Meistens aus Zeitmangel, manchmal aus Mangel an Menschen und in einigen Fällen aus Mangel an Wissen. CI/CD-Pipelines werden oft von Entwicklern oder IT-Teams mit begrenzter Zeit und mit Fokus auf Geschwindigkeit und Bereitstellung erstellt, oder Entwickler sind einfach mit Arbeit überlastet.

CI/CD-Pipelines können sehr oder extrem komplex sein und Hunderte von Tools enthalten, mit mehreren Umgebungen und Geheimnissen interagieren und von mehreren Personen verwendet werden. Einige Leute haben sogar eine Periodensystemdarstellung der Werkzeuge erstellt, die in einer Pipeline verwendet werden können.

Wenn ein Unternehmen Zeit darauf verwendet, ein Bedrohungsmodell für die von ihm verwendete Pipeline und die unterstützenden Umgebungen zu erstellen, wird es die Verbindung zwischen Umgebungen, Grenzen und Geheimnissen erkennen und erkennen, wo die Angriffe stattfinden können. Das Erstellen und kontinuierliche Aktualisieren des Bedrohungsmodells sollte erfolgen, und es braucht Zeit.

TS: Was sind einige Best Practices, um die Sicherheit für Pipelines zu erhöhen?

VG: Wenden Sie Netzwerksegmentierung an, verwenden Sie das Prinzip der geringsten Rechte für die Rollenerstellung, begrenzen Sie den Umfang eines Secrets in der Secrets-Verwaltung, wenden Sie häufig Sicherheitsupdates an, überprüfen Sie Artefakte und überwachen Sie Konfigurationsänderungen und warnen Sie bei diesen.

TS: Gibt es noch andere Gedanken, die Sie teilen möchten?

VG: Obwohl Cloud-native oder Cloud-basierte CI/CD-Pipelines einfacher sind, haben wir immer noch die gleichen oder ähnliche Probleme gesehen, wie z. Es ist wichtig, dass Unternehmen daran denken, dass sie auch in der Cloud Sicherheitsverantwortung tragen.

Zeitstempel:

Mehr von Dunkle Lektüre