论文部分内容阅读
随着基于Android系统的移动设备受到越来越多人的青睐,聊天通讯、影音图像、阅读学习等各类应用程序数量激增,用户对移动设备的依赖逐渐加深,存储在移动设备的机密信息也越来越多。为了分析用户的需求或达到自己的目的,有些应用程序在用户无意识的情况下访问用户数据或系统资源。为了保护用户的数据安全,近年来对Android安全模型的第一道防线——权限机制的研究成为了一项重要的课题。本文详细分析了Android系统权限变更、Android安全机制、应用权限漏洞和基于权限的应用安全性。本文针对现在Android应用权限的漏洞设计了两种检测方案,并提出了一种基于权限的综合的Android应用风险评估方法。完成的主要工作如下:(1)设计了一种基于单个应用的权限漏洞检测方案。该方案通过对应用程序进行逆向工程分析,提取出应用程序声明的系统权限、静态分析的权限以及自定义的权限,并通过动态检测获取应用程序执行使用到的权限,从具有恶意倾向的组合权限、“溢权”问题和自定义权限三个方面对应用潜在的权限漏洞进行检测,并提出了一种采用层次分析法计算上述三个方面的权重定量评估Android应用风险的方法。(2)设计了一种基于权限和组件的多个应用程序权限提升检测方案。该方案通过对应用程序进行反编译分析,提取出应用程序声明的权限、组件和应用程序编程接口调用信息,采用深度遍历算法构建应用程序的组件函数调用图,以检测应用程序权限提升路径,可用于检测多个应用程序存在权限提升的可能性。(3)提出了一个基于权限的综合的Android应用风险评估方法。该方法通过使用Python和Monkey自动化测试技术对应用程序进行自动化风险评估,构建了具有恶意倾向的组合权限数据集、应用程序自定义权限数据集和应用程序组件数据集等数据集。该方法从应用存在的权限漏洞和参与到多个应用程序权限提升的可能性来量性评估Android应用程序的风险值。实验结果表明,与Androguard相比,所提方法能更精确地评估应用软件的风险值。