Molte applicazioni Android presentano vulnerabilità nel loro codice che possono mettere seriamente a rischio la sicurezza degli utenti che si affidano a questo sistema operativo. Con la volontà di risolvere questo annoso problema il gruppo di ricerca dell’Università di Padova “SPRITZ” ha progettato SPECK. SPECK è un software innovativo che, eseguendo analisi statiche basate sul metodo della taint analysis, ha come obbiettivo quello di far emergere alcune di queste vulnerabilità. GAPS è un componente di SPECK che, attraverso la generazione di control-flow graphs delle applicazioni Android, riesce a stilare serie di istruzioni di alto livello che software di interazione automatica possono eseguire per raggiungere un determinato obbiettivo nell’app. Un modulo fondamentale nel funzionamento di GAPS è l’analizzatore di inter-component communications. La tesi si concentra sul testing di questo modulo. Gli sviluppatori di GAPS devono infatti determinare se lo strumento necessiti o meno di essere coadiuvato da un altro software chiamato Amandroid durante l’analisi delle inter-component communications per ottenere dei risultati più completi. L’obbiettivo di questo elaborato è fornire dati utili alla risposta di questo quesito. In particolare viene calcolata la quantità di informazioni aggiuntive fornite da Amandroid a GAPS e la percentuale di correttezza di queste. Amandroid può essere eseguito con due modalità diverse: Component e Work Unit. Entrambe le modalità sono state testate. Per eseguire il testing è stato necessario validare manualmente ogni risultato delle analisi di GAPS ed Amandroid. Un insieme di script è stato ideato e realizzato per automatizzare il più possibile il processo. I risultati ottenuti mostrano che entrambe le strategie Amandroid non aumentano di molto il numero di informazioni ricavate dall’analisi di GAPS. Dai risultati si può evincere inoltre che, mentre la strategia Component fornisce dati spesso non corretti, la strategia Work Unit produce dati sempre corretti, almeno nel campione preso in considerazione.

Testing di control-flow graphs di applicazioni Android generati dal software SPECK+

CONTE, RICCARDO
2022/2023

Abstract

Molte applicazioni Android presentano vulnerabilità nel loro codice che possono mettere seriamente a rischio la sicurezza degli utenti che si affidano a questo sistema operativo. Con la volontà di risolvere questo annoso problema il gruppo di ricerca dell’Università di Padova “SPRITZ” ha progettato SPECK. SPECK è un software innovativo che, eseguendo analisi statiche basate sul metodo della taint analysis, ha come obbiettivo quello di far emergere alcune di queste vulnerabilità. GAPS è un componente di SPECK che, attraverso la generazione di control-flow graphs delle applicazioni Android, riesce a stilare serie di istruzioni di alto livello che software di interazione automatica possono eseguire per raggiungere un determinato obbiettivo nell’app. Un modulo fondamentale nel funzionamento di GAPS è l’analizzatore di inter-component communications. La tesi si concentra sul testing di questo modulo. Gli sviluppatori di GAPS devono infatti determinare se lo strumento necessiti o meno di essere coadiuvato da un altro software chiamato Amandroid durante l’analisi delle inter-component communications per ottenere dei risultati più completi. L’obbiettivo di questo elaborato è fornire dati utili alla risposta di questo quesito. In particolare viene calcolata la quantità di informazioni aggiuntive fornite da Amandroid a GAPS e la percentuale di correttezza di queste. Amandroid può essere eseguito con due modalità diverse: Component e Work Unit. Entrambe le modalità sono state testate. Per eseguire il testing è stato necessario validare manualmente ogni risultato delle analisi di GAPS ed Amandroid. Un insieme di script è stato ideato e realizzato per automatizzare il più possibile il processo. I risultati ottenuti mostrano che entrambe le strategie Amandroid non aumentano di molto il numero di informazioni ricavate dall’analisi di GAPS. Dai risultati si può evincere inoltre che, mentre la strategia Component fornisce dati spesso non corretti, la strategia Work Unit produce dati sempre corretti, almeno nel campione preso in considerazione.
2022
Testing of control-flow graphs of Android applications generated by SPECK+ software
Android security
Path generation
Software testing
File in questo prodotto:
File Dimensione Formato  
Conte_Riccardo.pdf

accesso riservato

Dimensione 1.29 MB
Formato Adobe PDF
1.29 MB Adobe PDF

The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12608/53315