Non tutti i sistemi di rilevamento malware sono uguali

Di Fraser Howard, Principal Researcher, Sophos

Internet è diventata il principale veicolo di infezione dei PC tramite la diffusione di malware. SophosLabs informa che nel 2009, sono state rilevate 23.500 nuove pagine web infette al giorno. Ovvero, una pagina ogni circa quattro secondi, quattro volte in più dello stesso periodo del 2008. 1. Gli autori di malware riescono a ottenere ottimi risultati con un metodo molto diffuso: attraverso la violazione di siti legittimi molto popolari e con un intenso traffico di utenti. 2.

Gli utenti che visitano un sito violato non possono sapere in alcun modo se il sito è stato violato, in quanto il codice malevolo è invisibile e viene eseguito non appena la pagina si carica nel browser dell'utente. Normalmente, il codice utilizza script trasversali per prelevare un componente malevolo da un sito di terzi il quale a sua volta tenta di sfruttare una delle falle presenti nel browser o nel sistema operativo per infettarlo, rubare i dati o trasformare il PC in una botnet.

La portata di questi attacchi non va sottovalutata, in quanto sono stati presi di mira tutti i tipi di siti: da enti governativi a istituzioni scolastiche, fino ai più noti portali di notizie, blog e social network.

I vendor di sicurezza aggiungono funzioni sempre nuove di rilevamento di questo tipo di codice Web malevolo, ma gli hacker rispondono facendo evolvere il malware di pari passo. In special modo, gli hacker hanno iniziato a utilizzare JavaScript per scatenare i loro attacchi.

  • JavaScript è un codice molto potente e universale, munito di funzionalità complete supportate in tutti i browser e sistemi operativi.
  • JavaScript fornisce una notevole flessibilità, che consente agli hacker di nascondere (o offuscare) il codice malevolo.

Un'esemplificazione di questo concetto è riportata nella Figura 1. Nella parte A, è stato iniettato nella pagina un semplice iframe HTML, che farebbe sì che il browser carichi contenuto malevolo da un sito remoto specifico quando quella pagina viene aperta.

Nella parte B, è stato iniettato nella pagina un breve codice JavaScript. Il componente malevolo non è immediatamente visibile all'occhio umano, in quanto utilizza un tipo di offuscamento molto semplice. Di fatto, il componente malevolo è identico a quello dell’iframe (A). Il JavaScript scrive semplicemente lo stesso identico oggetto iframe nella pagina quando viene visualizzato nel browser.

Figura 1: Esempio semplice di pagina Web violata in modi diversi, ma in cui il componente malevolo è identico. L'iframe (A) e lo script (B) iniettati fanno sì che il browser carichi il contenuto proveniente dal sito remoto malevolo quando la pagina viene visitata.

La flessibilità di JavaScript consente un numero praticamente illimitato di modi con i quali questo componente malevolo può essere offuscato con lo script (parte B). Questo costituisce un problema in fase di scansione dei contenuti, in quanto il payload viene di fatto nascosto al momento della scansione del contenuto della pagina. Di conseguenza, il rilevamento proattivo generico diventa più difficile da conseguire.

Nel 2009 SophosLab ha assistito a numerosi attacchi di "mass-defacement" nel corso dei quali decine di migliaia di siti legittimi sono stati violati (nelle loro pagine è stato iniettato codice JavaScript malevolo). Questi attacchi utilizzarono invariabilmente codice JavaScript ben offuscato per eludere il rilevamento il più a lungo possibile.

Un esempio di questo tipo di attacco è noto come Gumblar, 3nel corso del quale in numerosi siti è stato iniettato uno script malevolo che utilizzava la semplice sostituzione di caratteri per nascondere il suo componente malevolo. Come potete vedere nella Figura 2A, il componente malevolo non è visibile nello script iniettato. Tuttavia, dopo la rimozione manuale dell'offuscamento, il componente malevolo risulta evidente (Figura 2B) e consiste nel caricamento di uno script malevolo da un sito remoto.

Figura 2: Script malevolo (A) iniettato in pagine legittime nel corso degli attacchi mass-defacement Gumblar verificatisi nel corso del 2009. Questo script svelato manualmente viene visualizzato (B).

La portata degli attacchi mass-defacement come Gumblar può essere enorme. Con estrema velocità, Troj/JSRedir-R (alias Gumblar), salì al primo posto nelle statistiche delle minacce Web di SophosLabs, rubando la ribalta ad altre minacce dell'epoca (Figura 3).

 Figura 3: Principali minacce del Web rilevate tra il 6 e il 13 maggio 2009. Troj/JSRedir-R (alias Gumblar) fa impallidire tutti gli altri rilevamenti, con oltre il >40% di segnalazioni totali.

Packer di script commerciali

Non c'è nulla di particolarmente malevolo nell'offuscare codice JavaScript. In pratica, sono disponibili degli strumenti commerciali utilizzabili per offuscare il codice. Perché?

  • Protezione della proprietà intellettuale: gli utenti possono scegliere di usare tali strumenti per offuscare il loro codice, nel tentativo di impedire che altri lo copino.
  • Efficienza: alcuni strumenti possono generare script più piccoli scaricabili più velocemente, consentendo di ottenere siti più veloci.

Questo crea un ulteriore problema per i vendor e gli strumenti di scansione dei contenuti. Quando gli hacker utilizzano strumenti commerciali legittimi per offuscare i loro script malevoli, i vendor di soluzioni antimalware devono fare attenzione a non generare un falso positivo sugli script legittimi che sono offuscati con lo stesso strumento. 4.

Polimorfismo lato server (SSP)

Molte delle minacce odierne utilizzano anche delle avanzate tecniche di scripting sul server per creare codice malevolo polimorfico. Ad esempio, nel corso del 2009, SophosLabs ha identificato numerosi attacchi che avevano come obiettivo quello di infettare gli utenti con Zbot 5,6  attacchi che utilizzavano SSP in modo molto aggressivo. Nel corso di questi attacchi, gli script malevoli utilizzati per sfruttare le vulnerabilità su questi sistemi degli utenti venivano creati dinamicamente sul server, determinando uno script leggermente diverso per ciascuna richiesta.

L'SSP si presenta perciò come uno speciale caso di offuscamento, che rappresenta una nuova sfida per i vendor di soluzioni antimalware e gli strumenti di scansione dei contenuti.

Documenti PDF malevoli

SophosLabs ha segnalato l'utilizzo diffuso di documenti PDF negli attacchi avvenuti nel corso del 2009 7 . Il motivo è che gli hacker avevano preso di mira in modo aggressivo le vulnerabilità presenti nei più diffusi programmi di lettura di file PDF e le utilizzavano per infettare gli utenti. Ciò che è meno noto è che tipicamente in tali attacchi viene utilizzato JavaScript.

Adobe Acrobat include il supporto per il codice JavaScript incorporato all'interno dei documenti PDF8, per consentire agli utenti di creare documenti complessi e dinamici. Tuttavia, questo genera un meccanismo che gli hacker possono usare per creare file PDF malevoli che utilizzano codice JavaScript incorporato per sfruttare le vulnerabilità delle applicazioni.

L'offuscamento dello script e le tecniche SSP sopra descritte sono ugualmente applicabili ai JavaScript incorporati nei file PDF.

Perchè la risposta di Sophos è migliore? La gestione JavaScript migliorata

Nel cuore del motore antimalware sono ora incluse nuove funzionalità, appositamente studiate per consentire una gestione migliorata di JavaScript. I miglioramenti includono:

  • Possibilità di assegnare un token e analizzare JavaScript: questo consente agli analisti di SophosLabs di scrivere sistemi di rilevamento generico più efficaci per il contenuto JavaScript.
  • Emulazione JavaScript: il cuore del motore antivirus include un emulatore JavaScript che fornisce un meccanismo generico per eliminare l'offuscamento del contenuto degli script. Questo consente al motore di vedere il componente malevolo dello script, potenziando notevolmente il rilevamento generico proattivo.

Il motore antimalware Sophos esistente (e alcuni dei motori sviluppati dai vendor concorrenti) hanno già la capacità di “svelare” (unpacking) gli script offuscati. Allora, perché la nuova tecnologia Sophos è diversa? Le tecnologie di "unpacking", in generale, sono basate sul riconoscimento di elementi offuscati specifici e nella scrittura di codice per gestire ciascuno di essi (quando possibile). Questo approccio non è rapportato al volume di malware oggi in circolazione. Vi è praticamente un numero infinito di modi in cui gli script possono essere offuscati e sappiamo che gli hacker modificano frequentemente le loro tecniche. È necessaria perciò una soluzione generica per la rimozione dell'offuscamento. L'emulazione JavaScript mette a disposizione proprio questo.

I vantaggi principali di questa nuova tecnologia offerti ai clienti Sophos sono i seguenti:

  • Maggiore frequenza di rilevamento del contenuto degli script e dei file PDF malevoli
  • Maggiore protezione proattiva (del giorno zero) contro i nuovi attacchi

Da novembre 2009, Sophos Web Security and Control include questa funzionalità all’interno del motore antimalware. Questo aggiornamento è distribuito automaticamente a tutte le appliance dei clienti, attraverso il pacchetto di aggiornamento mensile (non è necessario svolgere alcun lavoro aggiuntivo).

Inoltre, dall'inizio del 2010, la tecnologia è inclusa nel componente Browser Helper Object (BHO) di Sophos Endpoint Security and Data Protection, il quale esegue e protegge Internet Explorer contro l'elaborazione delle richieste di qualsiasi malware.

Per conoscere meglio Sophos visitate il sito:http://www.sophos.it

download Scaricate il nostro Virus Removal Tool: è gratis!
Scoprite cosa è sfuggito al vostro antivirus