Il formato SVG (Scalable Vector Graphics) è uno standard aperto per immagini vettoriali basato su XML. A differenza dei formati raster, le immagini SVG possono essere liberamente ridimensionate senza perdita di qualità, rendendole ideali per Web, design e interfacce utente. La novità è che VirusTotal ha rilevato un crescente utilizzo del formato SVG per veicolare malware e sferrare attacchi informatici.
Come può un file SVG essere utilizzato per eseguire codice dannoso sui sistemi degli utenti? Che cosa innesca l’infezione?
Quando un file SVG può diventare pericoloso
Gli SVG non sono semplici immagini: possono incorporare codice vero e proprio. Attraverso tag <script>
o eventi inline come onload
e onclick
, un file SVG può eseguire JavaScript attivo quando aperto in un browser o in un visualizzatore che supporta lo scripting. Questa capacità permette di realizzare comportamenti dannosi come il reindirizzamento verso pagine di phishing, il download di malware o la raccolta di dati riservati.
Un esempio concreto riguarda una campagna scoperta grazie a VirusTotal Code Insight, funzionalità avanzata di VirusTotal, basata sull’intelligenza artificiale e sul modello LLM (Large Language Model) Sec-PaLM sviluppato da Google Cloud Security AI Workbench.
Il sistema messo a punto da VirusTotal ha fatto emergere un SVG mascherato da comunicazione fiscale che conteneva uno script. Quest’ultimo era incaricato di decodificare un HTML di phishing e scaricare in background un archivio ZIP malevolo. Il file includeva commenti, usava il polimorfismo e codice dummy per aumentare l’entropia, in modo tale da rendere il rilevamento statico molto più difficile.
Tecniche di offuscamento e distribuzione
Gli attaccanti utilizzano diversi stratagemmi per rendere il malware negli SVG meno rilevabile. Il codice può essere offuscato usando particolari codifiche e creare payload complessi nascosti all’interno del file XML.
La distribuzione avviene spesso tramite allegati email o hosting su cloud storage, sfruttando client e browser che interpretano il codice attivo. L’infezione scatta quando l’utente visualizza o interagisce con l’SVG in un ambiente vulnerabile, mentre senza questo trigger il file rimane solo un’immagine vettoriale innocua.
VirusTotal Code Insight ha permesso di analizzare centinaia di SVG, evidenziando pattern ricorrenti, commenti e tecniche di polimorfismo che hanno permesso di collegare oltre 500 file a una singola campagna.
Note finali
VirusTotal osserva come l’AI sia sempre più cruciale per rilevare e bloccare contenuti malevoli che sfuggono agli antimalware basati su approcci tradizionali.
Alcuni browser stanno iniziando ad attivare restrizioni di sicurezza sugli script contenuti nei file SVG, soprattutto quando il file proviene da un’origine diversa (cross-origin). I gestori di siti Web possono inoltre impedire l’esecuzione di script inline negli SVG tramite Content Security Policy (CSP).
Al momento, tuttavia, molti browser ancora permettono il caricamento di codice tramite file SVG. Abbiamo predisposto due test: questo file SVG e questa pagina Web. La comparsa del messaggio “Il browser esegue script inline in SVG!” conferma che il browser in uso ha interpretato e gestito il codice JavaScript (in questo caso un semplice alert();
) presente nel file SVG di test.