Polyfill JS: codice malevolo spunta in decine di migliaia di siti. Scoprite se c'è il vostro
Nell’ultimo periodo sono aumentati i cosiddetti supply chain attack verso i progetti open source. Si tratta di attacchi che prendono di mira uno o più anelli della catena distributiva di un software conosciuto. L’obiettivo degli aggressori è modificare componenti fidati, facendo leva sulla fiducia riposta su di essi, e utilizzare questo grimaldello su uno specifico gruppo di vittime. Dopo la scoperta della backdoor inserita nelle XZ Utils, questa volta tocca a Polyfill JS e, come vedremo più avanti, ad alcuni famosi servizi CDN (Content Delivery Network).
Polyfill JS è una libreria che fornisce funzionalità non nativamente supportate in alcuni browser. L’obiettivo è colmare le lacune di compatibilità, consentendo agli sviluppatori di utilizzare le più recenti caratteristiche del linguaggio JavaScript e delle API del browser, anche quando gli utenti utilizzano software datati.
Oggi più di 100.000 siti Web utilizzano Polyfill JS, per consentire a tutti i visitatori di utilizzare la stessa base di codice, anche se i loro browser non supportano le caratteristiche dei software più recenti.
Attacco ai siti che usano Polyfill JS
Gli esperti di Sansec hanno scoperto che tutti i siti Web facenti uso di Polyfill JS hanno improvvisamente iniziato a erogare codice malevolo. Il minimo comune denominatore consiste nella presenza di un riferimento a un nome di dominio che “scimmiotta” quello di Google Analytics (ha i caratteri “l” sostituiti con “i”). Il caricamento del codice ospitato su quel nome a dominio provoca il download di malware o l’apertura di pagine Web indesiderate.
Sansec racconta che il codice caricato varia in base al contenuto nelle intestazioni HTTP, integra una protezione specifica contro il reverse engineering e si attiva solo su dispositivi mobili specifici in orari specifici.
Tra le vittime illustri ci sono, ad esempio, il sito del World Economic Forum e quello della libreria digitale JSTOR. Con una semplice query sul sito PublicWWW, si apprende che ad oggi oltre 100.000 siti utilizzano Polyfill JS.
Come avviene l’aggressione
Come può succedere che un componente come Polyfill JS sia sfruttato da un gruppo di aggressori per farsi strada su decine di migliaia di siti Web a livello mondiale? Anche in questo caso, con un attacco alla supply chain.
Pochi si sono infatti accorti che a febbraio 2024 un soggetto cinese ha acquistato il dominio che ospitava il codice di Polyfill JS. Inizialmente ha conservato il contenuto legittimo, poi ha provveduto a modificare i file ospitati inserendo codice JavaScript malevolo.
Tanti sviluppatori, quando utilizzano componenti JavaScript o fogli di stile forniti da terze parti, spesso richiamano in pagina URL remoti. Per evitare di consumare banda locale e sovraccaricare i server, inseriscono i riferimenti ai componenti remoti necessari per il corretto rendering delle loro pagine Web. È ovvio che se il codice ospitato esternamente venisse modificato, ad esempio inserendo istruzioni dannose, il sito Web inizierebbe a caricare gli elementi malevoli. È esattamente quanto accaduto nel caso di Polyfill JS.
Il caso del dominio “passato di mano”
Lo sviluppatore del progetto Polyfill JS, Andrew Betts, aveva già messo in allerta gli utenti spiegando di non essere mai stato il proprietario del nome a dominio acquisito a febbraio scorso dal soggetto cinese. Anzi, ha invitato tutti gli utenti di Polyfill JS a rimuovere i riferimenti verso tale dominio dalle loro pagine Web (vedere anche questa discussione su GitHub).
Oggi Betts aggiunge che Polyfill JS dovrebbe comunque essere definitivamente eliminato perché non c’è più ragione di utilizzare le sue funzionalità. “La maggior parte delle funzionalità sono ormai adottate da tutti i principali browser, con alcune eccezioni che generalmente non possono essere comunque essere integrate in Polyfill, come Web Serial e Web Bluetooth“, ha aggiunto lo sviluppatore.
Nel frattempo, Cloudflare e Fastly hanno creato i propri mirror del servizio Polyfill JS in modo che i siti Web facenti ancora uso della libreria non eroghino codice dannoso.
Il problema non riguarda soltanto Polyfill JS ma anche Bootcss, Bootcdn e Staticfile
Confermando il problema, Google ha immediatamente avviato una campagna informativa per segnalare i gestori dei siti Web circa la presenza di codice malevolo sulle loro pagine.
La società di Mountain View rivela inoltre che il problema è molto più grave del previsto perché non sono solo gli utenti di Polyfill JS ad essere presenti di mira, ma anche coloro che si affidano ai servizi CDN di Bootcss, Bootcdn e Staticfile. In tutti i casi, i nomi di dominio sono utilizzati per diffondere codice dannoso.
Abbiamo provato a fare qualche verifica avvalendoci del servizio PublicWWW: sono più di 500.000 i siti che integrano in pagina riferimenti a Bootcss, Bootcdn e Staticfile. A conferma della gravità del problema.
Controllate la presenza dei seguenti nomi di dominio nel sorgente delle vostre pagine Web
Per accedere al sorgente HTML di qualunque pagina, basta premere CTRL+U da browser Web sui sistemi desktop. Utilizzando la combinazione di tasti CTRL+F andate alla ricerca dei seguenti domini:
polyfill.io
bootcss.com
bootcdn.net
staticfile.org
Nel caso in cui doveste rinvenire uno o più riferimenti, rimuoveteli immediatamente.
Potete effettuare una verifica aggiuntiva digitando una query nel sito PublicWWW, ad esempio:
"polyfill.io" depth:all site:nomedelsito.it
L’ultimo riferimento va ovviamente rimpiazzato con il nome del sito oggetto di controllo.
Se siete curiosi, digitate "polyfill.io" site:it e verificate quanti e quali siti italiani richiamano i nomi di dominio passati sotto il controllo dei criminali informatici.
Sospettiamo che i nuovi assegnatari del dominio polyfill.io, applichino strategie differenti a seconda dei nomi di dominio. Tra i siti che usano Polyfill JS, infatti, c’è incredibilmente anche Agenzia per l’Italia digitale (AgID). Questo dovrebbe rendere ancora più palese la portata della problematica venuta a galla in questi giorni.
Credit immagine in apertura: iStock.com – Olemedia
Leggi l'articolo originale >> Polyfill JS: codice malevolo spunta in decine di migliaia di siti. Scoprite se c'è il vostro