Analisi dell'attacco di polyfill dal punto di vista di Akamai
Editoriale e commenti aggiuntivi di Tricia Howard
Panoramica sull'attacco alla supply chain di polyfill.io
Recentemente, la comunità della sicurezza è stata allertata circa un imponente attacco alla supply chain relativo a polyfill.io, un servizio che fornisce polyfill, ossia un pezzo di codice JavaScript, che aggiunge funzionalità moderne ai browser meno recenti che non le supportano in modo nativo, per le applicazioni web. Secondo alcuni rapporti dettagliati, questo attacco ha colpito più di 100.000 siti web, abusando della fiducia e del diffuso utilizzo del servizio polyfill.io per propagare codice dannoso.
In questo attacco, un criminale che sembra essere situato in Cina ha acquisito uno dei più popolari progetti di polyfill open-source alcuni mesi fa e ha infettato il codice JavaScript polyfill iniettando script dannosi nei polyfill distribuiti. L'attacco ha preso di mira principalmente i dispositivi mobili, campionando le sessioni in modo selettivo per rimanere nascosto e risultare più difficile da rilevare. Il codice dannoso è stato quindi usato per un attacco di reindirizzamento, dirottando gli utenti verso siti truffa.
Dopo aver integrato questi polyfill violati nei loro siti web, gli sviluppatori hanno introdotto inconsapevolmente codice dannoso nelle loro applicazioni. In questo blog, verrà esaminato questo attacco specifico (e gli attacchi alla supply chain in generale), nonché i dati esclusivi che abbiamo osservato dal punto di vista di Akamai Client-Side Protection & Compliance.
Che cos'è un attacco alla supply chain?
Un attacco alla supply chain prende di mira le vulnerabilità presenti all'interno della supply chain di un'organizzazione. Nel contesto delle applicazioni web online, i siti web moderni caricano decine di risorse di terze parti nelle loro funzionalità consuete. Queste risorse sono considerate affidabili dai proprietari dei siti web e, solitamente, hanno accesso completo alle pagine dei siti, inclusi i modelli DOM (Document Object Model), i cookie e le informazioni sensibili immesse dagli utenti finali.
Il monitoraggio e il tracciamento di queste risorse sono operazioni estremamente complesse a causa delle loro quantità, delle frequenti modifiche e della mancanza di visibilità lato client. Questa fiducia può essere sfruttata dai criminali, che utilizzano questi servizi di terze parti per violare le applicazioni web. Questi attacchi, di solito, consistono nell'iniezione di codice dannoso in librerie o servizi di terze parti, che vengono quindi distribuiti inconsapevolmente agli utenti finali.
Secondo la ricerca condotta dall'Akamai Security Intelligence Group, gli script JavaScript usati nei siti di e-commerce provengono, per il 50%, da terze parti. In media, abbiamo osservato codice proveniente da decine di diversi vendor di terze parti sulle pagine di pagamento dei nostri clienti, che ora devono conformarsi ai nuovi requisiti 6.4.3 e 11.6.1 del PCI DSS v4.0.
L'attacco di polyfill dal punto di vista di Akamai
L'attacco di polyfill viene sferrato tramite il sito web preso di mira con il codice JavaScript originato da cdn.polyfill.io. L'attacco utilizza il campionamento lato server e lato client. Nel lato server, l'attacco esamina le intestazioni delle richieste, come la stringa user-agent, per colpire solo i dispositivi mobili con specifiche condizioni. Per altri dispositivi, il server polyfill funge da codice polyfill originale o da risposta vuota per i browser moderni.
Il processo di campionamento non è limitato al lato server. Durante l'esecuzione, il codice verifica anche il tipo di dispositivo sul lato client tramite il proprio JavaScript. Inoltre, il codice seleziona gli obiettivi in base al referrer della pagina e all'ora del dispositivo locale. Quando il codice JavaScript dannoso sferra il suo attacco, comunica con un server sulla pagina googie-anaiytics[.]com.
Siamo riusciti a monitorare l'esecuzione del codice JavaScript dannoso sulla pagina web, incluse le sue comunicazioni con il proprio server. Una volta rilevata l'attività sospetta, è stato inviato un avviso ai clienti interessati. Ciò che conta in qualsiasi minaccia è l'agilità, mentre la capacità di rispondere rapidamente è fondamentale per limitare il raggio d'azione di un attacco.
Le policy per il comportamento degli script di Client-Side Protection & Compliance sono state definite per bloccare queste comunicazioni, impedendo di raggiungere questo percorso dell'attacco. La Figura 1 mostra un esempio di questa tecnica in rete: la negazione di questo percorso dell'attacco si è verificata in tempo reale, immediatamente dopo l'attivazione della policy.
Le tendenze nell'utilizzo di polyfill.io prima e dopo l'attacco
Abbiamo osservato che le risorse di oltre 40 clienti erano caricate da polyfill.io e, ogni giorno, sono state interessate decine di migliaia di pagine di alcuni di questi clienti (Figura 2). Questo numero include i clienti che hanno utilizzato direttamente le risorse JavaScript provenienti da polyfill.io, terze parti che hanno incluso questo codice nella loro esecuzione e le risorse originate dalle estensioni dei browser degli utenti finali.
I nostri dati sono stati ricavati da Akamai Client-Side Protection & Compliance, che monitora e analizza attivamente le esecuzioni di codice JavaScript in tempo reale, riducendo il tempo necessario per la mitigazione in caso di attacco, sia originato da fonti proprietarie che da terze parti.
Akamai sta collaborando strettamente con i suoi clienti per rispondere in modo efficace e per mitigare l'impatto dell'attacco, inviando anche una notifica ai clienti interessati con un bollettino sulla sicurezza relativo all'attacco. Questo approccio proattivo ha portato ad una notevole diminuzione del numero di risorse originate dal nome di dominio infetto, il che ha ridotto l'esposizione ai rischi per i clienti di Akamai.
Vi serve aiuto con gli attacchi alla supply chain?
La soluzione Akamai Client-Side Protection & Compliance è progettata per proteggere i clienti dagli attacchi lato client, sia originato da fonti proprietarie che da terze parti, inclusi gli attacchi alla supply chain.
La soluzione monitora le risorse JavaScript nelle applicazioni web, analizza la loro esecuzione in tempo reale e stabilisce se il loro comportamento è sospetto. La soluzione rileva anche eventuali anomalie nel comportamento degli script, fornendo un'analisi dettagliata di ogni risorsa JavaScript caricata ed eseguita nelle applicazioni web.
Inoltre, Client-Side Protection & Compliance offre funzionalità di mitigazione in tempo reale che bloccano l'esecuzione di codice dannoso in pochi secondi. Senza la necessità di cambiare il codice dell'applicazione web per bloccare il comportamento sospetto, i team addetti alla sicurezza possono migliorare notevolmente il tempo di risposta ad un attacco. La soluzione è in grado di rilevare l'attacco al servizio polyfill.io e le sessioni utente interessate e quindi di bloccare l'esecuzione dell'attacco.
Rilevamento interno al browser e vantaggi della mitigazione
Questo attacco ha preso di mira solo un piccolo numero di sessioni, particolarmente filtrando le sessioni con insoliti browser user-agent, pertanto è probabile che le soluzioni che eseguono solo scansioni sintetiche sul sito web non siano state colpite da questo attacco. Uno dei vantaggi principali di Akamai Client-Side Protection & Compliance consiste nel fatto che la soluzione viene eseguita all'interno del browser per ogni sessione utente.La soluzione ha rilevato esecuzioni di codice JavaScript dannoso anche se queste specifiche sessioni prese di mira erano state avviate e, cosa più importante, ha impedito l'esecuzione dell'attacco sulla pagina web una volta attivata la policy di protezione (Figura 3).
Conclusione
L'attacco alla supply chain di polyfill.io evidenzia le vulnerabilità critiche insite nello sviluppo delle applicazioni web moderne. Basarsi su risorse di terze parti può inavvertitamente introdurre dei rischi per la sicurezza, anche se sono state messi in atto tutti i sistemi di protezione appropriati. Questo attacco, che ha interessato più di 100.000 siti web, ha messo in evidenza la facilità con cui è possibile violare servizi affidabili per distribuire codice dannoso, diminuendo così la sicurezza e la fiducia degli utenti.
Il monitoraggio delle minacce come quelle descritte sopra viene svolto dall'Akamai Security Intelligence Group sia per i clienti di Akamai che per la comunità della sicurezza in generale. Continueremo ad osservare l'ecosistema delle minacce e a fornire articoli sulle nostre osservazioni. Per aggiornamenti in tempo reale, seguiteci su X(in precedenza, Twitter) o date un'occhiata alla pagina relativa alle ricerche sulla sicurezza di Akamai.