Die Kampagne, die die Einheiten in Hintertüren verwandelt und Ihr Entwicklungsteam freigibt

Autor: Veröffentlicht 4 min de lectura 169 Lesen

Die Bilder in diesem Artikel wurden mit künstlicher Intelligenz erstellt. So veröffentlichen wir

Eine hartnäckige Kampagne im Zusammenhang mit Gruppen aus Nordkorea hat das Risiko auf der Software-Versorgungskette erhöht: Es ist nicht mehr eine isolierte Explosion, sondern eine integrierte Taktik, die die Subplantation von Rekruten, die Veröffentlichung von schädlichen Paketen in mehreren Ökosystemen und den Missbrauch von Entwicklungstools kombiniert, um Code in Entwicklerteams auszuführen. Das Phänomen, das von verschiedenen Forschungsteams wie Socket und OpenSourceMalware entdeckt und in ihren verschiedenen Iterationen wie PolinRider, Contagious Interview oder TaskJacker getauft wurde, zeigt, wie Angreifer Social Engineering, Halten von Konten und wütende Modifikationen von Repositories kombinieren, um Persistenz und Massenverteilung zu erreichen.

Der technische Vektor, der diese Operation besonders gefährlich macht, ist die Ausnutzung der automatischen Ausführungswege in der Entwicklungsumgebung: VS Code Task-Dateien, die die runOn: 'folderOpen' Option enthalten, ermöglichen es einem Entwickler, sein Projekt zu öffnen und, ohne weiter, Remote-Code auszuführen. Gleichzeitig setzen die Angreifer JavaScript-Lader in gemeinsamen Konfigurationsdateien ein (z.B. postcs.config.mjs, Thai wind.config.js, eslint.config.mjs, next.config.mjs, babel.config.js oder app.js), so dass das Engagement zu verbreiten und legitime Pakete, infizierte Versionen in npm, go, go, zu veröffentlichen. Die Raffinesse umfasst Git History Rewriting, anti-dated Verpflichtungen und Mechanismen, um den Code zu verbergen (Patierung von leeren Leerstellen, falsche .woff2-Dateien), die die Oberflächeninspektion von GitHubs Seite kompliziert.

Die Kampagne, die die Einheiten in Hintertüren verwandelt und Ihr Entwicklungsteam freigibt
Bild generiert mit IA.

Die Auswirkungen auf Open-Source-Projekte und Unternehmen, die von externen Abhängigkeiten abhängig sind, sind tiefgreifend. Ein scheinbar harmloses Paket von Editor-Erweiterung kann eine Hintertür werden, die Anmeldeinformationen, API-Schlüssel und kritische Portfolios stiehlt; in diesem speziellen Fall erhalten die Lader zweite Stufen von Blockchain-Infrastruktur zu bestellen und führen zu RAT und Stealer-Tools wie DEV # POPPER und OmniStealer. Das macht den Umfang neu: jetzt kann der empfindlichste Fehlerpunkt auf dem Entwicklerteam liegen, nicht nur auf den Produktionsservern.

Für Entwickler und Geräte sollte die erste Regel davon ausgehen, dass jede Abhängigkeit oder Umgebung, die mit den betroffenen Versionen interagiert, beeinträchtigt werden kann. Wenn eine kompromittierte Paketinstallation vermutet wird, sollten Geheimnisse von einer sauberen Maschine gedreht werden, die betroffenen Versionen entfernt und Einheiten wieder aus einer verifizierten Lockfile oder, besser, einem bekannten spielbaren Build. Zusätzlich zu dieser sofortigen Reaktion ist es wichtig, die Repositories für ungewöhnliche Änderungen in .vscode / Tasks.json, config.js, vite.config.js und eslint.config.js zu überprüfen, Start-Metadaten in den Datensätzen zu überprüfen und das Protokoll der Aktivität des Repository zu konsultieren (nicht ausschließlich auf die sichtbare Geschichte in der GitHub Landing Page verlassen).

Operationelle vorbeugende Maßnahmen umfassen die Stärkung der Hygiene von Konten und Domänen: Aktivieren Sie 2FA in allen Betreuern, schützen und erneuern kontoassoziierte Domänen, um End-of-life-Übernahmen zu vermeiden, Kontorückgewinnungsrouten einzuschränken, und verwenden Sie Verpflichtungssignaturen (GPG oder SSH-Schlüsselsignaturen) und geschützte Zweigpolitiken, die Kraft-Puzzles und unerwünschte Rewrite behindern behindern. Auf der Ebene CI / CD ist es angebracht, veröffentlichte Artefakte gegen erwartete Prüfsummen zu validieren, Grenzen bei der Ausführung automatisierter Aufgaben festzulegen und explizite Überprüfungen für Änderungen in Skripten oder Konfigurationen zu verlangen, die Code ausführen könnten.

Da der Betrieb von Workstations, muss die Angriffsfläche minimiert werden: vermeiden Sie die Installation von redaktionellen Erweiterungen, ohne ihren Ruf und Code zu überprüfen, überprüfen Sie die Liste der Erweiterungen in den Entwicklungsteams installiert, und Segmentumgebungen, so dass Maschinen, die Geheimnisse behandeln oder zur Produktion eingesetzt werden nicht verwendet werden, um Einheiten ohne Container / ephemerale Desktops navigieren oder testen. Die Werkzeuge für die Erkennung und Verhütung von Lieferketten (SCA) müssen in den Fluss integriert werden: Gerätescanner, Paketsignaturen, Anomaly Denial Policy und Warnhinweise zu den Veröffentlichungen ungewöhnlich aktiver Betreuer.

Die Kampagne, die die Einheiten in Hintertüren verwandelt und Ihr Entwicklungsteam freigibt
Bild generiert mit IA.

Es ist auch notwendig, organisatorische Veränderungen zu berücksichtigen: Praktiken wie SBOMs Generation und SLSA Rückverfolgbarkeit für Gebäude zu übernehmen, reproduzierbare Gebäude zu verlangen und binär gegen erwartete Artefakte zu validieren. Die Community kann zusammenarbeiten, indem sie verdächtige Pakete an die Datensätze meldet und Indikatorenlisten hält, aber die primäre Verantwortung liegt bei jedem Team, um Konten zu härten, Domains zu schützen und jede kompromittierte Abhängigkeit als Sicherheitsvorfall zu behandeln.

Wenn Sie spezielle Gegenmaßnahmen und technische Anleitungen vertiefen möchten, bietet GitHubs Dokumentation zur Supply Chain Security gute Praktiken für Repository und Paketveröffentlichung https: / / docs.github.com / en / code-security / Supply-chain-security, und die Dokumentation von Visual Studio Code erklärt, wie Aufgaben funktionieren und warum der Ablauf Option kann ausgenutzt werden, wenn es nicht kontrolliert wird https: / / code.visualstudio.com / docs / Editor / Aufgaben. Die SLSA-Prinzipien (Supply-chain Levels for Software Artists) sind ein nützlicher Rahmen für die Erhöhung des Vertrauens in Gebäude und Release. https: / / slsa.dev /.

Kurz gesagt, wir stehen vor einer Kampagne, die Social Engineering, Missbrauch der öffentlichen Entwicklungsinfrastruktur und fortschrittliche verdeckte Techniken kombiniert. Eine effektive Verteidigung muss davon ausgehen, dass die Workstation des Entwicklers ein kritisches Ziel ist, Einheiten mit berechnetem Misstrauen zu behandeln, und technische und organisatorische Kontrollen anzuwenden, die sowohl die Einnahme von Betreuern als auch die unbemerkte Ausführung von schädlichem Code verhindern. Schnell handeln und Schutzmaßnahmen auf der Ebene von Konten, Domänen und Bauprozessen bereitstellen, sind zwingende Schritte, um diese Art von Bedrohung zu enthalten.

Deckung

Verwandte Artikel

Weitere Neuigkeiten zum selben Thema.