Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

Going Native: Using a Large-Scale Analysis of Android Apps to Create a Practical Native-Code Sandboxing Policy

论文下载

摘要

当前的静态分析工具更多关注的是java层的分析,而忽略了对于native上的分析。少部分针对native的保护工具更多的是一味的关心如何减少native的权限,而没有现实app的佐证。所以作者首先静态分析了1,208,476个app,找到其中使用native的app(446,562)。然后通过动态分析的方式分析这些native code的行为,然后总结出一个针对native的保护策略。

分析流程

  • 利用Androguard作为基本的工具,从1,208,476个APP中挑选使用native code的app。
  • 作者自己做了个安卓模拟器,用来监控app中native code的行为。并且利用Monkey、恶意的intent的方式模拟app的输入。
  • 根据动态分析的native的action,列一个白名单,当有99%的app有相似的行为就认为是正常行为。

实验

Fig

Fig

  • 利用上述策略,阻止了1,414 apps (0.12%)
  • 测试了13 root exploits,有10个被成功阻拦

Fig

动态分析的代码覆盖率

  • 随机挑选了25,000,Java的覆盖率8.31%

Fig