.NET-Entwickler im Visier bösartiger NuGet-Pakete

.NET-Entwickler im Visier bösartiger NuGet-Pakete

.NET-Entwickler im Visier bösartiger NuGet-Pakete PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Ein Dutzend Pakete, die im NuGet-Repository für .NET-Softwareentwickler gehostet werden, sind tatsächlich bösartige Trojaner-Komponenten, die das Installationssystem kompromittieren und kryptostehlende Malware mit Backdoor-Funktionalität herunterladen.

Das Sicherheitsunternehmen für Softwarelieferketten JFrog gab in einer am 21. März veröffentlichten Analyse an, dass die 13 Pakete, die inzwischen entfernt wurden, mehr als 166,000 Mal heruntergeladen wurden und sich als andere legitime Software wie Coinbase und Microsoft ASP.NET ausgeben. JFrog entdeckte den Angriff, als die Forscher des Unternehmens verdächtige Aktivitäten feststellten, als eine Datei – init.ps1 – bei der Installation ausgeführt und dann eine ausführbare Datei heruntergeladen und ausgeführt wurde.

Die Entdeckung des bösartigen Codes zeigt, dass Angreifer weiter in die Softwarelieferkette vordringen, um unvorsichtige Entwickler zu kompromittieren, obwohl .NET und die Programmiersprachen C# unter Angreifern weniger bekannt sind, sagt Shachar Menashe, Leiter der Sicherheitsforschung für JFrog.

„Die Techniken, um bösartigen Code bei der Installation von NuGet-Paketen auszuführen, sind zwar trivial, aber weniger dokumentiert als in Python oder JavaScript, und einige von ihnen sind veraltet, sodass einige unerfahrene Angreifer denken könnten, dass dies nicht möglich ist“, sagt er. „Und vielleicht hat NuGet eine bessere automatisierte Filterung bösartiger Pakete.“

Die Softwarelieferkette wird zunehmend zum Ziel von Angreifern, die versuchen, Entwicklersysteme zu kompromittieren oder unbemerkten Code über Entwickleranwendungen an den Endbenutzer weiterzugeben. Die Ökosysteme Python Package Index (PyPI) und JavaScript-fokussierter Node Package Manager (npm) sind häufig Ziele von Supply-Chain-Angriffen Ausrichtung auf Open-Source-Projekte.

Der Angriff auf das .NET-Software-Ökosystem, bestehend aus fast 350,000 einzigartige Pakete, ist laut JFrog das erste Mal, dass bösartige Pakete auf NuGet abzielen, obwohl das Unternehmen darauf hingewiesen hat, dass eine Spamming-Kampagne stattgefunden hat zuvor gepushte Phishing-Links an Entwickler.

Typosquatting ist immer noch ein Problem

Der Angriff unterstreicht, dass Typosquatting weiterhin ein Problem darstellt. Bei diesem Angriffsstil werden Pakete mit ähnlich klingenden Namen – oder demselben Namen mit häufigen Rechtschreibfehlern – als legitime erstellt, in der Hoffnung, dass ein Benutzer ein gemeinsames Paket falsch eintippt oder die Fehler nicht bemerkt.

Entwickler sollten sich neue Pakete genau ansehen, bevor sie sie in ein Programmierprojekt einbeziehen, so die JFrog-Forscher Natan Nehorai und Brian Moussalli schrieben in der Online-Beratung.

„Obwohl im NuGet-Repository keine früheren Angriffe mit bösartigem Code beobachtet wurden, konnten wir Beweise für mindestens eine kürzlich durchgeführte Kampagne finden, bei der Methoden wie Typosquatting verwendet wurden, um bösartigen Code zu verbreiten“, schrieben sie. „Wie bei anderen Repositorys sollten bei jedem Schritt des Softwareentwicklungslebenszyklus Sicherheitsmaßnahmen ergriffen werden, um sicherzustellen, dass die Software-Lieferkette sicher bleibt.“

Die sofortige Codeausführung ist problematisch

Dateien, die automatisch von Entwicklungstools ausgeführt werden, stellen eine Sicherheitslücke dar und sollten beseitigt oder eingeschränkt werden, um die Angriffsfläche zu verringern, so die Forscher. Diese Funktionalität ist ein wesentlicher Grund, warum die npm- und PyPI-Ökosysteme Vergiftungsprobleme haben, verglichen mit beispielsweise dem Go-Paket-Ökosystem.

„Trotz der Tatsache, dass die entdeckten bösartigen Pakete inzwischen aus NuGet entfernt wurden, sind .NET-Entwickler immer noch einem hohen Risiko durch bösartigen Code ausgesetzt, da NuGet-Pakete immer noch Funktionen enthalten, um Code sofort nach der Paketinstallation auszuführen“, erklärten die JFrog-Forscher in dem Blogbeitrag . „[A]Obwohl es veraltet ist, wird [ein Initialisierungs-]Skript immer noch von Visual Studio berücksichtigt und wird ohne Warnung ausgeführt, wenn ein NuGet-Paket installiert wird.“

JFrog riet Entwicklern, in importierten und installierten Paketen nach Tippfehlern zu suchen, und sagte, dass Entwickler sicherstellen sollten, „sie nicht versehentlich in ihrem Projekt zu installieren oder sie als Abhängigkeit zu erwähnen“, erklärte das Unternehmen.

Darüber hinaus sollten Entwickler den Inhalt von Paketen anzeigen, um sicherzustellen, dass keine ausführbaren Dateien heruntergeladen und automatisch ausgeführt werden. Während solche Dateien in einigen Software-Ökosystemen üblich sind, sind sie normalerweise ein Hinweis auf böswillige Absichten.

Durch eine Vielzahl von Gegenmaßnahmen beseitigen das NuGet-Repository – sowie npm und PyPI – langsam, aber sicher die Sicherheitslücken, sagt Menashe von JFrog. 

„Ich gehe nicht davon aus, dass NuGet in Zukunft zu einem größeren Ziel werden wird, insbesondere wenn die NuGet-Betreuer die Unterstützung für die Ausführung von Code bei der Paketinstallation vollständig entfernen würden – was sie teilweise bereits getan haben“, sagt er.

Zeitstempel:

Mehr von Dunkle Lektüre