论文部分内容阅读
Android系统,由于其自由开放、可随意定制的特性,越来越受到手机厂商和用户的青睐。Android系统的日益流行带来了种类繁杂、功能多样的应用,其中也混杂了大量的恶意应用,给用户的数据安全、隐私安全、财产安全带了很大的隐患。Android系统如此高的市场占有率以及Android平台下如此高的恶意软件攻击率,使得对Android平台应用安全性检测的研究变得更加迫切、更加必要。因此,研究如何高效、快速地检测Android平台应用程序风险性,是一个十分有价值的课题。本文对现有的Android恶意应用检测技术进行了分析,针对其过多地依赖于特征码、对新型恶意应用检测能力弱的特点,提出了一种基于“评估-决策”模型的Android应用风险性检测方法,设计并实现了 Android应用程序风险性检测系统,从证书、权限、组件、API调用角度较为全面地实现了对Android应用程序的风险性检测。论文主要内容及创新点如下:(1)明确了 Android应用风险性的概念,包括直接风险性和间接风险性。直接风险性指该Android应用本身对用户可能造成的危害;间接风险性指该Android应用可能会被其他恶意应用利用从而构成串谋攻击所带来的风险性。本文设计的系统较为全面地实现了对上述两种风险性的检测。(2)提出了基于“评估-决策”模型的Android应用程序风险性检测方法,将Android应用程序的风险性检测问题转变成多个检测模块的“风险评估”以及综合评估模块的“综合决策”问题。(3)基于逆向分析技术设计并实现了 Android应用程序风险性检测系统。系统主要包括证书分析模块、权限分析模块、组件分析模块、API调用分析模块和综合评估模块,可以较为全面地对Android应用程序的风险性进行检测。(4)对系统的各个组成模块进行了详细设计与实现。其中权限检测模块考虑到了应用功能类别对权限检测的影响,在检测之前先对应用按功能分类,降低了误报。使用Apriori算法提取应用功能类别对应的代表权限特征作为分类的标准,相比于以往的基于频率统计的方法效果更好;综合评估模块使用层次分析法确定证书模块、权限模块、组件模块、API调用模块检测结果在最中决策结果中的所占比重,相比于人工确定权重的方法更为准确。(5)对系统进行了功能测试和性能测试,验证了系统的有效性。本文通过对Android应用程序风险检测技术的研究,实现了基于逆向分析技术和“评估-决策”模型的Android应用程序风险性检测系统,系统在实际环境中运行良好,进一步验证了系统的可行性与实用性。