POLITESI Politecnico di Milano Servizi Bibliotecari di Ateneo Servizi Bibliotecari di Ateneo
 
   ALL THESES       POST GRADUATE THESES       DOCTORAL THESES   
My POLITesi
authorized users
italiano
Please use this identifier to cite or link to this thesis: http://hdl.handle.net/10589/84662

Author: GIANAZZA, ANDREA
Supervisor: ZANERO, STEFANO
Scientific Disciplinary Sector: ING-INF/05 SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Date: 3-Oct-2013
Academic year: 2012/2013
Title: PuppetDroid : a remote execution environment and UI exerciser for Android malware analysis
Italian abstract: Con la crescente popolarità di smartphone e apps, i criminali hanno iniziato a sviluppare malware per dispositivi mobili. La diffusione e la complessità dei malware è in continua crescita. In risposta a questo fenomeno, sono stati proposti diversi approcci per analizzare ed individuare nuove minacce. Questo lavoro si focalizza sull'analisi di malware, che viene tradizionalmente divisa in analisi statica e dinamica. Le tecniche di analisi statica permettono di raggiungere un'elevata copertura di codice e scalabilità, ma risultano inefficaci in presenza di tecniche di offuscamento. Le tecniche di analisi dinamica non risentono invece di questa limitazione però non permettono di raggiungere l'elevata copertura di codice dell'analisi statica. In particolare, le soluzioni esistenti non sono in grado di riprodurre il tipico comportamento di un utente umano, riuscendo quindi a coprire solo parzialmente il codice malevolo e portando ad avere un'analisi scorretta o incompleta. In questo lavoro proponiamo un approccio innovativo per condurre test di analisi dinamica. L'approccio che proponiamo ruota intorno a due concetti chiave. Il primo è quello di sfruttare la stimolazione fornita da un tester umano per riprodurre la tipica interazione generata da una vittima del malware. Il secondo è quello di registrare una traccia dell'interazione dell'utente con l'applicazione e sfruttarla per stimolare applicazioni simili a quella originariamente testata. Abbiamo implementato il nostro approccio in PuppetDroid, un ambiente di esecuzione remota per l'analisi dinamica di malware Android. Abbiamo dimostrato sperimentalmente che sia i test manuali che i test automatici, eseguiti riutilizzando tracce di stimolazione precedentemente registrate, permettono di ottenere una copertura maggiore rispetto a quella ottenuta con i classici strumenti di stimolazione automatica. Infine, il nostro sistema può fare affidamento sul crowdsourcing per la raccolta di nuove tracce di stimolazione: riteniamo infatti che PuppetDroid possa attirare l'attenzione non solo di esperti di sicurezza, ma anche di utenti comuni che vogliono provare in maniera sicura applicazioni potenzialmente pericolose.
English abstract: With the growing popularity of smartphones and apps, cyber criminals have begun infecting mobile devices with malware. The prevalence and complexity of such malicious programs are constantly on the rise. In response, researchers proposed various approaches for analysis and detection of malicious applications. In this work we focus on the fundamental problem of malware analysis, which can be traditionally divided in two categories: static and dynamic analysis. Static approaches have the main advantage of high code coverage and scalability, but they are ineffective against code obfuscation or dynamic payloads. Conversely, dynamic approaches are resilient to code obfuscation but they reach lower code coverage than static ones. In particular, current solutions are unable to fully reproduce the typical usage of human users, so to only partially cover the malicious code during dynamic analysis. Consequently, a malware sample may not exhibit its malicious behavior, leading to an erroneous or incomplete analysis. In this work we propose a new approach to exercise the user interface (UI) of an Android application in order to effectively exercise potentially malicious behaviors. To this end, our key intuition is to record and reproduce the typical UI-interaction of a potential victim of the malware, so to stimulate the relevant behaviors during dynamic analysis. Moreover, to make our approach scale, we record a trace of the UI events while a human is using an app, and then automatically re-execute this trace on apps that are "similar" to the given one. We developed our approach in PuppetDroid, an Android remote execution environment and UI exerciser for dynamic malware analysis. We experimentally demonstrated that our stimulation approach allows to reach higher code coverage than automatic UI exercisers, so to succeed in stimulating interesting malicious behaviors that are not exposed when using other approaches. Finally, PuppetDroid relies on crowdsourcing to collect new stimulation traces: we believe that our system can attract the interest not only of security analysts but also of normal users that want to safely test potentially malicious applications.
Italian keywords: Android; malware; analisi dinamica; sicurezza informatica; testing
English keywords: Android; malware; dynamic analysis; computer security; testing
Language: eng
Appears in Collections:POLITesi >Tesi Specialistiche/Magistrali

Files in This Item:

File Description SizeFormatVisibility
2013_10_Gianazza.pdfTesto della tesi4.04 MBAdobe PDFView/Open





 

  Support, maintenance and development by SURplus team @ CINECA- Powered by DSpace Software