SDN网络架构下一种结合SVM和优化LSTM模型的DDoS攻击检测方法转让专利

申请号 : CN202010554165.9

文献号 : CN111756719B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 贾敏束越婕陶滢高梓贺解索非周镒李文屏苏曼刘晓锋郭庆顾学迈

申请人 : 哈尔滨工业大学

摘要 :

SDN网络架构下一种结合SVM和优化LSTM模型的DDoS攻击检测方法,涉及信息与通信技术领域,具体涉及SDN网络架构下一种结合SVM和优化LSTM模型的DDoS攻击检测方法,本发明提出一种在SDN网络架构下结合SVM和优化LSTM模型的DDoS攻击检测方法,不仅可以对时间序列做出分类判断,达到通过一段时间的流量特征进行检测判断,以减少由于单一机器学习分类器对个别异常流量造成的误警问题,还可以降低由于LSTM模型对数据的敏感性所带来的网络初始阶段流量的误判率,并减少检测耗时,减轻系统负担。

权利要求 :

1.SDN网络架构下一种结合SVM和优化LSTM模型的DDoS攻击检测方法,其特征是:它包括以下步骤:步骤一、根据现有LSTM模型,利用改进的遗传算法来优化LSTM模型,获得优化LSTM模型;

步骤二、搭建虚拟SDN网络拓扑结构;

步骤三、对步骤二搭建的虚拟SDN网络拓扑结构进行数据采集,获得SDN网络数据集;

步骤四、使用步骤三获得SDN网络数据集,经标准差标准化和时间序列处理后,对步骤一获得的优化LSTM模型进行训练;

步骤五、使用步骤三获得SDN网络数据集对支持向量机SVM进行训练;

步骤六、利用SDN控制器采集虚拟SDN网络内的流表信息后,依据特征提取法提取特征向量,并将实时提取的数据缓存成文件进行存储;

步骤七、将步骤六提取的流表特征向量送入SVM模型进行检测,所述SVM通过提供的特征向量信息判断当前为攻击流量还是正常流量,若为正常流量则输出结果,若为异常流量则再次与先前时刻的流量信息经过特征维度标准化处理后组合成时间序列送入优化后的LSTM模型,并执行步骤八;

步骤八、若优化LSTM模型判断为异常流量则输出检测结果:“检测到异常流量信息”,并结束一次检测,表明SDN网络受到DDoS攻击,若检测为正常流量则判断为正常流量,则输出检测结果;

所采用的优化方法的算法步骤如下所示:

(1)、采用二进制进行基因编码,二进制串前四位表示时间窗口大小,后六位表示神经元个数;

(2)、进行LSTM神经网络训练,采用二分类交叉熵损失函数来作为个体适应值评价;

(3)、采用锦标赛选择法确定参与复制的父代个体;

(4)、自适应交叉策略,具体采用:有序交叉策略;

(5)、采用柯西分布函数优化后的自适应变异策略,具体为:乱序突变策略;

(6)、判断是否满足停止条件,否则转步骤二;

(7)、输出最优解。

2.根据权利要求1所述的SDN网络架构下一种结合SVM和优化LSTM模型的DDoS攻击检测方法,其特征在于步骤一中利用改进的遗传算法来优化LSTM模型,获得优化LSTM模型的具体方法是:利用而遗传算法的改进方法,即:使用二分类交叉熵损失LB=‑(ynlog(P)+(1‑yn)log(1‑P))来代替RMSE实现。

3.根据权利要求2所述的SDN网络架构下一种结合SVM和优化LSTM模型的DDoS攻击检测方法,其特征在于在改进的遗传方法中,使用 作为变异程度值函数;

式中:Pm为变异概率,gen为种群代数,k为缩放系数,视种群进化次数与所设定的变异概率区间而定。

4.根据权利要求1所述的SDN网络架构下一种结合SVM和优化LSTM模型的DDoS攻击检测方法,其特征在于步骤二中搭建的虚拟SDN网络拓扑结构包括一台Ryu控制器、M台OVS虚拟交换机Open vSwitch和N台虚拟主机,M和N均为正整数。

说明书 :

SDN网络架构下一种结合SVM和优化LSTM模型的DDoS攻击检测

方法

技术领域

[0001] 本发明涉及信息与通信技术领域,具体涉及SDN网络架构下一种结合SVM和优化LSTM模型的DDoS攻击检测方法。

背景技术

[0002] 在SDN网络架构中,控制面和转发面分离,而控制器的安全是整个SDN网络安全保障的关键,而DDoS攻击是控制器安全的主要威胁之一,在DDoS攻击中,攻击者入侵SDN中的目标主机,然后向网络中输入大量伪造的无效网络流量,使得控制器资源最终被耗尽,继而无法转发合法数据包,所以如何快速并准确地检测DDoS攻击已成为SDN安全领域的研究热点,当前,在SDN网络中对DDoS攻击的检测方法主要有利用统计分析方法和机器学习方法,即基于异常探测技术部署在SDN控制器中对DDoS攻击进行检测,现有的DDoS攻击检测方法,如基于熵值的检测方法存在一些局限性,基于熵值的检测方案通常是检测流量特性熵的意外变化,但是流的统计分布中的相关信息可能会丢失,从而掩盖了异常效应,传统机器学习应用于DDoS攻击检测的局限性是无法使用流量的历史特征,而是通过提取流量特征来区分正常流量和攻击流量,目前这些基于机器学习的检测学习方法主要在于提高单条样本的分类检测精度,而没有对时间序列进行处理,而在DDoS攻击检测中,流量样本更符合时间序列样本特性,更适合使用一类能对时间序列进行分类预测的深度学习方法,于是,本发明提出一种在SDN网络架构下结合SVM和优化LSTM模型的DDoS攻击检测方法,不仅可以对时间序列做出分类判断,达到通过一段时间的流量特征进行检测判断,以减少由于单一机器学习分类器对个别异常流量造成的误警问题,还可以降低由于LSTM模型对数据的敏感性所带来的网络初始阶段流量的误判率,并减少检测耗时,减轻系统负担,此外,本发明还采用改进的遗传算法来优化LSTM深度学习模型的参数,以更好地评估时间序列预测问题,最后,搭建实验仿真平台,在SDN网络环境中验证了该检测方法的可行性。

发明内容

[0003] 本发明是为了在DDoS攻击检测过程中,降低由于LSTM模型对数据的敏感性所带来的网络初始阶段流量的误判率,减少检测耗时,减轻系统负担,以及利用改进遗传算法来优化LSTM深度学习模型的参数,以找到较优的时间窗口大小和神经元单位数,以便更好地评估时间序列预测问题,从而提供一种SDN网络架构下一种结合SVM和优化LSTM模型的DDoS攻击检测方法。
[0004] SDN网络架构下一种结合SVM和优化LSTM模型的DDoS攻击检测方法,它包括以下步骤:
[0005] 步骤一、根据现有LSTM模型,利用改进的遗传算法来优化LSTM模型,获得优化LSTM模型;
[0006] 步骤二、搭建虚拟SDN网络拓扑结构;
[0007] 步骤三、对步骤二搭建的虚拟SDN网络拓扑结构进行数据采集,获得SDN网络数据集;
[0008] 步骤四、使用步骤三获得SDN网络数据集,经标准差标准化和时间序列处理后,对步骤一获得的优化LSTM模型进行训练;
[0009] 步骤五、使用步骤三获得SDN网络数据集对支持向量机SVM进行训练;
[0010] 步骤六、利用SDN控制器采集虚拟SDN网络内的流表信息后,依据特征提取法提取特征向量,并将实时提取的数据缓存成文件进行存储;
[0011] 步骤七、将步骤六提取的流表特征向量送入SVM模型进行检测,所述SVM通过提供的特征向量信息判断当前为攻击流量还是正常流量,若为正常流量则输出结果,若为异常流量则再次与先前时刻的流量信息经过特征维度标准化处理后组合成时间序列送入优化后的LSTM模型,并执行步骤八;
[0012] 步骤八、若优化LSTM模型判断为异常流量则输出检测结果:“检测到异常流量信息”,并结束一次检测,表明SDN网络受到DDoS攻击,若检测为正常流量则判断为正常流量,则输出检测结果。
[0013] 本发明提出一种在SDN网络架构下结合SVM和优化LSTM模型的DDoS攻击检测方法,不仅可以对时间序列做出分类判断,达到通过一段时间的流量特征进行检测判断,以减少由于单一机器学习分类器对个别异常流量造成的误警问题,还可以降低由于LSTM模型对数据的敏感性所带来的网络初始阶段流量的误判率,并减少检测耗时,减轻系统负担。

附图说明

[0014] 图1为本发明设计的SDN网络架构下DDoS攻击检测架构示意图;
[0015] 图2为时间窗口处理示意图;
[0016] 图3为采用改进的遗传算法后得到的训练结果示意图;位于上方的曲线为Average Fitness曲线;位于下方的曲线为Minimum Fitness曲线;
[0017] 图4为优化LSTM模型准确率仿真示意图;其中:位于上方的曲线为训练集对应的曲线;位于下方的曲线为测试集对应的曲线;
[0018] 图5为优化LSTM模型误差仿真示意图;深色曲线为训练集对应曲线;浅色曲线为测试集对应曲线;
[0019] 图6为混淆矩阵示意图;
[0020] 图7为SDN网络拓扑结构示意图;
[0021] 图8为DDoS攻击检测结果仿真示意图。

具体实施方式

[0022] 步骤一、根据现有LSTM模型,利用改进的遗传算法来优化LSTM模型,获得优化LSTM模型;
[0023] 步骤二、搭建虚拟SDN网络拓扑结构;
[0024] 步骤三、对步骤二搭建的虚拟SDN网络拓扑结构进行数据采集,获得SDN网络数据集;
[0025] 步骤四、使用步骤三获得SDN网络数据集,经标准差标准化和时间序列处理后,对步骤一获得的优化LSTM模型进行训练;
[0026] 步骤五、使用步骤三获得SDN网络数据集对支持向量机SVM进行训练;
[0027] 步骤六、利用SDN控制器采集虚拟SDN网络内的流表信息后,依据特征提取法提取特征向量,并将实时提取的数据缓存成文件进行存储;
[0028] 步骤七、将步骤六提取的流表特征向量送入SVM模型进行检测,所述SVM通过提供的特征向量信息判断当前为攻击流量还是正常流量,若为正常流量则输出结果,若为异常流量则再次与先前时刻的流量信息经过特征维度标准化处理后组合成时间序列送入优化后的LSTM模型,并执行步骤八;
[0029] 步骤八、若优化LSTM模型判断为异常流量则输出检测结果:“检测到异常流量信息”,并结束一次检测,表明SDN网络受到DDoS攻击,若检测为正常流量则判断为正常流量,则输出检测结果。
[0030] 原理:如图1所示为本发明设计的SDN网络架构下一种结合SVM和优化LSTM模型的DDoS攻击检测方法。
[0031] 具体实施方式如下:
[0032] 一、OpenFlow流表特征提取方法
[0033] 在SDN网络中,控制面与转发面分离,所有控制功能都集中在远程SDN控制器上,交换机只负责在本地进行数据转发,其转发的依据为流表项,攻击者采用的DDoS攻击方式虽然是多样的,但是绝大部分攻击流量仍然具有一定的规律,因此可以通过采集流表项信息,将其转化为特征向量后,分析单位时间内网络流量分布特性的变化,从而区分正常流量和攻击流量。
[0034] OpenFlow流表项作为数据转发的规则,其每个流表项都由3部分组成:用于数据包匹配的匹配域,计算匹配数据包数量的计数器,指示如何处理匹配的数据包的操作。
[0035] 原始的流表信息主要包括源端口、目的端口、源IP地址、目的IP地址、帧长度、帧协议、数据包长度等,直接对这些数据进行训练效果较差,且受网络环境本身的影响较大,所以首先对流表信息采用特征提取算法,提取如下五项特征:设SDN控制器以周期τ对OpenFlow交换机的流表项进行采样,得到的流表项总数为NF:
[0036] (1)流包平均数(ANFP,Average number of flow packets)
[0037] 网络正常状态下和受到攻击时的流包数量有所不同,攻击时通常会连续且随机地生成伪造IP地址,并减少单条流表项包含的数据包数量,定义流包平均数如式(1)所示,其中PacketsNumi表示第i条流表项的数据包数量。
[0038]
[0039] (2)流平均比特数(ANBF,Average number of bits in flows)
[0040] 与定义流包平均数类似,在DDoS发生时,攻击者会发送大量比特数较小的数据包,这也为DDoS攻击检测提供了依据,定义流平均比特数如式(2)所示,其中BytesNumi表示第i条流表项的数据包比特数。
[0041]
[0042] (3)流生成速度(FV,Flow generation speed)
[0043] 发生DDoS攻击时,往往会发生大量伪IP地址发送数据包的情况,导致在采集周期内流表数量增加,定义流生成速度如式(3)所示,其中FlowNum为周期τ内采集到的流表数量。
[0044]
[0045] (4)源IP地址数量生成速度(SIPV,Source IP address generation speed)[0046] DDoS的主要攻击特点是通过伪造源IP地址来发送大量数据包,这使得发生攻击时的源IP地址数量增长率在固定时间大大提高,定义源IP地址数量生成速度如式(4)所示,其中SIPNum为采样周期内的不同源IP地址个数。
[0047]
[0048] (5)端口增速(PV,Port growth)
[0049] 在正常情况下,端口数量增长相对稳定,DDoS攻击由于端口号是随机生成的,因此在发生攻击时,端口的增长率会大大提高,定义端口增速如式(5)所示,其中PortNum表示采样周期内的流表中,不同IP地址所对应的不同的端口号数量的总和。
[0050]
[0051] 一、采集流表信息
[0052] 在SDN环境中,模拟正常网络环境与DDoS攻击环境,共采集两万多条数据作为数据集,其中包含正常流量与攻击流量数量比约1:1,并打上标签(正常流量标记为0,异常流量标记为1)。
[0053] 将数据集按照提出的特征提取算法提取特征向量,得到包含五列特征向量(ANFP,ANBF,FV,SIPV,PV),一列标签(Label)的数据集data.csv。
[0054] 二、数据集预处理
[0055] 读取data.csv中的数据,进行标准差标准化(Standard Scaler)处理,即针对每一个特征维度进行去均值和方差归一化,使得经过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数如式(6)所示:
[0056]
[0057] 经过标准化处理后的数据集为二维数据集,每行数据集拥有5个特征维度,可标记为Ri=[ri1,ri2,ri3,ri4,ri5],如图2所示,由于LSTM模型的处理的数据类型为一组时间序列,所以需要采用滑动时间窗口对数据进行处理,时间步长time_steps=k,时间窗口每滑动一次为一组时间序列,从Seq1至Seq(Num‑k),最后生成的数据集为三维数据集,大小为(Num‑k)*k*5,将处理好的时间序列数据集{Seq}送入LSTM深度学习模型进行分类。
[0058] 一、优化LSTM深度学习模型
[0059] 本发明提出改进的遗传算法来优化LSTM模型,以找到最优时间窗口大小和神经元数量,并减少过度拟合的问题,在遗传算法的改进中利用二分类交叉熵损失来代替RMSE,采用改进的自适应策略来进行交叉和变异操作,以进一步优化算法。
[0060] 首先加入精英保留策略,在简单的遗传算法中,我们总是用产生的繁殖种群完全取代父母种群,在真正的生物进化中,总是有一些后代因为它们无法适应环境而死亡,其余的后代通常是相对较好的个体,遵循这一原则,我们可以为简单遗传算法SGA添加自然选择,使用精英保存策略筛选繁殖后代并保留更好的个体,从而使算法可以更快地收敛,在选择育种后代时,选择出比原始族群数量更大的一个育种族群,令ncombine=noffspring+npop,接着对该育种族群进行交叉和突变,然后对变异后的育种族群进行自然选择,取其中npop数量的个体以保持种群规模。
[0061] 由于适应度函数均方根误差(RMSE)对于本发明中的DDoS攻击检测的二分类问题分类效果较差,所以采用二分类交叉熵损失函数来作为适应度函数,其公式如式(7)所示:
[0062] LB=‑(ynlog(P)+(1‑yn)log(1‑P))     (7)
[0063] 当某个样本的真实标签yn=1时,分类器预测概率P越大,则损失越小,反之愈大,而当某个样本的真实标签yn=0时,分类器预测概率越大,则损失越大,反之愈小。
[0064] 采用锦标赛选择法,从群体中随机选择N数量的个体进行适应度比较,将其中适应度最高的个体遗传到下一代,每次进行适应度大小比较的个体数目为联赛规模N。
[0065] 接着用自适应策略来改进先前的算法,自适应遗传算法的改进点在于自适应调整遗传参数,以保持种群的多样性,并保证算法的收敛性,对于基本的遗传算法来说,交叉和变异的概率是固定的,而自适应策略在进化过程中需要自适应调整,在开始阶段选择较大的交叉和变异概率,这样的粗略搜索过程有利于保持种群多样性,在后期,可以将其调整为较小的值以进行详细搜索,以防止最优解被破坏并加快收敛速度,但是,为了使种群在以后的进化中稳定下来,需要降低突变的影响,相应的措施是降低突变的可能性或程度,本发明对Srinvivas自适应遗传算法(Adaptive GA,AGA)方法做出改进,引入柯西分布函数作为变异程度值函数,使得随着种群进化次数的增加,变异程度值相递减,如式(8),式(9)所示:
[0066]
[0067]
[0068] 其中Pc为交叉概率,Pm为变异概率,fmax为群体中最大的适应度值,favg为每一代群体的平均适应度值,f'为要交叉的两个个体中较大的适应度值,gen指的是种群代数。
[0069] 综上,优化方法的算法步骤如下所示:
[0070] (1)采用二进制进行基因编码,二进制串前四位表示时间窗口大小,后六位表示神经元个数;
[0071] (2)进行LSTM神经网络训练,采用二分类交叉熵损失函数来作为个体适应值评价;
[0072] (3)采用锦标赛选择法确定参与复制的父代个体;
[0073] (4)自适应交叉策略(采用有序交叉);
[0074] (5)采用柯西分布函数优化后的自适应变异策略(乱序突变);
[0075] (6)判断是否满足停止条件,否则转步骤二;
[0076] (7)输出最优解。
[0077] 图3为利用改进的遗传算法得到的训练结果,从图中可以看出其收敛速度加快且收敛效果好。
[0078] 接下来我们对优化后的LSTM模型进行训练。
[0079] 数据集为{Seq},数据训练环境为Linux系统Ubuntu 16.04,处理器为Intel Core i7,GPU型号为GeForce 940MX,共执行30个训练周期,得到的分类准确率为99.78%,模型准确高,可实现对流量特征信息的时间序列检测。
[0080] 经改进的遗传算法优化后的LSTM模型的准确率曲线,误差曲线,混淆矩阵如图4、图5、图6所示:
[0081] 搭建实验仿真平台进行测试后发现,由于初期网络环境流量不稳定,加之LSTM对数据较为敏感,导致容易出现初始不稳定正常流量误判为攻击流量的情况,当网络环境稳定后,优化LSTM深度学习模型的判断趋于正常,达到模型精度,此外,优化LSTM深度模型对一组流量的判断时间,单条用时在实验中显示为200μs以上,总用时在2s以上,为了解决初期不稳定网络流量所造成的误判问题,并减小系统的检测时间,减轻系统负担,引入SVM对某一时刻的流表特征向量进行分类,若正常则判断网络未收到攻击,若判断为异常,则与先前时间的若干条流表特征向量一起组成时间序列进行数据预处理后送入LSTM深度学习模型中进行二次判断,经实验测定,该检测方法可解决上述提到的网络初期正常流量的误判问题。
[0082] 一、支持向量机SVM
[0083] SVM是一种有监督的二类分类模型,其基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器,其泛化性能较好,不容易出现过拟合的情况,且训练之后的结果具有很好的推广性。
[0084] 当训练样本线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机。T
[0085] 寻找决策平面f(x)=wx+b=0进行二分类,目标函数为 约束条T
件为s.t.yi(wxi+b)≥1,求得w=∑i∈svyiα'xi,
[0086] 数据集为data.csv,使用SVM模型进行训练,其结果如下所示:
[0087]
[0088] 二、实验验证与分析
[0089] 通过Mininet软件搭建SDN网络环境,验证本发明DDoS攻击检测模型的有效性。
[0090] 实验在Ubuntu环境下完成,采用OpenFlow1.3协议,如图7所示,网络拓扑结构由一台Ryu控制器,3台OVS虚拟交换机(Open vSwitch),15台虚拟主机组成,主机h1~h5的IP地址为110.0.0.1~110.0.0.5,主机h6~h10的IP地址为111.0.0.1~111.0.0.5,h11~h15的IP地址为112.0.0.1~112.0.0.5,首先在SDN环境中模拟网络背景流量(Normal),再利用Hping3工具发起SYN泛洪类型的DDoS攻击,如图8所示,该混合模型可以成功检测DDoS攻击,本发明设计的攻击检测方法具有很好的可行性。
[0091] 本发明具有以下特点和显著进步:
[0092] 1.本发明提出一种在SDN网络架构下结合SVM和优化LSTM模型的DDoS攻击检测方法,不仅可以对时间序列做出分类判断,达到通过一段时间的流量特征进行检测判断,以减少由于单一机器学习分类器对个别异常流量造成的误警问题,还可以降低由于LSTM模型对数据的敏感性所带来的网络初始阶段流量的误判率,并减少检测耗时,减轻系统负担。
[0093] 2.本发明提出改进的遗传算法来优化LSTM模型深度学习模型参数,以找到最优时间窗口大小和神经元数量,并减少过度拟合的问题,在遗传算法的改进中利用二分类交叉熵损失来代替RMSE,采用改进的自适应策略来进行交叉和变异操作,以进一步优化算法。