Razvijalci .NET ciljajo na zlonamerne pakete NuGet

Razvijalci .NET ciljajo na zlonamerne pakete NuGet

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

Ducat pekovskih paketov, ki gostujejo v repozitoriju NuGet za razvijalce programske opreme .NET, so pravzaprav zlonamerne trojanske komponente, ki bodo ogrozile namestitveni sistem in prenesle zlonamerno programsko opremo za krajo kripto s funkcijo backdoor.

Podjetje za varnost dobavne verige programske opreme JFrog je v analizi, objavljeni 21. marca, navedlo, da je bilo 13 paketov, ki so bili medtem odstranjeni, prenesenih več kot 166,000-krat in predstavljajo drugo zakonito programsko opremo, kot sta Coinbase in Microsoft ASP.NET. JFrog je zaznal napad, ko so raziskovalci podjetja opazili sumljivo dejavnost, ko se je datoteka — init.ps1 — izvršila ob namestitvi, nato pa prenesli izvršljivo datoteko in jo zagnali.

Odkritje zlonamerne kode poudarja, da se napadalci še naprej širijo v dobavno verigo programske opreme kot način za ogrožanje neprevidnih razvijalcev, čeprav sta .NET in programska jezika C# med napadalci manj znana, pravi Shachar Menashe, direktor varnostnih raziskav za JFrog.

»Tehnike za izvajanje zlonamerne kode pri namestitvi paketa NuGet, čeprav so trivialne, so manj dokumentirane kot v Pythonu ali JavaScriptu, nekatere pa so bile opuščene, zato nekateri napadalci začetniki morda mislijo, da to ni mogoče,« pravi. "In morda ima NuGet boljše avtomatizirano filtriranje zlonamernih paketov."

Dobavna veriga programske opreme je vse bolj tarča napadalcev, ki poskušajo ogroziti sisteme razvijalcev ali razširiti neopaženo kodo do končnega uporabnika prek aplikacij razvijalcev. Python Package Index (PyPI) in ekosistema Node Package Manager (npm), osredotočena na JavaScript, sta pogosto tarče napadov v dobavni verigi ciljanje na odprtokodne projekte.

Napad na programski ekosistem .NET, ki ga sestavljajo skoraj 350,000 edinstvenih paketov, je po poročanju JFrog prvič, da so zlonamerni paketi ciljali na NuGet, čeprav je podjetje opozorilo, da je kampanja z neželeno pošto prej posredoval povezave do lažnega predstavljanja razvijalcem.

Tiposquatting je še vedno problem

Napad poudarja, da je typosquatting še naprej problem. Ta slog napada vključuje ustvarjanje paketov s podobnimi zvenečimi imeni - ali enakim imenom s pogostimi črkovalnimi napakami - kot zakoniti, v upanju, da bo uporabnik napačno vnesel običajen paket ali da ne bo opazil napak.

Razvijalci bi morali nove pakete dobro pregledati, preden jih vključijo v programski projekt, so raziskovalci JFrog Natan Nehorai in Brian Moussalli sta zapisala v spletnem svetovanju.

»Čeprav v repozitoriju NuGet niso opazili predhodnih napadov z zlonamerno kodo, smo lahko našli dokaze za vsaj eno nedavno kampanjo z uporabo metod, kot je typosquatting za širjenje zlonamerne kode,« so zapisali. "Kot pri drugih repozitorijih je treba varnostne ukrepe sprejeti na vsakem koraku življenjskega cikla razvoja programske opreme, da zagotovimo, da dobavna veriga programske opreme ostane varna."

Takojšnje izvajanje kode je problematično

Datoteke, ki se samodejno izvajajo z razvojnimi orodji, so varnostna pomanjkljivost in jih je treba odstraniti ali omejiti, da se zmanjša površina napada, so navedli raziskovalci. Ta funkcionalnost je pomemben razlog, zakaj imata ekosistema npm in PyPI težave z zastrupitvijo v primerjavi z, recimo, ekosistemom paketa Go.

»Kljub dejstvu, da so bili odkriti zlonamerni paketi od takrat odstranjeni iz NuGeta, so razvijalci .NET še vedno izpostavljeni visokemu tveganju zlonamerne kode, saj paketi NuGet še vedno vsebujejo zmogljivosti za zagon kode takoj po namestitvi paketa,« so raziskovalci JFrog zapisali v objavi v blogu. . "[A]čeprav je zastarel, [inicializacijski] skript še vedno spoštuje Visual Studio in se bo izvajal brez kakršnega koli opozorila pri namestitvi paketa NuGet."

JFrog je razvijalcem svetoval, naj preverijo tipkarske napake v uvoženih in nameščenih paketih, in rekel, da morajo razvijalci poskrbeti, da jih ne bodo »pomotoma namestili v svoj projekt ali jih omenili kot odvisnost«, je navedlo podjetje.

Poleg tega bi si morali razvijalci ogledati vsebino paketov, da zagotovijo, da ni izvedljivih datotek, ki se prenašajo in samodejno izvajajo. Čeprav so takšne datoteke pogoste v nekaterih programskih ekosistemih, so običajno znak zlonamernega namena.

Z različnimi protiukrepi repozitorij NuGet — kot tudi npm in PyPI — počasi, a zanesljivo odpravljajo varnostne pomanjkljivosti, pravi Menashe iz JFrog. 

»Ne pričakujem, da bo NuGet v prihodnosti postal večja tarča, zlasti če bodo vzdrževalci NuGet v celoti odstranili podporo za izvajanje kode pri namestitvi paketa – kar so delno že storili,« pravi.

Časovni žig:

Več od Temno branje