基于机器学习的Android应用组件暴露漏洞分析
2019-10-21邵帅王眉林陈冬青王婷姜鑫
北京理工大学学报 2019年9期
邵帅, 王眉林, 陈冬青, 王婷, 姜鑫
(1. 中国信息安全测评中心,北京 100085; 2. 北京邮电大学 计算机学院,北京 100876)
随着移动互联网的发展,Android应用数目快速增长,Android应用软件的漏洞问题日益突出,其数量越来越多,造成的危害也越来越大. 根据通付盾发布的《2017年度移动安全报告》,2017年移动应用安全漏洞数量规模累计超过2.8 亿,由于高危漏洞导致经济损失达到数千亿美元[1].
Android应用程序由应用组件构成,组件是Android系统中较为独特的程序块,组件相关的漏洞一直是Android漏洞分析的研究热点. 一般来说,组件暴露漏洞包括组件权限提升漏洞和组件敏感信息泄露漏洞. 数据流分析(污点传播、可达路径分析)是目前普遍采用的组件暴露漏洞分析方法. Chex[2]可以通过在组件对外开放的接口和内部敏感数据泄露点之间进行污点传播分析来挖掘组件敏感信息泄露漏洞,该工具能够检测应用的所有入口点,然后对应用全局进行数据流分析,分析每一个入口点的执行过程,检测是否存在从开放接口到敏感数据之间的路径. Amandroid[3]是Android组件间数据流分析框架,在数据流分析的过程中对所有对象的指向关系,以及intent的目标和所携带的数据流都进行了分析. IccTA[4]则通过静态污点分析实现了Android应用程序中组件间隐私泄漏的检测. Woodpecker[5]能够检测应用中存在的显式和隐式功能泄露,该工具对APP进行可达路径分析,如果能够提取出从程序进入点到敏感API的可达路径,则认为存在显式的功能泄露,而隐式……
登录APP查看全文
