一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于S-R分析和FASSA-SVM的LDoS攻击检测方法与流程

2022-02-22 20:20:33 来源:中国专利 TAG:

一种基于s-r分析和fassa-svm的ldos攻击检测方法
技术领域
1.本发明属于计算机网络安全领域,具体涉及一种基于s-r分析和fassa-svm的ldos攻击检测方法。


背景技术:

2.拒绝服务(dos)攻击以简单又暴力的攻击手段,通过借助合理的方式来致使被攻击对象无法向合法用户提供正常的服务来达到攻击目的。而慢速拒绝服务(ldos)攻击则是dos攻击的一个特殊变种,具有周期性和低速率性等特点。ldos攻击相比dos攻击更加隐蔽,从而难以使用对传统dos攻击的防范机制来进行检测。另外,现有的检测方法普遍存在准确率较低、复杂度较高、误报率和漏报率高等问题。
3.由于传统网络架构出现了更新速度缓慢,系统复杂僵化,管理困难等一系列问题,软件定义网络(sdn)的出现为传统网络管理带来了新的思路。作为一种新型的网络体系结构,sdn通过将控制逻辑与传统网络设备的封闭式和专有实现方式分离开来,提供了网络可编程化、网络集中管理、自动化部署和动态控制网络流量等功能,然而,其网络安全现状并不会因为其采用了新型架构而发生根本性的改变。一旦sdn的控制层遭受到了ldos攻击,整个网络的管理便会受到影响,甚至可能会造成全网dos。控制层是sdn的逻辑控制中心,若控制层无法及时对网络的状态进行判断与调整,ldos攻击可能会带来更严重的损害,造成比传统网络中更严重的后果。
4.本发明针对sdn体系结构所面临的ldos攻击安全隐患,以及传统ldos攻击检测算法检测率较低、误报率和漏报率较高、实际部署难等问题,提出了一种sdn环境中基于s-r分析和fassa-svm的ldos攻击检测方法。该方法通过sdn控制器轮询,在提取tcp、udp流量序列后对其进行奇异谱分析(s分析)去噪,然后根据去噪后的序列计算tcp和udp的4组流量特征值,再对流量特征值进行秩和比分析(r分析),完成上述两步分析(s-r分析)之后,将得到的秩和比特征集作为训练特征集,输入基于萤火虫算法和麻雀搜索算法的支持向量机(fassa-svm),从而构建ldos攻击检测模型,最终根据检测模型的输出结果判定网络中是否存在ldos攻击。该方法检测准确率较高,且误报率和漏报率低,能够实际部署在sdn控制器上,因此该检测方法可普适于检测sdn中的ldos攻击。


技术实现要素:

5.针对sdn体系结构所面临的ldos攻击安全隐患,以及传统ldos攻击检测方法普遍存在检测准确度不高,实际部署难等问题,本发明提出了一种sdn环境下基于s-r分析和fassa-svm的ldos检测方法。该ldos攻击检测方法能够实际部署在控制器上,实现sdn网络对ldos攻击的检测,检测准确率高,且误报率和漏报率低。因此该检测方法可普适于准确检测sdn中的ldos攻击。
6.本发明为实现上述目标所采用的技术方案为:该ldos检测方法主要包括四个步骤:
采集流量数据、两步分析数据、建立检测模型、攻击检测判定。
7.1.采集流量数据。基于软件定义网络所采用的openflow协议,采集交换机间瓶颈链路的流量,以0.5秒为采样的时间间隔,获取tcp流量序列和udp流量序列,作为原始流量数据。
8.2.两步分析数据。先使用s分析对tcp流量序列和udp流量序列去噪,然后提取去噪后的流量序列特征,最后对所求流量序列特征进行r分析,将s-r分析后得到的秩和比特征集设置为训练特征集,并给训练特征集打上标签。
9.3.建立检测模型。使用基于萤火虫算法的麻雀搜索算法fassa与支持向量机svm相结合的算法,将fassa中的麻雀位置最优解映射为svm的两个重要参数:惩罚参数c和核函数gamma,将这两个参数输入到svm,并基于训练特征集对svm进行训练,得到ldos攻击检测模型fassa-svm。
10.4.攻击检测判定。对于待检测流量序列窗口,将其秩和比特征输入检测模型fassa-svm,最后输出二分类结果,若输出结果为0,则判定该窗口不存在ldos攻击;若输出结果为1,则判定该窗口存在ldos攻击。有益效果
11.该ldos攻击检测方法能实际部署在sdn控制器上,实现sdn环境中的ldos攻击检测。该方法检测准确率较高,误报率和漏报率低,因此该检测方法可普适于检测sdn中的ldos攻击。
附图说明
12.图1为s分析前后网络流量的对比示意图。经过s分析去噪,最终得到的tcp流量序列和udp流量序列平滑并且和原始序列的趋势基本吻合。
13.图2为正常网络与发生ldos攻击的网络中特征值的对比示意图。在网络发生ldos攻击时,单位时间窗口内的tcp流量的均值和极差、udp流量的标准差和极差这4项特征值均会发生显著变化。通过这些特征值可以对正常网络和发生ldos攻击时的网络进行区分。
14.图3为r分析后正常网络与发生ldos攻击的网络中秩和比特征值的对比示意图。在网络中发生ldos攻击时,单位时间窗口内的rsr值、rsr rank值和probit值均会发生显著变化,通过这些特征值可以对正常网络和ldos攻击时的网络进行区分。
15.图4为构建fassa-svm模型的流程图。
16.图5为一种基于s-r分析和fassa-svm的ldos攻击检测方法的流程图。
具体实施方式
17.下面结合附图对本发明进一步说明。
18.如图5所示,该ldos攻击检测方法主要包括四个步骤:采集流量数据、两部分析数据、建立检测模型、攻击检测判定。
19.1.采集流量数据。基于软件定义网络所采用的openflow协议,采集交换机间瓶颈链路的流量。本方法基于sdn控制器ryu和网络模拟器mininet,ryu控制器每隔0.5秒时间向瓶颈链路交换机发送流量获取请求,并将返回的消息进行处理,将当前获取的流量数据写入日志文件,其中,实时流量数据是针对交换机上的聚合流量,具体包含tcp包数、udp包数、
tcp流速、udp流速、聚合流量总流速五个方面的信息。
20.结合上述的实时流量获取,在攻击主机终端上定时运行ldos攻击代码,通过不断变换攻击参数进行多组实验,将得到多组tcp流量序列和udp流量序列,用于ldos攻击检测算法的构建。自定义每组数据采样时长、数据采样间隔、检测窗口长度,并使用滑动窗口的方式构建检测窗口,保证最新窗口包含最近一个检测窗口长度的流量数据。
21.2.两步分析数据。首先使用s分析对tcp流量序列和udp流量序列去噪,然后提取去噪后的流量序列特征,最后对所求流量序列特征进行r分析,完成s-r分析,并提取秩和比特征集作为训练特征集,该步骤包含以下三个子步骤:
22.a.进行s分析。通过s分析,对tcp流量序列和udp流量序列去噪,得到按奇异值排序的前十个成分序列,排除噪声序列,仅留下前两个序列进行一次重构,得到去噪后的tcp流量序列和udp流量序列,最终得到的序列平滑并且和原始序列的基本趋势吻合,s分析前后网络流量的对比如图1所示。
23.b.提取流量特征。对去噪后的tcp流量序列和udp流量序列,采用滑动窗口构建检测窗口,保证最新的窗口包含最近一个检测窗口长度的数据,计算每个检测窗口内的4个流量特征,分别为:tcp流量的均值和极差、udp流量的标准差和极差;在网络发生ldos攻击时,单位时间窗口内这4项特征值均会发生显著变化。因此,可以通过这些特征值可以对正常网络和ldos攻击时的网络进行区分,正常网络与发生ldos攻击的网络中特征值的对比如图2所示。
24.c.进行r分析。在网络中发生ldos攻击时,单位时间窗口内的rsr值、rsr rank值和probit值均会发生显著变化。通过这些特征值可以对正常网络和ldos攻击时的网络进行区分,r分析后正常网络与发生ldos攻击的网络中秩和比特征值的对比如图3所示。秩和比特征值的计算步骤如下:
25.首先,列出原始数据表并编秩。将n个评价对象的m个评价指标排列成n行m列的原始数据表,评价对象为每个检测窗口,评价指标为4个流量特征。编出每个指标各评价对象的秩,得到秩矩阵,记为r=(r
ij
)m×n。
26.其次,计算秩和比并排序。秩和比计算公式如下。其中wi为第j个评价指标的权重,其和为1。
27.最后,确定rsr的分布。rsr的分布是指用概率单位probit表达的值特定的累计频率。probit模型是一种广义的线性模型,服从正态分布,其转换方法为:首先,编制rsr频数分布表,列出各组频数f,计算各组累计频数∑f;然后,确定各组的rsr的秩次范围及平均秩次;接着,计算累计频率最后一项用(1-1/4n)
×
100%修正;最后将累计频率换算为概率单位probit,probit的值为u 5,其中u为累计频率对应的标准正态离差。
28.3.建立检测模型。首先完成麻雀搜索算法ssa中的麻雀搜索过程,即更新发现者位置、更新跟随者位置、更新警戒者位置,完成适应度值计算和排序后,进行萤火虫扰动,重复上述步骤直至完成迭代,完成fassa算法后,将fassa算法优化后的惩罚参数c和核函数参数gamma输入svm,输入训练特征集对svm进行训练,最终得到ldos攻击检测模型fassa-svm。
fassa算法的主要步骤为:在完成麻雀搜索算法ssa中的麻雀搜索的过程后,加入萤火虫算法fa中的萤火虫扰动策略,更新麻雀位置,再计算适应度函数值,重复以上步骤直到完成迭代。其中,麻雀搜索的过程主要有三个步骤,具体如下:
29.a.更新麻雀发现者位置。麻雀发现者负责不断搜索食物,寻找最佳觅食位置。其位置更新的计算公式如下所示。其中,t代表当前迭代数,iter
max
是一个常数,代表最大迭代次数。x
i,j
表示第i个麻雀在第j维中的位置信息。α∈(0,1]是一个随机数。r2(r2∈[0,1])和st(st∈[0.5,1])分别表示预警值和安全值。q是服从正态分布的随机数。l表示一个1
×
d的矩阵,其中该矩阵内每个元素均为1。当r2<st时,表明此时周围环境暂时安全,发现者可以继续搜索最佳位置;当r2≥st时,表明周围环境出现了捕食者,此时种群中所有麻雀必须马上转移到安全的觅食位置。
[0030]
b.更新麻雀跟随者位置。麻雀跟随者负责跟随一个发现者觅食。其位置更新的计算公式如下所示。其中,x
p
是目前发现者所占据的最优位置,x
worst
是当前全局最差位置。a表示一个1
×
d的矩阵,其中每个元素随机赋值为1或-1,且a

=a
t
(aa
t
)-1
。当i>n/2时,表明此时种群中第i个跟随者处于饥饿状态,需要寻找其他的发现者,更换食物源。当i≤n/2时,表明此时种群中第i个跟随者处于温饱状态,可继续跟随该发现者进行觅食。
[0031]
c.更新麻雀警戒者位置。麻雀警戒者负责警戒侦查,有危险则放弃食物。其位置更新的计算公式如下所示。其中,x
best
是当前的全局最优位置,表示该位置是种群中的最安全的最佳觅食点。β为步长控制参数。k∈[-1,1]是一个随机数,表示麻雀移动的方向。ε是不为0的常数,确保分母不为0。fi表示当前麻雀个体的适应度值。fg和fw分别代表当前全局最佳和最差的适应度值。fi则是当前麻雀个体的适应度值。当fi>fg时,表明此时第i只麻雀的适应度值大于当前全局最佳适应度值,该麻雀处境较为危险,需要转移到安全位置。当fi=fg时,表明此时第i只麻雀的适应度值已经达到了当前全局最佳,这时种群中已有麻雀察觉到周围有捕食者,为了降低自己被捕食的风险,这些麻雀开始向其它的麻雀靠近。
[0032]
在完成以上麻雀搜索后,加入萤火虫扰动策略。其中,需要计算萤火虫的相对荧光亮度和萤火虫的吸引度,其计算公式如下所示。其中,i0为萤火虫的最大荧光亮度;γ为光强吸收系数;r
i,j
为萤火虫i与j之间的空间距离;β0为最大吸引度。
[0033]
然后,对萤火虫进行位置更新,即萤火虫i向萤火虫j移动的位置更新,其计算公式如下所示。其中,xi和xj为萤火虫i和j所处的空间位置;β为萤火虫的吸引度;α∈[0,1]为步长因子;rand为[0,1]上服从均匀分布的随机数。xi=xi β*(x
j-xi) α*(rand-1/2)
[0034]
完成fassa算法后,将该算法的最优解映射为支持向量机svm的2个重要参数:惩罚参数c和核函数参数gamma,使用优化后的参数作为svm的输入参数。对于训练特征集,将不存在ldos攻击时的特征的标签设置为0,将存在ldos攻击时的特征的标签设置为1,最后将该训练特征集输入svm进行训练,得到ldos攻击检测模型fassa-svm。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献