一种实时高效的Android应用审计方法——AppAudit

Effective Real-time Android Application Auditing, 2015 IEEE Symposium on Security and Privacy, 2015年5月 [1]


1.1. 背景与贡献


        移动应用程序现在变得更复杂,有许多第三方库和成千上万的功能,并且可以访问个人敏感数据和网络,这也导致了个人隐私数据泄露的不断增多。当前应用审计方法主要是静态分析。静态分析由于不可扩展的分析结构,可能遇到代码库的可扩展问题。因此,静态分析通常很耗时,尤其是大型应用。同时,静态分析可能产生误报,因为在实际执行时有一些分析代码路径不可能发生。这些缺点限制了应用审计方法的可用性。因此,针对现有Android应用存在用户隐私数据泄露的问题。 

        加拿大麦吉尔大学上海交通大学的研究人员提出了一种基于静态分析和动态分析相结合的应用审计方法——AppAudit。静态分析采用一种粗略的判断方法,保证分析的速度,关于动态分析本文提出了一种基于ApproximatedExecution(近似执行)的动态分析方法,在只执行应用一部分代码的同时,有效猜测未知变量,保证分析路径尽可能完全。AppAudit在实际应用中发现了30个数据泄露漏洞,其中很大一部分是由于第三方广告模块通过非加密HTTP连接传输用户数据导致的,充分说明了该AppAudit对应用商店、应用开发者和终端用户的意义。


1.2. 架构


        为了解决误报和有效分析,AppAudit采用静态分析和动态分析相结合的方法。如图1为AppAudit架构和工作流。静态API使用分析目的在于筛选出可疑函数和缩小分析范围。然后,AppAudit采用动态分析执行每个功能的字节码去确认真实的数据泄露。近似执行是执行可疑函数字节码指令的动态分析以及在执行期间隐私数据可能被泄露的报告。多个可疑的功能可以被并行的检查,这样极大地提高了性能

技术分享

图1 :AppAudit架构和工作流


1.3. 实验


        在以下三个公开数据集(共1400个)的实验结果表明,AppAudit方法的隐私泄露检测率高达99.3%,并实现了0误报。相比现有工作,AppAudit方法的检测速度提高了8.3,并且内存占用减少了90%


技术分享

图2:检测准确性的比较

 


技术分享

图3 检测精确度


技术分享

图4 平均分析时间


技术分享

图5应用程序审计使用情况和需求


 

1.4. 专家观点


        AppAudit审计方法采用了静态分析和动态分析相结合的方式。本文提出了一种基于Approximated Execution(近似执行)的动态分析方法。此方法值得借鉴。

        AppAudit审计方法与以前的方法相比,隐私泄露检测率显著提高误报减少。尤其对于一些大型应用,检测速度有了很大的提升,并且减少了内存占用。移动设备中携带大量的个人信息,该方法的提出能有效的减少和控制隐私泄露问题,起到了保护用户隐私的作用。AppAudit对应用商店、应用开发者和终端用户的意义都相当重大。

        该成果可用于手机应用商店中,以更好地改善手机生态的安全性。


1.5. 参考文献


[1] Effective Real-time Android Application Auditing, 2015 IEEE Symposium on Security and Privacy, May2015.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。