As obfuscation and packing techniques become increasingly popular among malware, identifying malicious behavior using traditional static approaches gets inevitably more complex. Dynamic analysis – either manual or automated, by setting up controlled and isolated environments – can often be the shortest path to determine the true nature of a program. However, virtual environments and analysis tools – such as sandboxes and debuggers – can leave some traces that allow malware to detect monitoring activity and, consequently, avoid any suspicious actions. In addition, malware can exploit the capabilities offered by some packers to incorporate various evasive techniques, further thwarting analysis attempts. After prior research, documentation and implementation of these techniques, this work aims to evaluate their effectiveness by extending and applying a preexisting tool to test a total of 191 techniques against 14 public sandboxes. A further objective is to identify the techniques employed by 25 commercial packers by implementing anti-evasion mechanisms and developing a new tool based on Frida – a Dynamic Binary Instrumentation (DBI) framework – capable of identifying and bypassing evasive techniques. This tool is applied to simple "Hello World!" programs, each compressed with a different packer. The experimental outcomes emphasize the different levels of robustness of each sandbox, showing the evasion rates of each technique; they also highlight the most commonly used techniques by packers, divided by type. In particular, it is shown how inserting execution delays (Stalling), detecting abnormal discrepancies in execution time measurements (Timing) and the lack of user activity (Human Interaction) represent the three families of techniques with the highest evasion rates. In addition, it is noted that almost half of the packers employ a well balanced amount of anti-debugging and anti-virtualization techniques, despite the fact that most of them are quite dated and well known. Based on these results, it is possible to plan and develop anti-evasion measures according to the most appropriate priorities.

La crescente popolarità delle tecniche di offuscamento e packing nel mondo dei malware ha reso inevitabilmente più complesso identificare il comportamento dannoso di tali programmi sfruttando i tradizionali metodi di analisi statica. L’analisi dinamica – sia manuale che automatizzata, tramite la configurazione di ambienti controllati e isolati – può spesso rivelarsi la strada più breve per determinare il vero scopo di un programma. Tuttavia, ambienti virtuali e strumenti di analisi – quali le sandbox e i debugger – possono lasciare alcune tracce che consentono ai malware di rilevare l’attività di monitoraggio e di evitare così ogni azione sospetta. Inoltre, i malware possono sfruttare le funzionalità offerte da alcuni packer per incorporare varie tecniche evasive, vanificando ulteriormente i tentativi di analisi. Dopo una previa attività di ricerca, documentazione e implementazione di tali tecniche evasive, questo lavoro si propone di valutare l’efficacia delle stesse, estendendo e applicando uno strumento preesistente per testare un totale di 191 tecniche nei confronti di 14 sandbox pubbliche. Un ulteriore obiettivo consiste nell’individuare le tecniche impiegate da 25 packer commerciali mediante l’implementazione di meccanismi anti-evasione e l’elaborazione di un nuovo strumento basato su Frida (un software DBI) in grado di identificare e bypassare le tecniche evasive, per poi applicarlo a semplici programmi “Hello World!”, ciascuno dei quali compresso con un packer diverso. Gli esiti sperimentali mettono in luce i differenti livelli di robustezza di ciascuna sandbox, mostrando le percentuali di evasione di ogni tecnica; inoltre, evidenziano le tecniche più comunemente utilizzate dai packer, divise per tipologia. In particolare, viene mostrato come l’inserimento di ritardi nell’esecuzione (Stalling), il rilevamento di discrepanze anomale nei tempi di esecuzione (Timing), nonché della mancanza di interazioni da parte dell’utente (Human Interaction) rappresentino le tre famiglie di tecniche con le più alte percentuali di evasione. Inoltre, si rileva che quasi la metà dei packer implementa un numero più o meno equo di tecniche anti-debugging e anti-virtualization, nonostante la maggior parte di esse siano alquanto datate e ben note. Sulla base di tali risultati è possibile la pianificazione e lo sviluppo di misure anti-evasione secondo le priorità più opportune.

A study on windows malware evasion strategies in the context of sandboxes and packers

Sidoti Migliore, Francesco
2022/2023

Abstract

As obfuscation and packing techniques become increasingly popular among malware, identifying malicious behavior using traditional static approaches gets inevitably more complex. Dynamic analysis – either manual or automated, by setting up controlled and isolated environments – can often be the shortest path to determine the true nature of a program. However, virtual environments and analysis tools – such as sandboxes and debuggers – can leave some traces that allow malware to detect monitoring activity and, consequently, avoid any suspicious actions. In addition, malware can exploit the capabilities offered by some packers to incorporate various evasive techniques, further thwarting analysis attempts. After prior research, documentation and implementation of these techniques, this work aims to evaluate their effectiveness by extending and applying a preexisting tool to test a total of 191 techniques against 14 public sandboxes. A further objective is to identify the techniques employed by 25 commercial packers by implementing anti-evasion mechanisms and developing a new tool based on Frida – a Dynamic Binary Instrumentation (DBI) framework – capable of identifying and bypassing evasive techniques. This tool is applied to simple "Hello World!" programs, each compressed with a different packer. The experimental outcomes emphasize the different levels of robustness of each sandbox, showing the evasion rates of each technique; they also highlight the most commonly used techniques by packers, divided by type. In particular, it is shown how inserting execution delays (Stalling), detecting abnormal discrepancies in execution time measurements (Timing) and the lack of user activity (Human Interaction) represent the three families of techniques with the highest evasion rates. In addition, it is noted that almost half of the packers employ a well balanced amount of anti-debugging and anti-virtualization techniques, despite the fact that most of them are quite dated and well known. Based on these results, it is possible to plan and develop anti-evasion measures according to the most appropriate priorities.
CARMINATI, MICHELE
ZANERO, STEFANO
ING - Scuola di Ingegneria Industriale e dell'Informazione
9-apr-2024
2022/2023
La crescente popolarità delle tecniche di offuscamento e packing nel mondo dei malware ha reso inevitabilmente più complesso identificare il comportamento dannoso di tali programmi sfruttando i tradizionali metodi di analisi statica. L’analisi dinamica – sia manuale che automatizzata, tramite la configurazione di ambienti controllati e isolati – può spesso rivelarsi la strada più breve per determinare il vero scopo di un programma. Tuttavia, ambienti virtuali e strumenti di analisi – quali le sandbox e i debugger – possono lasciare alcune tracce che consentono ai malware di rilevare l’attività di monitoraggio e di evitare così ogni azione sospetta. Inoltre, i malware possono sfruttare le funzionalità offerte da alcuni packer per incorporare varie tecniche evasive, vanificando ulteriormente i tentativi di analisi. Dopo una previa attività di ricerca, documentazione e implementazione di tali tecniche evasive, questo lavoro si propone di valutare l’efficacia delle stesse, estendendo e applicando uno strumento preesistente per testare un totale di 191 tecniche nei confronti di 14 sandbox pubbliche. Un ulteriore obiettivo consiste nell’individuare le tecniche impiegate da 25 packer commerciali mediante l’implementazione di meccanismi anti-evasione e l’elaborazione di un nuovo strumento basato su Frida (un software DBI) in grado di identificare e bypassare le tecniche evasive, per poi applicarlo a semplici programmi “Hello World!”, ciascuno dei quali compresso con un packer diverso. Gli esiti sperimentali mettono in luce i differenti livelli di robustezza di ciascuna sandbox, mostrando le percentuali di evasione di ogni tecnica; inoltre, evidenziano le tecniche più comunemente utilizzate dai packer, divise per tipologia. In particolare, viene mostrato come l’inserimento di ritardi nell’esecuzione (Stalling), il rilevamento di discrepanze anomale nei tempi di esecuzione (Timing), nonché della mancanza di interazioni da parte dell’utente (Human Interaction) rappresentino le tre famiglie di tecniche con le più alte percentuali di evasione. Inoltre, si rileva che quasi la metà dei packer implementa un numero più o meno equo di tecniche anti-debugging e anti-virtualization, nonostante la maggior parte di esse siano alquanto datate e ben note. Sulla base di tali risultati è possibile la pianificazione e lo sviluppo di misure anti-evasione secondo le priorità più opportune.
File allegati
File Dimensione Formato  
2024_04_SidotiMigliore.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Tesi
Dimensione 1.9 MB
Formato Adobe PDF
1.9 MB Adobe PDF   Visualizza/Apri
2024_04_SidotiMigliore_ExecutiveSummary.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Executive Summary
Dimensione 1.05 MB
Formato Adobe PDF
1.05 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/218171