论文部分内容阅读
近年来计算机技术不断发展,计算机软件和硬件水平也不断提高,越来越多的恶意软件涌现了出来。针对Windows主机的的入侵也越来越多,传统的网络安全措施难以适应Windows环境安全检测需求。为了解决Windows环境下的网络安全问题,研究者们提出了基于机器学习的Windows入侵检测技术。在机器学习算法中,随机森林、K-Means、SVM等算法被广泛应用于入侵检测,但是这些算法复杂度高,模型泛化能力弱,数据量较大时检测时间较长。使用集成学习Boosting的算法有LightGBM,使用集成学习Bagging思想的算法有随机森林,Bagging思想是非常简单的,就是每一个子数据集生成一个弱学习器,然后通过投票的方式决出一个强学习器,对于简单的数据集来说,随机森林简单且高效。LightGBM是基于直方图算法的决策树算法,能够将大量相对连续的数值进行离散化。本文通过对入侵检测以及集成算法的研究,最终选LightGBM算法作为入侵检测系统的算法,并对入侵检测结果使用准确率、精确率、召回率、F-1度量进行了评估。论文主要工作内容如下:(1)针对数据集的处理,本论文充分利用收集到的多个关于Windows API调用的公开数据集,针对这些数据集的不同,本文将这些数据集进行了合并,形成了两套数据集。通过对比这两套数据集,选用一套效果好的数据集加入到本文的入侵检测系统中。整理完数据集本文先对数据进行预处理,充分挖掘数据信息,找到296个重要的API调用,并考虑到不同恶意软件之间的差异,将数据集分为9部分,代表不同的九种恶意软件。(2)本论文设计了 Windows环境下的使用LightGBM入侵检测系统,利用Python的Sklearn库对数据集进行训练,通过调整LightGBM中学习率、树的最大深度、特征选取比例和每次迭代的数据比例参数确定了理想参数范围,并在测试集上取得了很高的分类准确率。(3)作为横向对比,采用相同数据集,在LightGBM检测基础上,分别使用回归树、决策树、随机森林、GBDT、XGBoost和LightGBM算法进行了异常检测。在训练时间以及准确率等方面,将结果与LightGBM算法进行对比,对模型进行评估及优化。LightGBM的准确率、精确率、F-1值和AUC值都高于其他机器学习模型,都在97%以上。