论文部分内容阅读
近几年中,随着科技的飞速发展,以搭载Android操作系统为主的移动智能终端已经成为每个人生活中必不可少的组成部分。越来越多的个人因此被保存在智能终端中,这些数据一但发生泄漏,将会对用户的隐私安全和财产安全产生极大威胁。随着恶意应用的泛滥,各大安全厂商也将Android安全防护作为重点研究内容,并取得了一定的成效。但是,在灰色产业链巨大利益的诱惑之下,恶意代码的自我保护技术和抗检测、抗分析技术也在飞速发展,这为Android安全的研究带来了极大阻力。因此,研究对Android恶意应用进行识别的检测算法显得尤为重要,一种有效的检测Android恶意应用的机制能够为用户的隐私和财产安全带来有效的保障。本文通过对当前国内外Android恶意代码检测技术的分析和研究,在动态检测和静态检测的基础上提出了一种基于集成学习的Android恶意代码检测机制,本文主要内容叙述如下:1)对Android系统架构、APK结构以及应用运行机制进行研究;针对当前Android恶意应用识别方法进行了分析和整理;分别对比了当前Android恶意应用静态检测方案和动态检测方案;2)通过对传统的静态Android恶意代码检测算法进行分析和研究,提出了一种基于树突状细胞算法(DCA)的Android恶意代码检测算法。该算法以Android的应用安装包文件内Dalvik汇编代码以及危险API调用作为特征,实现了Android恶意代码静态特征检测;3)通过对传统的动态Android恶意代码检测算法的研究,提出了一种基于系统服务调用共生矩阵的Android恶意代码动态检测算法。该算法可以避开静态检测所遇到的多态变形、代码混淆等难题,通过检测系统运行时的系统服务调用序列,实现对恶意Android应用的动态检测;4)依据以上理论成果,提出了一种基于集成学习的Android恶意代码检测系统。该系统实现了动态检测方法与静态检测方法的优势互补,并通过基于旋转森林的集成学习算法提高了系统的稳定性和检测效率。此外,在进行算法理论研究的基础上,搭建了实验仿真环境对从Andro Mal Share获取的750例恶意Android应用以及从Google Play获取的1250例正常应用进行了测试,并在集成规模为L20的情况下获得了99.3%的检测率。