论文部分内容阅读
自从2008年Google发布了Android操作系统以来,Android移动设备的数量呈现出了惊人的增长趋势,并且一度超过了iOS与Windows Phone的市场份额,成为世界上使用人数最多的移动终端操作系统。Android的巨大成功来自于它可供人们选择的丰富的应用程序,用户可以从官方应用市场或任何一个第三方应用市场中获取并安装自己喜欢的应用程序。Android应用程序发布的低门槛在吸引众多开发者的同时也逐渐吸引了恶意软件的制作者,他们为了获取非法利益、窃取个人隐私等目的制作并通过应用市场来传播恶意软件,这给终端用户的隐私安全带来了严重的威胁。面对日益严峻的恶意软件威胁,我们需要一种行之有效的检测方法来应对大规模、快速恶意软件检测。在本论文中,我们重点研究了基于深度学习的Android恶意软件检测技术,主要包括以下三点:(1)提出一种基于卷积神经网络的Android恶意软件检测方法:DeepClassify Droid,此方法对Android应用进行了深入的静态分析,提取多种静态特征并构造统一的特征向量应用于恶意软件检测任务,同时设计的卷积神经网络结构与传统的基于机器学习的检测方法相比,具有良好的检测性能与运行时性能并且具有更低的漏报率。实验表明,DeepClassifyDroid优于大多数现有的基于机器学习的检测方法,对恶意软件的检测率达到97.4%,漏报率仅为1.7%。此外,我们的方法在分析速度上也明显快于基于Linear-SVM和kNN的方法。(2)提出一种基于生成对抗网络的Android对抗样本生成方法:DroidGAN,此方法生成的恶意样本可以绕过检测系统的检测,并能够实际运行而不影响其原始恶意功能。针对对抗样本的生成,引入了最小修改成本、虚拟善意样本、最佳对抗样本等概念,并提出ASG算法用于生成样本的修改策略。实验表明,DroidGAN所产生对抗样本的攻击成功率比传统的随机方式更高,本方法构造的恶意样本可以作为恶意代码检测引擎的训练样本,以提高系统的主动防御能力。(3)设计并实现一个Android恶意软件主动防御系统。DroidDefender作为系统的核心是一个轻量化的插件,它可以部署在其他基于机器学习或深度学习的检测系统中来提升系统的鲁棒性。实验表明,整个系统在识别对抗样本的能力上得到了大幅度的提升,经过训练后的系统,其防御对抗样本的能力由原来的50%提升至98.5%,并且优于对抗性重训练方法。