An Android Inline Hooking Framework for the Securing Transmitted Data

Information leaks can occur through many Android applications, including unauthorized access to sensors data. Hooking is an important technique for protecting Android applications and add security features to them even without its source code. Various hooking frameworks are developed to intercept ev...

Full description

Bibliographic Details
Main Authors: Yu-an Tan, Shuo Feng, Xiaochun Cheng, Yuanzhang Li, Jun Zheng
Format: Article
Language:English
Published: MDPI AG 2020-07-01
Series:Sensors
Subjects:
Online Access:https://www.mdpi.com/1424-8220/20/15/4201
id doaj-fd53f441e75448f9aa53161882d6ce49
record_format Article
spelling doaj-fd53f441e75448f9aa53161882d6ce492020-11-25T01:27:45ZengMDPI AGSensors1424-82202020-07-01204201420110.3390/s20154201An Android Inline Hooking Framework for the Securing Transmitted DataYu-an Tan0Shuo Feng1Xiaochun Cheng2Yuanzhang Li3Jun Zheng4School of Computer Science and Technology, Beijing Institute of Technology, Beijing 100081, ChinaSchool of Computer Science and Technology, Beijing Institute of Technology, Beijing 100081, ChinaDepartment of Computer Science, Middlesex University, London NW4 4BE, UKSchool of Computer Science and Technology, Beijing Institute of Technology, Beijing 100081, ChinaSchool of Computer Science and Technology, Beijing Institute of Technology, Beijing 100081, ChinaInformation leaks can occur through many Android applications, including unauthorized access to sensors data. Hooking is an important technique for protecting Android applications and add security features to them even without its source code. Various hooking frameworks are developed to intercept events and process their own specific events. The hooking tools for Java methods are varied, however, the native hook has few methods. Besides, the commonly used Android hook frameworks cannot meet the requirement of hooking the native methods in shared libraries on non-root devices. Even though some approaches are able to hook these methods, they have limitations or are complicated to implement. In the paper, a feasible hooking approach for Android native methods is proposed and implemented, which does not need any modifications to both the Android framework and app’s code. In this approach, the method’s reference address is modified and control flow is redirected. Beyond that, this study combines this approach with VirtualXposed which aims to run it without root privileges. This hooking framework can be used to enforce security policies and monitor sensitive methods in shared objects. The evaluation of the scheme demonstrates its capability to perform hook operation without a significant runtime performance overhead on real devices and it is compatible and functional for the native hook.https://www.mdpi.com/1424-8220/20/15/4201sensitive information leakageAndroidnative hookELF file formatVirtualXposed
collection DOAJ
language English
format Article
sources DOAJ
author Yu-an Tan
Shuo Feng
Xiaochun Cheng
Yuanzhang Li
Jun Zheng
spellingShingle Yu-an Tan
Shuo Feng
Xiaochun Cheng
Yuanzhang Li
Jun Zheng
An Android Inline Hooking Framework for the Securing Transmitted Data
Sensors
sensitive information leakage
Android
native hook
ELF file format
VirtualXposed
author_facet Yu-an Tan
Shuo Feng
Xiaochun Cheng
Yuanzhang Li
Jun Zheng
author_sort Yu-an Tan
title An Android Inline Hooking Framework for the Securing Transmitted Data
title_short An Android Inline Hooking Framework for the Securing Transmitted Data
title_full An Android Inline Hooking Framework for the Securing Transmitted Data
title_fullStr An Android Inline Hooking Framework for the Securing Transmitted Data
title_full_unstemmed An Android Inline Hooking Framework for the Securing Transmitted Data
title_sort android inline hooking framework for the securing transmitted data
publisher MDPI AG
series Sensors
issn 1424-8220
publishDate 2020-07-01
description Information leaks can occur through many Android applications, including unauthorized access to sensors data. Hooking is an important technique for protecting Android applications and add security features to them even without its source code. Various hooking frameworks are developed to intercept events and process their own specific events. The hooking tools for Java methods are varied, however, the native hook has few methods. Besides, the commonly used Android hook frameworks cannot meet the requirement of hooking the native methods in shared libraries on non-root devices. Even though some approaches are able to hook these methods, they have limitations or are complicated to implement. In the paper, a feasible hooking approach for Android native methods is proposed and implemented, which does not need any modifications to both the Android framework and app’s code. In this approach, the method’s reference address is modified and control flow is redirected. Beyond that, this study combines this approach with VirtualXposed which aims to run it without root privileges. This hooking framework can be used to enforce security policies and monitor sensitive methods in shared objects. The evaluation of the scheme demonstrates its capability to perform hook operation without a significant runtime performance overhead on real devices and it is compatible and functional for the native hook.
topic sensitive information leakage
Android
native hook
ELF file format
VirtualXposed
url https://www.mdpi.com/1424-8220/20/15/4201
work_keys_str_mv AT yuantan anandroidinlinehookingframeworkforthesecuringtransmitteddata
AT shuofeng anandroidinlinehookingframeworkforthesecuringtransmitteddata
AT xiaochuncheng anandroidinlinehookingframeworkforthesecuringtransmitteddata
AT yuanzhangli anandroidinlinehookingframeworkforthesecuringtransmitteddata
AT junzheng anandroidinlinehookingframeworkforthesecuringtransmitteddata
AT yuantan androidinlinehookingframeworkforthesecuringtransmitteddata
AT shuofeng androidinlinehookingframeworkforthesecuringtransmitteddata
AT xiaochuncheng androidinlinehookingframeworkforthesecuringtransmitteddata
AT yuanzhangli androidinlinehookingframeworkforthesecuringtransmitteddata
AT junzheng androidinlinehookingframeworkforthesecuringtransmitteddata
_version_ 1725103531396956160