Un nuovo attacco alla supply chain del software progettato per estrarre dati da applicazioni e siti Web è stato rilevato in oltre due dozzine di pacchetti NPM.
Minaccia -
All'inizio di questo mese ReversingLabs ha identificato IconBurst, un attacco NPM JavaScript che installa moduli NPM dannosi che raccolgono dati da moduli incorporati in applicazioni mobili e siti Web.
Diffusione -
La diffusione dell'attacco non è ancora del tutto chiara, tuttavia potrebbe infettare in massa siti Web e app creati dagli sviluppatori utilizzando questi pacchetti. Poiché ogni sviluppatore può creare più siti, la minaccia è amplificata. Considerando che alcuni pacchetti vengono scaricati decine di migliaia di volte, la portata stimata potrebbe essere altrettanto diffusa quanto le infezioni di massa del passato come Log4J e SolarWinds. Sebbene Log4J sia stato più diffuso e SolarWinds abbia avuto un impatto maggiore, il danno finale può essere altrettanto significativo.
Tecnologia –
I pacchetti utilizzano script jQuery che mirano a rubare dati dalle applicazioni distribuite.
Inoltre, IconBurst utilizza un offuscatore JavaScript per nascondere parte del codice. Un offuscatore ha normalmente lo scopo di proteggere il codice proprietario nei pacchetti open source e comprimere i file JavaScript. Tuttavia, IconBurst lo utilizza per nascondere l'indirizzo di esfiltrazione utilizzato nell'estrazione dei dati del modulo serializzato.
Ciò significa che gli sviluppatori che utilizzano inconsapevolmente questi pacchetti falsi non sono l'obiettivo dell'attacco, il vero obiettivo è l'utente finale.
Infezione -
Dall'inizio di quest'anno sono stati identificati ventiquattro pacchetti che utilizzano metodi di typosquatting come mezzo di distribuzione.
Gli aggressori utilizzano tecniche di typosquatting, il che significa impersonare pacchetti legittimi tramite repository pubblici come NPM.
IconBurst si concentra sui pacchetti che contengono la parola "Icon", spacciandosi per moduli NPM ad alto traffico e offrendo pacchetti con nomi comuni errati confusi.
Il typosquatting è una forma di attacco cybersquatting e una forma di attacco di ingegneria sociale.
Perché utilizzare "icon" come parola chiave di base: il motivo è probabilmente il pacchetto ionicons, utilizzato frequentemente per fornire icone nelle applicazioni create utilizzando il framework ionico.
Con un numero di download di oltre 17000 per il pacchetto icone, di gran lunga il pacchetto più scaricato, e oltre 3700 per il pacchetto ionicio.
Bandiera -
Quindi cosa ha fatto ReversingLabs alzare la proverbiale bandiera rossa? Offuscatore Javascript.
Come accennato, un offuscatore Javascript ha lo scopo di proteggere le applicazioni Javascript, consentendo agli sviluppatori di proteggere il codice dalla copia o dal reverse engineering.
Tuttavia, lo svantaggio di questa capacità è che può essere sfruttata dagli aggressori per mascherare codice dannoso.
La presenza di un offuscatore Javascript è ciò che ha spinto gli ingegneri di ReversingLabs a ispezionare una serie di pacchetti NPM; dopo aver esaminato i nomi di tali pacchetti, è emerso uno schema. Alcuni dei primi pacchetti ispezionati contenevano la parola "icona", in quel momento è diventata chiara la strategia degli aggressori: fare errori di battitura e infettare in massa.
Gli aggressori non hanno cercato di prendere di mira specificamente i pacchetti con la parola icona, ma alla fine la maggior parte dei pacchetti scaricati erano legati alle icone, a causa della loro popolarità.
Hance – “IconBurst”
Ecco l'elenco:
Autore/Nome del pacchetto | Conteggio download | Nome del pacchetto originale |
---|---|---|
icona ionica | 108 | ionici |
ionicio | 3,724 | ionici |
pacchetto di icone | 17,774 | ionici |
ajax-libs | 2,440 | |
ombrelli | 686 | ombrellojs |
libreria ajax | 530 | |
pacchetto iconion | 101 | |
pacchetto-sidr | 91 | |
kbrstore | 89 | |
pacchetto di icone | 380 | |
subek | 99 | |
pacchetto-spettacolo | 103 | |
icona-pacchetto | 122 | |
pacchetti di icone | 170 | |
pacchetto ionicon | 64 | |
pacchetto di icone | 49 | |
pack-icone | 468 | |
pacchetto di ioniconi | 89 | |
pacchetto-ionicons | 144 | |
pacchetto-ionicon | 57 | |
base64-javascript | 40 | |
ionicons-js | 38 | |
ionicons-json | 39 | |
footericon | 1,903 | |
ruggito-01 | 40 | |
ruggito-02 | 37 | |
settimana100 | 38 | |
swiper-bundie | 39 | swiper |
ajax-libz | 40 | |
pacchetto di scorrimento | 185 | swiper |
atez | 43 | |
ajax-googleapis | 38 | |
tezdoank | 69 | |
ajaxapis | 40 | |
tescodek | 38 | |
atezzz | 114 | |
libz.jquery | 160 | |
libreria ajax | 36 |
Intento -
IconBurst è stato progettato per rivolgersi all'utente finale e ottenere il controllo dei dati inseriti nei moduli. Altri attacchi possono prendere di mira altri tipi di dati o altri tipi di destinatari piuttosto che utenti finali.
Ma gli aggressori sono sempre alla ricerca dei dati? In realtà no, non lo sono. Abbiamo visto altri tipi di attacchi; gli aggressori hanno utilizzato codice nascosto nei pacchetti e sono riusciti a installare Crypto miner, prendendo di mira le risorse delle macchine attaccate (potenza di calcolo) e non intaccando in alcun modo i loro dati.
Sommario -
IconBurst dimostra la capacità di utilizzare quella che in definitiva è una tecnologia piuttosto semplice, un offuscatore JavaScript che maschera codice dannoso e impersona pacchetti legittimi tramite repository pubblici come NPM.
Il vero asso nella manica di IconBurst è l’ingegneria sociale, una tecnologia non altamente sofisticata, può essere altrettanto efficace.
Questo contenuto è offerto da Scribe Security, un fornitore leader di soluzioni di sicurezza end-to-end per la catena di fornitura di software, che offre sicurezza all'avanguardia per artefatti di codice e processi di sviluppo e distribuzione del codice attraverso le catene di fornitura di software. Per saperne di più.