MATE attacks are still considered to be among the most common attack vectors used by malicious actors to tamper with Android applications, which can potentially subvert a system or an application's integrity. This thesis aims to study novel approaches and techniques to identify and avert potential debugging behaviors from MATE attackers. The main conceptual idea is to enrich available debugging detection metrics by introducing low-level runtime process data coming from process system calls and by determining whether the merged collected data might be correlated to a malicious user. In its first part, this thesis wants to address and focus on choosing an efficient tracing data collection technique leveraging the eBPF framework, evidencing its strengths and limitations in the Android context. On the second part, following the previous works "System Calls Monitoring in Android: An Approach to Detect Debuggers, Anomalies and Privacy Issues" (De Giorgi) and "Remote Debugging Detection in Android" (Venerba), a scalable and efficient native Android solution has been introduced, classifying the collected traces with a random forest detection model. Finally, the solution is then benchmarked against a pool of five Android applications having different categories, showing how the solution can be used as a starting point and be introduced in an Android application development workflow to help prevent reverse engineering attacks.

Gli attacchi MATE sono tuttora considerati tra i vettori di attacco più comuni utilizzati dagli attaccanti per manomettere le applicazioni Android, compromettendo potenzialmente l'integrità di un sistema o di un'applicazione. Questa tesi si propone di studiare nuovi approcci e tecniche per identificare e prevenire potenziali comportamenti di debug da parte di un attaccante MATE. L'idea concettuale principale è quella di arricchire le metriche identificative di debug disponibili, introducendo dati a basso livello dei processi provenienti dalle chiamate di sistema e determinando se i dati raccolti e aggregati possano essere correlati a un utente malintenzionato. Nella sua prima parte, questa tesi intende affrontare e concentrarsi sulla scelta di una tecnica efficiente di raccolta dati di tracciamento che sfrutti il framework eBPF, evidenziandone i punti di forza e i limiti nel contesto Android. Nella seconda parte, seguendo i precedenti lavori "System Calls Monitoring in Android: An Approach to Detect Debuggers, Anomalies and Privacy Issues" (De Giorgi) e "Remote Debugging Detection in Android" (Venerba), è stata introdotta una soluzione nativa Android scalabile ed efficiente, che classifica le tracce raccolte con un modello di classificazione random forest. Infine, la soluzione viene valutata in un gruppo di cinque applicazioni Android appartenenti a diverse categorie, dimostrando come la soluzione possa essere utilizzata come punto di partenza e integrata in un flusso di lavoro di sviluppo di applicazioni Android per contribuire a prevenire attacchi di reverse engineering.

Prevenire gli attacchi di Reverse Engineering in Android sfruttando Anti-Debugging, Process Tracing e Machine Learning

FACCI, MATTEO
2025/2026

Abstract

MATE attacks are still considered to be among the most common attack vectors used by malicious actors to tamper with Android applications, which can potentially subvert a system or an application's integrity. This thesis aims to study novel approaches and techniques to identify and avert potential debugging behaviors from MATE attackers. The main conceptual idea is to enrich available debugging detection metrics by introducing low-level runtime process data coming from process system calls and by determining whether the merged collected data might be correlated to a malicious user. In its first part, this thesis wants to address and focus on choosing an efficient tracing data collection technique leveraging the eBPF framework, evidencing its strengths and limitations in the Android context. On the second part, following the previous works "System Calls Monitoring in Android: An Approach to Detect Debuggers, Anomalies and Privacy Issues" (De Giorgi) and "Remote Debugging Detection in Android" (Venerba), a scalable and efficient native Android solution has been introduced, classifying the collected traces with a random forest detection model. Finally, the solution is then benchmarked against a pool of five Android applications having different categories, showing how the solution can be used as a starting point and be introduced in an Android application development workflow to help prevent reverse engineering attacks.
2025
Gli attacchi MATE sono tuttora considerati tra i vettori di attacco più comuni utilizzati dagli attaccanti per manomettere le applicazioni Android, compromettendo potenzialmente l'integrità di un sistema o di un'applicazione. Questa tesi si propone di studiare nuovi approcci e tecniche per identificare e prevenire potenziali comportamenti di debug da parte di un attaccante MATE. L'idea concettuale principale è quella di arricchire le metriche identificative di debug disponibili, introducendo dati a basso livello dei processi provenienti dalle chiamate di sistema e determinando se i dati raccolti e aggregati possano essere correlati a un utente malintenzionato. Nella sua prima parte, questa tesi intende affrontare e concentrarsi sulla scelta di una tecnica efficiente di raccolta dati di tracciamento che sfrutti il framework eBPF, evidenziandone i punti di forza e i limiti nel contesto Android. Nella seconda parte, seguendo i precedenti lavori "System Calls Monitoring in Android: An Approach to Detect Debuggers, Anomalies and Privacy Issues" (De Giorgi) e "Remote Debugging Detection in Android" (Venerba), è stata introdotta una soluzione nativa Android scalabile ed efficiente, che classifica le tracce raccolte con un modello di classificazione random forest. Infine, la soluzione viene valutata in un gruppo di cinque applicazioni Android appartenenti a diverse categorie, dimostrando come la soluzione possa essere utilizzata come punto di partenza e integrata in un flusso di lavoro di sviluppo di applicazioni Android per contribuire a prevenire attacchi di reverse engineering.
File in questo prodotto:
File Dimensione Formato  
FACCI_MATTEO_875377.pdf

non disponibili

Dimensione 2.69 MB
Formato Adobe PDF
2.69 MB 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.14247/29224