Hooking Java methods and native functions to enhance Android applications security

Brandolini, Filippo Alberto (2016) Hooking Java methods and native functions to enhance Android applications security. [Laurea magistrale], Università di Bologna, Corso di Studio in Ingegneria e scienze informatiche [LM-DM270] - Cesena
Documenti full-text disponibili:
[img] Documento PDF (Thesis)
Disponibile con Licenza: Creative Commons: Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 (CC BY-NC-SA 3.0)

Download (984kB)

Abstract

Mobile devices are becoming the main end-user platform to access the Internet. Therefore, hackers’ interest for fraudulent mobile applications is now higher than ever. Most of the times, static analysis is not enough to detect the application hidden malicious code. For this reason, we design and implement a security library for Android applications exploiting the hooking of Java and native functions to enable runtime analysis. The library verifies if the application shows compliance to some of the most important security protocols and it tries to detect unwanted activities. Testing of the library shows that it successfully intercepts the targeted functions, thus allowing to block the application malicious behaviour. We also assess the feasibility of an automatic tool that uses reverse engineering to decompile the application, inject our library and recompile the security-enhanced application. I dispositivi mobile rappresentano ormai per gli utenti finali la principale piattaforma di accesso alla rete. Di conseguenza, l’interesse degli hacker a sviluppare applicazioni mobile fraudolente è più forte che mai. Il più delle volte, l’analisi statica non è sufficiente a rilevare tracce di codice ostile. Per questo motivo, progettiamo e implementiamo una libreria di sicurezza per applicazioni Android che sfrutta l’hooking di funzioni Java e native per effettuare un’analisi dinamica del codice. La libreria verifica che l’applicazione sia conforme ad alcuni dei principali protocolli di sicurezza e tenta di rilevare tracce di attività indesiderate. La fase di testing mostra che la libreria intercetta con successo le funzioni bersaglio, consentendo di bloccare il comportamento malevolo dell’applicazione. Valutiamo altresì la fattibilità di un programma che in modo automatico sfrutti tecniche di reverse engineering per decompilare un’applicazione, inserire al suo interno la libreria e ricompilare l’applicazione messa in sicurezza.

Abstract
Tipologia del documento
Tesi di laurea (Laurea magistrale)
Autore della tesi
Brandolini, Filippo Alberto
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
Android,security,monitoring,hooking,reverse engineering
Data di discussione della Tesi
15 Dicembre 2016
URI

Altri metadati

Statistica sui download

Gestione del documento: Visualizza il documento

^