梦想成果
Android移动应用的安全性已经成为威胁产业发展的严峻问题。每天,软件商店和移动安全厂商都能收到上百甚至上千个可疑的恶意应用样本。如何对这些恶意应用进行快速、准确的分析和安全测试,确定其是否存在威胁以及威胁的严重程度,是移动安全专家的核心工作之一。安全专家对恶意软件进行细致的人工分析是一个有效的手段,但是效率较低。使用自动化的静态或动态分析工具来系统的对应用的潜在恶意行为进行分析,生成恶意应用的行为的报告可以帮助安全专家快速了解恶意应用的行为,提高安全分析的效率。本项目研究的二进制静态符号执行分析技术能够作为权限泄漏自动检测、基于触发事件的恶意行为分析、系统化的安全测试的技术基础。
项目综述
本课题研究基于符号执行(Symbolic Execution)的Android恶意应用权限泄漏的自动检测。技术的目标是寻找从一个应用程序公有入口到需要敏感权限的API调用的代码的所有可行的执行路径(feasible path)。如果存在这样的路径,并且路径上和接口调用时没有权限检查的保护,那么应用即存在权限泄漏。
我们首先从程序的二进制字节码构建程序的全局控制流图。然后扫描程序的二进制字节码,找到和敏感权限相关API的调用语句,并在全局控制流图上进行标记。然后,以全局控制流图上标记的敏感权限API调用语句为起点,在程序的全局控制流图上进行逆向的符号执行,直到程序的入口点结束。这样,我们有针对性的找到从程序入口点到每个敏感API调用的所有可能路径及其对应用约束条件。最后,我们调用通用约束求解器,对约束条件进行求解。如果路径对应的约束条件无解或者路径上存在对相关权限的检测,则对应的路径安全。否则,我们就找到了能够从程序的公有接口泄漏权限的路径及其对应的输入条件。
在项目的资助下,项目组发表专利1篇,期刊论文2篇,目前正在和腾讯安全团队对接项目所研发的原型系统。
我的感言
将研究工作转化为实用的成果确实有很多挑战,感谢腾讯犀牛鸟基金给我这次宝贵的机会,能够将自己的研究结合真实的需求!