论文部分内容阅读
恶意软件是在计算机系统上执行恶意任务的程序。随着互联网技术的发展,恶意软件攻击的频率呈指数级增长,恶意攻击已成为威胁互联网安全的关键所在。恶意软件的检测方法对于防范安全漏洞、数据盗窃和其他危险至关重要,因此,恶意软件检测已经成为一个重要的研究领域。传统的检测方法容易受到混淆和变形技术的干扰,这些干扰降低了恶意软件检测的正确率和效率。随着机器学习和深度学习技术的兴起,部分研究人员已经将这两种技术应用到恶意软件检测的领域中,并取得了显著效果,但是现有的恶意软件研究中,并没有考虑恶意软件数据集的属性重要度问题,导致检测效率低,无法凸显有效信息,另一方面数据集的不平衡性会影响恶意软件检测的正确率。针对这些问题,本文提出一种基于Stacking算法的恶意软件检测方法。主要内容包括以下三个方面:(1)针对恶意软件属性维度高、筛选重要属性困难,导致检测正确率和效率低的问题,本文利用天牛须搜索算法能够寻找最优值的特性以及属性重要度公式,对PCA降维算法进行优化,从而去除重要度较小的属性,降低维度的同时得到重要属性。该方法在保证原有数据分布和重要信息的情况下,有效地简化数据,凸显重要信息,降低检测方法的时间和空间复杂度。(2)针对数据集的不平衡性和属性重要度会影响恶意软件检测方法正确率的问题,本文对随机森林算法进行改进,提出一种基于模糊决策的随机森林优化算法,将其作为Stacking算法的基分类器之一,解决数据的不平衡问题,提高检测正确率。(3)将优化后的随机森林算法、梯度提升树算法以及逻辑回归算法融合成最后的Stacking算法,将预处理后的数据集以交叉验证的方式作为恶意软件样本,利用Stacking算法进行恶意软件检测,并对本文提出的检测方法以及优化算法进行对比实验分析,采用正确率、精确率、召回率以及AUC值等客观评价指标进行多维验证。实验结果显示,与当前流行的恶意软件检测方法相比,本文的方法有效地提升了检测的正确率和效率。