CN115714685A - 一种DDoS攻击检测方法、系统、设备及介质 - Google Patents
一种DDoS攻击检测方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN115714685A CN115714685A CN202211467052.0A CN202211467052A CN115714685A CN 115714685 A CN115714685 A CN 115714685A CN 202211467052 A CN202211467052 A CN 202211467052A CN 115714685 A CN115714685 A CN 115714685A
- Authority
- CN
- China
- Prior art keywords
- address
- abnormal
- bit
- ddos attack
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 153
- 230000002159 abnormal effect Effects 0.000 claims abstract description 226
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 31
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000010276 construction Methods 0.000 claims abstract description 17
- 239000013598 vector Substances 0.000 claims description 99
- 239000011159 matrix material Substances 0.000 claims description 77
- 230000002776 aggregation Effects 0.000 claims description 51
- 238000004220 aggregation Methods 0.000 claims description 51
- 239000012634 fragment Substances 0.000 claims description 49
- 230000006870 function Effects 0.000 claims description 36
- 238000012847 principal component analysis method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 11
- 238000001914 filtration Methods 0.000 claims description 5
- 230000002547 anomalous effect Effects 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 47
- 108010051088 Delta Sleep-Inducing Peptide Proteins 0.000 description 22
- 238000000513 principal component analysis Methods 0.000 description 18
- 230000005856 abnormality Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 101150101918 TSC22D3 gene Proteins 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种DDoS攻击检测方法、系统、设备及介质,涉及计算机网络与信息安全技术领域。该方法包括:获取目标网络中的各局部检测设备发送的异常警报信息;异常警报信息包括异常聚合流标识、异常发生时间、对应的设备标识和对应的位选择哈希函数的构造参数;根据各异常警报信息分别确定各局部检测设备的异常爆发期;根据各局部检测设备的异常爆发期的重叠情况判断目标网络中是否存在DDoS攻击;若是,则确定DDoS攻击的攻击时间段,并采用地址智能重构算法,根据DDoS攻击的攻击时间段内的各异常警报信息确定受害者IP地址。本发明能够实现快速、准确地检测网络中的DDoS攻击以及识别攻击受害者。
Description
技术领域
本发明涉及计算机网络与信息安全技术领域,特别是涉及一种DDoS攻击检测方法、系统、设备及介质。
背景技术
随着云计算在互联网上变得无处不在,它为许多严重的攻击打开了大门,特别是分布式拒绝服务(Distributed Denial ofService,DDoS)攻击。DDoS攻击是云安全面临的最严重威胁之一,它对云服务的影响甚至超过对普通互联网服务的影响。将云视为固有的多租户基础设施,针对单个客户的DDoS攻击实际上针对的是云中的所有客户。近年来,DDoS攻击在数量和破坏力上都在不断发展。2010年最大的DDoS攻击峰值带宽超过100Gbps。如此规模的DDoS攻击可以轻易破坏任意的在线服务,造成巨大的经济损失。云提供商需要做更多的工作来确保其云服务的可用性。
因此,如何应对针对在线服务的DDoS攻击成为研究的重点。然而,DDoS攻击存在攻击源分散、集中检测困难等问题,现有的DDoS攻击对抗策略受到当前互联网不断增长的链路带宽和不明显的DDoS攻击源的影响,无法快速、准确地检测网络中的DDoS攻击以及识别攻击受害者。
发明内容
本发明的目的是提供一种DDoS攻击检测方法、系统、设备及介质,以实现快速、准确地检测网络中的DDoS攻击以及识别攻击受害者。
为实现上述目的,本发明提供了如下方案:
一种DDoS攻击检测方法,所述方法包括:
获取目标网络中的各局部检测设备发送的异常警报信息;所述异常警报信息包括异常聚合流标识、异常发生时间、对应的设备标识和对应的位选择哈希函数的构造参数;所述异常聚合流标识用于表示目标网络流量中异常流量的聚集特征;所述聚集特征是由基于分布式概要数据结构的位选择哈希函数确定的;
根据各所述异常警报信息分别确定各所述局部检测设备的异常爆发期;
根据各所述局部检测设备的异常爆发期的重叠情况判断目标网络中是否存在DDoS攻击;
若是,则确定所述DDoS攻击的攻击时间段,并采用地址智能重构算法,根据所述DDoS攻击的攻击时间段内的各所述异常警报信息确定受害者IP地址;所述受害者IP地址用于定位DDoS攻击受害者或过滤DDoS攻击流。
可选地,所述异常警报信息的生成方法,具体包括:
采用基于分布式概要数据结构的位选择哈希函数确定目标网络流量的聚集特征,并将目标网络流量中具有相同聚集特征的数据包划分为一个聚合流,得到多个聚合流;所述聚集特征为数据包的源IP地址、目的IP地址或TCP报文标志位;
分别统计每个采样间隔内各所述聚合流到达的报文数量,得到流量矩阵;
采用主成分分析方法,根据所述流量矩阵确定异常聚合流标识和异常发生时间;
根据所述异常聚合流标识、所述异常发生时间、对应的设备标识和对应的位选择哈希函数的构造参数生成异常警报信息。
可选地,所述采用主成分分析方法,根据所述流量矩阵确定异常聚合流标识和异常发生时间,具体包括:
删除所述流量矩阵中的全零列向量,得到简化流量矩阵;
将所述简化流量矩阵沿列向量方向划分为多个子流量矩阵;
采用主成分分析方法,分别对各所述子流量矩阵进行异常检测,得到多个异常子向量;
分别将各所述异常子向量在所述简化流量矩阵中对应的行向量确定为异常行向量;
根据所述异常行向量确定异常聚合流标识和异常发生时间。
可选地,所述根据各所述局部检测设备的异常爆发期的重叠情况判断目标网络中是否存在DDoS攻击,具体包括:
统计所述异常爆发期在时间上存在重叠的所述局部检测设备的数量;
若所述异常爆发期在时间上存在重叠的所述局部检测设备的数量大于设定数量,则目标网络中存在DDoS攻击;
若所述异常爆发期在时间上存在重叠的所述局部检测设备的数量小于或等于设定数量,则目标网络中不存在DDoS攻击。
可选地,所述采用地址智能重构算法,根据所述DDoS攻击的攻击时间段内的各所述异常警报信息确定受害者IP地址,具体包括:
根据所述DDoS攻击的攻击时间段内的各所述异常警报信息的异常聚合流标识和对应的位选择哈希函数的构造参数确定IP地址离散片段集合;所述IP地址离散片段集合中包括多个比特位数相同的IP地址离散片段;
分别统计所述IP地址离散片段集合中的各比特位的值为1的IP地址离散片段的数量和各比特位的值为0的IP地址离散片段的数量,得到所述IP地址离散片段集合对重构IP地址中的各比特位的指定情况;所述重构IP地址的比特位与所述IP地址离散片段的比特位一一对应;
根据所述指定情况,将所述IP地址离散片段集合中的噪音IP地址离散片段删除,保留主流IP地址离散片段;
根据各所述主流IP地址离散片段确定所述重构IP地址中的各比特位的状态;所述状态包括:确定状态0、确定状态1、模糊状态和未知状态;
从各所述主流IP地址离散片段中确定与所述重构IP地址的匹配程度最高的IP地址离散片段;
根据与所述重构IP地址的匹配程度最高的IP地址离散片段及所述重构IP地址确定受害者IP地址。
可选地,所述采用主成分分析方法,分别对各所述子流量矩阵进行异常检测,得到多个异常子向量,具体包括:
采用主成分分析方法,分别确定各所述子流量矩阵对应的特征值和特征向量;
根据所述特征值和累积贡献率阈值,分别将各所述子流量矩阵对应的所述特征向量划分为正常子空间和异常子空间;所述累积贡献率阈值是根据各所述特征向量对异常流量的贡献率确定的;
分别计算各所述子流量矩阵的每个行向量在对应的异常子空间上的投影的欧式范数;
将所述欧式范数大于设定阈值的所述子流量矩阵的行向量作为异常子向量。
可选地,所述根据各所述主流IP地址离散片段确定所述重构IP地址中的各比特位的状态,具体包括:
对于所述重构IP地址中的任意一个比特位,若全部所述主流IP地址离散片段中的对应比特位的值为0的比例大于或等于最高设定比例,且全部所述主流IP地址离散片段中的对应比特位的值为1的比例小于最低设定比例,则所述重构IP地址中的所述比特位的状态为确定状态0;所述最低设定比例小于所述最高设定比例;
对于所述重构IP地址中的任意一个比特位,若全部所述主流IP地址离散片段中的对应比特位的值为1的比例大于或等于最高设定比例,且全部所述主流IP地址离散片段中的对应比特位的值为0的比例小于最低设定比例,则所述重构IP地址中的所述比特位的状态为确定状态1;
对于所述重构IP地址中的任意一个比特位,若全部所述主流IP地址离散片段中的对应比特位的值为0的比例和全部所述主流IP地址离散片段中的对应比特位的值为1的比例均大于或等于最低设定比例,则所述重构IP地址中的所述比特位的状态为模糊状态;
对于所述重构IP地址中的任意一个比特位,若全部所述主流IP地址离散片段中的对应比特位的值为0的比例和全部所述主流IP地址离散片段中的对应比特位的值为1的比例均小于最低设定比例,则所述重构IP地址中的所述比特位的状态为未知状态。
一种DDoS攻击检测系统,所述系统包括:全局检测设备和多个局部检测设备;各所述局部检测设备分别与所述全局检测设备连接;
所述局部检测设备用于:
生成异常警报信息,并将所述异常警报信息发送至所述全局检测设备;
所述全局检测设备用于:
获取目标网络中的各局部检测设备发送的异常警报信息;所述异常警报信息包括异常聚合流标识、异常发生时间、对应的设备标识和对应的位选择哈希函数的构造参数;所述异常聚合流标识用于表示目标网络流量中异常流量的聚集特征;所述聚集特征是由基于分布式概要数据结构的位选择哈希函数确定的;
根据各所述异常警报信息分别确定各所述局部检测设备的异常爆发期;
根据各所述局部检测设备的异常爆发期的重叠情况判断目标网络中是否存在DDoS攻击;
若是,则确定所述DDoS攻击的攻击时间段,并采用地址智能重构算法,根据所述DDoS攻击的攻击时间段内的各所述异常警报信息确定受害者IP地址;所述受害者IP地址用于定位DDoS攻击受害者或过滤DDoS攻击流。
一种电子设备,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述的DDoS攻击检测方法。
一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述的DDoS攻击检测方法。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供的DDoS攻击检测方法,采用基于分布式概要数据结构的位选择哈希函数确定目标网络流量的聚集特征,从而将网络流量划分为不同的聚合流,通过对聚合流进行分析,能够确定异常聚合流标识和异常发生时间,生成异常警报信息,进而可以结合DDoS攻击的分布式特点,根据所有局部检测设备生成的异常警报信息判断网络中是否存在DDoS攻击,并反向推导重构受害者IP地址,解决了现有技术中DDoS攻击的攻击源分散,集中检测困难的问题,能够快速、准确地检测网络中的DDoS攻击以及识别攻击受害者。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的DDoS攻击检测方法的流程图;
图2为本发明实施例提供的基于位选择哈希函数的聚合流划分示意图;
图3为本发明实施例提供的流量矩阵示意图;
图4为本发明实施例提供的基于异常爆发期的DDoS攻击判定示意图;
图5为本发明实施例提供的IP地址离散片段的确定方法示意图;
图6为本发明实施例提供的IP地址智能重构过程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种DDoS攻击检测方法、系统、设备及介质,以实现快速、准确地检测网络中的DDoS攻击以及识别攻击受害者。
本发明主要关注的是检测,更重要的是,受害者识别的网络范围的DDoS攻击,从而有助于快速反应这种毁灭性的攻击。挑战在于,从这个角度来看,一个有前途的DDoS对抗系统必须具有以下属性。(1)检测隐蔽攻击流能力强:系统应具有检测低轮廓网络异常的能力,以便及早发现DDoS攻击;(2)处理数据维度低:为了识别DDoS攻击的受害者ip地址,在处理高维数据时需要降维机制,如每ip流量统计;(3)性能开销小:系统中应避免昂贵的计算开销和内存消耗;(4)交互信息少:如果系统是分布式的,协作节点传输的数据尽可能少,不会加剧持续的DDoS攻击造成的网络拥塞。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
如图1所示,本发明提供一种DDoS攻击检测方法,所述方法包括:
步骤S1:获取目标网络中的各局部检测设备发送的异常警报信息;所述异常警报信息包括异常聚合流标识、异常发生时间、对应的设备标识和对应的位选择哈希函数的构造参数;所述异常聚合流标识用于表示目标网络流量中异常流量的聚集特征;所述聚集特征是由基于分布式概要数据结构的位选择哈希函数确定的。
步骤S2:根据各所述异常警报信息分别确定各所述局部检测设备的异常爆发期。
步骤S3:根据各所述局部检测设备的异常爆发期的重叠情况判断目标网络中是否存在DDoS攻击。
步骤S4:若是,则确定所述DDoS攻击的攻击时间段,并采用地址智能重构算法,根据所述DDoS攻击的攻击时间段内的各所述异常警报信息确定受害者IP地址;所述受害者IP地址用于定位DDoS攻击受害者或过滤DDoS攻击流。
为了执行上述方法,以实现相应的功能和技术效果,本发明还提供一种DDoS攻击检测系统,所述系统包括:全局检测设备和多个局部检测设备;各所述局部检测设备分别与所述全局检测设备连接。其中:
所述局部检测设备用于:生成异常警报信息,并将所述异常警报信息发送至所述全局检测设备。
所述全局检测设备用于:获取目标网络中的各局部检测设备发送的异常警报信息;所述异常警报信息包括异常聚合流标识、异常发生时间、对应的设备标识和对应的位选择哈希函数的构造参数;所述异常聚合流标识用于表示目标网络流量中异常流量的聚集特征;所述聚集特征是由基于分布式概要数据结构的位选择哈希函数确定的;根据各所述异常警报信息分别确定各所述局部检测设备的异常爆发期;根据各所述局部检测设备的异常爆发期的重叠情况判断目标网络中是否存在DDoS攻击;若是,则确定所述DDoS攻击的攻击时间段,并采用地址智能重构算法,根据所述DDoS攻击的攻击时间段内的各所述异常警报信息确定受害者IP地址;所述受害者IP地址用于定位DDoS攻击受害者或过滤DDoS攻击流。其中,基于各所述局部检测设备的异常爆发期确定所述DDoS攻击的攻击时间段。
具体地,本发明是一种基于分布式概要数据结构的流量信息统计组织技术,该技术借助一种全新的哈希函数BitHash(即位选择哈希函数),支持基于目的IP地址的流量统计和基于哈希值的反向地址重构。在分布式概要数据结构的基础上,提出一种分布式的DDoS攻击检测方法。该方法具备检测隐蔽攻击流能力强(low profile)、处理数据维度低(low dimension)、性能开销小(low overhead)、交互信息少(low transmission)的特点,因此命名为FLOW。FLOW不仅能够快速、准确地检测网络中的DDoS攻击,同时还具备识别攻击受害者的功能。凭借BitHash显式关联哈希值与IP地址的特点,FLOW大大减少了重构攻击受害者IP地址的计算开销,实现了轻量级的受害者识别过程。FLOW的输出结果能有效辅助响应机制过滤攻击流量,从而尽快提升受害系统或目标网络的服务质量。
进一步地,本发明针对DDoS攻击攻击源分散、集中检测困难等问题,提出一个分布式的DDoS攻击检测系统FLOW。该FLOW系统包括一个全局检测设备(Global Detector,GD)和多个局部检测设备(Local Detector,LD)。
下面结合上述方法及系统,对本发明提供的方案进行详细论述。
步骤S1中,所述异常警报信息的生成方法,具体包括:
步骤S11:采用基于分布式概要数据结构的位选择哈希函数确定目标网络流量的聚集特征,并将目标网络流量中具有相同聚集特征的数据包划分为一个聚合流,得到多个聚合流;所述聚集特征为数据包的源IP地址、目的IP地址或TCP报文标志位。
在实际应用中,FLOW系统在检测网络流量异常时,将网络流量划分为多个聚合流,并针对每个聚合流判断异常变化。聚合流是介于保存每个IP流状态和OD流矩阵之间的一种网络流量采集粒度,一方面,能够避免保存每个IP流状态带来的庞大开销,另一方面,将异常定位到聚合流能够辅助识别攻击受害者。FLOW系统利用位选择哈希函数划分聚合流,使得反向推导受害者IP的过程更简便,开销更小。其中,聚合流(Traffic Aggregate,TA)是指:根据预定义的某种共同特征将网络流量划分为多个子集,每个子集称为一个聚合流。
设Γ表示单位时间内采集到的网络流量集合,条件语句表示数据包pkt具有特征common,则具有特征common的数据包构成的聚合流为上述公式中的common可以是数据包的任意属性特征,如源IP地址、目的IP地址、TCP报文标志位等。若common为特定目的IP地址,则划分聚合流退化为保存每个目的IP流状态。定义共同特征common时,应避免划分的聚合流之间存在交集。若Γ′和Γ″均为流量集合Γ的聚合流,则要求给定构造参数mask,可以利用位选择哈希函数(即BitHash函数)Fmask定义流量聚集的共同特征。common:Fmask(pkt→dstip)=index其中,dstip为数据包pkt的目的IP地址。在BitHash函数Fmask作用下,index相同的数据包被划分到同一个聚合流中。结合BitHash构造方法可以知道,一个数据包只属于一个聚合流,任意两个聚合流没有相同的元素。假设index长度为k,那么BitHash函数Fmask最多可将网络流量划分为2k个聚合流。为了区分各聚合流,用index作为聚合流标识,记作AggID。在全局检测阶段,AggID是识别DDoS攻击受害者的重要依据。如图2所示,在基于BitHash的聚合流划分作用下,目的IP地址分别为IP_1、IP_2、IP_3和IP_4的数据包被划分到三个不同的聚合流,对应标识AggID分别为010011、011010和110110。
步骤S12:分别统计每个采样间隔内各所述聚合流到达的报文数量,得到流量矩阵。
在实际应用中,为了检测DDoS攻击引起的流量异常,FLOW系统针对每个聚合流,统计单位时间内到达的报文数量。首先构造长度为2k的哈希表,每个入口按顺序对应唯一的index。哈希表入口是报文计数器,用来记录散列到该入口的报文数量。当有报文到达时,根据目的地址计算index,相应的入口计数器加1。其次,设置统计计时器,用于控制采样时间间隔。当计时器超时,记录当前哈希表状态,然后将所有计数器清零,进入下一个采样间隔。如图3所示,上述流量统计结果可用流量矩阵X表示。矩阵X的行向量表示一个采样间隔内所有聚合流的报文到达数量,列向量则为一个聚合流在不同采用间隔内的报文到达数量时间序列。流量矩阵规模可用n×m表示,图3中,n=t,m=2k。
步骤S13:采用主成分分析方法,根据所述流量矩阵确定异常聚合流标识和异常发生时间。步骤S13,具体包括:
步骤S131:删除所述流量矩阵中的全零列向量,得到简化流量矩阵。
步骤S132:将所述简化流量矩阵沿列向量方向划分为多个子流量矩阵。
步骤S133:采用主成分分析方法,分别对各所述子流量矩阵进行异常检测,得到多个异常子向量。
步骤S134:分别将各所述异常子向量在所述简化流量矩阵中对应的行向量确定为异常行向量。
步骤S135:根据所述异常行向量确定异常聚合流标识和异常发生时间。
进一步地,步骤S133,具体包括:
步骤S133.1:采用主成分分析方法,分别确定各所述子流量矩阵对应的特征值和特征向量。
步骤S133.2:根据所述特征值和累积贡献率阈值,分别将各所述子流量矩阵对应的所述特征向量划分为正常子空间和异常子空间;所述累积贡献率阈值是根据各所述特征向量对异常流量的贡献率确定的。
步骤S133.3:分别计算各所述子流量矩阵的每个行向量在对应的异常子空间上的投影的欧式范数。
步骤S133.4:将所述欧式范数大于设定阈值的所述子流量矩阵的行向量作为异常子向量。
在实际应用中,在流量矩阵X的基础上,利用主成分分析(Principal ComponentAnalysis,PCA)方法检测DDoS攻击引起的流量异常,首先划分正常和异常子空间检测出现异常的流量状态向量,然后根据各聚合流对该异常变化的贡献率确定有问题的聚合流。
假设利用PCA方法分析流量矩阵X得到特征值λ1,λ2,...,λp,对应的特征向量为a1,a2,...,ap。给定累积贡献率阈值ρ,可得到正常子空间L1=[a1,a2,...,ar],异常子空间L2=[ar+1,ar+2,...,ap],其中r<p。阈值ρ是划分子空间的重要依据,这里给出一种简单的阈值ρ估计方法。假设ctribi表示特征向量ai的贡献率,则其中,r′<p,ctribr′满足如下两个条件:1)在集合{ctribr′+1,ctribr′+2,...,ctribp}中,存在两个元素ctribi和ctribj之和小于ctribr′;2)ctribr′高于平均贡献率1/p。实际上,根据上述两个条件可直接选择前r′个主成分构成正常子空间,即r=r′。
通过子空间划分,流量矩阵X的正常行为出现在正常子空间L1中,而异常行为则出现在异常子空间L2中。在检测流量异常时,考虑矩阵X的每一个行向量y在正常子空间和异常子空间上的投影。即yn=L1y;ya=L2y。其中y在异常子空间上的投影ya也称为残余向量(Residual Vector,RV)。向量y是否偏离正常的行为模式,可用残余向量ya的欧式范数定量判断。残余向量ya的欧式范数的计算公式为:
‖ya‖2=(y2 a1+y2 a2+...+y2 a~k)1/2
其中yai表示向量ya的第i个分量,~k表示向量ya的长度。若‖ya‖2>δα,则向量y异常。
为了减少PCA算法输入矩阵的参数m(矩阵的列向量数),进而减少计算时间,本发明提出了流量矩阵简化和随机子空间划分两种方法。
(1)流量矩阵简化
流量矩阵简化通过直接剔除流量矩阵X的部分列向量x来减小矩阵规模,即参数m。BitHash按照可能存在的目的IP地址划分m=2k个聚合流,但不是在每个时间段内所有聚合流都有报文到达,尤其是当k比较大时,这种现象更加普遍。因此,执行PCA算法之前,首先要删除流量矩阵X中的全零列向量。这一部分数据对异常检测没有实际意义,还会影响到PCA算法的计算效率。利用PCA子空间算法分析OD流矩阵不存在上述问题,因为OD流是一种高聚合的网络流量形式,在采样时间内无报文到达的可能性很小。实际上,根据DDoS攻击的特点,当发生DDoS攻击时,包含攻击流量的聚合流会出现或剧烈或缓慢的流量增加,流量矩阵X中沿列向量方向数值减少或基本保持不变的流量聚集与DDoS攻击无关,可以忽略。但为了不影响划分正常和异常子空间的效果,仍需保留部分列向量。在PCA子空间方法中,这些列向量有助于勾勒出清晰的正常子空间。经过简化的流量矩阵X仍然规模较大(m较大),接下来,将采用随机子集划分方法进一步减小PCA算法输入矩阵的规模。
(2)随机子集划分
随机子集划分的基本原理是将流量矩阵X沿列向量方向切割为多个部分,然后利用PCA子空间方法分别对每个部分进行异常检测,最后融合各部分的检测结果最终确定发生异常的采样间隔。假设将流量矩阵X的m个列向量划分为s个子集,每个子集包含[m/s±1]个列向量。划分列向量子集时,既可以随机选择列向量,也可以选取连续列向量。每个子集中的列向量又可以构成一个新的流量矩阵,分别用X1,X2,···,Xs表示,新流量矩阵的规模分别为n×m1,n×m2,…,n×ms,其中mi<m,∑s i=1mi=m。相应地,X的任意一个行向量yj也被分割为s个子向量yj1,yj2,…,yjs。利用前述的PCA子空间方法检测新流量矩阵,得到的检测结果可能包含多个异常子向量。考虑到流量矩阵各列向量之间相互独立,采用并集的方式来融合新流量矩阵的异常检测结果。对于流量矩阵X的一个行向量yj,当且仅当,至少存在一个子向量yji,在针对相应流量矩阵Xi的异常检测中被判定为异常,则判定该行向量为异常。检测矩阵X中流量异常的具体算法如下:
已知:流量矩阵X,参数s,阈值δα
求:异常行向量集合Y
利用随机子集划分方法能够大幅度减少PCA算法的计算时间。假设PCA算法输入数据为n×m的流量矩阵,则根据PCA算法的时间复杂度O(nm2),PCA算法的执行时间可记为单位时间的nm2倍。本发明提供的流量异常检测算法将输入流量矩阵划分为多个矩阵并分别进行主成分分析(这里忽略流量异常检测算法中的步骤2对输入矩阵的简化),假设划分为s个新矩阵,每个新矩阵均为n×ms的矩阵,则利用PCA算法处理每个矩阵的时间约为单位时间的n×(m/s)2倍。由此可知,本发明提供的流量异常检测算法的执行时间约为新矩阵数量s越多,算法执行时间越短。然而,输入矩阵列向量数很少时,势必会影响异常检测的准确度。若某个新矩阵中仅包含异常流量聚集统计数据,它们的异常变化成为网络流量变化的主要趋势,在PCA算法的作用下会被归并为正常的流量模型,增加漏报率。因此,在设置参数s时应保证每个新矩阵的mi不小于64。
步骤S14:根据所述异常聚合流标识、所述异常发生时间、对应的设备标识和对应的位选择哈希函数的构造参数生成异常警报信息。
在实际应用中,异常消息是由局部检测设备产生,发送到全局检测设备的异常警报信息,包括:设备标识、BitHash函数、异常聚合流标识以及异常发生时间四个部分。其中,设备标识用于标识产生异常消息的局部检测设备,记作devID。设备标识可以用FLOW系统内部编号表示,也可以直接用局部检测设备的IP地址表示。BitHash函数是指局部检测设备统计网络流量信息时使用的哈希函数,具体指其构造参数。
局部检测设备检测到网络流量异常后,定位异常到具体的聚合流,并将异常聚合流标识AggID发送到全局检测设备。同时,将异常发生时间,即检测到异常的采样间隔,发送到全局检测设备。
在本发明提供的FLOW系统中,局部检测设备通过TCP协议发送异常消息,以保证全局检测设备能够接收到所有异常消息,不会因消息丢失增加DDoS攻击检测的漏报率。
全局检测设备接收到异常消息后,首先提取异常警报(AggID,timestamp),然后根据异常发生时间确定流量异常集中爆发的时间段。用异常警报密度可以定量的描述异常警报的频繁程度。
异常警报密度包括设备异常警报密度和全局异常警报密度两种。针对单个局部检测设备产生的异常警报,根据其异常警报密度判断异常爆发期。
异常爆发期(Burst Period of Anomaly,BPA),设观测窗口T=[t0,t1]内,局部检测设备LD产生的异常警报数量为Nalert,其异常警报密度为Dens(T)。沿时间轴的任意方向扩大观测窗口得到新观测窗口T′,设T′内的异常警报密度为Dens(T′),若公式Dens(T')<Dens(T)总成立,则称观测时间T为异常爆发期。
异常爆发期可用数据结构(LD,T,S)表示,其中,LD为局部检测设备标识,T=[t0,t1]表示该异常爆发期的起始和结束时间,S为该异常爆发期内的异常警报集合。图4给出了异常警报沿时间轴分布的简单例子,便于形象地理解异常爆发期的意义。如图4所示,全局检测设备共接收到来自三个局部检测设备LD0,LD1和LD2的异常警报。其中,LD0有两个集中的异常爆发期,分别为T1和T2,LD1产生的异常警报主要集中在T3时间段,LD2检测到的异常则集中出现在爆发期T4和T5。
假设A为局部检测设备产生的异常警报集合。给定A,在时间轴上设置观测窗口τ,通过观测窗口的滑动和伸缩判定该设备的异常爆发期。首先根据timestamp值将集合A中的异常警报按顺序标记在时间轴上,并计算任意两个连续的异常警报之间的时间间隔。异常爆发期的判定过程从时间间隔最近的两个异常警报开始,设置初始观测窗口τ为最小时间间隔,并滑动观测窗口至覆盖上述两个异常警报。沿时间轴两个方向拉伸观测窗口,根据异常爆发期的定义,可以得到该局部检测设备的第一个异常爆发期(LD,T,S)。由于网络环境复杂多变,安全威胁无时无刻不在发生,每个局部检测设备可能有多个异常爆发期。为了寻找其余的异常爆发期,从集合A中剔除S,然后重复上述操作。需要注意的是,当初始观测窗口大于阈值τ0时,整个异常爆发期判定过程结束。阈值τ0为最大的相关异常时间间隔,设τ0为10倍的采样间隔。集合A中剩余的异常警报均为独立出现的异常,也可以看成是极短的异常爆发期。
在步骤S3中,所述根据各所述局部检测设备的异常爆发期的重叠情况判断目标网络中是否存在DDoS攻击,具体包括:
步骤S31:统计所述异常爆发期在时间上存在重叠的所述局部检测设备的数量。
步骤S32:若所述异常爆发期在时间上存在重叠的所述局部检测设备的数量大于设定数量,则目标网络中存在DDoS攻击。
步骤S33:若所述异常爆发期在时间上存在重叠的所述局部检测设备的数量小于或等于设定数量,则目标网络中不存在DDoS攻击。
在实际应用中,在得到各局部检测设备的异常爆发期的基础上,全局检测设备最终判定网络中是否存在大范围的DDoS攻击。DDoS攻击攻击源分布在网络各处,攻击流量在多个局部检测设备处触发异常警报,由此可知,短时间内多个局部检测设备出现集中的异常爆发期意味着大规模DDoS攻击。通过交叉比对各局部检测设备的异常爆发期,统计异常爆发期在时间上有所重叠的设备数量,记作Nld。若Nld大于阈值η,则认为上述异常是由DDoS攻击引起的流量异常。如图4所示,三个局部检测设备几乎在同一时间(异常爆发期T1、T3、T4)检测到大量网络流量异常,由此可以判断网络中存在大规模的DDoS攻击。局部检测设备LD0和LD2分别在T2和T5时间段爆发大量异常,但由于网络中其余检测设备都没有发现网络异常,这些异常并不符合DDoS攻击的分布式特点。
在步骤S4中,所述采用地址智能重构算法,根据所述DDoS攻击的攻击时间段内的各所述异常警报信息确定受害者IP地址,具体包括:
步骤S41:根据所述DDoS攻击的攻击时间段内的各所述异常警报信息的异常聚合流标识和对应的位选择哈希函数的构造参数确定IP地址离散片段集合;所述IP地址离散片段集合中包括多个比特位数相同的IP地址离散片段。
步骤S42:分别统计所述IP地址离散片段集合中的各比特位的值为1的IP地址离散片段的数量和各比特位的值为0的IP地址离散片段的数量,得到所述IP地址离散片段集合对重构IP地址中的各比特位的指定情况;所述重构IP地址的比特位与所述IP地址离散片段的比特位一一对应。
步骤S43:根据所述指定情况,将所述IP地址离散片段集合中的噪音IP地址离散片段删除,保留主流IP地址离散片段。
步骤S44:根据各所述主流IP地址离散片段确定所述重构IP地址中的各比特位的状态;所述状态包括:确定状态0、确定状态1、模糊状态和未知状态。
步骤S45:从各所述主流IP地址离散片段中确定与所述重构IP地址的匹配程度最高的IP地址离散片段。
步骤S46:根据与所述重构IP地址的匹配程度最高的IP地址离散片段及所述重构IP地址确定受害者IP地址。
进一步地,步骤S44,具体包括:
步骤S441:对于所述重构IP地址中的任意一个比特位,若全部所述主流IP地址离散片段中的对应比特位的值为0的比例大于或等于最高设定比例,且全部所述主流IP地址离散片段中的对应比特位的值为1的比例小于最低设定比例,则所述重构IP地址中的所述比特位的状态为确定状态0;所述最低设定比例小于所述最高设定比例。
步骤S442:对于所述重构IP地址中的任意一个比特位,若全部所述主流IP地址离散片段中的对应比特位的值为1的比例大于或等于最高设定比例,且全部所述主流IP地址离散片段中的对应比特位的值为0的比例小于最低设定比例,则所述重构IP地址中的所述比特位的状态为确定状态1。
步骤S443:对于所述重构IP地址中的任意一个比特位,若全部所述主流IP地址离散片段中的对应比特位的值为0的比例和全部所述主流IP地址离散片段中的对应比特位的值为1的比例均大于或等于最低设定比例,则所述重构IP地址中的所述比特位的状态为模糊状态。
步骤S444:对于所述重构IP地址中的任意一个比特位,若全部所述主流IP地址离散片段中的对应比特位的值为0的比例和全部所述主流IP地址离散片段中的对应比特位的值为1的比例均小于最低设定比例,则所述重构IP地址中的所述比特位的状态为未知状态。
在实际应用中,地址智能重构算法具体如下:
判断出网络中存在大规模的DDoS攻击后,则寻找该攻击受害者(目的IP地址)。
首先,全局检测设备需对接收到的异常警报进行预处理。异常聚集标识AggID指定了该聚集中报文目的IP地址中的k个比特位的值,位选择哈希函数的构造参数mask则确定了上述k个比特位在目的IP地址中的位置。由此,可以得到一个长度为L的向量。该向量中只有与mask中比特“1”对应的比特位有值,其余比特位均为空。有值的比特位按顺序与AggID中各比特位的值相同。图5给出了一个简单的例子。从整体上看,该向量给出了目的IP地址的部分片段,因此称该向量为IP地址离散片段(Discrete Segment of IP Address,DSIP)。L为IP地址长度,若网络中采用IPv4地址,则L=32。
目的IP地址重构过程可以看成是局部检测设备投票确定各比特位取值的过程,基本原则是少数服从多数。从异常警报中提取的DSIP可看成是“选票”,每个DSIP指定目的IP地址中的k个比特位。对于任意一个比特位,若在大部分DSIP中显示为“0”(或“1”),则目的IP地址的对应位为“0”(或“1”)。全局检测设备首先创建一个长度为L的向量B,作为重构IP地址,模拟攻击受害者IP地址,然后逐位判断向量B取值。
地址重构主要包括三个步骤:消除噪音DSIP、判定位状态和降低不确定性。
(1)消除噪音DSIP
假设通过异常警报预处理,全局检测设备得到一系列DSIPs,用集合Γ表示。集合Γ中的部分DSIP可能不是真正DDoS攻击受害者的地址片段。这样的DSIP称为噪音DSIP(noise DSIP)。噪音DSIP的出现一方面是由于局部检测算法的误报,另一方面,也可能是在网络的局部位置确实出现了小范围的流量异常,与DDoS攻击无关。这些DSIP非但不能为推断受害者IP地址提供支持,还会影响地址重构结果。因此,进行地址重构时首先要消除噪音DSIP。在集合Γ中,与噪音DSIP相对应的是主流DSIP(majority DSIP),它们给出的地址片段与真正的攻击受害者IP地址相符。DDoS攻击触发很多局部检测设备产生警报,与噪音DSIP相比,主流DSIP所占比例相对较大。利用这一特点,可以从Γ中剔除噪音DSIP。每个DSIP都为向量B中的k个比特位指定确切的值(“0”或“1”)。对于B中的任意位,若某个DSIP将其指定为“0”(或“1”),而其它大部分DSIP认为该比特位为“1”(或“0”),那么可以判定该DSIP为噪音DSIP。消除噪音DSIP时,考虑向量B中的每一比特位,统计为其指定具体值的DSIP数量。假设bi为向量B的第i个比特位,经统计,指定bi=0的DSIP数量为q0,指定bi=1的DSIP数量为q1。上述两个统计值中,若q0远远小于q1,表明极少数的局部检测设备报告异常流量的目的IP地址第i位为“0”。也就是说,DDoS攻击受害者IP地址的第i位是“0”的可能性很小。若某个DSIP包含的k个比特位中,至少一个比特位存在上述情况,就将该DSIP作为噪音DSIP删除。比较统计值q0和q1时,q0远小于q1,当且仅当下述条件成立:q0<q1/2。经过上述步骤,可以得到一个比集合Γ更可靠的DSIP集合Γ′。需要指出的是,时间维度上集中出现的网络流量异常才符合大规模DDoS攻击的特点,集合Γ应仅包含在连续短时间内产生的DSIP,例如图4中T1、T3、T4内的所有异常警报携带的DSIP。
(2)判定位状态
下一步,在新DSIP集合Γ′的基础上,判定向量B中各比特位的状态。首先,定义四种位状态(bit status)。
·确定状态0(zero)
集合Γ′中,绝大部分DSIP指定该比特位为“0”,用符号“0”表示。
·确定状态1(one)
集合Γ′中,绝大部分DSIP指定该比特位为“1”,用符号“1”表示。
·模糊状态(amphibious)
集合Γ′中,指定该比特位为“0”和“1”的DSIP数量所占比例均超过了设置的最低阈值。此时该比特位可能为“0”,也可能为“1”。这种情况的出现是由于网络中同时出现多个大规模的DDoS攻击,或者一次DDoS攻击针对多个攻击目标。模糊状态的比特位用符号“c”表示。
·未知状态(unknown)
集合Γ′中,为该比特位指定具体值的DSIP数量低于最低阈值,不足以用来对该比特位的值做出可靠推断。未知状态的比特位用符号“×”表示。
确定向量B位状态的具体算法如下:
已知:Γ′,Tq,α
求:B
除了集合Γ′外,该算法还包含两个输入参数Tq和α。其中,判定阈值Tq与集合Γ′中DSIP的数量有关。假设集合Γ′中DSIP数量为这些DSIP源自′个局部检测设备。给定向量B的长度L和BitHash选择的比特位数k,对于向量B中的任意一个比特位,被选中的概率为当有个局部检测设备时,每个设备都随机选择k个比特,则B中任意一位被选中的概率应为由此,设定若很小,以至于向量B中的每个比特位只能被选中一次,则设Tq=1。参数α与具体的比特位关系密切。在判定某个比特位的状态时,该参数随着为该比特指定具体值的DSIP数量ψ变化。为了尽量减少IP重构算法的漏报率,更倾向于选择较小的α。在本发明中,设置α为经验值
(3)降低不确定性
上述过程已经对向量B(攻击受害者IP)中各比特位的确切值进行了初步判断。然而,模糊状态位和未知状态位的存在给IP地址重构的结果带来了不确定性。下面讨论如何消除这两种比特位,降低向量B的不确定性。比特位状态不确定主要源于为该比特位指定确切值的DSIP数量太少,或者指定的确切值存在冲突。为此,逐个将集合Γ′中的DSIP与B比较。假设dsipi和bi分别表示DSIP和向量B的第i个比特。当出现下面四种情况时,称dsipi和bi匹配。
(1)dsipi=0,bi=zero。
(2)dsipi=1,bi=one。
(3)dsipi=0,bi=amphibious。
(4)dsipi=1,bi=amphibious。
给定一个DSIP,若该DSIP中大部分比特位都与B中相应位匹配,则称该DSIP与向量B匹配。也就是说,对于由向量B模拟的攻击受害者IP地址,该DSIP以相当高的概率真实反映了该IP地址的片段。在此基础上,可以进一步调整向量B的位状态。
对于模糊状态位:若DSIP指定的比特位包含向量B中的模糊状态位bj,则将B分裂为两个向量B0和B1,两个向量第j位分别为确定状态0和确定状态1。
对于未知状态位:若DSIP指定的比特位包含向量B中的未知状态位bj,则根据DSIP指定的值更新bj的状态为确定状态0或确定状态1。
经过上述步骤,向量B中的不确定位数逐渐减少,甚至为0。当然,此时的向量B可能不止一个,而是一个向量集合。接下来比较DSIP与向量B时,应与集合中所有向量进行比较,以便重构出多个受害者IP地址,降低DDoS攻击检测和受害者识别的漏报率。
图6给出了一个简单的IP重构实例。如图6所示,其中,DSIP3指定的比特位中有两位与其它DSIP发生冲突,因此,在消除噪音阶段被删除。向量B的第二个比特位标记为“c”,但DSIP2指定的比特位大部分都满足当前向量B,由此可以推断向量B的第二个比特位为“1”。需要注意的是,即使通过匹配DSIP与向量B降低了后者的不确定性,仍然有可能存在个别不确定的比特位。这样的IP重构结果称为不完全IP地址(Incomplete IP Address,IIA)。图6给出的地址重构实例就得到了一个不完全的IP地址,其中有一位标记为未知状态。如果FLOW系统中有足够多的局部检测设备,全局检测设备就能准确地恢复出完整的攻击受害者IP地址。然而,即使只有不完全IP地址,也可以用于辅助攻击响应设备过滤DDoS攻击流。
实施例二
本发明实施例还提供一种电子设备,包括存储器和处理器,该存储器用于存储计算机程序,该处理器用于运行计算机程序以使电子设备执行实施例一中的DDoS攻击检测方法。所述电子设备可以是服务器。
另外,本发明还提供一种计算机可读存储介质,其存储有计算机程序,该计算机程序被处理器执行时实现实施例一中的DDoS攻击检测方法。
本发明提供的DDoS攻击检测方法、系统、设备及介质,采用了基于分布式概要数据结构的位选择哈希构造方法BitHash,使得受害者IP地址重构过程的计算开销小、准确率高。通过理论分析和模拟实验对本发明提供的DDoS攻击检测系统进行评估,结果表明,在攻击检测和受害者识别两个方面,本发明提供的DDoS攻击检测系统都有较高的准确度。从整体上看,本发明提供的DDoS攻击检测系统系统性能优于现有方法,尤其是存储开销方面优势显著。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种DDoS攻击检测方法,其特征在于,所述方法包括:
获取目标网络中的各局部检测设备发送的异常警报信息;所述异常警报信息包括异常聚合流标识、异常发生时间、对应的设备标识和对应的位选择哈希函数的构造参数;所述异常聚合流标识用于表示目标网络流量中异常流量的聚集特征;所述聚集特征是由基于分布式概要数据结构的位选择哈希函数确定的;
根据各所述异常警报信息分别确定各所述局部检测设备的异常爆发期;
根据各所述局部检测设备的异常爆发期的重叠情况判断目标网络中是否存在DDoS攻击;
若是,则确定所述DDoS攻击的攻击时间段,并采用地址智能重构算法,根据所述DDoS攻击的攻击时间段内的各所述异常警报信息确定受害者IP地址;所述受害者IP地址用于定位DDoS攻击受害者或过滤DDoS攻击流。
2.根据权利要求1所述的DDoS攻击检测方法,其特征在于,所述异常警报信息的生成方法,具体包括:
采用基于分布式概要数据结构的位选择哈希函数确定目标网络流量的聚集特征,并将目标网络流量中具有相同聚集特征的数据包划分为一个聚合流,得到多个聚合流;所述聚集特征为数据包的源IP地址、目的IP地址或TCP报文标志位;
分别统计每个采样间隔内各所述聚合流到达的报文数量,得到流量矩阵;
采用主成分分析方法,根据所述流量矩阵确定异常聚合流标识和异常发生时间;
根据所述异常聚合流标识、所述异常发生时间、对应的设备标识和对应的位选择哈希函数的构造参数生成异常警报信息。
3.根据权利要求2所述的DDoS攻击检测方法,其特征在于,所述采用主成分分析方法,根据所述流量矩阵确定异常聚合流标识和异常发生时间,具体包括:
删除所述流量矩阵中的全零列向量,得到简化流量矩阵;
将所述简化流量矩阵沿列向量方向划分为多个子流量矩阵;
采用主成分分析方法,分别对各所述子流量矩阵进行异常检测,得到多个异常子向量;
分别将各所述异常子向量在所述简化流量矩阵中对应的行向量确定为异常行向量;
根据所述异常行向量确定异常聚合流标识和异常发生时间。
4.根据权利要求1所述的DDoS攻击检测方法,其特征在于,所述根据各所述局部检测设备的异常爆发期的重叠情况判断目标网络中是否存在DDoS攻击,具体包括:
统计所述异常爆发期在时间上存在重叠的所述局部检测设备的数量;
若所述异常爆发期在时间上存在重叠的所述局部检测设备的数量大于设定数量,则目标网络中存在DDoS攻击;
若所述异常爆发期在时间上存在重叠的所述局部检测设备的数量小于或等于设定数量,则目标网络中不存在DDoS攻击。
5.根据权利要求1所述的DDoS攻击检测方法,其特征在于,所述采用地址智能重构算法,根据所述DDoS攻击的攻击时间段内的各所述异常警报信息确定受害者IP地址,具体包括:
根据所述DDoS攻击的攻击时间段内的各所述异常警报信息的异常聚合流标识和对应的位选择哈希函数的构造参数确定IP地址离散片段集合;所述IP地址离散片段集合中包括多个比特位数相同的IP地址离散片段;
分别统计所述IP地址离散片段集合中的各比特位的值为1的IP地址离散片段的数量和各比特位的值为0的IP地址离散片段的数量,得到所述IP地址离散片段集合对重构IP地址中的各比特位的指定情况;所述重构IP地址的比特位与所述IP地址离散片段的比特位一一对应;
根据所述指定情况,将所述IP地址离散片段集合中的噪音IP地址离散片段删除,保留主流IP地址离散片段;
根据各所述主流IP地址离散片段确定所述重构IP地址中的各比特位的状态;所述状态包括:确定状态0、确定状态1、模糊状态和未知状态;
从各所述主流IP地址离散片段中确定与所述重构IP地址的匹配程度最高的IP地址离散片段;
根据与所述重构IP地址的匹配程度最高的IP地址离散片段及所述重构IP地址确定受害者IP地址。
6.根据权利要求3所述的DDoS攻击检测方法,其特征在于,所述采用主成分分析方法,分别对各所述子流量矩阵进行异常检测,得到多个异常子向量,具体包括:
采用主成分分析方法,分别确定各所述子流量矩阵对应的特征值和特征向量;
根据所述特征值和累积贡献率阈值,分别将各所述子流量矩阵对应的所述特征向量划分为正常子空间和异常子空间;所述累积贡献率阈值是根据各所述特征向量对异常流量的贡献率确定的;
分别计算各所述子流量矩阵的每个行向量在对应的异常子空间上的投影的欧式范数;
将所述欧式范数大于设定阈值的所述子流量矩阵的行向量作为异常子向量。
7.根据权利要求5所述的DDoS攻击检测方法,其特征在于,所述根据各所述主流IP地址离散片段确定所述重构IP地址中的各比特位的状态,具体包括:
对于所述重构IP地址中的任意一个比特位,若全部所述主流IP地址离散片段中的对应比特位的值为0的比例大于或等于最高设定比例,且全部所述主流IP地址离散片段中的对应比特位的值为1的比例小于最低设定比例,则所述重构IP地址中的所述比特位的状态为确定状态0;所述最低设定比例小于所述最高设定比例;
对于所述重构IP地址中的任意一个比特位,若全部所述主流IP地址离散片段中的对应比特位的值为1的比例大于或等于最高设定比例,且全部所述主流IP地址离散片段中的对应比特位的值为0的比例小于最低设定比例,则所述重构IP地址中的所述比特位的状态为确定状态1;
对于所述重构IP地址中的任意一个比特位,若全部所述主流IP地址离散片段中的对应比特位的值为0的比例和全部所述主流IP地址离散片段中的对应比特位的值为1的比例均大于或等于最低设定比例,则所述重构IP地址中的所述比特位的状态为模糊状态;
对于所述重构IP地址中的任意一个比特位,若全部所述主流IP地址离散片段中的对应比特位的值为0的比例和全部所述主流IP地址离散片段中的对应比特位的值为1的比例均小于最低设定比例,则所述重构IP地址中的所述比特位的状态为未知状态。
8.一种DDoS攻击检测系统,其特征在于,所述系统包括:全局检测设备和多个局部检测设备;各所述局部检测设备分别与所述全局检测设备连接;
所述局部检测设备用于:
生成异常警报信息,并将所述异常警报信息发送至所述全局检测设备;
所述全局检测设备用于:
获取目标网络中的各局部检测设备发送的异常警报信息;所述异常警报信息包括异常聚合流标识、异常发生时间、对应的设备标识和对应的位选择哈希函数的构造参数;所述异常聚合流标识用于表示目标网络流量中异常流量的聚集特征;所述聚集特征是由基于分布式概要数据结构的位选择哈希函数确定的;
根据各所述异常警报信息分别确定各所述局部检测设备的异常爆发期;
根据各所述局部检测设备的异常爆发期的重叠情况判断目标网络中是否存在DDoS攻击;
若是,则确定所述DDoS攻击的攻击时间段,并采用地址智能重构算法,根据所述DDoS攻击的攻击时间段内的各所述异常警报信息确定受害者IP地址;所述受害者IP地址用于定位DDoS攻击受害者或过滤DDoS攻击流。
9.一种电子设备,其特征在于,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行如权利要求1至7中任意一项所述的DDoS攻击检测方法。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的DDoS攻击检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211467052.0A CN115714685A (zh) | 2022-11-22 | 2022-11-22 | 一种DDoS攻击检测方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211467052.0A CN115714685A (zh) | 2022-11-22 | 2022-11-22 | 一种DDoS攻击检测方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115714685A true CN115714685A (zh) | 2023-02-24 |
Family
ID=85234134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211467052.0A Pending CN115714685A (zh) | 2022-11-22 | 2022-11-22 | 一种DDoS攻击检测方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115714685A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202336A (zh) * | 2014-09-22 | 2014-12-10 | 浪潮电子信息产业股份有限公司 | 一种基于信息熵的DDoS攻击检测方法 |
WO2021088372A1 (zh) * | 2019-11-04 | 2021-05-14 | 重庆邮电大学 | SDN网络中基于神经网络的DDoS检测方法及系统 |
-
2022
- 2022-11-22 CN CN202211467052.0A patent/CN115714685A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202336A (zh) * | 2014-09-22 | 2014-12-10 | 浪潮电子信息产业股份有限公司 | 一种基于信息熵的DDoS攻击检测方法 |
WO2021088372A1 (zh) * | 2019-11-04 | 2021-05-14 | 重庆邮电大学 | SDN网络中基于神经网络的DDoS检测方法及系统 |
Non-Patent Citations (1)
Title |
---|
王飞等: "分布式拒绝服务攻击检测与响应技术研究", 《优秀博士论文》, 15 November 2014 (2014-11-15), pages 62 - 76 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Roschke et al. | A new alert correlation algorithm based on attack graph | |
US9386030B2 (en) | System and method for correlating historical attacks with diverse indicators to generate indicator profiles for detecting and predicting future network attacks | |
Simmross-Wattenberg et al. | Anomaly detection in network traffic based on statistical inference and\alpha-stable modeling | |
CN107135093B (zh) | 一种基于有限自动机的物联网入侵检测方法及检测系统 | |
CN111277570A (zh) | 数据的安全监测方法和装置、电子设备、可读介质 | |
US20070289013A1 (en) | Method and system for anomaly detection using a collective set of unsupervised machine-learning algorithms | |
CN109889538B (zh) | 用户异常行为检测方法及系统 | |
EP2337266A2 (en) | Detecting and classifying anomalies in communication networks | |
US11966319B2 (en) | Identifying anomalies in a data center using composite metrics and/or machine learning | |
Araújo et al. | Identifying important characteristics in the KDD99 intrusion detection dataset by feature selection using a hybrid approach | |
US20070226803A1 (en) | System and method for detecting internet worm traffics through classification of traffic characteristics by types | |
Ren et al. | An online adaptive approach to alert correlation | |
US8694630B1 (en) | Self-learning classifier for internet traffic | |
US8307459B2 (en) | Botnet early detection using hybrid hidden markov model algorithm | |
CN106663040A (zh) | 用于计算机网络业务中的信任异常检测的方法及系统 | |
Landress | A hybrid approach to reducing the false positive rate in unsupervised machine learning intrusion detection | |
Dalmazo et al. | Expedite feature extraction for enhanced cloud anomaly detection | |
Hammerschmidt et al. | Behavioral clustering of non-stationary IP flow record data | |
Niknami et al. | Entropy-kl-ml: Enhancing the entropy-kl-based anomaly detection on software-defined networks | |
Werner et al. | Near real-time intrusion alert aggregation using concept-based learning | |
RU2647616C1 (ru) | Способ обнаружения атак перебора на веб-сервис | |
US8838774B2 (en) | Method, system, and computer program product for identifying common factors associated with network activity with reduced resource utilization | |
CN112291213A (zh) | 一种基于智能终端的异常流量分析方法及装置 | |
CN115714685A (zh) | 一种DDoS攻击检测方法、系统、设备及介质 | |
Ramström | Botnet detection on flow data using the reconstruction error from Autoencoders trained on Word2Vec network embeddings |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |