Bitcoin amblem preko grafikona.
Nedavna izvješća otkrila su niz zlonamjernih proširenja na tržištu Visual Studio Code ili VSCode, koja ciljaju na programere softvera i entuzijaste kriptovalute sa sofisticiranim napadima osmišljenim da ugroze njihove sustave i ukradu osjetljive podatke. VSCode je popularan uređivač koda koji koriste milijuni programera širom svijeta.
Sigurnosni istraživač Amit Assaraf nedavno je otkrio kako napadači iskorištavaju VSCode tržište. Assaraf je otkrio ekstenzije za koje se činilo da nude vrijedne značajke, ali su zapravo bile trojanski konji za zlonamjerni softver. Jedno proširenje, maskirano kao službena Zoom integracija, činilo se legitimnim, hvaleći se brojnim instaliranjima i pozitivnim recenzijama. Međutim, nakon instalacije, ekstenzija je preuzela zlonamjernu skriptu s ruskog poslužitelja, izvršavajući neovlaštene naredbe na strojevima žrtava.
Napadači su pažljivo izradili svoje ekstenzije da izgledaju autentično. Koristili su lažne recenzije, povezane s uglednim spremištima i prenapuhan broj preuzimanja kako bi alati izgledali vjerodostojno – prakse koje čak i iskusne programere mogu uljuljkati u lažan osjećaj sigurnosti.
Kripto u VSCode Crosshairs
Daljnje istrage otkrile su da je ova zlonamjerna aktivnost dio šire kampanje usmjerene na programere koji rade u okruženjima blockchaina i kriptovaluta. Izvješće BleepingComputera primijetilo je da su neka od ovih proširenja tvrdila da podržavaju razvoj Ethereuma ili blockchain alate. Također su dali sljedeći popis onih koji su poslani na tržište VSCode:
- EVM.Blockchain-Toolkit
- VoiceMod.VoiceMod
- ZoomVideoCommunications.Zoom
- ZoomINC.Zoom-Radno mjesto
- Ethereum.SoliditySupport
- ZoomWorkspace.Zoom (tri verzije)
- ethereumorg.Solidity-Language-for-Ethereum
- VitalikButerin.Solidity-Ethereum (dvije verzije)
- SolidityFoundation.Solidity-Ethereum
- EthereumFoundation.Solidity-Language-for-Ethereum (dvije verzije)
- SOLIDNOST.Solidnost-Jezik
- GavinWood.SolidityLang (dvije verzije)
- Ethereum Foundation.Solidity-for-Ethereum-Language
Dodajući ovim nalazima, istraživači u ReversingLabsu otkrili su kako se VSCode kampanja preklapa sa sličnim zlonamjernim aktivnostima u repozitoriju npm paketa. npm paket je dio koda za višekratnu upotrebu koji se može lako dijeliti, distribuirati i integrirati u softverske projekte. Ovi se paketi koriste za bržu izradu aplikacija ponovnim korištenjem uobičajenih funkcionalnosti, umjesto pisanja svega od nule. U svom izvješću, ReversingLabs je objasnio kako napadači često koriste više platformi za širenje svog zlonamjernog softvera, stvarajući opsežniju površinu napada koja cilja programere diljem ekosustava.
Ranjivosti VSCode ekosustava
Dok je VSCode poznat po svojoj svestranosti i sustavu proširenja jednostavnom za korištenje, te iste značajke čine ga glavnom metom za napadače. Problemi proizlaze iz nekoliko ranjivosti unutar ekosustava proširenja:
- Neprovjereni izdavači: Većina ekstenzija na VSCode tržištu dolazi od neprovjerenih izdavača. To razvojnim programerima ostavlja malo sigurnosti o autentičnosti proširenja.
- Povjerenje u metriku: Programeri se često oslanjaju na broj instaliranja i preglede kako bi ocijenili vjerodostojnost proširenja. Napadači iskorištavaju ovo povjerenje napuhujući ove metrike i objavljujući lažne recenzije.
- Ograničeni nadzor: Unatoč naporima Microsofta da nadgleda i ukloni zlonamjerna proširenja, sama količina ponude na tržištu čini izazovom brzo otkrivanje prijetnji.
VSCode: Sekundarna prijetnja
Novčanici za kriptovalute, bilo da su pohranjeni na računalu ili osigurani hardverskim novčanikom, ključni su alati za upravljanje digitalnom imovinom. Iako su ovi novčanici dizajnirani za zaštitu privatnih ključeva i transakcija, okolno softversko okruženje—kao što je VSCode—može uvesti ranjivosti koje izlažu sredstva riziku, posebno za novčanike pohranjene na računalu. Nedavna otkrića zlonamjernih VSCode ekstenzija pokazuju kako kompromitirano razvojno okruženje može dovesti do značajnih kripto gubitaka, čak i za one koji vjeruju da su njihovi novčanici sigurni.
VSCode prijetnja računalnim novčanicima
Za korisnike koji pohranjuju kriptovalute na desktop wallet, rizici koje predstavljaju zlonamjerna VSCode proširenja su trenutni i izravni. Evo kako se to može dogoditi:
- Bilježenje pritiska tipke: Zlonamjerno VSCode proširenje, instalirano nesvjesno, može tiho pratiti i bilježiti svaki pritisak tipke. Ako korisnik upiše svoju lozinku za novčanik, privatne ključeve ili izraze za oporavak, ove se osjetljive informacije hvataju i šalju napadaču. Čak i najsigurniji desktop novčanik postaje ranjiv ako se njegove vjerodajnice otkriju.
- Otmica međuspremnika: Tijekom transakcija korisnici često kopiraju i lijepe adrese novčanika kako bi izbjegli ručne pogreške. Zlonamjerni softver ugrađen u ekstenziju VSCode može presresti aktivnost međuspremnika, zamjenjujući namjeravanu adresu novčanika s napadačevom. Bez dodatne provjere adrese, korisnik može nesvjesno poslati sredstva izravno hakeru.
- Lažne upute ili sučelja: Neka zlonamjerna proširenja ubacuju upite u stilu krađe identiteta u softversko okruženje, tražeći od korisnika da “potvrde” svoje vjerodajnice novčanika ili početne fraze. Ti se upiti čine legitimnima, ali unesene podatke hvata napadač.
- Manipulirane transakcije: Za programere koji rade s blockchain API-jima, zlonamjerna proširenja mogu presresti i promijeniti detalje transakcije. Na primjer, ako se novčanik koristi za programsko slanje sredstava, napadač bi mogao promijeniti odredišnu adresu ili parametre transakcije, a da korisnik to ne primijeti.
Zamislite programera blockchaina koji koristi VSCode za izradu aplikacije koja se integrira s njihovim desktop novčanikom u svrhu testiranja. Oni instaliraju proširenje za koje tvrde da pojednostavljuju implementaciju Ethereum ugovora. Bez njihovog znanja, proširenje je zlonamjerno. Počinje bilježiti pritiske tipki i krade lozinku novčanika. Kada razvojni programer pokrene testnu transakciju, ekstenzija presreće API poziv i zamjenjuje namjeravanu adresu primatelja onom koju kontrolira napadač. Sredstva se nepovratno šalju na pogrešno odredište.
Ova su otkrića poziv na uzbunu za programere i administratore platforme. Povjerenje koje korisnici imaju na tržištu proširenja postaje oružje. Nije dovoljno oslanjati se samo na mjerne podatke povjerenja, kao što su brojevi preuzimanja ili recenzije. Programeri moraju ostati oprezni i poduzeti proaktivne mjere kako bi zaštitili svoje okruženje i svoju kriptovalutu.