基于集成学习的业务网络时延模拟

来源:期刊VIP网所属分类:计算机信息管理发布时间:2021-11-12浏览:

  摘 要:针对蜜网系统易被攻击者通过时延特征进行识别的问题,提出一种基于集成学习的业务网络时延模拟算法。该方法首先采集业务服务所在局域网内的网络流量和时延信息,经数据预处理后,得到数据集。其次,基于Stacking集成学习方法,以随机森林为元学习器,将Boosting簇三种模型作为初级学习器进行预测,预测结果经融合后作为时延预测的基准值。接着,以分段回归树为模型预测时延抖动特征。最后,将时延基准和抖动特征叠加,得到符合局域网时延抖动特性的综合时延模型,基于该模型实现蜜网系统时延模拟,从而降低被攻击者识别概率。最终实验结果表明,与GBDT、XGBoost和CatBoost算法相比,本文方法预测结果在MSE(Mean Square Error,均方误差)和MAPE(Mean Absolute Percentage Error,平均绝对百分比误差)上分别提升了35.5%和21.3%,在细节方面有较强表达能力。

  关键词:集成学习;网络时延;Boosting;Stacking;蜜网

  1 引言(Introduction)

  隨着互联网技术的普及,网络为人们带来便利的同时,也带来了未知的威胁。传统安全防御技术判断手段单一,处理能力有限,不能实时有效地保护真实主机。为了改变攻防双方在网络对抗中不平等的状态,安全人员引入了蜜网技术[1]。蜜网由多个蜜罐组合而成,是一种通过诱饵资源构建真实网络环境,诱骗攻击者攻击虚假资源从而保护业务系统安全的网络主动防御技术,其首要问题是如何保护蜜网不被攻击者轻易识别。

  传统网络中数据传输时延受通信协议、路由算法等因素影响,呈现随机变化的非线性特征。而在蜜网系统中,过长、过短或者一直稳定的网络时延,都有可能引起攻击者的警觉。本文假设蜜网部署于局域网内用于保护真实业务主机,为模拟真实主机的时延特性,提出了一种基于集成学习[2-3]的业务网络时延模拟模型。该模型融合Boosting簇三种算法进行时延基准的预测,同时根据分段回归树模型进行抖动特征预测,最后通过两者叠加来模拟符合局域网的综合时延。实验结果表明,该模型与其他模型相比有较好的预测效果。

  2 数据获取与预处理(Data acquisition and preprocessing)

  2.1 源数据获取

  本文数据集来源于某实验室真实局域网网关中的流量。该数据集时间跨度为三天,以分钟为时间颗粒度,每分钟的流量数据利用软件以pcap包的方式保存,以便后续进行分析。采用shell脚本获取网络时延数据,结果如图1所示。从图1中看出,网络时延随时间变化,在一定基准范围内抖动。在日常工作时间点上,实验室使用网络频繁,引起时延抖动幅度变化较大。

  2.2 数据预处理

  分析原始数据包发现,由于协议多且复杂,部分协议出现数次之后再也未出现,当数据集将这些协议作为特征记录时,导致所采集到的数据存在大量无效值。因此为了提高数据质量用于建模分析,需要对数据进行预处理。本文数据预处理包括数据清洗、数据转换和数据增强三部分,具体步骤如图2所示。

  2.3 特征选择

  数据预处理后,在剩余数据中,部分字段包含在另外一个字段下,例如“DNS Response”和“DNS Query”都属于“DNS”属性,数据集分类不清晰,故需要进行特征提取。

  特征提取的目的是从所有流量数据中提取更多隐藏在数据中的特征,以达到更好的训练效果。过多的特征会引起模型出现过拟合现象,适当地选择特征,不仅能减少学习模型的训练时间,还能降低学习任务的复杂度,优化学习模型的泛化能力[4]。本文数据集主要以HTTP、HTTPS、SSDP、DNS等应用层协议作为特征选择。

  3 基于Stacking的时延预测算法(Stacking-based delay prediction algorithm)

  3.1 移动窗口平均时延基准和时延抖动

  移动窗口平均法适用于分析时间序列,其计算方式是按照时间序列逐项推移,计算出窗口内数值的平均值,用于消除预测中的随机波动。由图1可知,时延基准数值围绕一定数值上下波动,在不同时间段内抖动的幅度是不同的。为求得时延在时间序列上的基准值,本文将9:00至22:30划分为工作时间,其余时间为休息时间。工作时间内时延波动幅度较大,将窗口设置为3;休息时间抖动幅度较小,将窗口设定为5,求得平均时延特征后作为时延基准值。抖动特征则根据时间段划分为两部分,分别用于工作时间和休息时间的抖动预测。

  3.2 算法描述

  (1)時延基准预测。时延基准是指在一定时间范围内,时延的大致数值。本文采用Stacking框架将Boosting簇模型融合,进行时延基准预测。

  本节将经预处理的数据集作为输入,将时延基准值作为输出,按照8:2的比例将数据集划分为训练集和测试集。定义训练集为

  其中,为输入特征向量,则本文提出的算法步骤如下:

  输入:训练数据集D;

  输出:算法模型以及预测值。

  步骤1:利用n 折交叉验证将数据集分成n 份,每一份表示为

  取其中1 折作为验证集,其余N-1 折作为训练数据。

  步骤2:建立n 个算法k的模型。对于模型,,设置验证集为数据集的第c 份,其余部分为训练数据,将数据传入模型,模型产生第c 折验证集的预测结果。

  重复n 次得到n 个算法k的模型和验证集预测值,并用生成的模型对测试集进行预测得到,。将按照顺序拼接后得到算法k模型对训练集的预测结果,记为

  每个模型都对测试集进行预测后,求平均得到对测试集的预测结果,记为。

  算法k模型对测试集的预测结果,由n 个值取平均后求得,记为

  步骤3:用同样的方式训练不同算法,得到K 个训练集预测值和测试集预测值。将K 个训练集预测值和真实时延作为新的训练集数据,将K 个测试集预测值作为新的测试集数据。

  步骤四:利用元学习器对新数据集建模预测,预测出最终的时延基准值为。

  (2)抖动预测。Boosting簇算法是加法模型和前向分布的结合,在GBDT[5]中表现为加权加法模型,因此削弱了数据随机波动特性。故本文采用决策树DCRT对时延抖动误差进行模拟,得到抖动预测。考虑到工作时间和休息时间内抖动幅度不同,本文采用分段回归树模型预测不同时间段的抖动值,记为

  其中,和为工作时间和休息时间的模型函数。

  (3)由时延基准预测和抖动预测得到最终的时延结果为

  4 实验结果与分析(Experimental results and analysis)

  本节实验目标是验证时延预测方案的有效性,具体包括数据预处理的有效性,提出算法模型的性能对比,以及对于Stacking的元学习器选择。实验环境如表1所示。

  实验所使用的数据集来自2.1部分所述,经预处理后随机将数据分为训练集和测试集,其中训练集占数据总量的80%,测试集占数据总量的20%。为在效果图中呈现清晰的曲线图像,在图中取2%的点进行表示。

期刊VIP网,您身边的高端学术顾问

文章名称: 基于集成学习的业务网络时延模拟

文章地址: http://www.qikanvip.com/jisuanjixinxiguanli/60292.html