Android Malware Analysis


Con la rapida diffusione dei dispositivi mobile, si è assistito anche alla rapida crescita di malware che mirano ad attaccare questi device, malware che è comune trovare se si scaricano applicazioni da market alternativi al Google Play Store.

Ci sono diversi modi per verificare se un’applicazione è malevola, e diversi servizi che lo fanno in maniera automatica (ad es: CopperDroid, Dexter, APKInspector, VirusTotal, …).

I progetti di tesi su questo fronte non mirano a costruire un nuovo tool per fare analisi del codice (quelli esistenti sono già adeguati), ma puntano a costruire dei pattern di riconoscimento per la diffusione di questi malware, ovvero le metodologie usate dai programmatori per diffondere i loro malware sui market alternativi.

Il sistema di analisi viene effettuato da uno scraper, che scarica migliaia di applicazioni in modo automatico da un market alternativo, e che in automatico le mandi a VirusTotal per farle analizzare.


PREREQUISITI

  • Conoscenza (base) di Python (vedere prerequisiti del progetto di tesi su Openstack Swift) e installazione di pacchetti con pip

  • Aver provato a scrivere uno scraper funzionante usando Scrapy (https://scrapy.org)


MATERIALE


PROGETTI DI TESI

  • [Triennale] Survey sullo stato della sicurezza di vari market alternativi, confrontando quali siano più rischiosi. Il progetto prevede la costruzione di uno scraper per il download degli APK dai market, e un uploader che utilizzi VirusTotal o un altro servizio (sulla base di quanto fatto da Google PlayScraper).

  • [Triennale] Survey sui metodi di diffusione dei malware: versioni differenti della stessa app, una delle quali infetta, o repo con soli malware, repo dove le app sono tutte fidate eccetto una, che è un malware, ecc.

  • [Magistrale] Creazione di un motore per la ricerca di applicazioni malevole basandosi sulle informazioni prodotte da SELinux (richiesta conoscenza di base delle tecniche di Machine Learning o voglia di impararle).