一种高速网络场景下基于制造技术

技术编号:39724967 阅读:5 留言:0更新日期:2023-12-17 23:30
一种高速网络场景下基于

【技术实现步骤摘要】
一种高速网络场景下基于sketch的DDoS攻击检测方法


[0001]本专利技术涉及网络测量和计算机网络安全领域,尤其涉及一种高速网络场景下基于
sketch

DDoS
攻击检测方法


技术介绍

[0002]近年来,分布式拒绝服务
(DDoS)
攻击已成为互联网面临的最严重威胁之一

根据卡巴斯基在
2020
年发布的
DDoS
攻击报告,与
2019
年相比,
DDoS
攻击数量增加了
87.5


在过去的几十年里,人们已经做出了许多努力来检测
DDoS
攻击

已经提出了许多入侵检测和预防系统

然而,这些系统很难在可扩展性和准确性之间进行良好的权衡

其他一些方法,如基于熵的方法,在异常流量检测中取得了较高的准确性,但它具有计算量大的缺点

[0003]为了减少大量数据处理开销,已经提出了一系列基于
sketch

DDoS
攻击检测方法
。sketch
是一种紧凑的数据结构,可以在有限的空间内存储大容量网络流量的数据特征

由于其低存储开销,基于
sketch
的异常检测方法被应用于高速网络中检测
DDoS
攻击

然而这些基于
sketch
的异常检测方法主要集中在关注流的数据包总量上,而忽略了某些
DDoS
的速率变化模式,比如
Yo

Yo DDoS
攻击就会改变请求流量的速率大小从而导致云服务器频繁更改资源配置,从而造成很大的经济损失

仅凭检测流量的数据包数量不能准确地检测出这种
DDoS
攻击,还需要监控流量的速率变化情况

[0004]因此现有的技术在
DDoS
攻击检测方面并没有取得明显精准预测的效果,为了解决这些问题,在当前复杂的网络环境下,迫切需要提供一种有效的攻击检测方法


技术实现思路

[0005]为了克服现有检测方法的不足,本专利技术提出一种高速网络场景下基于
sketch

DDoS
攻击检测方法

[0006]本专利技术解决其技术问题所采用的技术方案是:
[0007]一种高速网络场景下基于
sketch

DDoS
攻击检测方法,所述方法包括以下步骤:
[0008]1)
当数据包到达主机时,主机提取数据包的五元组信息生成流
ID
字符串
str
,所述五元组信息包括源
IP
,源端口

目标
IP、
目标端口以及协议类型;
[0009]2)
根据提取的流
ID
字符串得到流对应的
sketch
计数器

时间戳数组以及循环队列的索引,计算当前数据包到来的系统时间戳与一个一维数组中记录的该数据流之前时间戳的差值,如果该差值大于预设的时间窗口,则将
sketch
结构中对应流的计数器值存进该流对应的循环队列,并将数组中记录的时间戳更新为当前数据包到来的系统时间戳,随后将流的计数器值加1,如差值小于预设的时间窗口,则只需将流对应的计数器加1;
[0010]3)
每台主机根据预设的本地阈值,每隔一个时间周期
T1
遍历循环队列中的数据,判断各流在对应时间窗口的数据包计数之和是否超过本地阈值,如果超过,将对应流数据包总量,各时间窗口内的数据包数量等信息形成一张表上传到控制器;此外,每台主机每隔一个大的时间周期
T2
去检测流是否已经断开,将已断开的流的对应计数器和循环队列重
置,以节省资源

[0011]4)
控制器汇总所有主机上传的信息,根据上传的信息计算每条流的速率,观察每条流的速率随时间的变化特性,从而检测是否存在
DDoS
攻击

速率的计算公式如下:
[0012]diff

(q[tail]‑
q[head]+qSize)mod(qSize)
[0013][0014]其中,
diff
是队头索引和队尾索引之间的差值,
q
是某条流对应的循环队列,
tail
是该循环队列的队尾索引,
head
是该循环队列的队头索引,
qSize
是该循环队列的长度,
w
是时间窗口大小,
x
表示往前
x
个时间窗口,
f(x)
表示从最新的时间窗口到前
x
个时间窗口该流的速率,单位:包数
/

(Packet Per Second

PPS)。
[0015]进一步,步骤
2)
中所述
sketch
结构是一个
Count

Min Sketch
,由
d

w
列二维数组结构组成,每一行对应一个哈希函数
hash
i

(0≤i≤d

1)
,哈希函数的入参是每条流的流
ID
字符串,输出是每条流在第
i
行数组的索引,即在每一行中,每一条流对应计数器的索引通过哈希确定,即
index

hash
i
(str)。
其中哈希函数通过
Bob
哈希函数实现,每个哈希函数的映射范围是
[0,w

1]。
[0016]再进一步,步骤
2)
中所述循环队列总共存在
w
个,每个循环队列由一个长度为
qSize
的一维数组构成

每次存入循环队列的元素是对应数据流的
d
个计数器中的最小值,其中数据流与其对应的循环队列之间的映射关系通过一个哈希函数计算出一个索引确定,同样地,该哈希函数的映射范围是
[0,w

1]。
[0017]步骤
2)
中所述的将对应数据流的
d
个计数器中的最小值存入对应的循环队列的时机依赖于一个长度为
w
的一维数组
timestamps
来判断

该数组中存放的是每条本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种高速网络场景下基于
sketch

DDoS
攻击检测方法,其特征在于,包括以下步骤:
1)
当数据包到达主机时,主机提取数据包的五元组信息生成流
ID
字符串
str
,所述五元组信息包括源
IP
,源端口

目标
IP、
目标端口以及协议类型;
2)
根据提取的流
ID
字符串得到流对应的
sketch
计数器

时间戳数组以及循环队列的索引,计算当前数据包到来的系统时间戳与一个一维数组中记录的该数据流之前时间戳的差值,如果该差值大于预设的时间窗口,则将
sketch
结构中对应流的计数器值存进该流对应的循环队列,并将数组中记录的时间戳更新为当前数据包到来的系统时间戳,随后将流的计数器值加1,如差值小于预设的时间窗口,则只需将流对应的计数器加1;
3)
每台主机根据预设的本地阈值,每隔一个时间周期
T1
遍历循环队列中的数据,判断各流在对应时间窗口的数据包计数之和是否超过本地阈值,如果超过,将对应流数据包总量,各时间窗口内的数据包数量等信息形成一张表上传到控制器;此外,每台主机每隔一个大的时间周期
T2
去检测流是否已经断开,将已断开的流的对应计数器和循环队列重置,以节省资源
。4)
控制器汇总所有主机上传的信息,根据上传的信息计算每条流的速率,观察每条流的速率随时间的变化特性,从而检测是否存在
DDoS
攻击;速率的计算公式如下:
diff

(q[tail]

q[head]+qSize)mod(qSize)
其中,
diff
是队头索引和队尾索引之间的差值,
q
是某条流对应的循环队列,
tail
是该循环队列的队尾索引,
head
是该循环队列的队头索引,
qSize
是该循环队列的长度,
w
是时间窗口大小,
x
表示往前
x
个时间窗口,
f(x)
表示从最新的时间窗口到前
x
个时间窗口该流的速率,单位:包数
/

(Packet Per Second

PPS)。2.
如权利要求1中所述的一种高速网络场景下基于
sketch

DDoS
攻击检测方法,其特征在于:步骤
2)
所述的
sketch
结构是一个
Count

Min Sketch
,由
d

w
列二维数组结构组成,每一行对应一个哈希函数
hash
i

(0≤i≤d

1)
,哈希函数的入参是每条流的流
ID
字符串,输出是每条流在第
i
行数组的索引,即在每一行中,每一条流对应计数器的索引通过哈希确定,即
index

hash
i
(str)
;其中哈希函数通过
Bob
哈希函数实现,每个哈希函数的映射范围是
[0,w

1]。3.
如权利要求1中所述的一种高速网络场景下...

【专利技术属性】
技术研发人员:温震宇张帮岩黄圣豪洪榛
申请(专利权)人:浙江工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1