背景
- 出处: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。
实验
简单说明了下安全策略的影响和一些发现。
总结
优点
大量数据分析
不足
方法较为单薄,本质还是数据分析
我的想法
。。。