Sistemi di rilevamento malware: non tutti sono uguali

Transcript

Sistemi di rilevamento malware: non tutti sono uguali
Sistemi di rilevamento malware:
non tutti sono uguali
Internet è diventata il principale veicolo di infezione dei PC tramite la diffusione di malware. Ogni
giorno, infatti, Sophos rileva una nuova pagina infetta ogni pochi secondi. Questo white paper
illustra i concetti da conoscere e gli accorgimenti da adottare per garantire la sicurezza dei sistemi
IT aziendali.
Di Fraser Howard, Principal Researcher, Sophos
Un white paper Sophos
Novembre 2009
Un white paper Sophos
Sistemi di rilevamento malware: non tutti sono uguali
Sistemi di rilevamento malware:
non tutti sono uguali
Internet è diventata il principale veicolo di
infezione dei PC tramite la diffusione di malware.
SophosLabs, infatti, segnala che nel 2009, ogni
giorno sono state scoperte 23.500 nuove pagine
Web infette, ovvero, una ogni circa quattro secondi,
quattro volte peggio rispetto allo stesso periodo del
2008 [1]. In special modo gli autori di malware
riescono a ottenere ottimi risultati: 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 deve essere
sottovalutata in quanto tutti i tipi di siti – da quelli
degli enti della pubblica amministrazione agli
istituti scolastici, fino ai più noti portali di notizie,
ai blog e ai social network – sono stati presi di
mira.
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. Perché?
»» 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
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.
1
Un white paper Sophos
Sistemi di rilevamento malware: non tutti sono uguali
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 corso del 2009
abbiamo assistito a numerosi attacchi di "mass-defacement" nel corso dei quali decine di migliaia di siti
legittimi furono 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 [3], nel 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), la minaccia 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.
2
Un white paper Sophos
Sistemi di rilevamento malware: non tutti sono uguali
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.
L'offuscamento dello script e le tecniche SSP sopra
descritte sono ugualmente applicabili ai JavaScript
incorporati nei file PDF.
Packer di script commerciali
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.
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 PDF
[ ], 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.
Perchè la risposta di Sophos è migliore? La
gestione JavaScript migliorata
»» 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
3
Un white paper Sophos
Sistemi di rilevamento malware: non tutti sono uguali
1.
http://www.sophos.com/blogs/gc/g/2009/07/24/threat-report-july-2009/
2.
http://www.sophos.com/security/technical-papers/modern_web_attacks.html
3.
http://www.sophos.com/blogs/sophoslabs/v/post/4405
4.
http://www.theregister.co.uk/2009/09/04/mcafee_false_positive/
5.
http://www.sophos.com/blogs/sophoslabs/v/post/882
6.
http://www.sophos.com/blogs/sophoslabs/v/post/2090
7.
http://www.sophos.com/blogs/sophoslabs/v/post/5968
8.
http://partners.adobe.com/public/developer/pdf/topic_js.html
Boston, USA | Oxford, Regno Unito
© Copyright 2009. Sophos Plc
Tutti i marchi registrati e i copyright sono compresi e riconosciuti da Sophos. Nessuna parte
di questa pubblicazione può essere riprodotta, memorizzata in un sistema di recupero dati o
trasmessa in qualsiasi forma o con qualsiasi mezzo senza il consenso scritto degli editori.