<p>The need to account for native code in Android apps is becoming urgent as the usage of native code is growing in both benign and malicious apps. However, most current state-of-the-art analysis tools cannot effectively analyze the data-flow behavior of native code. On the one hand, existing native dynamic analysis tools are primarily based on test input generation tools to analyze Android apps and are therefore unable to locate native code quickly. On the other hand, existing native static analysis tools are based on symbolic execution to analyze native code and are therefore limited by the path and state explosion issues. In order to effectively analyze the behavior of sensitive data in the native code, we first propose <i>JNFuzz</i>, a fuzzing module for Android native libraries based on Client/Server architecture. Then, we propose <i>JNFuzz-Droid</i>, a lightweight automated fuzzing and taint analysis framework for Android native code, based on this. <i>JNFuzz-Droid</i> first locates the Android native code to which sensitive data is passed and then uses <i>JNFuzz</i> to fuzz the native code to improve code coverage while analyzing the data flow in native code with a dynamic binary tool. Experimental results on benchmarks and real-world apps show that <i>JNFuzz-Droid</i> can effectively detect the leakage or transfer of sensitive data in app native code and outperforms the state-of-the-art native analysis tools.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

JNFuzz-Droid: a lightweight fuzzing and taint analysis framework for native code of Android applications

  • Jianchao Cao,
  • Fan Guo,
  • Yanwen Qu

摘要

The need to account for native code in Android apps is becoming urgent as the usage of native code is growing in both benign and malicious apps. However, most current state-of-the-art analysis tools cannot effectively analyze the data-flow behavior of native code. On the one hand, existing native dynamic analysis tools are primarily based on test input generation tools to analyze Android apps and are therefore unable to locate native code quickly. On the other hand, existing native static analysis tools are based on symbolic execution to analyze native code and are therefore limited by the path and state explosion issues. In order to effectively analyze the behavior of sensitive data in the native code, we first propose JNFuzz, a fuzzing module for Android native libraries based on Client/Server architecture. Then, we propose JNFuzz-Droid, a lightweight automated fuzzing and taint analysis framework for Android native code, based on this. JNFuzz-Droid first locates the Android native code to which sensitive data is passed and then uses JNFuzz to fuzz the native code to improve code coverage while analyzing the data flow in native code with a dynamic binary tool. Experimental results on benchmarks and real-world apps show that JNFuzz-Droid can effectively detect the leakage or transfer of sensitive data in app native code and outperforms the state-of-the-art native analysis tools.