During my thesis work, I focused on code obfuscation and deobfuscation for the JavaScript language. In the first part of my work, I researched and collected information on the state of the art for code obfuscation and deobfuscation, i.e. in the benign case, a set of methodologies and techniques used by tools to protect code from malicious attackers. So I collected the information I found about the available methodologies, techniques and tools into a guide. I then produce a summary of these tools, evaluating their key characteristics. In the second part of my work, I grouped together a set of JavaScript functions, that obfuscated and deobfuscated, have given me a way to test the use of the tools I found. Finally, in the last part of my work, I compared and analysed the functions obtained through the use of the tools, collecting observations and comments in a document that may be useful to understand how these tools work and also to help improve them and create new and more efficient ones.

Durante il mio lavoro di tesi, mi sono concentrata sull'offuscamento e il deoffuscamento del codice per il linguaggio JavaScript. Nella prima parte del mio lavoro, ho ricercato e raccolto informazioni sullo stato dell'arte dell'offuscamento e del deoffuscamento del codice, ovvero, nel caso benevolo, un insieme di metodologie e tecniche utilizzate dagli strumenti per proteggere il codice dai malintenzionati. Ho quindi raccolto le informazioni trovate sulle metodologie, le tecniche e gli strumenti disponibili in una guida. Ho poi prodotto una sintesi di questi strumenti, valutandone le caratteristiche principali. Nella seconda parte del mio lavoro, ho raggruppato un insieme di funzioni JavaScript, che offuscate e deoffuscate, mi hanno dato modo di testare l'uso degli strumenti che ho trovato. Infine, nell'ultima parte del mio lavoro, ho confrontato e analizzato le funzioni ottenute attraverso l'uso degli strumenti, raccogliendo osservazioni e commenti in un documento che può essere utile per capire come questi funzionano e anche per contribuire a migliorarli e a crearne di nuovi e più efficienti.

Offuscamento e deoffuscamento: approcci, strumenti e set di dati

CANALE, ALESSIA
2023/2024

Abstract

Durante il mio lavoro di tesi, mi sono concentrata sull'offuscamento e il deoffuscamento del codice per il linguaggio JavaScript. Nella prima parte del mio lavoro, ho ricercato e raccolto informazioni sullo stato dell'arte dell'offuscamento e del deoffuscamento del codice, ovvero, nel caso benevolo, un insieme di metodologie e tecniche utilizzate dagli strumenti per proteggere il codice dai malintenzionati. Ho quindi raccolto le informazioni trovate sulle metodologie, le tecniche e gli strumenti disponibili in una guida. Ho poi prodotto una sintesi di questi strumenti, valutandone le caratteristiche principali. Nella seconda parte del mio lavoro, ho raggruppato un insieme di funzioni JavaScript, che offuscate e deoffuscate, mi hanno dato modo di testare l'uso degli strumenti che ho trovato. Infine, nell'ultima parte del mio lavoro, ho confrontato e analizzato le funzioni ottenute attraverso l'uso degli strumenti, raccogliendo osservazioni e commenti in un documento che può essere utile per capire come questi funzionano e anche per contribuire a migliorarli e a crearne di nuovi e più efficienti.
Obfuscation and Deobfuscation: Approaches, Tools, and Datasets
During my thesis work, I focused on code obfuscation and deobfuscation for the JavaScript language. In the first part of my work, I researched and collected information on the state of the art for code obfuscation and deobfuscation, i.e. in the benign case, a set of methodologies and techniques used by tools to protect code from malicious attackers. So I collected the information I found about the available methodologies, techniques and tools into a guide. I then produce a summary of these tools, evaluating their key characteristics. In the second part of my work, I grouped together a set of JavaScript functions, that obfuscated and deobfuscated, have given me a way to test the use of the tools I found. Finally, in the last part of my work, I compared and analysed the functions obtained through the use of the tools, collecting observations and comments in a document that may be useful to understand how these tools work and also to help improve them and create new and more efficient ones.
Autorizzo consultazione esterna dell'elaborato
File in questo prodotto:
File Dimensione Formato  
Alessia_Canale_930559_bachelor_s_thesis_in_Computer_Science_University_of_Turin.pdf

non disponibili

Descrizione: state of the art for code obfuscation and deobfuscation, creation of a benchmark to test the functioning of the available tools, methodologies and techniques, observations and comments on the results obtained.
Dimensione 673.89 kB
Formato Adobe PDF
673.89 kB Adobe PDF

I documenti in UNITESI 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/20.500.14240/4578