logo好方法网

一种基于MF-Ada算法的LDoS攻击检测方法


技术摘要:
本发明公开了一种基于多流量特征和Adaboost(MF‑Ada)算法的慢速拒绝服务(LDoS)攻击检测方法,属于网络安全领域。其中所述方法内容包括:在单位时间内,抓取网络关键路由节点中的所有相关数据报文,形成训练样本和测试样本;对训练样本和测试样本进行特征提取和特征选择  全部
背景技术:
拒绝服务(DoS)攻击通过向攻击目标持续发送高强度攻击流,耗尽攻击目标的资 源,使得正常用户长时间得不到有效服务。慢速拒绝服务(LDoS)攻击是DoS攻击的一个变 种。与DoS攻击不同,LDoS攻击是以周期性的方式,向攻击目标发送高强度脉冲,使网络不断 的拥塞,从而达到与DoS攻击同样的攻击效果。因此,与传统DoS攻击相比,LDoS攻击能够以 更小的攻击代价对攻击目标实现相同甚至更大的损害。 迄今为止,尽管很多人提出了不少的方法,却仍没有成熟的解决方案。目前LDoS攻 击检测存在两个方面的问题:其一,由于其周期性的攻击方式,LDoS攻击具有更好的隐蔽 性,因此针对传统DoS攻击的检测和防御机制对LDoS攻击的检测和防御并不适用;其二是已 有的LDoS攻击检测方法普遍存在高误报率和高漏报率,自适应能力差等不足之处。 本发明提出了一种基于MF-Ada算法的LDoS攻击检测方法。网络流量是一种时间序 列,因此可以使用时间序列的方法来分析网络流量的变化。时间序列拥有大量的统计学特 征,这些特征可以用来表征网络的状态。除此以外,信息学中的信息熵、能量谱中的能量值 以及用于表征网络多重分形特征的Hurst值都会被LDoS攻击所改变。当攻击发生时,这些特 征会出现不同程度的变化。在不同网络中,由于网络环境、协议和拓扑结构的不同,LDoS攻 击对网络流量特征造成的影响是不一样的。因此,分析网络流量内部特征的变化与LDoS攻 击产生的结果的相关性是有必要的,这可以作为检测LDoS攻击的基础。LDoS攻击会使网络 流量特征值的统计分布形态发生变化。因此,可以将攻击前与攻击后看成两种网络流量。 Adaboost分类器可以通过训练样本来学习和记忆这两种网络流量的特征,从而具备识别 LDoS攻击的能力。
技术实现要素:
针对传统LDoS攻击检测方法普遍存在高误报率和高漏报率,自适应能力差等不 足,提出了一种LDoS攻击检测方法。该LDoS攻击检测方法,构造了一个特征集,该特征集包 含了多个网络流量特征。特征集用于网络流量数据的特征提取和特征选择。基于卡方检验 算法的特征选择将保留网络流量数据中最优的特征数据。Adaboost算法是一种优秀的分类 算法,通过网络流量的特征数据对其进行训练,训练后的Adaboost算法模型将能很好地分 辨含有LDoS攻击的网络流量。而最优的特征数据能够使Adaboost算法得到较好的训练,进 而保证检测方法的有效性。 本发明为实现上述目标所采用的技术方案为:该LDoS攻击检测方法主要包括四个 步骤:数据采样、数据处理、模型训练以及判定检测。 1.数据采样。抓取网络关键路由节点中的相关数据报文,以时间间隔为Δt对单位 4 CN 111600877 A 说 明 书 2/4 页 时间内所有相关数据报文进行采样,形成训练样本和测试样本。 2.数据处理。对训练样本和测试样本进行特征提取和特征选择,得到训练样本的 最佳特征数据和测试样本的最佳特征数据。其中,特征包括TCP总量、UDP总量、总数据量 (TCP总量与UDP总量之和)、TCP占比、UDP占比、UDP均值、TCP均值、TCP方差、UDP方差、TCP与 UDP的协方差、TCP信息熵、UDP信息熵、TCPHurst值、UDP  Hurst值、TCP最大值、UDP最大值、 TCP最小值、UDP最小值、TCP极差、UDP极差、TCP偏度、UDP偏度、TCP峰度、UDP峰度、TCP变异系 数、UDP变异系数、TCP平均绝对方差、UDP平均绝对方差。TCP代表一段时间内网络中的TCP流 量数据,UDP代表一段时间内网络中的UDP流量数据。这些网络流量特征一起构成一个特征 集,该特征集将作为特征提取和特征选择的基础。具体为:在该单位时间内,以数据片(一个 单位时间内的数据,可均分为若干个恰当时间长度的分片,每个这样的分片称为一个数据 片)为特征提取单位,得到该单位时间内所有数据片的特征向量。基于卡方检验算法,对每 种特征数据与数据片真实类别(无攻击数据片或有攻击数据片)进行相关性分析。根据相关 性分析的结果,每个特征会分配一个优先级,优先级高的特征会先于其他特征被选择。基于 特征的优先级,检测方法通过交叉验证的方式确定最佳特征的个数,从而得到样本的最佳 特征数据。 其中,A代表自变量(特征),E代表因变量(数据片真实类别)。则卡方检验算法计算公式 可表示为: 3.模型训练。用训练样本的最佳特征数据训练Adaboost分类模型。Adaboost分类 模型的输出结果为两个数值,一般为“0”和“1”,分别代表无攻击和有攻击。Adaboost分类模 型通过不断训练多个基分类器来提高分类能力,并基于上一个分类器的错误率来训练下一 个分类器并调整样本的权值分布,使用的损失函数为指数损失函数。Adaboost分类模型通 过对一系列弱分类器进行线性加权,形成一个强分类器。Adaboost分类模型将学习并记忆 LDoS攻击的特征,最终得到可用于LDoS攻击检测的模型。 Adaboost算法主要涉及到两个部分:加法模型和前向分步算法。加法模型是指强分类 器是由一系列弱分类器线性组合而成。加法模型一般表达形式如下: 其中,ht(x)表示弱分类器,αt是弱学习在强分类器中的权重,H(x)m表示弱分类器的线 性组合。 前向分步算法指的是在训练过程中,下一轮迭代产生的分类器是在上一轮的基础上训 练得来的。它可以表示为: H(x)m=H(x)m-1 αtht(x) 其中,ht(x)表示这一轮迭代中的弱分类器,αt该弱分类器的权重,H(x)m-1是上一轮所 有弱分类器的组合。 弱分类器权重计算公式可表示为: 5 CN 111600877 A 说 明 书 3/4 页 其中,εt为第t轮迭代的分类错误率。 训练样本权重分布调整公式可表示为: 其中,wt表示上一轮训练样本的分布权重,y表示分类标签,zt是归一化因子。 最终的强分类器可表示为: f(x)=sign(H(x)) 其中,sign为符号函数。 4 .判定检测。用训练后的Adaboost分类模型对测试样本的最佳特征数据进行检 测。根据判定准则,判断该最佳特征数据对应的单位时间内是否发生LDoS攻击。对LDoS攻击 的判定准则为:对单个数据片,将该数据片通过特征提取和特征选择得到的最佳特征数据 输入到训练好的Adaboost分类模型中,若模型输出结果为“1”,则说明该数据片存在LDoS攻 击;若模型输出结果为“0”,则说明该数据片不存在LDoS攻击。 有益效果 该LDoS攻击检测方法,误报率和漏报率低,对LDoS攻击的检测准确度较高,同时该 方法可以结合GPU硬件实现并发高效检测,以满足网络快速检测的需求。因此,该检测方法 可普适于准确检测LDoS攻击。 附图说明 图1为一种基于MF-Ada算法的LDoS攻击检测方法的流程图。 图2为样本特征数据与相应的数据片真实类别的相关性得分。该得分通过卡方检 验算法计算得到的P值转换获得。特征得分越高,特征与数据片真实类别的相关性越强。检 测模型基于该相关性得分为每个特征分配一个优先级,以此完成特征选择。 图3为Adaboost算法模型示意图。Adaboost算法模型示意图体现了它的两个核心 部分:加法模型和前向分步算法。加法模型表示的是最终的强分类器是由一系列弱分类器 线性组合而成。前向分步算法指的是在训练过程中,下一轮迭代产生的分类器是在上一轮 的基础上训练得来的。具体为,网络流量样本数据基于上一轮弱分类器的分类结果调整权 值的分布;再使用调整后的网络流量样本数据训练下一个弱分类器并基于分类结果计算该 弱分类的权值;最后将该弱分类器与上一个分类器进行加权结合。
分享到:
收藏