.NET-utviklere målrettet med ondsinnede NuGet-pakker

.NET-utviklere målrettet med ondsinnede NuGet-pakker

.NET-utviklere målrettet med ondsinnede NuGet-pakker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Et dusin bakerpakker som ligger på NuGet-depotet for .NET-programvareutviklere, er faktisk ondsinnede trojanske komponenter som vil kompromittere installasjonssystemet og laste ned krypto-tyverende skadelig programvare med bakdørsfunksjonalitet.

Software supply chain sikkerhetsfirma JFrog uttalte i en analyse publisert 21. mars at de 13 pakkene, som siden har blitt fjernet, har blitt lastet ned mer enn 166,000 1 ganger og utgir seg for å være annen legitim programvare, som Coinbase og Microsoft ASP.NET. JFrog oppdaget angrepet da selskapets forskere registrerte mistenkelig aktivitet når en fil – init.psXNUMX – ble utført ved installasjon og deretter lastet ned en kjørbar fil og kjørte den.

Oppdagelsen av den ondsinnede koden fremhever at angripere forgrener seg ytterligere inn i programvareforsyningskjeden som en måte å kompromittere uforsiktige utviklere, selv om .NET og C#-programmeringsspråkene er mindre kjente blant angripere, sier Shachar Menashe, direktør for sikkerhetsforskning for JFrog.

"Teknikkene for å få ondsinnet kode utført på NuGet-pakkeinstallasjon, selv om de er trivielle, er mindre dokumentert enn i Python eller JavaScript, og noen av dem er foreldet, så noen nybegynnere kan tro at det ikke er mulig," sier han. "Og kanskje NuGet har bedre automatisert filtrering av ondsinnede pakker."

Programvareforsyningskjeden har blitt stadig mer målrettet av angripere med forsøk på å kompromittere utviklernes systemer eller spre ubemerket kode til sluttbrukeren gjennom utviklerens applikasjoner. Python Package Index (PyPI) og de JavaScript-fokuserte Node Package Manager (npm) økosystemene er hyppig mål for forsyningskjedeangrep målretting mot åpen kildekode-prosjekter.

Angrepet på .NET-programvarens økosystem, som består av nesten 350,000 XNUMX unike pakker, er første gang at ondsinnede pakker har målrettet mot NuGet, ifølge JFrog, selv om selskapet bemerket at en spamming-kampanje hadde tidligere pushet phishing-lenker til utviklere.

Skrivefeil fortsatt et problem

Angrepet understreker at skrivefeil fortsetter å være et problem. Den angrepsstilen innebærer å lage pakker med lignende navn – eller samme navn med vanlige stavefeil – som legitime, i håp om at en bruker vil skrive feil i en vanlig pakke eller ikke vil legge merke til feilene.

Utviklere bør gi nye pakker et godt inntrykk før de inkluderer dem i et programmeringsprosjekt, sier JFrog-forskere Natan Nehorai og Brian Moussalli skrev i den elektroniske rådgivningen.

"Selv om ingen tidligere ondsinnede kodeangrep ble observert i NuGet-depotet, var vi i stand til å finne bevis for minst én nylig kampanje ved å bruke metoder som typosquatting for å spre ondsinnet kode," skrev de. "Som med andre depoter, bør sikkerhetstiltak iverksettes på hvert trinn i programvareutviklingens livssyklus for å sikre at programvareforsyningskjeden forblir sikker."

Umiddelbar kodeutførelse er problematisk

Filer som kjøres automatisk av utviklingsverktøy er en sikkerhetssvakhet og bør elimineres eller begrenses for å redusere angrepsoverflaten, uttalte forskerne. Denne funksjonaliteten er en viktig årsak til at npm- og PyPI-økosystemene har forgiftningsproblemer, sammenlignet med for eksempel Go-pakkens økosystem.

"Til tross for at de oppdagede ondsinnede pakkene har blitt fjernet fra NuGet, har .NET-utviklere fortsatt høy risiko for ondsinnet kode siden NuGet-pakkene fortsatt inneholder fasiliteter for å kjøre kode umiddelbart etter pakkeinstallasjon," uttalte JFrog-forskerne i blogginnlegget . "Selv om det er utdatert, blir [et initialisering]-skript fortsatt respektert av Visual Studio og vil kjøre uten noen forvarsel når du installerer en NuGet-pakke."

JFrog rådet utviklere til å se etter skrivefeil i importerte og installerte pakker og sa at utviklere bør sørge for ikke å "tilfeldigvis installere dem i prosjektet deres, eller nevne dem som en avhengighet," uttalte selskapet.

I tillegg bør utviklere se innholdet i pakker for å sikre at det ikke er noen kjørbare filer som lastes ned og kjøres automatisk. Selv om slike filer er vanlige i enkelte programvareøkosystemer, er de vanligvis en indikasjon på ondsinnet hensikt.

Gjennom en rekke mottiltak eliminerer NuGet-depotet – så vel som npm og PyPI – sakte, men sikkert, sikkerhetssvakhetene, sier JFrogs Menashe. 

"Jeg forventer ikke at NuGet vil bli mer et mål i fremtiden, spesielt hvis NuGet-vedlikeholderne helt fjerner støtte for kjørende kode ved pakkeinstallasjon - noe de allerede delvis har gjort," sier han.

Tidstempel:

Mer fra Mørk lesning