论文部分内容阅读
在移动互联网浪潮的推动下,智能手机正逐渐渗透到衣食住行等人们生活的各个领域。作为承载移动互联网服务和存储用户数据的综合平台,智能手机已经成为连接真实世界和数字空间的纽带,并将进一步改变人与人以及人与世界的联结方式。然而,智能手机在带来巨大变革的同时,也引发了新的安全风险和隐私威胁。目前,人们迫切关心的和亟待解决的问题是手机恶意应用的爆发和持续高速增长。安卓系统作为移动智能终端最流行的操作系统,首当其冲受到恶意应用的危害。如何有效检测安卓恶意应用,将恶意应用从规模庞大的安卓应用商店中清除出去,保护手机用户的信息、设备和财产安全,已经成为移动互联网发展中亟待解决的问题。本文主要研究安卓恶意应用行为分析与检测问题,核心是寻求能够有效刻画安卓应用行为、区分正常和恶意应用的特征与检测方法。收集了来自不同渠道(如官方应用市场、国内多个第三方应用市场、反病毒公司、安全研究团队等)、不同时间的(跨度超过两年的)正常和恶意应用样本,针对这些样本进行研究和分析,提出并评估了基于若干典型安卓应用行为特征(权限、11种静态特征以及分布表示的API特征等)的恶意应用检测方法。并且,针对这些典型特征,本文比较了权限带来的风险大小、分析了 11种特征区分正常和恶意应用的能力以及检测效果的持久性,还研究了基于卷积神经网络的恶意应用家族分类。具体而言,本文的主要工作包括:(1)从安卓系统的核心安全机制出发,系统地分析了安卓系统权限请求所带来的风险,并深入研究了基于风险权限的安卓恶意应用检测方法的有效性和局限性。首先,全面分析了单个权限以及相互协作的权限组合可能引起的安全风险。采用三种特征排序方法,即互信息法、相关系数法和t-检验方法,基于安卓权限的风险对权限进行排序,并利用前向选择方法以及主成分分析法识别风险权限子集。其次,利用支持向量机、决策树以及随机森林等分类算法评估了基于风险权限检测恶意应用的可行性。最后,对检测结果深入分析,深入讨论了基于权限请求的恶意应用检测方法的有效性及局限性。在一个包含310,926个正常应用和4,868个恶意应用的样本集上评估了所提出的基于风险权限的恶意应用检测方法。实验结果显示,基于风险权限的恶意应用检测方法的检测效果能够满足实际需要(误报率为0.6%时检测率达到94.62%)。(2)从安卓应用样本中提取11种静态特征(包括8种已有特征和3种新增特征),在大量实验的基础上系统性地分析了不同特征用于恶意应用检测时的区分能力和持久性,并分析了恶意应用的行为特征趋势。第一,从安卓应用样本中提取了 11种特征从不同角度刻画安卓应用行为,利用四种分类算法通过实验对比分析了 11种特征区分正常应用和恶意应用的能力;第二,根据特征的固有特点,将所有特征分为平台定义特征和应用专有特征两大类。基于两个不同时间段的样本集,通过实验比较了平台定义特征和应用专有特征分类效果的持久性。结果发现,平台定义特征比应用专有特征更能够维持分类器的检测性能,即具有更好的持久性。第三,详细分析了 Logistic回归模型产生的相关特征的特征权重,分析了不同特征对于恶意应用检测的作用和贡献,并从中挖掘出恶意应用行为特征趋势,对于构造安卓恶意应用检测系统具有指导意义。在来自国内6个不同应用市场以及谷歌官方应用市场的217,619个正常应用和18,363个恶意应用的样本集上测试了上述方法,验证了所提出恶意应用检测方.法的有效性:误报率为0.06%时检测率达到96%。(3)提出一种基于API分布表示和卷积神经网络(CNN)的恶意应用家族分类方法,考虑了安卓API特征之间的语义相似性,利用CNN模型学习样本的API短序列特征并实现分类。首先,利用自然语言处理中的词向量嵌入技术,将每个API特征转化为实数向量,即得到API的分布表示。API分布表示向量之间的位置和距离关系体现了 API之间的语义相似性;其次,从反汇编的应用代码中提取每个安卓应用中的API序列,API序列中每个API采用实向量分布表示,而一个安卓应用被表示为API实向量组成的矩阵。最后,训练CNN模型学习适于恶意应用分类的API短序列特征,并同时实现恶意应用家族分类。在包含13个恶意应用家族的13,000个恶意应用的样本集上评估了上述方法:在13个家族的检测中平均检测率超过88%,分类效果优于传统的基于n-gram特征的方法以及主流的杀毒软件。综上所述,本文系统分析了安卓权限风险,提出了基于包括权限在内的多种静态特征的恶意应用检测方法,并提出了考虑API之间语义相关性且能够同时完成特征学习和分类的恶意应用家族分类方法。这些方法均在样本数量可观的真实样本集上得到了验证,对于遏制安卓平台恶意应用的增长,保护用户的安全和隐私具有重要的实际意义。