Treason in Ihrem Code: Wie ein einzelnes Paket die Schwäche der Software-Versorgungskette zeigt

Veröffentlicht 5 min de lectura 168 Lesen

Vor ein paar Tagen wurde bestätigt, dass die offene Lieferkette von npm einen schweren Vorfall erlitt: das beliebte Axios-Paket wurde manipuliert, um eine bösartige Multiplatform-Software zu verteilen, und Google hat darauf hingewiesen, dass eine nordkoreanische Gruppe namens UNC1069 würde hinter dem Angriff. Obwohl die Nachricht in mehreren spezialisierten Medien gesprungen ist, was die Gemeinschaft betrifft, ist nicht nur, dass eine solche weit verbreitete Buchhandlung beeinträchtigt wurde, sondern die Raffinesse des Verfahrens und die Fähigkeit des Angreifers, skalierbar und stehlend zu arbeiten.

Der von den Angreifern verwendete Mechanismus war nicht Axios' Quellcode zu ändern, sondern das Vertrauen der Verlagskette zu nutzen. Das npm-Paket des Betreuers wurde entführt und zwei manipulierte Versionen (1.14.1 und 0.30.4) veröffentlicht, die eine bösartige Abhängigkeit namens "plain-crypto-js". Diese Einheit wurde von einem Installations-Hook (eine Post-Installation in der Datei definiert) verwendet.Paket.json) um Code auf dem Team von denen, die Axios installiert haben: npm, durch Design, führt diese Skripte automatisch nach der Installation, die eine stille Ausführung des schädlichen Codes erlaubt, ohne die Axios API zu berühren.

Treason in Ihrem Code: Wie ein einzelnes Paket die Schwäche der Software-Versorgungskette zeigt
Bild generiert mit IA.

Die Einheit fungierte als eine Art Fahrzeug, um einen Dropper JavaScript opfuscado, nicknamed SILKBELL (Datei namens "setup.js"), der einen Remote-Server kontaktiert und die nächste Stufe nach dem Betriebssystem des Opfers herunterlädt. Im Windows-Zweig wird eine PowerShell-basierte Last geliefert, in macOS wird eine in C + + geschriebene Mach-O-Binärdatei installiert und in Linux eine Hintertür in Python bereitgestellt. Nach dem Herunterladen und Laufen der richtigen Last, der Tropfer macht eine Reinigung: es beseitigt Spuren und ersetzt diePaket.jsonaus böswilliger Abhängigkeit von einem "reinen" ohne Montagehaken, was es schwierig macht, weitere forensisch zu erkennen.

Die in den Systemen identifizierte Hintertür wurde getauft wie WAVESHAPER.V2, eine Entwicklung eines vorherigen Werkzeugs, das mit demselben Schauspieler verbunden ist. Diese Variante erweitert Funktionalitäten und nutzt einen Befehls- und Steuerkanal mit Kommunikation in JSON; es sammelt mehr Informationen aus dem System und akzeptiert Aufträge, um seine Ausführung, Listenverzeichnisse und Dateimetadaten zu stoppen, Skripte (AppleScript, PowerShell oder Shell, nach Plattform) ausführen und sogar decodierte Binaries im Speicher injizieren und ausführen. Die Malware führt Umfragen an den Kontrollserver alle 60 Sekunden, und teilt operative Funktionen und Artefakte (wie Zeitrouten und User Agent Chains), die Sicherheitsfirmen und Google erlaubt, es mit UNC1069 zu korrelieren.

Die Zuschreibung, obwohl nicht immer endgültig, hatte wichtige Beiträge: Elastic Security Labs war die erste, um funktionelle Ähnlichkeiten zu erkennen und Mandiant zusammen mit der Google Threat Intelligence Group lieferte technische Analysen, die die Beziehung zwischen neuen Proben und früheren Kampagnen des Schauspielers unterstützen. Die vollständige Geschichte wird in mehreren technischen Analysen und spezialisierten Nachrichten berichtet, die sowohl die Postinstallationstechnik als auch die spezifischen Belastungen dokumentieren: Es ist angebracht, Sicherheitsquellen für die Verpflichtungsindikatoren und den technischen Kontext zu überprüfen, zum Beispiel bei der Registrierung des Pakets in npm und in Berichten von Sicherheitsspezialisten ( Axios Seite in npm, Elastische Sicherheit Laboranalyse und Medienberichterstattung wie The Hacker News)

Was können wir von diesem Vorfall lernen? Erstens, dass sich die Angriffe auf die Lieferkette entwickeln: Sie sind nicht auf ein opportunistisches Skript beschränkt, sondern auf geplante Operationen, die das Engagement von Konten, vorgelagerte Lasten für mehrere Systeme und Mechanismen kombinieren, um Drucke zu löschen. Experten haben gewarnt, dass dieser Fall als ein Betriebsmuster die in anderen Aufzeichnungen und Ökosystemen (PyPI, NuGet, etc.) repliziert werden kann, weil das Ziel ist, die Reichweite von automatisierten Gebäude- und Entwicklereinheiten zu maximieren.

In der Praxis sind die Maßnahmen, die Organisationen und Entwickler ergreifen sollten, nicht trivial und gehen durch die Hygiene der Umwelt und Sicherheitspraktiken in der Veröffentlichung und Verbrauch von Paketen. Es ist angebracht, die Abhängigkeitsketten zu prüfen und kompromittierte Versionen zu blockieren, (pin) sichere Versionen in Sperrdateien alsPaket-lock.jsonum versehentliche Updates zu verhindern und manuell auf vermutete Abhängigkeit zu überprüfenKlar-Krypto-jsinNode _ Module. Wenn Aktivität erkannt wird, ist es wichtig, böswillige Prozesse zu vervollständigen, betroffene Geräte zu isolieren und Anmeldeinformationen und Schlüssel zu drehen, die möglicherweise ausgesetzt wurden. Darüber hinaus hilft die Sperrung von Verbindungen zu der gemeldeten Befehls- und Steuerdomäne und Ihrem zugehörigen IP, den Kontroll- und Kontrollkanal zu schneiden; Verkehrsanalyse-Tools und Sperrlisten sollten entsprechend aktualisiert werden.

Über diese reaktive Reaktion hinaus benötigt das Ökosystem nachhaltige präventive Maßnahmen: Anwendung von Multifaktor-Authentifizierung in den Wartungskonten, die strengere Überprüfungen der Veränderungen, die Abhängigkeiten beeinflussen, Erzeugung und Aufrechterhaltung eines SBOM (Software-Schatz von Materialien) genau wissen, was in den Gebäuden kommt, und die Einschränkung der Verwendung von Haken, die Code in Installations- oder Baustufen laufen. Es ist auch anzunehmen, dass jedes in der Umwelt gespeicherte Geheimnis, das veröffentlichte oder gebaute verübte Pakete, beeinträchtigt und unverzüglich gedreht werden sollte.

Treason in Ihrem Code: Wie ein einzelnes Paket die Schwäche der Software-Versorgungskette zeigt
Bild generiert mit IA.

Dieser Vorfall ist auch eine Forderung nach Aufmerksamkeit auf die Wirtschaft hinter bestimmten Akteuren: Gruppen mit finanziellen Motivationen haben historisch bevorzugte Kampagnen gegen Dienstleistungen und Kryptomoneda-Plattformen, und die beobachtete Raffinesse (Payloads für drei Systeme, kurzfristige Bereitstellungs- und Selbstzerstörungsmechanismen) schlägt eine Absicht vor, in großem Umfang zu arbeiten. Die Antwort sollte daher nicht auf ein bestimmtes Patch beschränkt werden, sondern um zu überdenken, wie Organisationen Einheiten und Genehmigungen in ihrem Entwicklungszyklus verwalten.

Wenn Sie sich vertiefen möchten, überprüfen Sie die von Sicherheitslabors und Geheimdienstanbietern veröffentlichten Analysen, die die Muster, Domänen und Verhaltensmuster dokumentiert haben. Beraten Sie zuverlässige und aktuelle Quellen ermöglicht es Ihnen, die neuesten Verpflichtungsindikatoren anzuwenden und eine entsprechende Antwort zu koordinieren: Elastische Sicherheitslabore, Mandiant, ReversingLabs und spezialisierte Presseberichte wie The Hacker News sind gute Ausgangspunkte für Kontrastinformationen und Zugang zu IoCs Listen.

Am Ende ist die Lektion klar: Vertrauen in eine Abhängigkeit ist nicht unveränderlich. Die Einführung strengererer Kontrollen in der Software-Lieferkette, die zunehmende Überwachung der Publishing-Prozesse und die Behandlung von Secret Management als kritisch sind wesentliche Schritte, um das Risiko zu reduzieren, dass ein ähnlicher Vorfall Ihre Projekte oder Ihre Organisation beeinflussen wird.

Deckung

Verwandte Artikel

Weitere Neuigkeiten zum selben Thema.