Zephyrnet-logotyp

.NET Devs inriktade på skadliga NuGet-paket

Datum:

Ett dussintal av paket som finns på NuGet-förrådet för .NET-programutvecklare är faktiskt skadliga trojanska komponenter som äventyrar installationssystemet och laddar ner kryptostjälande skadlig programvara med bakdörrsfunktionalitet.

Säkerhetsföretaget för mjukvaruförsörjningskedjan JFrog uppgav i en analys som publicerades den 21 mars att de 13 paketen, som sedan har tagits bort, har laddats ner mer än 166,000 1 gånger och utger sig för att vara andra legitima program, såsom Coinbase och Microsoft ASP.NET. JFrog upptäckte attacken när företagets forskare noterade misstänkt aktivitet när en fil – init.psXNUMX – kördes vid installationen och sedan laddade ner en körbar fil och körde den.

Upptäckten av den skadliga koden visar att angripare förgrenar sig ytterligare i mjukvaruförsörjningskedjan som ett sätt att kompromissa med oförsiktiga utvecklare, även om programmeringsspråken .NET och C# är mindre kända bland angripare, säger Shachar Menashe, chef för säkerhetsforskning för JFrog.

"Teknikerna för att få skadlig kod exekverad på NuGet-paketinstallationen, även om de är triviala, är mindre dokumenterade än i Python eller JavaScript, och en del av dem har föråldrats, så en del nybörjare kan tro att det inte är möjligt", säger han. "Och kanske NuGet har bättre automatiserad filtrering av skadliga paket."

Programvaruförsörjningskedjan har blivit allt mer måltavla av angripare med försök att äventyra utvecklarnas system eller sprida obemärkt kod till slutanvändaren genom utvecklarnas applikationer. Python Package Index (PyPI) och JavaScript-fokuserade Node Package Manager (npm) ekosystem är frekvent mål för attacker i leveranskedjan inriktade på projekt med öppen källkod.

Attacken på .NET-programvarans ekosystem, som består av nästan 350,000 XNUMX unika paket, är första gången som skadliga paket har riktat sig mot NuGet, enligt JFrog, även om företaget noterade att en spamkampanj hade tidigare skickat nätfiske-länkar till utvecklare.

Typosquatting fortfarande ett problem

Attacken understryker att stavfel fortsätter att vara ett problem. Den attackstilen innebär att skapa paket med liknande namn – eller samma namn med vanliga stavfel – som legitima, i hopp om att en användare kommer att skriva fel ett vanligt paket eller inte kommer att märka felen.

Utvecklare bör ge nya paket en ordentlig titt innan de inkluderar dem i ett programmeringsprojekt, säger JFrog-forskare Natan Nehorai och Brian Moussalli skrev i onlinerådgivningen.

"Även om inga tidigare attacker med skadlig kod observerades i NuGet-förvaret, kunde vi hitta bevis för åtminstone en nyligen genomförd kampanj med metoder som typosquatting för att sprida skadlig kod", skrev de. "Som med andra förråd bör säkerhetsåtgärder vidtas vid varje steg i mjukvaruutvecklingens livscykel för att säkerställa att mjukvaruförsörjningskedjan förblir säker."

Omedelbar kodexekvering är problematisk

Filer som exekveras automatiskt av utvecklingsverktyg är en säkerhetssvaghet och bör elimineras eller begränsas för att minska attackytan, konstaterade forskarna. Den funktionen är en betydande anledning till att npm- och PyPI-ekosystemen har förgiftningsproblem, jämfört med till exempel Go-paketets ekosystem.

"Trots det faktum att de upptäckta skadliga paketen sedan dess har tagits bort från NuGet, löper .NET-utvecklare fortfarande en hög risk för skadlig kod eftersom NuGet-paketen fortfarande innehåller möjligheter att köra kod direkt efter paketinstallation", sa JFrog-forskarna i blogginlägget . "[A]även om det är föråldrat, är [ett initierings]-skript fortfarande hedrat av Visual Studio och kommer att köras utan någon förvarning när du installerar ett NuGet-paket."

JFrog rådde utvecklare att leta efter stavfel i importerade och installerade paket och sa att utvecklare borde se till att inte "oavsiktligt installera dem i sitt projekt, eller nämna dem som ett beroende", sa företaget.

Dessutom bör utvecklare se innehållet i paket för att säkerställa att det inte finns några körbara filer som laddas ner och körs automatiskt. Även om sådana filer är vanliga i vissa programvaruekosystem, är de vanligtvis en indikation på skadlig avsikt.

Genom en mängd olika motåtgärder eliminerar NuGet-förvaret – såväl som npm och PyPI – sakta men säkert säkerhetsbristerna, säger JFrogs Menashe. 

"Jag förväntar mig inte att NuGet kommer att bli mer av ett mål i framtiden, särskilt om NuGet-underhållarna helt skulle ta bort stödet för att köra kod vid paketinstallation - vilket de redan delvis har gjort", säger han.

plats_img

Senaste intelligens

plats_img