基于机器学习的校园网络入侵检测方法研究
2022-02-07孙皓月祝焦焦
张 弛 吕 国 孙皓月 祝焦焦
(河北建筑工程学院,河北 张家口 075000)
0 引 言
随着各种攻击技术以及手段也的复杂升级,网络的安全也就成为了十分重要的问题.校园网络涉及到的系统较多、校园网络使用范围广、接入的环境复杂,使校园网络存在很大的风险,因此我们必须要重视校园网络这个问题.入侵检测可以检测是否正在遭受攻击以及攻击是否已经进入内部网络,当检测到攻击行为时进行提示,并且可以通知防火墙及时的调整自己的防御策略.可以尝试将其他技术与入侵检测进行结合,使对入侵数据的检测更加准确.
1 机器学习模型lightGBM
微软新推出的lightGBM对其他的机器学习存在的问题进行了很多处的优化,在节点分裂环节中lightGBM与之前的算法相比有很大的优势,先采用lightGBM中很重要的单边梯度采样算法GOSS来减少样本的数量,减少小梯度的样本再去计算,通过采用GOSS算法可以减少训练时的样本数,不会对原有的数据集做大的改动,还可以使算法更加关注训练差的数据,并且可以计算出信息增益大的节点.
lightGBM是基于直方图Histogram的决策树,主要就是将大量的浮点型数据按组分类,将分类后的数据用直方图进行统计,如图1直方图算法所示,这样不需要对每个数据的具体值进行重点关注,只需要关注每一组的数据,这样降低了对于所占用内存的消耗,大约只有之前的八分之一,如图2内存优化所示,这样也减少了计算的次数.
图1 直方图算法 图2 内存优化
不仅如此,lightGBM还对直方图算法进行了进一步的优化,之前的按层生长算法,分裂方式由图3转变为图4的按叶子分裂,可以在相同次数下降低误差,但是这样的分裂也是存在缺点的,由于决策树层数越来越深,这样就会比较容易导致过拟合,但是可以通过对决策树加上一个深度的限制来避免这个缺点.
图3 按层分裂 图4 按叶子分裂
另外lightGBM特殊的差加速的构造方法,可以更快速的获取兄弟节点的直方图.由于一个特征占用一个直方图的位置,并且高维的数据一般都是比较稀疏的,因此互斥特征绑定算法EFB可以降低特征的维度,使各特征对应的直方图进行合并得到新的特征直方图,这样可以通过接受较小的冲突来升高计算的效率,最后通过特征合并算法将特征捆绑到一起.
2 实验数据集NSL-KDD
NSL-KDD数据集是研究入侵检测时比较常用的数据集,它是在KDD99的基础上解决了KDD99存在的一些问题,比如大量冗余数据、数据过于复杂,它都进行了相应的改进.
数据集中的数据有多种类型的攻击,可以分为五个大类,各类详情如表1所示,五大类分别是Normal(正常流量)、DoS(拒绝服务攻击)、R2L(远程入侵攻击)、Probe(探测攻击)、U2R(获取权限攻击).
表1 分类详情
数据集中包含连接时间长度、使用的协议、目标的连接状态等特征,由于数据集中特征较多,所以这里只显示数据集中前十个特征的详细信息,如下表2所示.
表2 特征详情
该数据集共有四个子数据集:KDDTest+、KDDTest-21、KDDTrain+、KDDTrain+_20Percent.训练用到的KDDTrain+数据集,总计125973行43列,测试用到的KDDTest+数据集,总共22544行43列.各个分类的分布如表3所示.
表3 各类分布
3 数据预处理
通过图5的柱形图直观的看出该数据集的分布十分不平衡,正常样本数量明显高于异常样本.Noraml类别的样本不论是在训练集还是在测试集中都明显的高于其他样本,在训练集差别尤为明显;U2R的样本在图中仅是隐约可见;R2L和Probe两个样本在测试集上相差不大,但是在训练集中却拉开了很大的距离.该数据集不论是在子训练集内部中各个类别的比重还是在两个训练集之间的比重都极度不平衡,这样会影响最终的准确率,因此可以先将数据进行预处理后再进行使用.
图5 不平衡数据
本实验采用重采样方式进行数据预处理,对数据进行重新采样让不同类别的样本量趋向平衡,包含升采样和降采样,但是对于该数据集来说,降采样后的数据会变得更加随机且不可控,所以使用升采样的方式,本文采用ADASYN算法对其进行重采样.
4 实验过程
LightGBM的参数一部分采用默认即可,另一部分需要进行调整优化,参数过小或过大都有可能导致过拟合或欠拟合,所以选择最优的参数才可以最大限度的提高准确率,表4介绍了本次实验的参数配置.
表4 参数配置
最初采用了不平衡的数据进行训练,由于训练时集中处理了数据多的问题而忽略了是少数类的数据,导致训练的模型在进行测试时无法进行准确识别,最后得到的结果并不理想.对数据进行重采样后得到相对平衡的数据,再次将训练集放到模型中进行训练.
5 结果分析
对于模型的结果需要通过一些评价指标来进行判断,其中TP表示将正样本判断为正的样本数,FP是将负样本判断为正的样本数,FN表示将正样本判断为负的样本数,TN表示将负样本判断为负的样本,如表5所示.
表5 正负类
准确率(Accuracy)是衡量分类准确度的指标,用来表示模型的测试结果中有多少样本的预测是正确的;
(1)
精确率(Precision)表示的预测的结果中为正的准确的概率,是针对预测结果而言的;
(2)
召回率(Recall)表示正样本中有多少样本被预测正确了,是针对于原样本而言的;
(3)
F值是用来综合考虑Precision和Recall的指标,当Precision和Recall之前出现矛盾时,比如说一项较大一项较小,此时就需要通过F值来去衡量.
(4)
采用重采样后的训练过程的错误率如下图6所示,从图中明显看出训练集的训练结果在前期波动较大,再经过了多轮后曲线相对稳定;测试集的结果较为平滑,并且相对比来说误差远低于训练集的误差,这说明经过训练集训练之后的模型在测试集上得到了很好的效果.
图6 误差曲线
前10个重要特征如图7所示,可以从图中看出Src Bytes特征最重要,它是在单个连接中从源传输到目的的数据字节数,其重要指数高达4448,远高于其他特征;其次重要的为Dst Bytes特征,它是在单个连接中从目标传输到源的数据字节数,重要指标为2407;第三个是Dst Host Diff Srv Rate特征,它是连接到不同服务的连接的百分比,其重要指数为1717.
图7 特征重要性
最终得到的混淆矩阵如图8所示,从图中可以看出,模型对于DoS的预测最为准确,高达0.97;其次对于Normal即正常数据的预测也较为准确.DoS的预测虽然相对准确,但是也比较容易将它分类为其他类别.
图8 混淆矩阵
实验的最终结果如表6所示,从表中可以看出最终的精确度还是非常可观的,分别可以达到0.963、0.926;召回率最高可以达到0.968;F值除了样本数量最少的两类其他几类对相对稳定并且能达到0.8以上.
表6 训练结果
6 结 论
将lightGBM框架应用在校园网络入侵检测中可以将入侵检测到的网络数据包提取后放入训练的模型中进行自主判断,再根据模型返回的结果做出相应的响应,比传统单一的入侵检测效率更高、内存使用率更低.还有一些小问题未在文中进行详细的讨论,比如对于数据量来说,lightGBM在大数据量上的检测速度要比XGBoost要慢,这也是后期lightGBM需要进行优化的地方.虽然现在机器学习技术已经相对成熟了,但是很多算法还是存在一些问题或者是不足,这些是我们还需要去努力的方向,让机器学习技术更好的应用在生活的各个领域、各个方面.