In the last years web based threats that exploit memory vulnerabilities use JavaScript variables (in particular strings) as vectors of malicious machine code. When the victim's browser interprets JavaScript code of the malicious page, machine code is executed and the attack happens. In literature some approaches have been proposed to detect heap spraying attacks, but none of them is enough lightweight to be integrated inside a commercial browser due to the time necessary to evaluate the features used to recognize malicious behavior. A very important aspect of the more e ective methods proposed is the correct choice of the features to use to distinguish malicious code from non malicious code. For this, in this thesis work we focus on collecting and analyzing the variables that are generated at runtime by the browser when it visits a web page. To collect the variables we instrumented Mozilla Firefox and with this data we evaluated some features to understand if it is possible to distinguish malicious web pages from good web pages, aside from the kind of attacks they launch.

Analizzando le recenti minacce informatiche perpetrate via web si nota un maggiore impiego di tecniche di attacchi che sfruttano le variabili (in par- ticolare le stringhe) JavaScript come vettore del codice macchina malevolo. Quando il browser della vittima interpreta il codice JavaScript della pagina malevola, il codice macchina viene eseguito ed ha luogo l'attacco. In letter- atura sono stati proposti diversi approcci per rilevare questo tipo di attacchi, ma nessuno di questi si e rivelato abbastanza veloce da poter essere integrato all'interno di un browser commerciale, a causa del tempo necessario a val- utare i parametri usati per riconoscere il comportamento malevolo. Aspetto cruciale dei metodi pi u e caci sinora proposti e la corretta scelta delle fea- ture per discriminare codice malevolo da codice non malevolo. Per questo motivo, in questo lavoro ci siamo focalizzati sulla raccolta ed analisi delle variabili allocate durante l'esecuzione del browser sulla macchina dell'utente che visita la pagina web. Per raccogliere queste variabili abbiamo instrumen- tato Firefox, il browser di Mozilla, e con queste variabili valutiamo alcuni parametri cercando di scoprire quelli che possono aiutarci a distinguere il comportamento di una pagina normale da quello di una pagina malevola, a prescindere dal tipo di attacco che la pagina malevola lancia quando un browser la visita.

Automated collection and analysis of runtime generated strings in a Web browser

FOSSEMO', MANUEL
2010/2011

Abstract

In the last years web based threats that exploit memory vulnerabilities use JavaScript variables (in particular strings) as vectors of malicious machine code. When the victim's browser interprets JavaScript code of the malicious page, machine code is executed and the attack happens. In literature some approaches have been proposed to detect heap spraying attacks, but none of them is enough lightweight to be integrated inside a commercial browser due to the time necessary to evaluate the features used to recognize malicious behavior. A very important aspect of the more e ective methods proposed is the correct choice of the features to use to distinguish malicious code from non malicious code. For this, in this thesis work we focus on collecting and analyzing the variables that are generated at runtime by the browser when it visits a web page. To collect the variables we instrumented Mozilla Firefox and with this data we evaluated some features to understand if it is possible to distinguish malicious web pages from good web pages, aside from the kind of attacks they launch.
MAGGI, FEDERICO
ING V - Scuola di Ingegneria dell'Informazione
4-ott-2011
2010/2011
Analizzando le recenti minacce informatiche perpetrate via web si nota un maggiore impiego di tecniche di attacchi che sfruttano le variabili (in par- ticolare le stringhe) JavaScript come vettore del codice macchina malevolo. Quando il browser della vittima interpreta il codice JavaScript della pagina malevola, il codice macchina viene eseguito ed ha luogo l'attacco. In letter- atura sono stati proposti diversi approcci per rilevare questo tipo di attacchi, ma nessuno di questi si e rivelato abbastanza veloce da poter essere integrato all'interno di un browser commerciale, a causa del tempo necessario a val- utare i parametri usati per riconoscere il comportamento malevolo. Aspetto cruciale dei metodi pi u e caci sinora proposti e la corretta scelta delle fea- ture per discriminare codice malevolo da codice non malevolo. Per questo motivo, in questo lavoro ci siamo focalizzati sulla raccolta ed analisi delle variabili allocate durante l'esecuzione del browser sulla macchina dell'utente che visita la pagina web. Per raccogliere queste variabili abbiamo instrumen- tato Firefox, il browser di Mozilla, e con queste variabili valutiamo alcuni parametri cercando di scoprire quelli che possono aiutarci a distinguere il comportamento di una pagina normale da quello di una pagina malevola, a prescindere dal tipo di attacco che la pagina malevola lancia quando un browser la visita.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2011_10_Fossemo.pdf

Open Access dal 20/09/2012

Descrizione: Testo della tesi
Dimensione 1.12 MB
Formato Adobe PDF
1.12 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/29001