Cyberbedrohungen
Angriff auf die NPM Supply Chain
Bei neuen Angriffen auf die Supply Chain des Node Package Manager (NMP)-Repositorys fügten Akteure bösartigen Code in weit verbreitete JavaScript-Pakete ein. Die eingesetzte Technik der wurmartigen Verbreitung bedroht das gesamte Software-Ökosystem.
Wichtige Erkenntnisse
- Bestimmte bösartige Pakete leiteten heimlich Kryptowährungs-Assets um, indem sie Web-APIs kaperten und den Netzwerkverkehr manipulierten.
- Eine der Payloads des Angriffs ist der Shai-Hulud-Wurm, der über kompromittierte Pakete verbreitet wird, Cloud-Service-Token stiehlt, Tools zum Scannen geheimer Daten einsetzt und sich auf weitere Konten ausbreitet.
- Zu den betroffenen Unternehmen gehören solche in Nordamerika und Europa.
Am 15. September kam es zu einem anhaltenden Angriff auf die Supply Chain des Node Package Manager (NPM)-Repositorys, bei dem die Angreifer eine gezielte Phishing-Kampagne durchführten, um das Konto eines NPM-Paketbetreuers zu kompromittieren. Mit privilegiertem Zugriff injizierten sie bösartigen Code in weit verbreitete JavaScript-Pakete und bedrohten damit das gesamte Software-Ökosystem. Insbesondere störte der Angriff mehrere wichtige NPM-Pakete, darunter solche, die für die Anwendungsentwicklung und Kryptografie von zentraler Bedeutung sind. Bis zum 16. September identifizierten Forscher von Socket bereits fast 500 betroffene NPM-Pakete.
Die böswilligen Änderungen wurden an kritischen JavaScript-Bibliotheken vorgenommen, darunter solche, die Entwicklungs-Frameworks und kryptografische Funktionen unterstützen. Von diesem Angriff betroffen sind Pakete mit extrem hohen globalen Download-Raten – über 2,6 Milliarden pro Woche –, was sich auf ein riesiges Ökosystem von Webanwendungen und abhängigen Projekten auswirkt.
Die Angreifer kaperten Web-APIs und manipulierten den Netzwerkverkehr, um Gelder heimlich aus legitimen Kanälen in von ihnen kontrollierte Wallets umzuleiten. Dabei nahmen sie sowohl Organisationen als auch Nutzer ins Visier, die mit kompromittierten Paketen interagierten.
Shai-Hulud-Angriff
Eine der Payloads ist ein sich selbst replizierender Wurm, nach dem Sandwurm in „Dune“ Shai-Hulud benannt, der NPM Registry entdeckt wurde. Shai-Hulud zeichnet sich durch seine autonome Replikationsfähigkeit aus. Anstelle einer bloßen Infektion verbreitet er sich wurmartig, so dass kontinuierlich nach weiteren Paketen und Umgebungen gesucht und diese kompromittiert werden.
Die Angriffskette von Shai-Hulud begann mit einer Phishing-Mail, die als NPM-Sicherheitswarnung getarnt war und einen Entwickler dazu verleitet hat, seine Anmeldedaten preiszugeben. Die Angreifer kompromittierten das NPM-Konto des Entwicklers und luden ein bösartiges Paket hoch. Nach dessen Installation führte dieses Paket JavaScript und eingebettete Unix-Shell-Skripte aus, um Persistenz herzustellen und mit dem Diebstahl von Informationen zu beginnen.
Mithilfe gestohlener GitHub-Zugriffs-Token authentifizierte sich die Malware bei der GitHub-API, überprüfte die Nutzerberechtigungen und listete alle Repositorys auf, auf die das Opfer Zugriff hatte – einschließlich privater Repositorys. Sie klonte private Repositorys auf Konten der Angreifer, erstellte in jedem einen neuen Zweig und setzte einen bösartigen Workflow ein, um den Datendiebstahl zu automatisieren.
Als Nächstes installierte die Malware TruffleHog, um Dateien nach weiteren Geheimnissen zu durchsuchen und diese zu sammeln. Sie machte alle gestohlenen Repositorys öffentlich und spiegelte deren gesamte Historie. Sensible Daten wurden dann mithilfe automatisierter Webanfragen an den Angreifer weitergeleitet.
Der Ablauf zeigt, wie ein einziges kompromittiertes Konto zur Verbreitung von bösartigem Code, zum Diebstahl von Anmeldedaten und zu massiven Datenlecks in der gesamten Entwicklungsumgebung eines Unternehmens führen kann.
Die weitreichende Verbreitung dieser Bedrohung bedeutet, dass Hunderte von Paketen vor der ersten Erkennung kompromittiert worden sein könnten. Die durch Automatisierung ermöglichte Skalierbarkeit des Angriffs erhöht sowohl die technischen als auch die geschäftlichen Risiken erheblich, da der Angreifer nach der Bereitstellung nur minimalen Aufwand betreiben muss.
Besonderheiten von Shai-Hulud
Herkömmliche Bedrohungen für die Supply Chain umfassen in der Regel einmalig verwendbare Payloads oder einen gezielten Diebstahl von Anmeldedaten. Shai-Hulud wiederum besitzt die Fähigkeit, sich innerhalb des NPM-Ökosystems selbst zu replizieren und dabei verfügbare Funktionen in Post-Installationsskripten zu nutzen, um sekundäre und tertiäre Infektionen zu verursachen. Sobald ein kompromittiertes Paket installiert ist, versucht der Wurm automatisch, sich auf neue Ziele auszubreiten, und so entsteht eine sich vervielfachende Bedrohung, die nach der ersten Bereitstellung nicht mehr auf menschliches Eingreifen angewiesen ist.
Die größte Stärke und das größte Risiko von NPM liegt in seinem riesigen Netzwerk von Community-gesteuerten Paketen. Das selbstreplizierende Wurmdesign von Shai-Hulud zielt speziell auf dieses Vertrauen der Community ab und zeigt, wie schnell ein einzelner böswilliger Akteur einen unverhältnismäßig großen Teil der Entwickler und Softwareprojekte beeinträchtigen kann.
Der Shai-Hulud-Wurm nutzt eine fortschrittliche Technik, indem er bösartige GitHub-Actions-Workflows in bestimmte Repositorys injiziert, wodurch eine automatisierte Verbreitung und das Ausspähen geheimer Informationen in der Entwicklungsumgebung eines Unternehmens ermöglicht wird. Weitere technische Einzelheiten zum Angriff umfasst der Originalbeitrag.
Wer ist bisher betroffen?
Laut den Telemetriedaten von Trend Micro wurden Angriffe in verschiedenen Ländern gemeldet, vor allem jedoch in Nordamerika und Europa. Zu den am stärksten betroffenen Organisationen und Entwicklern zählen diejenigen, die auf weit verbreitete JavaScript-Bibliotheken angewiesen sind. Bislang wurde jedoch noch kein Shai-Hulud-Wurm entdeckt.
Sicherheitsempfehlungen
Um ihre Entwicklungsabläufe und sensiblen Assets vor den Risiken zu schützen sollten Unternehmen eine proaktive Sicherheitsstrategie verfolgen und dabei die folgenden Best Practice beachten:
- Überprüfen Sie Abhängigkeiten, insbesondere kürzlich aktualisierte Pakete, und entfernen oder machen Sie bei Verdacht die Aktualisierung rückgängig.
- Widerrufen und ersetzen Sie Anmeldedaten, insbesondere für NPM-Konten oder API-Schlüssel, die möglicherweise zugänglich gemacht wurden, wobei sensible Konten Vorrang haben sollten.
- Überwachen Sie, ob Trufflehog und ähnliche Scan-Tools verwendet werden. Überprüfen Sie die Protokolle auf anomale Repository-Scan-Aktivitäten und scannen Sie Ihre eigene Codebasis proaktiv auf zugängliche Geheimnisse.
- Halten Sie sich über die Hinweise der offiziellen NPM-Registry und vertrauenswürdiger Quellen auf dem Laufenden.
- Verschärfen Sie die Zugriffs- und Sicherheitsrichtlinien. Wenden Sie beispielsweise das Prinzip der geringsten Privilegien für alle Konten an, die sich auf Repositorys und Automatisierung auswirken. Setzen Sie außerdem die Multi-Faktor-Authentifizierung (MFA) für alle Entwickler- und CI/CD-Zugriffspunkte durch.
Um den sich ständig weiterentwickelnden Bedrohungen immer einen Schritt voraus zu sein, können Trend-Kunden auf Trend Vision One™ Threat Insights zugreifen, das die neuesten Erkenntnisse von Trend Research zu aufkommenden Bedrohungen und Bedrohungsakteuren bereitstellt.