论文部分内容阅读
随着智能手机和安卓系统的普及,越来越多的针对安卓系统的恶意应用软件不断出现在各大应用商店,由于这些恶意应用会造成用户隐私泄漏以及财产损失,它们受到了研究者、民众以及攻击者越来越多的关注。然而,现在大多基于机器学习的静态和动态恶意软件检测方法都是直接从API水平提取统计特征来进行分类,无法获得足够的有效行为信息来检测隐藏的恶意行为。同时,随着恶意应用不断的变化和改进,基于旧样本训练出来的模型不能适应恶意应用的这种快速变化,随着时间的推移性能不断衰退,难以有效地检测新出现的恶意应用。针对以上问题,本文提出了一种基于事件感知的,具有强适应性的、可对抗模型衰退的安卓恶意应用检测系统。首先,它能够综合利用安卓应用中不同事件所包含的行为模式来有效地检测新的恶意应用。其次,本文使用自然语言处理和聚类算法识别API功能来捕获变化的API,以此来对抗机器学习模型衰退。最后,本文还设计了一个浅层神经网络来提取特征以及分类。本文提出使用事件群来描述应用在事件层面的行为模式,这种方式能够比API层面提取更加高层的行为信息,以此来检测那些具有隐藏行为的恶意应用。事件群是由不同事件的行为特征组成,在事件群中,本文进一步使用了功能集群来表示每个事件的行为特征。功能集群通过自然语言处理工具,基于事件中的API组成的语义信息,将事件API泛化为对应事件的特征向量,这样系统可以在恶意应用更新时仍然能捕捉到它的恶意行为。为了能够从事件群中提取足够有效的特征,本文特别设计了一种神经网络来联合不同事件的特征并自动挖掘事件之间的关系,综合地评估一个应用是否为恶意应用。通过事件群和功能集群,本文系统能够适应恶意应用的进化,在模型训练完成很长一段时间内,还能够保持模型较高的检测准确度。为了验证本文检测系统的有效性,本文在包含了14,956个正常应用以及28,848个恶意应用的数据集上进行测试,实验结果表明本文系统能够抵御恶意应用进化带来的模型衰退,并比现有相关的工作更好。