Ormai, probabilmente avrete sentito parlare di un importante attacco alla supply chain del software che minaccia molti siti Web utilizzando il servizio open source polyfill.io. In questo articolo verranno fornite informazioni sul problema e verranno aggiornate le azioni che è possibile intraprendere per garantire la protezione degli utenti. Anche se i servizi di Edgio non sono interessati da questo attacco, il nostro team di sicurezza è pronto ad aiutare i clienti che temono di aver utilizzato Polyfill.io nel loro sito web o applicazione.
Sfondo su polyfill.io
Per capire il recente attacco della catena di fornitura Polyfill.io, dovremmo prima definire il termine “Polyfil”. Polyfill si riferisce al codice che aggiunge funzionalità moderne ai browser meno recenti che non supportano le funzionalità Web più recenti. Consente agli sviluppatori di offrire un’esperienza utente coerente su diversi browser, in particolare quelli più lenti nell’adozione degli standard Web più recenti. Nel caso dell’attacco Polyfill.io, gli sviluppatori hanno utilizzato Polyfill per aggiungere funzionalità JavaScript non supportate dai browser meno recenti.
Polyfill.io è un servizio ampiamente utilizzato che rileva automaticamente il browser dell’utente finale e fornisce i riempimenti necessari per garantire la compatibilità con le moderne tecnologie web. Incorporando script da cdn.polyfill.io (CDN open-source di Polyfill.io), gli sviluppatori potrebbero fornire senza problemi polifill senza la seccatura della gestione manuale, semplificando il processo di mantenimento della compatibilità del browser.
Tuttavia, all’inizio di quest’anno Polyfill.io è stato acquisito da Funnull, una società relativamente sconosciuta e presumibilmente cinese. Sembra che l’acquisizione abbia segnato strategicamente l’inizio di un attacco significativo alla catena di approvvigionamento. Alla fine di giugno 2024, la società di sicurezza Sansec ha avvertito che il servizio è stato utilizzato per iniettare codice dannoso in migliaia di siti Web, reindirizzando gli utenti ai siti di truffa ed esponendoli a potenziali furti di dati e ad azioni non autorizzate.
Chi è interessato dall’attacco Polyfill.io?
L’impatto di questo attacco alla catena di fornitura è enorme e colpisce oltre 100.000 siti Web in tutto il mondo. Qualsiasi sito Web che incorpora script da cdn.polyfill.io è a rischio. Lo script dannoso introdotto da Funnull reindirizzava gli utenti ai siti di truffa, consentiva il furto di dati e potenzialmente consentiva l’esecuzione di codice in modalità remota. In particolare, questo attacco ha compromesso anche gli utenti mobili e ha preso di mira specificamente i dispositivi in determinati momenti, evitando il rilevamento tramite strumenti di sicurezza e analisi.
L’attacco alla catena di approvvigionamento: Cosa devi sapere
Anche se gli autori degli attacchi possono sfruttare molte possibilità nefaste dopo aver compromesso gli script di terze parti, le più comuni includono:
- Reindirizzamento a siti dannosi: I siti Web che utilizzano script compromessi possono reindirizzare inconsapevolmente gli utenti a siti di truffa, come Google Analytics falso o siti di scommesse sportive. Questi reindirizzamenti dannosi compromettono la fiducia degli utenti e possono portare ad attacchi di phishing.
- Furto di dati ed esecuzione di codice: Lo script modificato può rubare dati sensibili agli utenti ed eseguire l’esecuzione di codice non autorizzato, ponendo gravi rischi per l’integrità del sito Web e la privacy degli utenti. Gli script non autorizzati possono esfiltrare i dati sensibili degli utenti, come le informazioni personali, i dati della carta di credito e le credenziali di accesso, su server esterni.
- Cross-Site Scripting (XSS): Gli script dannosi possono eseguire nel contesto del browser dell’utente, causando dirottamento delle sessioni, distribuzione di malware e, come accennato in precedenza, esfiltrazione dei dati.
- Defacement del sito: Gli autori degli attacchi possono modificare l’aspetto o il contenuto di una pagina Web, causando danni al marchio e perdita della fiducia degli utenti.
- Riduzione delle prestazioni: Script dannosi o non autorizzati possono causare notevoli problemi di performance delle applicazioni, rallentando i siti Web e fornendo esperienze utente di scarsa qualità.
Cosa potete fare per proteggere il vostro sito e gli utenti?
Considerando questo attacco e l’elevato ricorso a librerie di terze parti nelle moderne app, gli sviluppatori e gli amministratori del sito devono intraprendere azioni immediate per proteggere i loro siti web e utenti. Ecco la nostra ultima guida:
- Identificare i siti che utilizzano Polyfill.io: Il primo passo per proteggere il sito e gli utenti da questo attacco consiste nel sapere se il codice fa riferimento a Polyfill.io.
Se si dispone di una soluzione SAST (Static Application Security Testing), è possibile eseguire una query per cercare i riferimenti a Polyfill.io (la sintassi può variare, ma l’idea viene fornita dal seguente Regex):
Risultato = Find_Strings().FindByRegex(@\”https?://(cdn.polyfill.io)\”);
Inoltre, gli strumenti SCA (Static Code Analysis), incentrati sull’identificazione e la gestione dei componenti open source e delle relative vulnerabilità, possono essere di aiuto. Gli strumenti SCA gestiscono i database delle vulnerabilità note associate a librerie e framework. Eseguendo la scansione del codice base, gli strumenti SCA possono contrassegnare qualsiasi dipendenza (incluso Polyfill.io) con problemi di sicurezza noti.
Se non si dispone di SAST o SCA, si consiglia di seguire questi passaggi da ZAP, un progetto GitHub Top 1000 attivamente mantenuto dedicato ai test di sicurezza.
docker run -t zaproxy/zap-stable zap.sh -cmd -addoninstall pscanrulesBeta -zapit https://www.example.com/
Il comando a una riga utilizzato da Polyfill.io script Detection di ZAP per controllare gli script forniti dal dominio Polyfill.io (richiede Docker); per una scansione più robusta, eseguire una scansione ZAP baseline .
- Implementare la protezione lato client: La protezione lato client aiuta a proteggere dagli attacchi della supply chain monitorando e controllando script e chiamate API di terze parti in tempo reale, impedendo il caricamento di codice dannoso e bloccando le interazioni non autorizzate con host dannosi.
La soluzione Client-Side Protection di Edgio consente ai team di implementare un modello di sicurezza positivo consentendo solo l’esecuzione di script di terze parti nei browser client.
Esempio di un criterio di protezione lato client. Un modello di protezione positivo può essere applicato indicando quali origini script possono essere chiamate in allowlist.
- Rimuovi script Polyfill.io: Rimuovere eventuali riferimenti a cdn.polyfill.io dal codice. Sostituirli con fonti alternative attendibili per i poliliche o interrompere completamente l’uso di poliliche, come raramente richiedono i browser moderni.
Le funzioni Edge di Edgio possono anche essere utilizzate per riscrivere dinamicamente qualsiasi riferimento di polyfill fatto dal tuo sito a qualsiasi URL sicuro (disponibile nel nostro repo GitHub qui). “Questo livello di sicurezza aggiuntivo può essere considerato come una “patch virtuale” semplice e facile da installare, che offre protezione preziosa e consente ai team di sviluppo di risparmiare tempo per tornare indietro e rimuovere e sostituire i riferimenti alla libreria compromessa.”
- Monitoraggio dei compromessi: Controllate regolarmente il vostro sito Web per individuare eventuali segni di compromesso, come reindirizzamenti non autorizzati o esfiltrazione dei dati. Implementare strumenti di monitoraggio della sicurezza per rilevare attività insolite e tenersi aggiornati con gli avvisi e gli aggiornamenti relativi alle librerie e ai servizi utilizzati.
- Passa a servizi affidabili: Se il tuo caso di utilizzo richiede riempimenti polivalenti, cerca servizi alternativi da organizzazioni con una comprovata esperienza. Tuttavia, sai cosa dicono sulle garanzie nella vita – quindi è importante utilizzare i controlli e le migliori pratiche sopra indicati per ridurre il rischio. Dopotutto, gli sviluppatori utilizzeranno ciò che pensano funzioni – polyfill.io era un servizio piuttosto popolare – e non tutti hanno un background di codifica sicuro.
Conclusione
L’attacco alla supply chain Polyfill.io serve come promemoria delle vulnerabilità inerenti ai componenti software di terze parti. In Edgio, sottolineiamo l’importanza di proteggere le vostre applicazioni Web attraverso una solida sicurezza multilivello. Il nostro servizio WAAP (Web Application and API Protection), che include la protezione lato client per rilevare e bloccare gli script dannosi in esecuzione sui browser lato client, garantisce una protezione continua contro gli attacchi della catena di fornitura e altre minacce in evoluzione.
Inoltre, la nostra nuova soluzione di gestione delle superfici di attacco (ASM) offre una visibilità completa sull’intera area di contatto con il Web, consentendovi di identificare e mitigare le vulnerabilità in modo proattivo, salvaguardando da potenziali exploit prima che possano essere sfruttate dagli autori degli attacchi.
Infine, i Managed Security Services di Edgio sono pronti ad aiutarvi a implementare o gestire completamente la sicurezza delle vostre applicazioni Web. Con 24/7 operazioni di sicurezza, un team di intelligence dedicato alle minacce e architetti della sicurezza assegnati, potete stare certi che le vostre risorse Web sono costantemente monitorate e protette dalle minacce più recenti, consentendo ai vostri team di concentrarsi sull’innovazione e di gestire le vostre esigenze di sicurezza.
Se avete domande o avete bisogno di assistenza per proteggere i vostri siti web dagli attacchi della supply chain, sentitevi liberi di contattare gli esperti di sicurezza di Edgio .