Analisi dei disassemblatori più comuni in relazione alle tecniche di anti-disassembly
View/ Open
Author
Repetto, Luca <1994>
Date
2023-07-20Data available
2023-07-27Abstract
L'ingegneria inversa svolge un ruolo cruciale nell'analisi e nella comprensione del comportamento del software malevolo. Tuttavia, gli autori di malware spesso impiegano tecniche di anti-disassembly per ostacolare il processo di ingegneria inversa. In questa tesi, ci addentriamo nel campo delle tecniche di anti-disassembly, esaminando la loro diffusione e l'impatto su diversi strumenti di disassembly.
La ricerca inizia con uno studio dei disassemblatori più popolari utilizzati dagli analisti di malware, tra cui angr, Ghidra, IDA Pro e radare2. Per valutare le prestazioni dei disassemblatori, abbiamo utilizzato tecniche come l'analisi basata sui grafi, il riconoscimento di pattern e le metriche di similarità. Abbiamo costruito e analizzato Interprocedural Control Flow Graphs per identificare pattern comuni associati alle tecniche di anti-disassembly. Inoltre, abbiamo utilizzato Jaccard similarity e Graph Edit Distance per misurare la similarità tra gli output dei disassemblatori.
In conclusione, questo studio getta luce sul panorama in evoluzione delle tecniche di anti-disassembly e fornisce preziose informazioni sui punti di forza e le limitazioni dei disassemblatori più popolari. Reverse engineering plays a crucial role in analyzing and understanding the behavior of malicious software. However, malware authors often employ anti-disassembly techniques to hinder the reverse engineering process. In this thesis, we delve into the realm of anti-disassembly techniques, examining their prevalence and impact on different disassembly tools.
The research begins with a comprehensive study of popular disassemblers used by malware analysts, including angr, Ghidra, IDA Pro, and radare2. To evaluate the disassemblers' performance, we employ techniques such as graph-based analysis, pattern recognition, and similarity metrics. We constructed and analyzed Interprocedural Control Flow Graphs to identify common patterns associated with anti-disassembly techniques. Furthermore, we utilized Jaccard similarity and Graph Edit Distance to measure the similarity between the disassemblers' outputs.
In conclusion, this study sheds light on the evolving landscape of anti-disassembly techniques and provides valuable insights into the strengths and limitations of popular disassemblers.
Type
info:eu-repo/semantics/masterThesisCollections
- Laurea Magistrale [4954]