DDoS攻击检测方法、装置、设备和可读存储介质与流程

文档序号:29789627发布日期:2022-04-23 17:08阅读:82来源:国知局
DDoS攻击检测方法、装置、设备和可读存储介质与流程
ddos攻击检测方法、装置、设备和可读存储介质
技术领域
1.本发明涉及网络安全技术领域,尤其涉及一种ddos攻击检测方法、装置、设备和可读存储介质。


背景技术:

2.分布式拒绝服务(distributed denial of service,ddos),是一种隐蔽的拒绝服务攻击,攻击者会选择代理主机来调度其它傀儡机(肉鸡)向目标主机发起网络请求。与dos攻击相比,ddos攻击在单条链路上的流量更小,难以被网络设备检测因而更易于形成,而ddos攻击汇聚后的异常流量总量很大,极具破坏力。近年来为躲避大部分已有的ddos攻击检测防御方法,黑客逐渐转为使用小流量的低速率的ddos攻击(如cc攻击),这给ddos攻击的检测带来了挑战。
3.目前ddos攻击检测方法包括:基于网络流量的统计监测异常流量、基于网络流量行为特征的检测、基于熵的检测方式等。上述方法都存在一定缺陷,如:基于网络流量统计的方法,不能有效区分正常的大流量和ddos攻击流量;基于网络流量行为特征的检测,需要较多训练数据,不能适应现网实时的要求;基于熵的检测方式大多采用固定阈值,也无法动态适应实时变化的网络环境。


技术实现要素:

4.本发明提出了一种ddos攻击检测方法、装置、设备和可读存储介质,提高检测效率及准确度,以适应实时变化的网络环境。
5.为了解决上述技术问题,本发明是这样实现的:
6.第一方面,本发明实施例提供了一种分布式拒绝服务ddos攻击检测方法,所述方法包括:
7.获取待监控ip的流量序列;
8.根据所述流量序列获取所述待监控ip的流量矩阵,并根据所述流量矩阵计算待监控ip的源ip信息熵;
9.确定所述待监控ip的源ip对应的动态基线,其中,所述动态基线是采用sg滤波器和指数加权移动平均方法对所述流量矩阵中的源ip信息熵进行拟合获得的;
10.将待监控ip的源ip信息熵和所述动态基线进行比较,判断是否存在ddos攻击。
11.可选的,所述获取待监控ip的流量序列包括:
12.对于预设周期内的每一天,按照固定时间间隔获取待监控ip的流量序列。
13.可选的,所述方法还包括:
14.将所述流量矩阵每列中的异常数据替换为所述异常数据所在列的平均值,所述异常数据包括不合理值和/或空数据。
15.可选的,所述根据所述流量矩阵计算待监控ip的源ip信息熵包括:
16.计算所述流量矩阵中,每个滑动时间窗口所在纵列内待监控ip的目标源ip的出现
的概率;
17.所述滑动时间窗口的长度为所述固定时间间隔的整数倍。
18.可选的,所述根据所述流量矩阵计算待监控ip的源ip信息熵还包括:
19.根据待监控ip中所有源ip在其对应的滑动时间窗口内出现的概率,生成所述待监控ip中的源ip在每个滑动窗口的信息熵时间序列。
20.可选的,所述确定所述待监控ip的源ip对应的动态基线包括:
21.通过sg滤波器的局域多项式最小二乘法拟合,对所述待监控ip的源ip的信息熵时间序列进行第一次平滑,得到第一数列;
22.通过指数加权移动平均对所述第一数列进行第二次平滑,获取各时间点的所述待监控ip的源ip信息熵基线值;
23.根据所述源ip信息熵基线值,生成所述待监控ip的源ip对应的动态基线。
24.可选的,所述方法还包括所述根据所述动态基线,确定ddos攻击识别阈值,包括:
25.计算所述流量矩阵中的元素到所述动态基线的方差;
26.根据所述方差,按照以下公式确定所述ddos攻击识别阈值:
[0027][0028]
其中,t∈(1,t),t为滑动时间窗口的总数,α为控制参数,为第t个时间窗口下流量矩阵中的元素到所述动态基线的方差。
[0029]
可选的,所述将待监控ip的源ip信息熵和所述动态基线进行比较,判断是否存在ddos攻击包括:
[0030]
若待监控ip的源ip的熵值在第一时间点大于第一阈值,则确定存在ddos攻击的概率大于预设值;
[0031]
若待监控ip的源ip的熵值在第二时间点小于所述第一阈值,则确定不存在ddos攻击的概率大于预设值。
[0032]
第二方面,本发明实施例提供了一种分布式拒绝服务ddos攻击检测装置,所述装置包括:
[0033]
第一接收模块,用于获取待监控ip的流量序列;
[0034]
第一处理模块,用于根据所述流量序列获取所述待监控ip的流量矩阵,并根据所述流量矩阵计算待监控ip的源ip信息熵;
[0035]
第二处理模块,用于确定所述待监控ip的源ip对应的动态基线,其中,所述动态基线是采用sg滤波器和指数加权移动平均方法对所述流量矩阵中的源ip信息熵进行拟合获得的;
[0036]
第三处理模块,用于将待监控ip的源ip信息熵和所述动态基线进行比较,,判断是否存在ddos攻击。
[0037]
可选的,所述第一接收模块包括:
[0038]
第一子接收模块,用于对于预设周期内的每一天,按照固定时间间隔获取待监控ip的流量序列。
[0039]
可选的,所述装置还包括:
[0040]
第四处理模块,用于将所述流量矩阵每列中的异常数据替换为所述异常数据所在
列的平均值,所述异常数据包括不合理值和/或空数据。
[0041]
可选的,所述第一处理模块包括:
[0042]
第一子处理模块,用于计算所述流量矩阵中,每个滑动时间窗口所在纵列内待监控ip的目标源ip的出现的概率;
[0043]
所述滑动时间窗口的长度为所述固定时间间隔的整数倍。
[0044]
可选的,所述第一处理模块还包括:
[0045]
第二子处理模块,用于根据待监控ip中所有源ip在其对应的滑动时间窗口内出现的概率,生成所述待监控ip中的源ip在每个滑动窗口的信息熵时间序列。
[0046]
可选的,所述第二处理模块包括:
[0047]
第三子处理模块,用于通过sg滤波器的局域多项式最小二乘法拟合,对所述待监控ip的源ip的信息熵时间序列进行第一次平滑,得到第一数列;
[0048]
通过指数加权移动平均对所述第一数列进行第二次平滑,获取各时间点的所述待监控ip的源ip信息熵基线值;
[0049]
根据所述源ip信息熵基线值,生成所述待监控ip的源ip对应的动态基线。
[0050]
可选的,所述装置还包括:
[0051]
第五处理模块,用于根据所述动态基线,确定ddos攻击识别阈值:
[0052]
计算所述流量矩阵中的元素到所述动态基线的方差;
[0053]
根据所述方差,按照以下公式确定所述ddos攻击识别阈值:
[0054][0055]
其中,t∈(1,t),t为滑动时间窗口的总数,α为控制参数,为第t个时间窗口下流量矩阵中的元素到所述动态基线的方差。
[0056]
可选的,所述第三处理模块包括:
[0057]
判断模块,用于执行以下判断:
[0058]
若待监控ip的源ip的熵值在第一时间点大于第一阈值,则确定存在ddos攻击的概率大于预设值;
[0059]
若待监控ip的源ip的熵值在第二时间点小于所述第一阈值,则确定不存在ddos攻击的概率大于预设值。
[0060]
第三方面,本发明实施例提供了一种分布式拒绝服务ddos攻击检测装置,所述装置包括:
[0061]
所述收发器,用于获取待监控ip的流量序列;
[0062]
所述处理器,用于根据所述流量序列获取所述待监控ip的流量矩阵,并根据所述流量矩阵计算待监控ip的源ip信息熵;
[0063]
所述处理器,还用于确定所述待监控ip的源ip对应的动态基线,其中,所述动态基线是采用sg滤波器和指数加权移动平均方法对所述流量矩阵中的源ip信息熵进行拟合获得的;
[0064]
所述处理器,还用于将待监控ip的源ip信息熵和所述动态基线进行比较,判断是否存在ddos攻击。
[0065]
可选的,所述收发器还用于对于预设周期内的每一天,按照固定时间间隔获取待
监控ip的流量序列。
[0066]
可选的,所述处理器还用于将所述流量矩阵每列中的异常数据替换为所述异常数据所在列的平均值,所述异常数据包括不合理值和/或空数据。
[0067]
可选的,所述处理还用于计算所述流量矩阵中,每个滑动时间窗口所在纵列内待监控ip的目标源ip的出现的概率;
[0068]
所述滑动时间窗口的长度为所述固定时间间隔的整数倍。
[0069]
可选的,所述处理器还用于根据待监控ip中所有源ip在其对应的滑动时间窗口内出现的概率,生成所述待监控ip中的源ip在每个滑动窗口的信息熵时间序列。
[0070]
可选的,所述处理器还用于通过sg滤波器的局域多项式最小二乘法拟合,对所述待监控ip的源ip的信息熵时间序列进行第一次平滑,得到第一数列;
[0071]
通过指数加权移动平均对所述第一数列进行第二次平滑,获取各时间点的所述待监控ip的源ip信息熵基线值;
[0072]
根据所述源ip信息熵基线值,生成所述待监控ip的源ip对应的动态基线。
[0073]
可选的,所处处理器还用于根据所述动态基线,确定ddos攻击识别阈值:
[0074]
计算所述流量矩阵中的元素到所述动态基线的方差;
[0075]
根据所述方差,按照以下公式确定所述ddos攻击识别阈值:
[0076][0077]
其中,t∈(1,t),t为滑动时间窗口的总数,α为控制参数,为第t个时间窗口下流量矩阵中的元素到所述动态基线的方差。
[0078]
可选的,判断是否存在ddos攻击包括时,所述处理还用于执行以下判断:
[0079]
若待监控ip的源ip的熵值在第一时间点大于第一阈值,则确定存在ddos攻击的概率大于预设值;
[0080]
若待监控ip的源ip的熵值在第二时间点小于所述第一阈值,则确定不存在ddos攻击的概率大于预设值。
[0081]
第四方面,本发明实施例提供了一种网络设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器,用于读取存储器中的程序实现如本发明实施例所述的ddos攻击检测方法中的步骤。
[0082]
第五方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明实施例所述的ddos攻击检测方法的步骤。
[0083]
本发明实施例提供的技术方案带来的有益效果至少包括:
[0084]
本发明提供的ddos攻击检测方法,通过获取待监控ip的流量序列获取流量矩阵,根据所述流量矩阵计算待监控ip的源ip信息熵,从而确定所述待监控ip的源ip对应的动态基线,之后将待监控ip的源ip信息熵和所述动态基线进行比较,判断是否存在ddos攻击,本技术提供的上述方法能够通过构建待监控ip的源ip信息熵动态基线,实现对待监控ip是否存在ddos攻击实时而快速的判断,既提高ddos检测效率及准确度,也能够适应实时变化的网络环境。
附图说明
[0085]
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0086]
图1为本发明实施例提供的一种ddos攻击检测方法流程图;
[0087]
图2为本发明实施例提供的一种ddos攻击检测方法基线拟合示意图;
[0088]
图3为本发明实施例提供的一种ddos攻击检测方法基线拟合示意图;
[0089]
图4为本发明实施例提供的一种ddos攻击检测装置结构示意图;
[0090]
图5为本发明实施例提供的一种ddos攻击检测装置结构示意图;
[0091]
图6为本发明实施例提供的一种网络设备结构示意图;
[0092]
图7为本发明实施例提供的一种网络设备结构示意图。
具体实施方式
[0093]
本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0094]
本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
[0095]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0096]
参考图1,图1为本发明实施例提供的ddos攻击检测方法的流程示意图,所述方法包括:
[0097]
步骤101,获取待监控ip的流量序列。
[0098]
具体的,待监控ip的流量序列中包括待监控ip的历史流量情况,在获取流量序列时可分为两种情况:节假日流量和正常日期的流量。由于对于一些访问量比较大的网络设备,节假日与正常工作日的流量浮动会很大,因此如果混合获取的话,很容易导致检测结果不准,因此分开获取待监控ip的节假日流量与工作日流量能够使检测结果更精准。
[0099]
可选的,步骤101中所述获取待监控ip的流量序列包括:
[0100]
对于预设周期内的每一天,按照固定时间间隔获取待监控ip的流量序列。
[0101]
示例性的,对于工作日待监控ip的流量序列获取,以y天为预设周期,获取这y天中,每天每隔5分钟的流量,生成待监控ip的流量序列,如:
[0102]
第1天待监控ip的流量序列为:a
11
,a
12

……
,a
1q

[0103]
第2天待监控ip的流量序列为:a
21
,a
22

……
,a
2q

[0104]
……
[0105]
第y天待监控ip的流量序列为:a
y1
,a
y2

……
,a
yq

[0106]
其中y为预设周期的天数,q为每一天的固定时间间隔数量,如设置预设周期为30天,固定时间间隔为5分钟时,则y=30,q为288。
[0107]
同理,对于节假日的待监控ip的流量序列,为了保证数据的充分,则可以以历史半
年节假日为预设周期,获取流量序列。
[0108]
步骤102,根据所述流量序列获取所述待监控ip的流量矩阵,并根据所述流量矩阵计算待监控ip的源ip信息熵。
[0109]
具体的,所述流量序列包括了待监控ip在预设周期中,每天的每个固定时间间隔的流量序列,示例性的,参考上文步骤中的流量序列,则生成的流量矩阵为:
[0110][0111]
其中,y为预设周期天数,q为每天的固定时间间隔数。如,设置预设周期为30天,固定时间间隔为5分钟时,则q为288,则此时该流量矩阵共有288纵列,30行。上述矩阵的横列为预设周期中,待监控ip在某一天的每个固定时间间隔的流量序列,纵列为待监控ip在预设周期的第一天至第y天,某一个固定时间间隔的流量序列。
[0112]
可选的,步骤102中,所述根据所述流量矩阵计算待监控ip的源ip信息熵包括:
[0113]
计算所述流量矩阵中,每个滑动时间窗口所在纵列内待监控ip的目标源ip的出现的概率;
[0114]
所述滑动时间窗口的长度为所述固定时间间隔的整数倍。
[0115]
具体的,如设定滑动时间窗口的长度为固定时间间隔的12倍,如固定时间间隔为5分钟,则滑动时间窗口的长度为60分钟,此时所述流量矩阵一共有288列,滑动时间窗口的数量为12个。
[0116]
示例性的,计算流量矩阵中每个滑动时间窗口内的各纵列(各时间段为固定时间间隔)源ip的信息熵,为了避免单个样本的突发流量对整体的影响,所以累计纵向的滑动窗口内,滑动窗口可以设置为流量矩阵列的整数倍。
[0117]
在滑动窗口内,目标源ip在预设天数的样本中(即在流量矩阵中的滑动时间窗口内出现的概率)出现的概率情况p
t
(xi):
[0118][0119]
其中,xi表示时间窗口t内出现的所有源ip中的第i个源ip,t∈(1,t)。由于有不同的设备、网络不断在访问待监控ip,因此及时是在同一个滑动时间窗口内也会出现多种不同源ip,因此,需要分别计算出每一个滑动时间窗口内的每一个出现的源ip在该滑动时间窗口内出现的概率。
[0120]
可选的,步骤102中,所述根据所述流量矩阵计算待监控ip的源ip信息熵还包括:
[0121]
根据待监控ip中所有源ip在其对应的滑动时间窗口内出现的概率,生成所述待监控ip中的源ip在每个滑动窗口的信息熵时间序列。
[0122]
具体的,根据待监控ip中所有源ip在其对应的滑动时间窗口内出现的概率,以及每一个滑动时间窗口内所有源ip的出现概率生成每一个待监控ip的每一个滑动时间窗口内的源ip信息熵,具体计算公式如下:
[0123][0124]
其中,h(sip)
t
表示待监控ip的第t个滑动时间窗口的源ip信息熵,t∈(1,t),t为待监控ip的滑动时间窗t的总数,n为该滑动时间窗口内的源ip的总数。
[0125]
之后,再根据每一个待监控ip的每一个滑动时间窗口的源ip信息熵生成所述信息熵时间序列,示例性的,如一共有12个滑动时间窗口,则生成的信息熵时间序列为:
[0126]
[h1,h2,

,h
t-1
,h
t
]
[0127]
其中源ip分布越分散熵值越大,而分布越集中熵值越小,所以熵值的大小体现了源ip分布的集中或分散程度。
[0128]
步骤103,确定所述待监控ip的源ip对应的动态基线,其中,所述动态基线是采用sg滤波器和指数加权移动平均方法对所述流量矩阵中的源ip信息熵进行拟合获得的;
[0129]
具体的,根据上述步骤中获取的所述待监控ip中的源ip在每个滑动窗口的信息熵时间序列,进行多次平滑,可以获得所述待监控ip的源ip对应的动态基线。
[0130]
值得注意的是,对于网络流量由于ddos攻击、突发事件、上网行为、上网时间、网络故障、记录故障等因素的影响,导致网络流量的突然上升或下降,具有强烈的随机动态变化特点,即为网络流量构建基线过程中的噪音,所以模型构建的关键是消除网络噪音的影响。在无人工干预的情况下采用平滑算法,可以自动减少波动数据的影响,其中对于平滑算法的选择有如下注意事项:
[0131]
1.系数k的选择问题:当k比较小时,预测的数据平滑效果不明显,而且突出反映了数据最近的变化;当k较大时,有较好的平滑效果,但数据不敏感会存在延迟现象;
[0132]
2.若采用普通的移动平均法则运算复杂,对引进的新数据,需要全部计算修改平均值;
[0133]
3.数据基线为非人工干预的自动拟合,所以不但要平滑出大的波动,而且也要很好的平滑小的波动的对基线的影响。
[0134]
考虑以上问题,本发明实施例针对待监控ip中的源ip在每个滑动窗口的信息熵时间序列,采用sg滤波器(savitzky-golay)和指数加权移动平均的结合方法,自适应拟合生基于成源ip信息熵的基线,获得适合各时间点的动态阈值曲线。
[0135]
可选的,步骤103中,所述确定所述待监控ip的源ip对应的动态基线包括:
[0136]
通过sg滤波器的局域多项式最小二乘法拟合,对所述待监控ip的源ip的信息熵时间序列进行第一次平滑,得到第一数列;
[0137]
通过指数加权移动平均对所述第一数列进行第二次平滑,获取各时间点的所述待监控ip的源ip信息熵基线值;
[0138]
根据所述源ip信息熵基线值,生成所述待监控ip的源ip对应的动态基线。
[0139]
其中,sg滤波器是一种在时域内基于局域多项式最小二乘法拟合的方法,它的特点在于可过识别网络中的ddos攻击等突发引起的源ip信息熵的较大的波动,同时可以确其他基线保波形的形状、宽度不变。
[0140]
具体的,平滑方式示意如下:
[0141]
通过sg滤波器的局域多项式最小二乘法拟合,对所述待监控ip的源ip的信息熵时间序列进行第一次平滑,得到第一数列:
[0142]
对前述步骤中获取的所述待监控ip的源ip的信息熵时间序列[h1,h2,

,h
t-1
,h
t
]中的每个数据通过h
t
[n](n∈[-m,m],n=2m+1)用k+1多项式进行拟合,其中h
t
分别取[h1,h2,

,h
t-1
,h
t
]中的值,对其中的每个数据进行平滑,以h
t
的前后m个数据进行拟合,pn为h
t
[n]平滑后的数据表示为:
[0143][0144]
其中,m、k、k、α均为参数,可以根据预设进行调整。
[0145]
p表示数据h
t
平滑后的数据,相应的展开数据为:
[0146][0147]
可以根据均方误差获得αk(k=0,

,k)的值。
[0148]
使用sg平滑滤波器对源ip信息熵平滑时,实际上是将比较大波动成分平滑出去了,最大程度的保留了流量中剩余成分,但sg滤波器无法有效平滑小波动(如参考图2中,时间点5:33-8:20之间的随机波动),或是平滑处理后的大波动会对平滑曲线造成拐点影响(参考图2中示出的sg平滑后的曲线)。
[0149]
具体的,通过指数加权移动平均对所述第一数列进行第二次平滑,获取各时间点的所述待监控ip的源ip信息熵基线值如下示意:
[0150][0151]
其中β∈(0,1)的权重,h
t
为第t时间点的拟合值,y
t
为第t个时间点的实际值
[0152]
其中第一个时间点的数据则为原值,第t时刻拟合的源ip信息熵和之前时刻的信息熵关系如下:
[0153][0154][0155]
……
[0156][0157]
示例性的,α若取0.1意味着时间窗为10天内的数据,从公式中可以看到,时间越靠近当前时刻的数据影响力越大,各时刻信息熵的权重系数以指数形式缩小,这样也就消除了突发的波动的影响。
[0158]
最后平滑拟合后的各时间点的源ip信息熵基线值为:
[0159][0160]
其中,t0,t1,
……
,t
t
表示各个滑动时间窗口首尾时刻。
[0161]
参考图3示出了sg平滑后和加权平均后的基线,可看出,sg+指数加权移动平均法,其sg法有效的去除大波动的影响,而指数加权移动平均法在此基础上平滑小波动,二者结
合较好的反应了源ip信息熵在时间序列的变化趋势;模型的加权系数也是随着时间以指数形式递减的,避免了权重选择复杂的运算问题,符合实际场景平滑窗口内越靠近中心数据的权重越大,越靠近平滑窗口边缘的点权重越小;其运算速度快,从公式可以发现当前的数据确定可以根据历史指数加权移动平均值,适应模型随时更改。
[0162]
可选的,步骤103中,所述方法还包括所述根据所述动态基线,确定ddos攻击识别阈值:
[0163]
计算所述流量矩阵中的元素到所述动态基线的方差;
[0164]
根据所述方差,按照以下公式确定所述ddos攻击识别阈值:
[0165][0166]
其中,t∈(1,t),t为滑动时间窗口的总数,α为控制参数,为第t个时间窗口下流量矩阵中的元素到所述动态基线的方差。
[0167]
具体的,方差按照以下公式进行计算:
[0168][0169]
m是指m天(比如30天),j从1取到m天。t=1,2,...t,表示时间序列数,与滑动时间窗口数量t一致。
[0170]
步骤104,将待监控ip的源ip信息熵和所述动态基线进行比较,判断是否存在ddos攻击。
[0171]
可选的,步骤104,所述将待监控ip的源ip信息熵和所述动态基线进行比较,判断是否存在ddos攻击包括:
[0172]
若待监控ip的源ip的熵值在第一时间点大于第一阈值,则确定存在ddos攻击的概率大于预设值;
[0173]
若待监控ip的源ip的熵值在第二时间点小于所述第一阈值,则确定不存在ddos攻击的概率大于预设值。
[0174]
具体的,本发明提供的ddos攻击检测方法,用于快速检测和判断是否存在ddos攻击,但是具体的网络攻击类型还需要通过结合其他软件进一步确定,如:源ip地址的熵值在某一点发生突起大于第一阈值,这就说明在该时点时出现的源ip数目是较分散、较多的,出现ddos攻击的概率较大;相反,如果在该点的熵值发生下陷小于第一阈值,则说明在时间内源ip地址数目较为集中,这可能是某些蠕虫病毒发作时感染大量其他主机的表征,出现ddos攻击的概率很小,通过不同情况的存在ddos攻击的概率,来进行快速判断。
[0175]
可选的,所述方法还包括:
[0176]
将所述流量矩阵每列中的异常数据替换为所述异常数据所在列的平均值,所述异常数据包括不合理值和/或空数据。
[0177]
在建立流量矩阵时,能够排除一些异常数据,使得矩阵中的噪音更小,模型判断结果更准确。
[0178]
可选的,在后续实时监控现网每日流量情况时,可根据日期判定待比较的模型为节假日流量或工作日流量模型,计算各种时间窗内的源ip信息熵值,可以直接找到相应的时间窗基线值,直接进行信息熵计算,并与阈值进行比较,判断是否为ddos攻击。如果目标
时间窗内30%的源ip信息熵值临近阈值,则预示着系统阈值不太适合目前情况,可能会存在误报的情况,可将新数据更新到模型中重新进行基线的拟合,重新生成ddos攻击识别阈值。
[0179]
综上所述,本发明实施例提供的ddos攻击检测方法,通过获取待监控ip的流量序列获取流量矩阵,根据所述流量矩阵计算待监控ip的源ip信息熵,从而确定所述待监控ip的源ip对应的动态基线,之后将待监控ip的源ip信息熵和所述动态基线进行比较,判断是否存在ddos攻击,本技术提供的上述方法能够通过构建待监控ip的源ip信息熵动态基线,实现对待监控ip是否存在ddos攻击实时而快速的判断,既提高ddos检测效率及准确度,也能够适应实时变化的网络环境。
[0180]
并且,本发明提供的ddos攻击检测方法,在后续使用中,还能够通过检测结果对动态基线进行重新构建或参数调整,以适应实时变化的网络环境。
[0181]
请参考图4,本发明实施例提供了一种分布式拒绝服务ddos攻击检测装置40,所述装置包括:
[0182]
第一接收模块41,用于获取待监控ip的流量序列;
[0183]
第一处理模块42,用于根据所述流量序列获取所述待监控ip的流量矩阵,并根据所述流量矩阵计算待监控ip的源ip信息熵;
[0184]
第二处理模块43,用于确定所述待监控ip的源ip对应的动态基线,其中,所述动态基线是采用sg滤波器和指数加权移动平均方法对所述流量矩阵中的源ip信息熵进行拟合获得的;
[0185]
第三处理模块44,用于将待监控ip的源ip信息熵和所述动态基线进行比较,判断是否存在ddos攻击。
[0186]
可选的,参考图5,所述第一接收模块包括:
[0187]
第一接收子模块411,用于对于预设周期内的每一天,按照固定时间间隔获取待监控ip的流量序列。
[0188]
可选的,参考图5,所述装置40还包括:
[0189]
第四处理模块45,用于将所述流量矩阵每列中的异常数据替换为所述异常数据所在列的平均值,所述异常数据包括不合理值和/或空数据。
[0190]
可选的,参考图5,所述第一处理模块42包括:
[0191]
第一处理子模块421,用于计算所述流量矩阵中,每个滑动时间窗口所在纵列内待监控ip的目标源ip的出现的概率;
[0192]
所述滑动时间窗口的长度为所述固定时间间隔的整数倍。
[0193]
可选的,参考图5,所述第一处理模块42还包括:
[0194]
第二处理子模块422,用于根据待监控ip中所有源ip在其对应的滑动时间窗口内出现的概率,生成所述待监控ip中的源ip在每个滑动窗口的信息熵时间序列。
[0195]
可选的,参考图5,所述第二处理模块43包括:
[0196]
第三子处理模块431,用于通过sg滤波器的局域多项式最小二乘法拟合,对所述待监控ip的源ip的信息熵时间序列进行第一次平滑,得到第一数列;
[0197]
通过指数加权移动平均对所述第一数列进行第二次平滑,获取各时间点的所述待监控ip的源ip信息熵基线值;
[0198]
根据所述源ip信息熵基线值,生成所述待监控ip的源ip对应的动态基线。
[0199]
可选的,参考图5,所述装置40还包括:
[0200]
第五处理模块46,用于根据所述动态基线,确定ddos攻击识别阈值:
[0201]
计算所述流量矩阵中的元素到所述动态基线的方差;
[0202]
根据所述方差,按照以下公式确定所述ddos攻击识别阈值:
[0203][0204]
其中,t∈(1,t),t为滑动时间窗口的总数,α为控制参数,为第t个时间窗口下流量矩阵中的元素到所述动态基线的方差。
[0205]
可选的,参考图5,所述第三处理模块44包括:
[0206]
判断模块441,用于执行以下判断:
[0207]
若待监控ip的源ip的熵值在第一时间点大于第一阈值,则确定存在ddos攻击的概率大于预设值;
[0208]
若待监控ip的源ip的熵值在第二时间点小于所述第一阈值,则确定不存在ddos攻击的概率大于预设值。
[0209]
请参考图6,本发明实施例还提供了一种分布式拒绝服务ddos攻击检测装置60,所述装置60包括:
[0210]
所述收发器62,用于获取待监控ip的流量序列;
[0211]
所述处理器61,用于根据所述流量序列获取所述待监控ip的流量矩阵,并根据所述流量矩阵计算待监控ip的源ip信息熵;
[0212]
所述处理器61,还用于确定所述待监控ip的源ip对应的动态基线,其中,所述动态基线是采用sg滤波器和指数加权移动平均方法对所述流量矩阵中的源ip信息熵进行拟合获得的;
[0213]
所述处理器61,还用于将待监控ip的源ip信息熵和所述动态基线进行比较,判断是否存在ddos攻击。
[0214]
可选的,所述收发器62还用于对于预设周期内的每一天,按照固定时间间隔获取待监控ip的流量序列。
[0215]
可选的,所述处理器61还用于将所述流量矩阵每列中的异常数据替换为所述异常数据所在列的平均值,所述异常数据包括不合理值和/或空数据。
[0216]
可选的,所述处理器61还用于计算所述流量矩阵中,每个滑动时间窗口所在纵列内待监控ip的目标源ip的出现的概率;
[0217]
所述滑动时间窗口的长度为所述固定时间间隔的整数倍。
[0218]
可选的,所述处理器61还用于根据待监控ip中所有源ip在其对应的滑动时间窗口内出现的概率,生成所述待监控ip中的源ip在每个滑动窗口的信息熵时间序列。
[0219]
可选的,所述处理器61还用于通过sg滤波器的局域多项式最小二乘法拟合,对所述待监控ip的源ip的信息熵时间序列进行第一次平滑,得到第一数列;
[0220]
通过指数加权移动平均对所述第一数列进行第二次平滑,获取各时间点的所述待监控ip的源ip信息熵基线值;
[0221]
根据所述源ip信息熵基线值,生成所述待监控ip的源ip对应的动态基线。
[0222]
可选的,所述处理器61还用于根据所述动态基线,确定ddos攻击识别阈值:
[0223]
计算所述流量矩阵中的元素到所述动态基线的方差;
[0224]
根据所述方差,按照以下公式确定所述ddos攻击识别阈值:
[0225][0226]
其中,t∈(1,t),t为滑动时间窗口的总数,α为控制参数,为第t个时间窗口下流量矩阵中的元素到所述动态基线的方差。
[0227]
可选的,判断是否存在ddos攻击包括时,所述处理还用于执行以下判断:
[0228]
若待监控ip的源ip的熵值在第一时间点大于第一阈值,则确定存在ddos攻击的概率大于预设值;
[0229]
若待监控ip的源ip的熵值在第二时间点小于所述第一阈值,则确定不存在ddos攻击的概率大于预设值。
[0230]
请参考图7,本发明实施例还提供一种网络设备70,包括处理器71,存储器72,存储在存储器72上并可在所述处理器81上运行的计算机程序,该计算机程序被处理器71执行时实现上述ddos攻击检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0231]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述ddos攻击检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
[0232]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0233]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0234]
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1