.NET-udviklere målrettet med ondsindede NuGet-pakker

.NET-udviklere målrettet med ondsindede NuGet-pakker

.NET Devs Targeted With Malicious NuGet Packages PlatoBlockchain Data Intelligence. Vertical Search. Ai.

En bagers dusin af pakker hostet på NuGet-lageret for .NET-softwareudviklere er faktisk ondsindede trojanske komponenter, der vil kompromittere installationssystemet og downloade krypto-stjælende malware med bagdørsfunktionalitet.

Softwareforsyningskædesikkerhedsfirmaet JFrog udtalte i en analyse offentliggjort 21. marts, at de 13 pakker, som siden er blevet fjernet, er blevet downloadet mere end 166,000 gange og efterligner anden legitim software, såsom Coinbase og Microsoft ASP.NET. JFrog opdagede angrebet, da virksomhedens forskere bemærkede mistænkelig aktivitet, da en fil - init.ps1 - blev udført ved installationen og derefter downloadede en eksekverbar fil og kørte den.

Opdagelsen af ​​den ondsindede kode fremhæver, at angribere forgrener sig yderligere i softwareforsyningskæden som en måde at kompromittere uforsigtige udviklere, selvom .NET og C#-programmeringssprogene er mindre kendte blandt angriberne, siger Shachar Menashe, direktør for sikkerhedsforskning for JFrog.

"Teknikkerne til at få ondsindet kode eksekveret på NuGet-pakkeinstallation, selvom de er trivielle, er mindre dokumenterede end i Python eller JavaScript, og nogle af dem er blevet forældet, så nogle nybegyndere tror måske, at det ikke er muligt," siger han. "Og måske har NuGet bedre automatiseret filtrering af ondsindede pakker."

Softwareforsyningskæden er i stigende grad blevet målrettet af angribere med forsøg på at kompromittere udviklernes systemer eller udbrede ubemærket kode til slutbrugeren gennem udviklerens applikationer. Python Package Index (PyPI) og de JavaScript-fokuserede Node Package Manager (npm) økosystemer er hyppig mål for forsyningskædeangreb målrettet open source-projekter.

Angrebet på .NET software økosystemet, som består af næsten 350,000 unikke pakker, er første gang, at ondsindede pakker er målrettet mod NuGet, ifølge JFrog, selvom virksomheden bemærkede, at en spamming-kampagne havde tidligere pushede phishing-links til udviklere.

Skrivefejl er stadig et problem

Angrebet understreger, at stavefejl fortsat er et problem. Denne angrebsstil involverer at skabe pakker med lignende lydende navne - eller det samme navn med almindelige stavefejl - som legitime, i håb om, at en bruger vil skrive forkert en fælles pakke eller ikke vil bemærke fejlene.

Udviklere bør give nye pakker et godt kig, før de inkluderer dem i et programmeringsprojekt, siger JFrog-forskere Natan Nehorai og Brian Moussalli skrev i online-rådgivningen.

"Selvom der ikke tidligere blev observeret angreb med ondsindet kode i NuGet-depotet, var vi i stand til at finde beviser for mindst én nylig kampagne ved hjælp af metoder såsom typosquatting til at udbrede ondsindet kode," skrev de. "Som med andre lagre bør der træffes sikkerhedsforanstaltninger ved hvert trin i softwareudviklingens livscyklus for at sikre, at softwareforsyningskæden forbliver sikker."

Øjeblikkelig kodeudførelse er problematisk

Filer, der automatisk udføres af udviklingsværktøjer, er en sikkerhedssvaghed og bør elimineres eller begrænses for at reducere angrebets overfladeareal, udtalte forskerne. Denne funktionalitet er en væsentlig årsag til, at npm- og PyPI-økosystemerne har forgiftningsproblemer sammenlignet med for eksempel Go-pakkens økosystem.

"På trods af det faktum, at de opdagede ondsindede pakker siden er blevet fjernet fra NuGet, er .NET-udviklere stadig i høj risiko for ondsindet kode, da NuGet-pakker stadig indeholder faciliteter til at køre kode umiddelbart efter pakkeinstallation," udtalte JFrog-forskerne i blogindlægget . "[A]selv om det er forældet, respekteres [et initialisering]-script stadig af Visual Studio og vil køre uden nogen advarsel, når du installerer en NuGet-pakke."

JFrog rådede udviklere til at tjekke for tastefejl i importerede og installerede pakker og sagde, at udviklere skulle sørge for ikke at "tilfældigvis installere dem i deres projekt eller nævne dem som en afhængighed," udtalte virksomheden.

Derudover bør udviklere se indholdet af pakker for at sikre, at der ikke er nogen eksekverbare filer, der downloades og udføres automatisk. Selvom sådanne filer er almindelige i nogle software-økosystemer, er de normalt en indikation af ondsindet hensigt.

Gennem en række forskellige modforanstaltninger eliminerer NuGet-depotet – såvel som npm og PyPI – langsomt, men sikkert sikkerhedssvaghederne, siger JFrogs Menashe. 

"Jeg forventer ikke, at NuGet vil blive mere et mål i fremtiden, især hvis NuGet-vedligeholderne fuldt ud skulle fjerne understøttelse af kørende kode ved pakkeinstallation - hvilket de allerede delvist har gjort," siger han.

Tidsstempel:

Mere fra Mørk læsning