In the rapidly evolving malicious software landscape, anti-analysis techniques used by malware pose a challenge to all malware analysts. One of the most widely used anti-analysis techniques employed by malware is code obfuscation and, more specifically, packing. Packers are also used by companies that want to protect their software. Consequently, a packed program cannot be identified as malicious a priori. Thus, this technique does not allow malware detectors to detect the malicious behavior of the program without running it. There are many packers in the wild, and their different complexity makes the task of creating a generic unpacker challenging. Therefore, identifying the packer that was employed in a program is fundamental for preliminary malware analysis. This thesis introduces Packhero, an innovative tool designed to address the task of packer identification through a novel static analysis approach. Packhero leverages graph similarity techniques and a Graph Matching Network (GMN) to identify the most similar packer among a collection of unpacking routines. These routines are obtained from Call Graphs extracted from Portable Executables packed with known packers. This research presents a novel methodology that aims to speed up the integration of new packers among those identified by the tool. Furthermore, this thesis also presents a novel clustering approach to speed up the search for more similar objects in a graph collection, given an input graph. An extensive evaluation demonstrates that Packhero equalizes State-of-the-art (SOTA) performance in a generic scenario, achieving a mean accuracy of 99.64%. The experiments also test Packhero's ability to integrate never-before-seen packers without retraining the network, thus overcoming a significant limitation of current SOTA solutions. In this scenario, the tool achieves a mean accuracy of 80.55%. Despite the average performance degradation in the second scenario, the experiments demonstrate that some packers with specific characteristics allow a rapid integration into Packhero; namely, they do not require the network to be fine-tuned.
Nel contesto attuale, caratterizzato da un'evoluzione rapida del software malevolo, le tecniche di anti-analisi impiegate dai malware rappresentano una sfida significativa per gli analisti. Tra queste, l'offuscamento del codice e in particolare il packing sono ampiamente adottati dai creatori di malware, ma anche da aziende che desiderano proteggere il proprio software. Di conseguenza, non è possibile identificare immediatamente come malevolo un programma offuscato. Questa tecnica impedisce ai malware detector di individuare il comportamento dannoso del programma senza eseguirlo. L'esistenza di numerosi packer, ciascuno con la propria complessità, rende arduo lo sviluppo di un unpacker universale. Quindi, identificare il packer usato per offuscare un programma è essenziale per un'analisi preliminare efficace del malware. In questo contesto, questa tesi introduce Packhero, uno strumento all'avanguardia progettato per identificare i packer attraverso un approccio innovativo di analisi statica. Packhero utilizza tecniche basate sulla similarità dei grafi e sfrutta una Graph Matching Network (GMN) per determinare il packer più simile all'interno di una collezione di routine di unpacking. Queste sono ottenute da grafi di chiamate estratti da file eseguibili che sono stati offuscati con packer noti. La ricerca introduce una metodologia inedita con l'obiettivo di facilitare l'integrazione di nuovi packer tra quelli riconoscibili da Packhero. La tesi propone inoltre un nuovo metodo di clustering per ottimizzare la ricerca degli elementi più simili in una collezione di grafi a partire da un grafo dato. L'analisi dettagliata effettuata dimostra che Packhero raggiunge prestazioni paragonabili allo stato dell'arte, con una precisione media del 99,64% in scenari generici. Gli esperimenti evidenziano anche la capacità di Packhero di integrare packer mai incontrati prima senza necessità di riaddestrare la rete, superando così una limitazione significativa delle soluzioni esistenti. In questi casi, lo strumento ha mostrato una precisione media dell'80,55%. Nonostante una riduzione delle prestazioni, i test hanno confermato che alcuni packer, grazie alle loro caratteristiche particolari, possono essere integrati rapidamente nello strumento senza necessità di riaddestramento della rete neurale utilizzata.
Packhero: leveraging graph-based analysis for packer identification
Di Gennaro, Marco
2023/2024
Abstract
In the rapidly evolving malicious software landscape, anti-analysis techniques used by malware pose a challenge to all malware analysts. One of the most widely used anti-analysis techniques employed by malware is code obfuscation and, more specifically, packing. Packers are also used by companies that want to protect their software. Consequently, a packed program cannot be identified as malicious a priori. Thus, this technique does not allow malware detectors to detect the malicious behavior of the program without running it. There are many packers in the wild, and their different complexity makes the task of creating a generic unpacker challenging. Therefore, identifying the packer that was employed in a program is fundamental for preliminary malware analysis. This thesis introduces Packhero, an innovative tool designed to address the task of packer identification through a novel static analysis approach. Packhero leverages graph similarity techniques and a Graph Matching Network (GMN) to identify the most similar packer among a collection of unpacking routines. These routines are obtained from Call Graphs extracted from Portable Executables packed with known packers. This research presents a novel methodology that aims to speed up the integration of new packers among those identified by the tool. Furthermore, this thesis also presents a novel clustering approach to speed up the search for more similar objects in a graph collection, given an input graph. An extensive evaluation demonstrates that Packhero equalizes State-of-the-art (SOTA) performance in a generic scenario, achieving a mean accuracy of 99.64%. The experiments also test Packhero's ability to integrate never-before-seen packers without retraining the network, thus overcoming a significant limitation of current SOTA solutions. In this scenario, the tool achieves a mean accuracy of 80.55%. Despite the average performance degradation in the second scenario, the experiments demonstrate that some packers with specific characteristics allow a rapid integration into Packhero; namely, they do not require the network to be fine-tuned.File | Dimensione | Formato | |
---|---|---|---|
2024_04_DiGennaro_Tesi_01.pdf
Open Access dal 12/03/2025
Descrizione: Tesi
Dimensione
1.61 MB
Formato
Adobe PDF
|
1.61 MB | Adobe PDF | Visualizza/Apri |
2024_04_DiGennaro_Executive Summary_02.pdf
Open Access dal 12/03/2025
Descrizione: Executive Summary
Dimensione
543.94 kB
Formato
Adobe PDF
|
543.94 kB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/218030