Software Supply Chain Security Bedrohungen im Quellstadium

Wie wir bereits in unserem vorherigen Artikel über software supply chain securityhaben wir das Konzept von Supply-Chain-Angriffen und ihre potenziellen Auswirkungen auf Unternehmen untersucht. Diese Angriffe nutzen häufig Schwachstellen im gesamten Softwareentwicklungszyklus aus (SDLC), die in jeder Phase erhebliche Risiken bergen. Heute werden wir uns mit den häufigsten software supply chain security Bedrohungen, die während der Quellenphase entstehen.

Zunächst einmal ist es wichtig, einen Supply Chain Angriff zu definieren und die spezifischen Software Supply Chain Security Bedrohungen, die während der Quellenphase entstehen.

Definition eines Software-Supply-Chain-Angriffs

 Das US-amerikanische National Institute of Standards und Technologie (NIST) definiert einen Software Supply Chain Angriff  „Ein Angriff findet statt, wenn ein Cyber-Bedrohungsakteur das Netzwerk eines Softwareanbieters infiltriert und Schadcode verwendet, um die Software zu kompromittieren, bevor der Anbieter sie an seine Kunden sendet. Die kompromittierte Software gefährdet dann die Daten oder das System des Kunden. Neu erworbene Software kann von Anfang an kompromittiert sein oder eine Kompromittierung kann durch andere Mittel wie einen Patch oder Hotfix erfolgen. In diesen Fällen erfolgt die Kompromittierung noch bevor der Patch oder Hotfix in das Netzwerk des Kunden gelangt. Diese Art von Angriffen betrifft alle Benutzer der kompromittierten Software und kann weitreichende Folgen für Softwarekunden aus dem öffentlichen Sektor, kritische Infrastrukturen und dem privaten Sektor haben."  

Quellstufe Software Supply Chain Security Threats

Die Quellphase des Software-Lieferkettenlebenszyklus umfasst die ersten Phasen der Softwareentwicklung, von der Ideenfindung bis zur Erstellung des Quellcodes. Diese Phase umfasst die Auswahl von Tools, Bibliotheken und Komponenten sowie die Entwicklung und Implementierung der Kernfunktionen der Software.

Software supply chain security Bedrohungen in der Quellphase beziehen sich auf Sicherheitslücken, die ausgenutzt werden können, um unbefugte oder böswillige Änderungen am Quellcode vorzunehmen. Dies umfasst die Bedrohung durch unbefugte und autorisierte Personen, die unbefugte Änderungen vornehmen.

Sicherheitsbedrohungen für die Software-Lieferkette – Angriffe auf die Software-Lieferkette

Beispiele für Quellenbedrohungen 

 
Senden Sie fehlerhaften Code 

Das Einreichen von schlechtem Code bezieht sich auf die Praxis, commitCode in ein Quellrepository einschleusen, der Mängel, Fehler oder Schwachstellen enthält. Dies kann von bösartigem Code reichen, der absichtlich eingeführt wird, um die Integrität oder Sicherheit der Software zu gefährden, bis hin zu unbeabsichtigtem Code, der aufgrund schlechter Codierungspraktiken oder mangelnder Tests Fehler oder Schwachstellen einführt. Ein Beispiel für diesen Vektorangriff war der NPM-Angriff. Im Jahr 2022 infiltrierte ein Hacker das Quellcode-Repository einer beliebten Open-Source-Softwarebibliothek namens npm. Der Hacker fügte Schadcode in den Code der Bibliothek ein, der es ihm ermöglichte, unbefugten Zugriff auf die Systeme von Organisationen zu erhalten, die die Bibliothek installiert hatten. Der Schadcode ermöglichte es dem Hacker, Daten von den betroffenen Systemen zu stehlen, Malware zu installieren und den Betrieb zu stören. Der Angriff betraf eine breite Palette von Organisationen, darunter Regierungsbehörden, Unternehmen und Einzelpersonen.

Kompromittiertes Quellrepo

Ein Angreifer erhält unbefugten Zugriff auf ein Quellcode-Repository (SCM) und führt böswillige Änderungen ein oder entfernt legitimen Code. Dies kann durch verschiedene Methoden erreicht werden, beispielsweise durch die Ausnutzung von Schwachstellen in der SCM, die Berechtigung eines Entwicklers mit Zugriff auf das Repository kompromittieren oder Zugriff auf die zugrunde liegende Infrastruktur erhalten, die das SCMEin Beispiel für diesen Vektorangriff war die PHP-Angriff.  Ein Angreifer kompromittierte den selbstgehosteten Git-Server von PHP, ein sicheres Repository zum Speichern und Verwalten des Quellcodes der Programmiersprache PHP. Der Angreifer konnte zwei bösartige commits in die Hauptcodebasis von PHP. Diese commits fügte Hintertüren hinzu, die es dem Angreifer ermöglichten, unbefugten Zugriff auf PHP-Installationen zu erhalten. Die Hintertüren ermöglichten es dem Angreifer, beliebigen Code auf jeder PHP-Installation auszuführen, der zum Stehlen von Daten, Installieren von Malware oder Unterbrechen von Vorgängen verwendet werden konnte. Der Angriff verursachte auch einen großen Reputationsschaden für PHP, da er Bedenken hinsichtlich der Sicherheit der Programmiersprache aufkommen ließ.

Aus einer geänderten Quelle erstellen

Ein Angreifer erhält eine Kopie des Quellcodes aus einer anderen Quelle als dem offiziellen Quellcode-Repository und verwendet diese zum Erstellen und Bereitstellen der Software. Dieser geänderte Quellcode kann Schadcode, Hintertüren oder andere schädliche Änderungen enthalten, die die Integrität, Funktionalität oder Sicherheit der Software beeinträchtigen können. Ein Beispiel für diesen Vektorangriff war der Webmin Attacke. Ein Angreifer verschaffte sich unbefugten Zugriff auf die Build-Infrastruktur von Webmin, die für die Kompilierung und Verpackung der Webmin-Software verantwortlich ist. Der Angreifer änderte die Build-Infrastruktur, um Quelldateien zu verwenden, die nicht im offiziellen Webmin-Quell-Repository vorhanden waren. 

Schreiben Sie unsicheren Code

Unsichere Codierungspraktiken, ob absichtlich oder unabsichtlich, können Schwachstellen in Software einführen. Diese Schwachstellen können von Angreifern ausgenutzt werden, um unbefugten Zugriff zu erlangen, Daten zu ändern oder zu stehlen oder den Betrieb zu stören. Ein Beispiel für diesen Vektorangriff war der Apache-Struts-Angriff. Im Jahr 2003 drang ein Hacker in das Quellcode-Repository der Open-Source-Softwarebibliothek Apache Struts ein. Der Hacker fügte eine Schwachstelle in die Bibliothek ein, die ihm unbefugten Zugriff auf die Systeme von Organisationen ermöglichte, die die Bibliothek installiert hatten. Die Schwachstelle ermöglichte es dem Hacker, auf den betroffenen Systemen beliebigen Code auszuführen, der zum Diebstahl von Daten, zur Installation von Malware und zur Störung des Betriebs verwendet werden konnte. Der Angriff betraf eine Vielzahl von Organisationen, darunter Regierungsbehörden, Unternehmen und Einzelpersonen.

Manipulation kritischer Dateien

Das Ändern oder Modifizieren kritischer Dateien im Softwareentwicklungszyklus kann schwerwiegende Folgen haben, darunter die Einführung von Schadcode, die Gefährdung vertraulicher Daten und die Unterbrechung des Softwarebetriebs. Ein Beispiel für diesen Manipulationsvektorangriff war der Maven-Angriff. Im Jahr 2020 infiltrierten Hacker das Quellcode-Repository einer beliebten Open-Source-Softwarebibliothek namens Maven. Die Hacker fügten Schadcode in die pom.xml-Datei der Bibliothek ein, die zur Konfiguration des Build-Prozesses verwendet wird. Der Schadcode ermöglichte es den Hackern, ihre Abhängigkeiten in den Build-Prozess einzuschleusen, die dann in die kompilierte Software aufgenommen wurden. Diese Abhängigkeiten enthielten Hintertüren, die es den Hackern ermöglichten, unbefugten Zugriff auf die Systeme von Organisationen zu erhalten, die die Software installiert hatten.

Den Weg frei machen: Betriebsabläufe optimieren mit klarer Sicht

Gehen Sie über den Bereich der Sicherheit hinaus und Sie werden feststellen, dass die Visualisierung Ihrer Lieferkette mehr als nur Schutz bietet – es ist, als würden Sie in einem dunklen Raum Licht anmachen und die schnellsten und effizientesten Wege durch Ihre Betriebsabläufe aufzeigen. Sie gibt den Teams einen Überblick über das Entwicklungsökosystem und ermöglicht es ihnen, redundante Assets und nicht gewartete Elemente zu identifizieren. Diese Klarheit ist besonders bei Großprojekten von Vorteil, bei denen mehrere Einheiten und Komponenten miteinander verflochten sind.

Schlussbemerkungen

Durch das Verständnis der verschiedenen Arten von Quellphasen software supply chain security Durch die Erkennung und Implementierung geeigneter Sicherheitsmaßnahmen können sich Unternehmen vor diesen verheerenden Angriffen schützen.

  • Angriffe auf die Software-Lieferkette können in jeder Phase des Entwicklungszyklus, auch in der Quellcodephase, Schadcode in die Software einschleusen.
  • Zu den Bedrohungen im Quellcodestadium gehören das Einreichen von fehlerhaftem Code, die Gefährdung von Quellcode-Repositorys, das Erstellen aus geänderten Quellen, das Schreiben von unsicherem Code und die Manipulation kritischer Dateien.
  • Unternehmen müssen während des gesamten Softwareentwicklungszyklus umfassende Sicherheitsmaßnahmen implementieren, um die Risiken von Angriffen auf die Lieferkette zu mindern.

Möchten Sie immer einen Schritt voraus sein in software supply chain security?

Bleiben Sie dran für unsere kommende Blogserie, wo wir uns mit den häufigsten Angriffen befassen, die während des gesamten Softwareentwicklungszyklus auftreten. Von der Bauphase Bis hin zur Bereitstellung und darüber hinaus statten wir Sie mit dem Wissen und den Strategien aus, die Sie zum Schutz Ihres Unternehmens vor diesen heimtückischen Bedrohungen benötigen.

Verpassen Sie nicht! Abonnieren Sie noch heute unseren Blog und erfahren Sie als Erster von unseren neuesten Erkenntnissen über software supply chain security.

Gemeinsam können wir ein widerstandsfähigeres und sichereres Software-Ökosystem für alle aufbauen.

Entdecken Sie die Funktionen von Xygeni!
Sehen Sie sich unsere Video-Demo an
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