CN110225037B - 一种DDoS攻击检测方法和装置 - Google Patents
一种DDoS攻击检测方法和装置 Download PDFInfo
- Publication number
- CN110225037B CN110225037B CN201910507066.2A CN201910507066A CN110225037B CN 110225037 B CN110225037 B CN 110225037B CN 201910507066 A CN201910507066 A CN 201910507066A CN 110225037 B CN110225037 B CN 110225037B
- Authority
- CN
- China
- Prior art keywords
- state
- attack
- data
- link bandwidth
- flow
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种DDoS攻击检测方法和装置,获取预设时间段内端口的流量数据;并根据流量数据,确定出链路带宽;抽取预设量的数据包,并提取数据包的属性数据;计算在预设时间段内各类属性数据对应的信息熵。根据链路带宽以及各信息熵与其相应的阈值的匹配关系,确定出系统的攻击结果。在该技术方案中,通过对链路带宽与数据流的分析,可以很好地能识别洪范式与小流量的DDoS攻击。并且在数据流分析中对多属性的信息熵计算,能够很好地定位受攻击处并采取措施,同时也能减小由于客户端自身增大访问量和非习惯性访问而引起的流量异常的误判,提高了DDoS检测的准确性。
Description
技术领域
本发明涉及网络设备管理技术领域,特别是涉及一种DDoS攻击检测方法和装置。
背景技术
当前日趋复杂的网络结构中,大数量的设备连接和管理问题,软件定义网络(Software Defined Network,SDN)使得网络可以实现自动化和集中管理,并可以增强网络的可扩展性。
在一些网络架构中,由于设备在物理上分布广泛,单个控制器能力具有限制性,使得多控制器架构成为主流。在这种基于SDN多控制器网络架构中,分布式拒绝服务(Distributed Denial of Service,DDoS)攻击比传统网络的攻击力度和范围都要大,控制器作为网络控制的重要节点,一旦受到攻击将导致网络带宽和计算性能的显著下降甚至网络的崩溃,因此及时地发现攻击和减轻网络的负担尤为重要。
近年来为躲避大部分已有的洪范式DDoS攻击检测防御方法,黑客逐渐转为使用小流量的低速率DDoS攻击,这些小流量的攻击能在目标处汇聚成巨大的攻击流并导致被攻击目标无法正常相应服务,对控制器和对服务器都是一种隐藏的威胁。目前对于SDN多控制器架构中的DDoS攻击的检测方法有通过利用目的IP地址计算信息熵检测DDoS攻击,或是根据网络数据流量分析,但这些方案都存在及时性低,对小流量攻击不敏感,容易产生误判。
可见,如何实现对不同类型的DDoS攻击的检测,提高DDoS检测的准确性,是本领域技术人员亟待解决的问题。
发明内容
本发明实施例的目的是提供一种DDoS攻击检测方法和装置,可以实现对不同类型的DDoS攻击的检测,提高DDoS检测的准确性。
为解决上述技术问题,本发明实施例提供一种DDoS攻击检测方法,包括:
获取预设时间段内端口的流量数据;并根据所述流量数据,确定出链路带宽;
抽取预设量的数据包,并提取所述数据包的属性数据;
计算在所述预设时间段内各类属性数据对应的信息熵;
根据所述链路带宽以及各所述信息熵与其相应的阈值的匹配关系,确定出系统的攻击结果。
可选的,所述根据所述链路带宽以及各所述信息熵与其相应的阈值的匹配关系,确定出系统的攻击结果包括:
判断所述链路带宽是否小于带宽攻击阈值;
若是,则将链路带宽状态标记为非攻击状态;
若否,则将链路带宽状态标记为攻击状态;
判断连续N个窗口内是否均存在至少两个信息熵小于信息熵阈值的属性数据;其中,一个预设时间段为一个窗口;
若是,则将数据流状态标记为攻击状态;
若否,则将数据流状态标记为非攻击状态;
当所述链路带宽状态为非攻击状态并且所述数据流状态为非攻击状态,则判定系统状态为非攻击状态;
当所述链路带宽状态为攻击状态并且所述数据流状态为攻击状态,则判定系统状态为攻击状态;
当所述链路带宽状态为攻击状态并且所述数据流状态为非攻击状态或者是当所述链路带宽状态为非攻击状态并且所述数据流状态为攻击状态,则判定系统状态为风险状态。
可选的,在当所述链路带宽状态为非攻击状态并且所述数据流状态为攻击状态,则判定系统状态为风险状态之后还包括:
调大所述预设量的取值;
判断在调大所述预设量的取值之后所述数据流状态是否为攻击状态;
若是,则判定系统状态为攻击状态。
可选的,在所述抽取预设量的数据包,并提取所述数据包的属性数据之后还包括:
记录每类属性数据概率值最大的目标属性值;
相应的,在所述判定系统状态为攻击状态之后还包括:
统计信息熵小于信息熵阈值的目标属性数据;
将所述目标属性数据所对应的目标属性值放入攻击流特征表,并将所述攻击流特征表下发至各分控制器,以便于各所述分控制器丢弃包含所述目标属性值的数据包。
可选的,所述计算在所述预设时间段内各类属性数据对应的信息熵包括:
统计在所述预设时间段内各类属性数据的概率值;
根据如下公式,计算第i类属性数据对应的信息熵H(xi),
其中,pi,j表示第i类属性数据的第j个数据的概率值;N表示第i类属性数据的数据总个数。
可选的,所述属性数据包括数据包IP头部的总长度、生存时间、协议类型和源IP地址以及数据包TCP头部的标志位和目的端口。
本发明实施例还提供了一种DDoS攻击检测装置,包括获取单元、提取单元、计算单元和确定单元;
所述获取单元,用于获取预设时间段内端口的流量数据;并根据所述流量数据,确定出链路带宽;
所述提取单元,用于抽取预设量的数据包,并提取所述数据包的属性数据;
所述计算单元,用于计算在所述预设时间段内各类属性数据对应的信息熵;
所述确定单元,用于根据所述链路带宽以及各所述信息熵与其相应的阈值的匹配关系,确定出系统的攻击结果。
可选的,所述确定单元包括第一判断子单元、第一标记子单元、第二标记子单元、第二判断子单元、第三标记子单元、第四标记子单元、第一判定子单元、第二判定子二单元和第三判定子单元;
所述第一判断子单元,用于判断所述链路带宽是否小于带宽攻击阈值;若是,则触发所述第一标记子单元;若否,则触发所述第二标记子单元;
所述第一标记子单元,用于将链路带宽状态标记为非攻击状态;
所述第二标记子单元,用于将链路带宽状态标记为攻击状态;
所述第二判断子单元,用于判断连续N个窗口内是否均存在至少两个信息熵小于信息熵阈值的属性数据;其中,一个预设时间段为一个窗口;若是,则触发所述第三标记子单元;若否,则触发所述第四标记子单元;
所述第三标记子单元,用于将数据流状态标记为攻击状态;
所述第四标记子单元,用于将数据流状态标记为非攻击状态;
所述第一判定子单元,用于当所述链路带宽状态为非攻击状态并且所述数据流状态为非攻击状态,则判定系统状态为非攻击状态;
所述第二判定子二单元,用于当所述链路带宽状态为攻击状态并且所述数据流状态为攻击状态,则判定系统状态为攻击状态;
所述第三判定子单元,用于当所述链路带宽状态为攻击状态并且所述数据流状态为非攻击状态或者是当所述链路带宽状态为非攻击状态并且所述数据流状态为攻击状态,则判定系统状态为风险状态。
可选的,还包括调整单元、判断单元和判定单元;
所述调整单元,用于在当所述链路带宽状态为非攻击状态并且所述数据流状态为攻击状态,则判定系统状态为风险状态之后,调大所述预设量的取值;
所述判断单元,用于判断在调大所述预设量的取值之后所述数据流状态是否为攻击状态;若是,则触发所述判定单元;
所述判定单元,用于判定系统状态为攻击状态。
可选的,还包括记录单元、统计单元和发放单元;
所述记录单元,用于在所述抽取预设量的数据包,并提取所述数据包的属性数据之后,记录每类属性数据概率值最大的目标属性值;
所述统计单元,用于在所述判定系统状态为攻击状态之后,统计信息熵小于信息熵阈值的目标属性数据;
所述发放单元,用于将所述目标属性数据所对应的目标属性值放入攻击流特征表,并将所述攻击流特征表下发至各分控制器,以便于各所述分控制器丢弃包含所述目标属性值的数据包。
可选的,所述计算单元具体用于统计在所述预设时间段内各类属性数据的概率值;
根据如下公式,计算第i类属性数据对应的信息熵H(xi),
其中,pi,j表示第i类属性数据的第j个数据的概率值;N表示第i类属性数据的数据总个数。
可选的,所述属性数据包括数据包IP头部的总长度、生存时间、协议类型和源IP地址以及数据包TCP头部的标志位和目的端口。
由上述技术方案可以看出,获取预设时间段内端口的流量数据;并根据流量数据,确定出链路带宽;当系统受到洪范式DDoS攻击时,系统的链路带宽会发生明显的改变,因此根据链路带宽的变化,可以有效的检测洪范式DDoS攻击。抽取预设量的数据包,并提取数据包的属性数据;计算在预设时间段内各类属性数据对应的信息熵。信息熵反映了各类属性数据的分布情况。当出现小流量DDoS攻击时,不同节点往往会同时出现相同属性的小流量数据。通过统计各类属性数据对应的信息熵,可以有效的检测小流量DDoS攻击。根据链路带宽以及各信息熵与其相应的阈值的匹配关系,确定出系统的攻击结果。在该技术方案中,通过对链路带宽与数据流的分析,可以很好地能识别洪范式与小流量的DDoS攻击。并且在数据流分析中对多属性的信息熵计算,能够很好地定位受攻击处并采取措施,同时也能减小由于客户端自身增大访问量和非习惯性访问而引起的流量异常的误判,提高了DDoS检测的准确性。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种DDoS攻击检测方法的流程图;
图2为本发明实施例提供的一种SDN多控制器架构图;
图3为本发明实施例提供的一种针对系统攻击结果的状态转换图;
图4为本发明实施例提供的一种DDoS攻击检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种DDoS攻击检测方法。图1为本发明实施例提供的一种DDoS攻击检测方法的流程图,该方法包括:
S101:获取预设时间段内端口的流量数据;并根据流量数据,确定出链路带宽。
本发明实施例中提供的DDoS攻击检测方法适用于如图2所示的SDN多控制架构,为了便于区分,可以将图2中最上层的SDN控制器称作总控制器,将中间层的SDN控制器称作分控制器。总控制器对各个分控制器的信息进行分析,并采取信息分发策略对转发节点行为进行控制,每个分控制器可以接收与其相应的OpenFlow交换机的信息并对其进行分析。各控制器的工作流程类似,在本发明实施例中,以一个控制器的工作流程为例展开介绍。
预设时间段指的是采集数据的窗口大小。
链路带宽用于表示单位时间内的流量数据。将获取的流量数据除以预设时间段,可以得到链路带宽。
S102:抽取预设量的数据包,并提取数据包的属性数据。
控制器可以获取到其管理的所有节点的数据包,考虑到数据包的数量较多,为了便于分析,在本发明实施例中,可以从获取的所有数据包中抽取预设量的数据包进行分析。其中,预设量可以是数据包总个数的百分数,例如,预设量可以设置为20%。从收集的Packet_in消息中抽取20%的数据包进行分析。
在本发明实施例中,提取的数据包用于执行数据流检测。对于小流量DDoS攻击而言,攻击数据分散在每个节点的数据量较小,但是这些数据往往具有相同的属性特征。因此,在本发明实施例中,可以提取各数据包的属性数据。
其中,属性数据可以包括数据包IP头部的总长度(Total Length)、生存时间(TTL)、协议类型(Protocol Type)和源IP地址(Source IP Address)以及数据包TCP头部的标志位(Flag)和目的端口(Destional Port)。
S103:计算在预设时间段内各类属性数据对应的信息熵。
每个属性数据都有其对应的属性值,当两个数据包有多个属性值相等或相近时,则说明这两个数据包具有相关性。
为了实现对数据包各属性数据的量化处理,在本发明实施例中,采用信息熵的形式表示。
在计算信息熵之前,需要先统计在预设时间段内各类属性数据的概率值。
以任意一类属性数据为例,属性数据的概率值指的是该类属性数据具有相同属性值的个数与数据包总个数的比值。
每类属性数据的个数有多个,并且各属性数据的取值可能并不相同,因此,每类属性数据对应的概率值可能有多个。
在具体实现中,可以用pi,j表示第i类属性数据的第j个数据的概率值。根据如下公式,计算第i类属性数据对应的信息熵H(xi),
其中,pi,j表示第i类属性数据的第j个数据的概率值;N表示第i类属性数据的数据总个数。
S104:根据链路带宽以及各信息熵与其相应的阈值的匹配关系,确定出系统的攻击结果。
链路带宽超过正常带宽时,则说明系统可能受到大流量即洪范式DDoS攻击。在本发明实施例中,可以将在正常网络状态下,系统所对应的正常带宽作为带宽攻击阈值。或者是将比正常带宽稍微偏大一些的数值作为带宽攻击阈值。
在具体实现中,可以判断链路带宽是否小于带宽攻击阈值;当链路带宽小于带宽攻击阈值时,则将链路带宽状态标记为非攻击状态;当链路带宽大于或等于带宽攻击阈值时,则将链路带宽状态标记为攻击状态。
信息熵越小,说明系统受到小流量即低速率DDoS攻击的可能性越大。在本发明实施例中,可以预先计算出在正常网络状态下,系统所对应的信息熵的取值,并将该信息熵作为信息熵阈值。
考虑到小流量DDoS攻击时,攻击数据较为分散,为了提升小流量DDoS攻击检测的准确性,可以对连续多个预设时间段内的数据包的信息熵进行综合分析。
在具体实现中,可以判断连续N个窗口内是否均存在至少两个信息熵小于信息熵阈值的属性数据;其中,一个预设时间段为一个窗口。
其中,N的取值可以根据实际需求设定,例如,N=5。
对于N个窗口,当每个窗口中均存在至少两个信息熵小于信息熵阈值的属性数据时,则说明系统极有可能受到小流量DDoS攻击,此时可以将数据流状态标记为攻击状态;
对于N个窗口,当每个窗口中信息熵小于信息熵阈值的属性数据的个数均小于两个时,则说明系统相对安全,此时可以将数据流状态标记为非攻击状态。
相应的,根据链路带宽检测的结果以及数据流检测的结果,可以得到系统的攻击结果,即当链路带宽状态为非攻击状态并且数据流状态为非攻击状态,则判定系统状态为非攻击状态;当链路带宽状态为攻击状态并且数据流状态为攻击状态,则判定系统状态为攻击状态;当链路带宽状态为攻击状态并且数据流状态为非攻击状态或者是当链路带宽状态为非攻击状态并且数据流状态为攻击状态,则判定系统状态为风险状态。
由上述技术方案可以看出,获取预设时间段内端口的流量数据;并根据流量数据,确定出链路带宽;当系统受到洪范式DDoS攻击时,系统的链路带宽会发生明显的改变,因此根据链路带宽的变化,可以有效的检测洪范式DDoS攻击。抽取预设量的数据包,并提取数据包的属性数据;计算在预设时间段内各类属性数据对应的信息熵。信息熵反映了各类属性数据的分布情况。当出现小流量DDoS攻击时,不同节点往往会同时出现相同属性的小流量数据。通过统计各类属性数据对应的信息熵,可以有效的检测小流量DDoS攻击。根据链路带宽以及各信息熵与其相应的阈值的匹配关系,确定出系统的攻击结果。在该技术方案中,通过对链路带宽与数据流的分析,可以很好地能识别洪范式与小流量的DDoS攻击。并且在数据流分析中对多属性的信息熵计算,能够很好地定位受攻击处并采取措施,同时也能减小由于客户端自身增大访问量和非习惯性访问而引起的流量异常的误判,提高了DDoS检测的准确性。
结合上述介绍可知,当链路带宽状态为非攻击状态并且数据流状态为攻击状态,则判定系统状态为风险状态。在该种情况下,为了进一步确定系统是否受到小流量DDoS攻击,可以增大数据包的数量,从而提升分析结果的准确性。
具体的,当链路带宽状态为非攻击状态并且数据流状态为攻击状态,则判定系统状态为风险状态之后,调大预设量的取值。
在具体实现中,可以按照预先设定的调整梯度调大预设量的取值。例如,初始状态下预设量为20%,按照2倍增长的方式,此时可以将预设量调大为40%。
调大预设量的取值之后,可以重新执行S102至S104的操作步骤,此时可以再次确定出数据流状态。当调大预设量的取值之后数据流状态仍为攻击状态时,则判定系统状态为攻击状态。
如图3所示为本发明实施例提供的一种针对系统攻击结果的状态转换图,图3中数字“1”表示非攻击状态,数字“-1”表示攻击状态,其在图3左上角已经标志。数据流包括采集的流量数据以及抽取的数据包。当链路带宽状态为非攻击状态并且数据流状态为非攻击状态,则判定系统状态为非攻击状态即正常状态;当链路带宽状态为攻击状态并且数据流状态为非攻击状态或者是当链路带宽状态为非攻击状态并且数据流状态为攻击状态,则判定系统状态为风险状态;当链路带宽状态为攻击状态并且数据流状态为攻击状态,则判定系统状态为攻击状态。在图3中还包括当链路带宽状态为非攻击状态并且数据流状态为攻击状态时,判定系统状态为攻击状态,其针对的是调大预设量的取值之后,若数据流状态仍为攻击状态,即使链路带宽状态为非攻击状态,仍可判定系统状态为攻击状态。
通过增大数据包的抽取量,可以更加全面的分析数据包信息,从而更加准确的确定出系统是否受到小流量DDoS攻击,进一步提升了DDoS检测的准确性。
在本发明实施例中,在抽取预设量的数据包,并提取数据包的属性数据之后,可以记录每类属性数据概率值最大的目标属性值;相应的,在判定系统状态为攻击状态之后,可以统计信息熵小于信息熵阈值的目标属性数据;将目标属性数据所对应的目标属性值放入攻击流特征表,并将攻击流特征表下发至各分控制器,以便于各分控制器丢弃包含目标属性值的数据包。
属性值所对应的概率值越大,说明该类属性数据的属性值在所有数据包中出现的次数较多,该属性值属于小流量DDoS攻击数据的可能性极高,通过将该属性值作为攻击数据放入攻击流特征表,并下发给各分控制器,可以便于分控制器自动丢弃包含该属性值的数据包,从而降低小流量DDoS攻击的发生,有效的确保系统的安全运行。
图4为本发明实施例提供的一种DDoS攻击检测装置的结构示意图,包括获取单元41、提取单元42、计算单元43和确定单元44;
获取单元41,用于获取预设时间段内端口的流量数据;并根据流量数据,确定出链路带宽;
提取单元42,用于抽取预设量的数据包,并提取数据包的属性数据;
计算单元43,用于计算在预设时间段内各类属性数据对应的信息熵;
确定单元44,用于根据链路带宽以及各信息熵与其相应的阈值的匹配关系,确定出系统的攻击结果。
可选的,确定单元包括第一判断子单元、第一标记子单元、第二标记子单元、第二判断子单元、第三标记子单元、第四标记子单元、第一判定子单元、第二判定子二单元和第三判定子单元;
第一判断子单元,用于判断链路带宽是否小于带宽攻击阈值;若是,则触发第一标记子单元;若否,则触发第二标记子单元;
第一标记子单元,用于将链路带宽状态标记为非攻击状态;
第二标记子单元,用于将链路带宽状态标记为攻击状态;
第二判断子单元,用于判断连续N个窗口内是否均存在至少两个信息熵小于信息熵阈值的属性数据;其中,一个预设时间段为一个窗口;若是,则触发第三标记子单元;若否,则触发第四标记子单元;
第三标记子单元,用于将数据流状态标记为攻击状态;
第四标记子单元,用于将数据流状态标记为非攻击状态;
第一判定子单元,用于当链路带宽状态为非攻击状态并且数据流状态为非攻击状态,则判定系统状态为非攻击状态;
第二判定子二单元,用于当链路带宽状态为攻击状态并且数据流状态为攻击状态,则判定系统状态为攻击状态;
第三判定子单元,用于当链路带宽状态为攻击状态并且数据流状态为非攻击状态或者是当链路带宽状态为非攻击状态并且数据流状态为攻击状态,则判定系统状态为风险状态。
可选的,还包括调整单元、判断单元和判定单元;
调整单元,用于在当链路带宽状态为非攻击状态并且数据流状态为攻击状态,则判定系统状态为风险状态之后,调大预设量的取值;
判断单元,用于判断在调大预设量的取值之后数据流状态是否为攻击状态;若是,则触发判定单元;
判定单元,用于判定系统状态为攻击状态。
可选的,还包括记录单元、统计单元和发放单元;
记录单元,用于在抽取预设量的数据包,并提取数据包的属性数据之后,记录每类属性数据概率值最大的目标属性值;
统计单元,用于在判定系统状态为攻击状态之后,统计信息熵小于信息熵阈值的目标属性数据;
发放单元,用于将目标属性数据所对应的目标属性值放入攻击流特征表,并将攻击流特征表下发至各分控制器,以便于各分控制器丢弃包含目标属性值的数据包。
可选的,计算单元具体用于统计在预设时间段内各类属性数据的概率值;
根据如下公式,计算第i类属性数据对应的信息熵H(xi),
其中,pi,j表示第i类属性数据的第j个数据的概率值;N表示第i类属性数据的数据总个数。
可选的,属性数据包括数据包IP头部的总长度、生存时间、协议类型和源IP地址以及数据包TCP头部的标志位和目的端口。
图4所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,获取预设时间段内端口的流量数据;并根据流量数据,确定出链路带宽;当系统受到洪范式DDoS攻击时,系统的链路带宽会发生明显的改变,因此根据链路带宽的变化,可以有效的检测洪范式DDoS攻击。抽取预设量的数据包,并提取数据包的属性数据;计算在预设时间段内各类属性数据对应的信息熵。信息熵反映了各类属性数据的分布情况。当出现小流量DDoS攻击时,不同节点往往会同时出现相同属性的小流量数据。通过统计各类属性数据对应的信息熵,可以有效的检测小流量DDoS攻击。根据链路带宽以及各信息熵与其相应的阈值的匹配关系,确定出系统的攻击结果。在该技术方案中,通过对链路带宽与数据流的分析,可以很好地能识别洪范式与小流量的DDoS攻击。并且在数据流分析中对多属性的信息熵计算,能够很好地定位受攻击处并采取措施,同时也能减小由于客户端自身增大访问量和非习惯性访问而引起的流量异常的误判,提高了DDoS检测的准确性。
以上对本发明实施例所提供的一种DDoS攻击检测方法和装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (8)
1.一种DDoS攻击检测方法,其特征在于,包括:
获取预设时间段内端口的流量数据;并根据所述流量数据,确定出链路带宽;
抽取预设量的数据包,并提取所述数据包的属性数据;
计算在所述预设时间段内各类属性数据对应的信息熵;
根据所述链路带宽以及各所述信息熵与其相应的阈值的匹配关系,确定出系统的攻击结果;
所述根据所述链路带宽以及各所述信息熵与其相应的阈值的匹配关系,确定出系统的攻击结果包括:
判断所述链路带宽是否小于带宽攻击阈值;
若是,则将链路带宽状态标记为非攻击状态;
若否,则将链路带宽状态标记为攻击状态;
判断连续N个窗口内是否均存在至少两个信息熵小于信息熵阈值的属性数据;其中,一个预设时间段为一个窗口;
若是,则将数据流状态标记为攻击状态;
若否,则将数据流状态标记为非攻击状态;
当所述链路带宽状态为非攻击状态并且所述数据流状态为非攻击状态,则判定系统状态为非攻击状态;
当所述链路带宽状态为攻击状态并且所述数据流状态为攻击状态,则判定系统状态为攻击状态;
当所述链路带宽状态为攻击状态并且所述数据流状态为非攻击状态或者是当所述链路带宽状态为非攻击状态并且所述数据流状态为攻击状态,则判定系统状态为风险状态。
2.根据权利要求1所述的方法,其特征在于,在当所述链路带宽状态为非攻击状态并且所述数据流状态为攻击状态,则判定系统状态为风险状态之后还包括:
调大所述预设量的取值;
判断在调大所述预设量的取值之后所述数据流状态是否为攻击状态;
若是,则判定系统状态为攻击状态。
3.根据权利要求1所述的方法,其特征在于,在所述抽取预设量的数据包,并提取所述数据包的属性数据之后还包括:
记录每类属性数据概率值最大的目标属性值;
相应的,在所述判定系统状态为攻击状态之后还包括:
统计信息熵小于信息熵阈值的目标属性数据;
将所述目标属性数据所对应的目标属性值放入攻击流特征表,并将所述攻击流特征表下发至各分控制器,以便于各所述分控制器丢弃包含所述目标属性值的数据包。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述属性数据包括数据包IP头部的总长度、生存时间、协议类型和源IP地址以及数据包TCP头部的标志位和目的端口。
6.一种DDoS攻击检测装置,其特征在于,包括获取单元、提取单元、计算单元和确定单元;
所述获取单元,用于获取预设时间段内端口的流量数据;并根据所述流量数据,确定出链路带宽;
所述提取单元,用于抽取预设量的数据包,并提取所述数据包的属性数据;
所述计算单元,用于计算在所述预设时间段内各类属性数据对应的信息熵;
所述确定单元,用于根据所述链路带宽以及各所述信息熵与其相应的阈值的匹配关系,确定出系统的攻击结果;
所述确定单元包括第一判断子单元、第一标记子单元、第二标记子单元、第二判断子单元、第三标记子单元、第四标记子单元、第一判定子单元、第二判定子二单元和第三判定子单元;
所述第一判断子单元,用于判断所述链路带宽是否小于带宽攻击阈值;若是,则触发所述第一标记子单元;若否,则触发所述第二标记子单元;
所述第一标记子单元,用于将链路带宽状态标记为非攻击状态;
所述第二标记子单元,用于将链路带宽状态标记为攻击状态;
所述第二判断子单元,用于判断连续N个窗口内是否均存在至少两个信息熵小于信息熵阈值的属性数据;其中,一个预设时间段为一个窗口;若是,则触发所述第三标记子单元;若否,则触发所述第四标记子单元;
所述第三标记子单元,用于将数据流状态标记为攻击状态;
所述第四标记子单元,用于将数据流状态标记为非攻击状态;
所述第一判定子单元,用于当所述链路带宽状态为非攻击状态并且所述数据流状态为非攻击状态,则判定系统状态为非攻击状态;
所述第二判定子二单元,用于当所述链路带宽状态为攻击状态并且所述数据流状态为攻击状态,则判定系统状态为攻击状态;
所述第三判定子单元,用于当所述链路带宽状态为攻击状态并且所述数据流状态为非攻击状态或者是当所述链路带宽状态为非攻击状态并且所述数据流状态为攻击状态,则判定系统状态为风险状态。
7.根据权利要求6所述的装置,其特征在于,还包括调整单元、判断单元和判定单元;
所述调整单元,用于在当所述链路带宽状态为非攻击状态并且所述数据流状态为攻击状态,则判定系统状态为风险状态之后,调大所述预设量的取值;
所述判断单元,用于判断在调大所述预设量的取值之后所述数据流状态是否为攻击状态;若是,则触发所述判定单元;
所述判定单元,用于判定系统状态为攻击状态。
8.根据权利要求6所述的装置,其特征在于,还包括记录单元、统计单元和发放单元;
所述记录单元,用于在所述抽取预设量的数据包,并提取所述数据包的属性数据之后,记录每类属性数据概率值最大的目标属性值;
所述统计单元,用于在所述判定系统状态为攻击状态之后,统计信息熵小于信息熵阈值的目标属性数据;
所述发放单元,用于将所述目标属性数据所对应的目标属性值放入攻击流特征表,并将所述攻击流特征表下发至各分控制器,以便于各所述分控制器丢弃包含所述目标属性值的数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910507066.2A CN110225037B (zh) | 2019-06-12 | 2019-06-12 | 一种DDoS攻击检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910507066.2A CN110225037B (zh) | 2019-06-12 | 2019-06-12 | 一种DDoS攻击检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110225037A CN110225037A (zh) | 2019-09-10 |
CN110225037B true CN110225037B (zh) | 2021-11-30 |
Family
ID=67816633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910507066.2A Expired - Fee Related CN110225037B (zh) | 2019-06-12 | 2019-06-12 | 一种DDoS攻击检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110225037B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505249A (zh) * | 2019-09-30 | 2019-11-26 | 怀来斯达铭数据有限公司 | DDoS攻击的识别方法和装置 |
CN110620787A (zh) * | 2019-09-30 | 2019-12-27 | 怀来斯达铭数据有限公司 | DDoS攻击的防护方法和系统 |
CN111294328A (zh) * | 2019-10-23 | 2020-06-16 | 上海科技网络通信有限公司 | 基于信息熵计算对sdn网络主动安全防御的方法 |
WO2021207984A1 (zh) * | 2020-04-15 | 2021-10-21 | 深圳市欢太科技有限公司 | 流量检测方法、装置、服务器以及存储介质 |
CN113595995A (zh) * | 2021-07-12 | 2021-11-02 | 中国联合网络通信集团有限公司 | 一种容器零信任安全防护方法及系统 |
CN116961951A (zh) * | 2022-04-20 | 2023-10-27 | 中兴通讯股份有限公司 | 链路泛洪攻击的处理方法、装置、设备和存储介质 |
CN115086060B (zh) * | 2022-06-30 | 2023-11-07 | 深信服科技股份有限公司 | 一种流量检测方法、装置、设备及可读存储介质 |
CN116561689B (zh) * | 2023-05-10 | 2023-11-14 | 盐城工学院 | 一种高维数据异常检测方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101018156A (zh) * | 2007-02-16 | 2007-08-15 | 华为技术有限公司 | 防止带宽型拒绝服务攻击的方法、设备及系统 |
CN101980506A (zh) * | 2010-10-29 | 2011-02-23 | 北京航空航天大学 | 一种基于流量特征分析的分布式入侵检测方法 |
CN105007271A (zh) * | 2015-07-17 | 2015-10-28 | 中国科学院信息工程研究所 | 一种DDoS攻击僵尸网络的识别方法及系统 |
CN106921666A (zh) * | 2017-03-06 | 2017-07-04 | 中山大学 | 一种基于协同理论的DDoS攻击防御系统及方法 |
CN107968785A (zh) * | 2017-12-03 | 2018-04-27 | 浙江工商大学 | 一种SDN数据中心中防御DDoS攻击的方法 |
CN108289104A (zh) * | 2018-02-05 | 2018-07-17 | 重庆邮电大学 | 一种工业SDN网络DDoS攻击检测与缓解方法 |
CN109005157A (zh) * | 2018-07-09 | 2018-12-14 | 华中科技大学 | 一种软件定义网络中DDoS攻击检测与防御方法与系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795215B (zh) * | 2010-01-28 | 2012-02-01 | 哈尔滨工程大学 | 网络流量异常检测方法及检测装置 |
KR101519623B1 (ko) * | 2010-12-13 | 2015-05-12 | 한국전자통신연구원 | 오탐률을 줄이기 위한 분산 서비스 거부 공격 탐지 장치 및 방법, 분산 서비스 거부 공격 탐지 및 방어 장치 |
KR20140142544A (ko) * | 2013-06-04 | 2014-12-12 | 한국전자통신연구원 | 공정성을 높이기 위한 네트워크 대역폭 할당 방법 및 장치 |
US10462166B2 (en) * | 2016-10-11 | 2019-10-29 | Arbor Networks, Inc. | System and method for managing tiered blacklists for mitigating network attacks |
CN109302378B (zh) * | 2018-07-13 | 2021-01-05 | 哈尔滨工程大学 | 一种SDN网络DDoS攻击检测方法 |
-
2019
- 2019-06-12 CN CN201910507066.2A patent/CN110225037B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101018156A (zh) * | 2007-02-16 | 2007-08-15 | 华为技术有限公司 | 防止带宽型拒绝服务攻击的方法、设备及系统 |
CN101980506A (zh) * | 2010-10-29 | 2011-02-23 | 北京航空航天大学 | 一种基于流量特征分析的分布式入侵检测方法 |
CN105007271A (zh) * | 2015-07-17 | 2015-10-28 | 中国科学院信息工程研究所 | 一种DDoS攻击僵尸网络的识别方法及系统 |
CN106921666A (zh) * | 2017-03-06 | 2017-07-04 | 中山大学 | 一种基于协同理论的DDoS攻击防御系统及方法 |
CN107968785A (zh) * | 2017-12-03 | 2018-04-27 | 浙江工商大学 | 一种SDN数据中心中防御DDoS攻击的方法 |
CN108289104A (zh) * | 2018-02-05 | 2018-07-17 | 重庆邮电大学 | 一种工业SDN网络DDoS攻击检测与缓解方法 |
CN109005157A (zh) * | 2018-07-09 | 2018-12-14 | 华中科技大学 | 一种软件定义网络中DDoS攻击检测与防御方法与系统 |
Non-Patent Citations (2)
Title |
---|
DNS欺骗和缓存中毒攻击的检测;李杰;《中国优秀硕士学位论文全文数据库(电子期刊) 信息科技辑》;20160315;摘要,正文第3章 * |
李杰.DNS欺骗和缓存中毒攻击的检测.《中国优秀硕士学位论文全文数据库(电子期刊) 信息科技辑》.2016,摘要,正文第3章. * |
Also Published As
Publication number | Publication date |
---|---|
CN110225037A (zh) | 2019-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110225037B (zh) | 一种DDoS攻击检测方法和装置 | |
CN108282497B (zh) | 针对SDN控制平面的DDoS攻击检测方法 | |
US8248946B2 (en) | Providing a high-speed defense against distributed denial of service (DDoS) attacks | |
CN101378394B (zh) | 分布式拒绝服务检测方法及网络设备 | |
CN108632224B (zh) | 一种apt攻击检测方法和装置 | |
JP4232828B2 (ja) | アプリケーション分類方法、ネットワーク異常検知方法、アプリケーション分類プログラム、ネットワーク異常検知プログラム、アプリケーション分類装置、ネットワーク異常検知装置 | |
CN109617868B (zh) | 一种ddos攻击的检测方法、装置及检测服务器 | |
CN112788062B (zh) | SDN中基于ET-EDR的LDoS攻击检测与缓解方法 | |
CN106357673A (zh) | 一种多租户云计算系统DDoS攻击检测方法及系统 | |
CN109194608B (zh) | 一种基于流的DDoS攻击与闪拥事件检测方法 | |
CN104468507B (zh) | 基于无控制端流量分析的木马检测方法 | |
Celik et al. | Salting public traces with attack traffic to test flow classifiers | |
JP4324189B2 (ja) | 異常トラヒック検出方法およびその装置およびプログラム | |
CN109952743B (zh) | 用于低内存和低流量开销大流量对象检测的系统和方法 | |
Wu et al. | Lossdetection: Real-time packet loss monitoring system for sampled traffic data | |
CN109257384B (zh) | 基于访问节奏矩阵的应用层DDoS攻击识别方法 | |
CN103139206A (zh) | 一种僵尸主机的检测方法及装置 | |
CN108111476B (zh) | C&c通道检测方法 | |
JP2005203992A (ja) | ネットワーク異常検出装置、ネットワーク異常検出方法およびネットワーク異常検出プログラム | |
JP2005223847A (ja) | ネットワーク異常検出装置、ネットワーク異常検出方法およびネットワーク異常検出プログラム | |
CN106817268B (zh) | 一种ddos攻击的检测方法及系统 | |
CN108521413A (zh) | 一种未来信息战争的网络抵抗和防御方法及系统 | |
JP4814270B2 (ja) | トラヒック変動量推定方法およびその装置とプログラム | |
CN115225353B (zh) | 兼顾DoS/DDoS洪泛和慢速HTTP DoS的攻击检测方法 | |
CN114006725B (zh) | 一种多层次信息融合的网络攻击态势实时感知方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211130 |