论文部分内容阅读
Windows恶意软件检测技术的发展和恶意软件的演变有着相辅相成、密不可分的关系。恶意软件带来的网络安全隐患,小到个人信息被泄露利用,大到企业数据被窃取勒索,甚至国家重要机密受到威胁。传统的基于固定特征码的恶意软件检测技术不足以有效地检测出恶意软件及其变种。目前基于静态分析的恶意软件检测方法偏向于将其转化成图像来处理,不能够有效地提取二进制文件中的原始特征。基于动态分析的恶意软件检测方法大部分是对软件进行二分类,而很少对恶意的软件类型进行细分。本文基于机器学习和深度学习模型,从静态分析和动态分析两个角度对恶意软件的检测进行深入的探讨与研究。从软件静态分析角度出发,本文选取了多个传统机器学习模型,特别是树模型,对软件的静态特征进行训练,并与基线模型进行了模型对比工作,基线模型的性能表现仍然最优。通过网格搜索交叉验证方法对基线模型进行超参数优化,经公开的EMBER数据集验证,优化后模型的ROC AUC提升了 4个万分点,准确率提高了 0.92个百分点,F1值提高了 1.05个百分点。从软件动态分析角度出发,本文提出了一种基于深度学习的恶意软件检测方法。该模型利用软件在动态分析过程中生成的行为日志中记录的API调用序列及其他相关信息,将文本序列向量化,然后考虑了序列元素之间的重要性,并用时间序列模型挖掘不同标签的序列之间的特性,从而对数据进行分类,最后预测对应的样本所属的软件类别。经阿里云的安全恶意软件检测数据集验证,本文提出的模型比现有的混合模型有更好的效果,在准确率达到了 88.69%,取得了 5.41%的效果提升。本文首先介绍了选题的背景和意义,分析了现阶段常用的恶意软件检测方法以及用于该领域的机器学习和深度学习模型。对现有的几种基于静态分析的恶意软件检测方法进行了比较,并对最优的模型进行了优化。提出了一种基于动态分析的恶意软件检测方法。针对不同方法分别设计了实验,实验结果验证了本文提出的算法的有效性和可行性。本文还设计并实现了一个动静态分析结合的恶意软件检测系统,将基于传统机器学习算法的恶意软件检测模型和基于深度学习算法的恶意软件检测模型整合到同一系统中。最后结束语总结了全文工作和主要创新点,对下一步工作进行了展望。