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

背景

  • 出处:NDSS ’16, 21-24 February 2016, San Diego, CA, USA
  • 作者:Vitor Afonso�, Antonio Bianchiy, Yanick Fratantonioy, Adam Doup´ez, Mario Polinox, Paulo de Geus, Christopher Kruegely, and Giovanni Vignay

概述

论文主要观点

对大量app的native code进行了统计分析,提出了一种新型的可以自动生成策略的native code沙箱。

成果

  • 开发了一个可以用来监控本地代码部分执行的工具,并且使用这个工具做了大批量的分析;
  • 对收集来的数据进行了系统性分析,发现良性应用是如何使用native code的,并放出了全部数据;
  • 结果显示完全去除native code的权限是不理想的,利用动态分析系统可自动生成native 沙箱策略,以限制恶意应用的行为。

方法模型

分析基础

只取有使用native code迹象的app来分析;
分析工具记录native code的全部事件和操作,工具以Androguard tool为基础修改了一些模块;
为了区别java和native code的行为,观察从java到native和native到java的切换;
同时监控数据交换。

数据分析

使用Google Monkey用一些随机事件(或连续)去刺激app的全部组件。
分析了native code的行为,java与native code直接的交互,super user权限的使用,JNI调用统计,Binder调用,外部lib的使用。

安全策略生成

所谓安全策略就是正常的行为,其实就是个白名单;
安全策略生成关键是给一个参数(迭代次数)。选择一个大多数app都有的系统调用,迭代这个过程,直到生成一个系统调用的list可以使百分之所给阈值的应用都能正常执行native code。

实验

简单说明了下安全策略的影响和一些发现。

总结

优点

大量数据分析

不足

方法较为单薄,本质还是数据分析

我的想法

。。。

你可能感兴趣的:(Going Native: Using a Large-Scale Analysis of Android Apps to Create a Practical Native-Code Sandboxing Policy)