NDroid: Towards Tracking Information Flows across Multiple Android Contexts

Lei Xue, Chenxiong Qian, Hao Zhou, Xiapu Luo, Yajin Zhou, Yuru Shao, Alvin T.S. Chan

Research output: Journal article publicationJournal articleAcademic researchpeer-review


For performance and compatibility reasons, developers tend to use native code in their applications (or simply apps). This makes a bidirectional data flow through multiple contexts, i.e., the Java context and the native context, in Android apps. Unfortunately, this interaction brings serious challenges to existing dynamic analysis systems, which fail to capture the data flow across different contexts. In this paper, we first performed a large-scale study on apps using native code and reported some observations. Then, we identified several scenarios where data flow cannot be tracked by existing systems, leading to uncaught information leakage. Based on these insights, we designed and implemented NDroid, an efficient dynamic taint analysis system that could track the data flow between both Java context and native context. The evaluation of real apps demonstrated the effectiveness of NDroid in identifying information leakage with reasonable performance overhead.
Original languageEnglish
Pages (from-to)814-828
JournalIEEE Transactions on Information Forensics and Security
Issue number3
Publication statusPublished - 21 Aug 2018


Dive into the research topics of 'NDroid: Towards Tracking Information Flows across Multiple Android Contexts'. Together they form a unique fingerprint.

Cite this