利索能及
我要发布
收藏
专利号: 2019113111556
申请人: 广东省新一代通信与网络创新研究院
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种DDOS攻击检测与防御方法,其特征在于,包括:

获取通信网络中的数据流,并提取所述数据流的流量行为特征参数;其中,所述流量行为特征参数包括源IP地址及源端口号;

计算所述流量行为特征参数的信息熵;信息熵的计算模型为:

其中,H(X)为所述源IP地址和所述源端口号的信息熵,X表示数据流信源系统的属性,共有{X1,X2,…,XN}个状态,Pi为数据流信源系统的属性的出现概率;其中,N=2,X1为所述源IP地址,X2为所述源端口号,Pi包括所述源IP地址的出现概率P1和所述源端口号的出现概率P2,且满足P1+P2=1;

获取当所述信息熵的波动趋势达到预设的波动变化条件时对应的数据流,作为异常数据流;将所述异常数据流按协议类型划分为DNS Flood数据流、HTTP Flood数据流;

按所述异常数据流的协议类型对所述异常数据流进行分流检测与防御;具体的,当所述异常数据流为DNS Flood数据流时,检测所述DNS Flood数据流的数据包是否具有特定的DNS攻击源端口号;当判断出所述DNS Flood数据流的数据包具有所述DNS攻击源端口号时,则认定为存在DNS反射放大攻击,根据DNS协议报文,建立会话记录表;其中,所述会话记录表的记录项为源IP地址、目的IP地址、源端口、目的端口及协议类型;当接收到DNS Reply报文时,判断所述DNS Reply报文的报文信息是否与所述会话记录表相匹配,若是,则允许所述DNS Reply报文通过;若否,则认定为DNS攻击报文,禁止所述DNS Reply报文通过;

当所述异常数据流为HTTP Flood数据流时,根据HTTP报文规律,判断所述HTTP Flood数据流是否满足至少一种预设的HTTP攻击条件,若是,则认为存在HTTP攻击;其中,所述HTTP攻击条件包括:流量超过预设的流量阈值、HTTP请求报文速率超过预设的请求报文速率阈值、访问url、jpg动态页面、php动态资源和html页面的比例频度超过预设的比例频度阈值、及HTTP报文的头部信息异于预设的正常http请求;当所述HTTP Flood数据流的源IP地址的HTTP并发连接数超过预设的HTTP并发连接数阈值时,则认定为异常IP;当所述HTTP Flood数据流的HTTP报文的请求头部存在异于预设的正常浏览器特征时,则认定为攻击报文;当所述HTTP Flood数据流的源IP地址的访问流量大于预设的访问流量阈值时,则认定为可疑IP,进而在判断出所述HTTP Flood数据流的源IP地址对预设url的访问数与总访问数的比例超过预设的访问比例阈值,则认定为攻击IP;其中,所述HTTP报文的头部信息包括user‑agent、referer、cookie、cache‑control,所述正常http请求包括信息user‑agent为googlebot或user‑agent,HTTP报文的请求头部可以包括user‑agent、referer和cookie,当判断出所述HTTP Flood数据流不满足任一种HTTP攻击条件时,则认为不存在HTTP攻击,不继续执行HTTP Flood数据流的防御操作。

2.如权利要求1所述的DDOS攻击检测与防御方法,其特征在于,在所述按所述异常数据流的协议类型对所述异常数据流进行分流检测与防御之前,还包括:将所述异常数据流按所述协议类型划分为TCP Flood数据流、UDP Flood数据流。

3.如权利要求2所述的DDOS攻击检测与防御方法,其特征在于,所述按所述异常数据流的协议类型对所述异常数据流进行分流检测与防御,具体包括:当所述异常数据流为TCP Flood数据流时,判断所述TCP Flood数据流的TCP协议数据包比例是否不满足任一预设的TCP协议数据包比例规则;其中,所述TCP协议数据包比例规则为公式(1)、(2)、(3)及(4):NSYN=NSYN+ACK (1)

NSYN+ACK=NFlow (2)

NRST/NSYN+ACK≈0 (3)

NFIN/NSYN+ACK=2 (4)

其中,NSYN为TCP报头带有SYN标识的报文数量,NSYN+ACK为TCP报头带有SYN+ACK标识的报文数量,NFlow为TCP报头带有Flow标识的报文数量,NRST为TCP报头带有RST标识的报文数量,NFIN为TCP报头带有FIN标识的报文数量;

当判断出所述TCP协议数据包比例不满足任一所述TCP协议数据包比例规则时,则认为存在TCP Flood攻击,根据各TCP连接状态,判断是否满足至少一种预设的IP异常条件;其中,所述IP异常条件包括:TCP Flood数据流的源IP地址的新建连接速率超过预设的新建连接速率阈值、TCP Flood数据流的源IP地址的并发连接数超过预设的并发连接数阈值、建立TCP连接后发送的报文数量为0、windows size值小于预设阈值及重传请求次数大于预设的请求次数阈值;

当判断出满足至少一种所述IP异常条件时,则确定为可疑连接并断开。

4.如权利要求2所述的DDOS攻击检测与防御方法,其特征在于,所述按所述异常数据流的协议类型对所述异常数据流进行分流检测与防御,具体包括:当所述异常数据流为UDP Flood数据流时,根据UDP报文段特征,判断所述UDP Flood数据流是否满足至少一种预设的UDP Flood攻击条件;其中,所述UDP Flood攻击条件包括:UDP报文数量占总数量包的比例超过预设的比例阈值、UDP报文长度在预设的长度范围内或相同及UDP报文存在相同或有规律变化的报文字段;

当判断出所述UDP Flood数据流满足至少一种所述UDP Flood攻击条件时,则认为存在UDP Flood攻击,对具有固定特征的UDP报文进行识别,建立指纹特征库;

以所述指纹特征库作为UDP报文过滤条件,丢弃被所述指纹特征库匹配到的UDP报文,转发未匹配到所述指纹特征库的UDP报文。

5.如权利要求1所述的DDOS攻击检测与防御方法,其特征在于,通过如下步骤获取正常数据流:

将所述信息熵的波动趋势未达到预设的波动变化条件时对应的数据流,以及获取所述异常数据流进行分流检测与防御后的数据流,作为正常数据流。

6.一种DDOS攻击检测与防御装置,其特征在于,包括:

流量行为特征参数提取模块,用于获取通信网络中的数据流,并提取所述数据流的流量行为特征参数;其中,所述流量行为特征参数包括源IP地址及源端口号;

信息熵计算模块,用于计算所述流量行为特征参数的信息熵;信息熵的计算模型为:

其中,H(X)为所述源IP地址和所述源端口号的信息熵,X表示数据流信源系统的属性,共有{X1,X2,…,XN}个状态,Pi为数据流信源系统的属性的出现概率;其中,N=2,X1为所述源IP地址,X2为所述源端口号,Pi包括所述源IP地址的出现概率P1和所述源端口号的出现概率P2,且满足P1+P2=1;

异常数据流获取模块,用于获取当所述信息熵的波动趋势达到预设的波动变化条件时对应的数据流,作为异常数据流;将所述异常数据流按协议类型划分为DNS Flood数据流、HTTP Flood数据流;

分流检测与防御模块,用于按所述异常数据流的协议类型对所述异常数据流进行分流检测与防御;具体的,

当所述异常数据流为DNS Flood数据流时,检测所述DNS Flood数据流的数据包是否具有特定的DNS攻击源端口号;

当判断出所述DNS Flood数据流的数据包具有所述DNS攻击源端口号时,则认定为存在DNS反射放大攻击,根据DNS协议报文,建立会话记录表;其中,所述会话记录表的记录项为源IP地址、目的IP地址、源端口、目的端口及协议类型;

当接收到DNS Reply报文时,判断所述DNS Reply报文的报文信息是否与所述会话记录表相匹配,若是,则允许所述DNS Reply报文通过;若否,则认定为DNS攻击报文,禁止所述DNS Reply报文通过;

当所述异常数据流为HTTP Flood数据流时,根据HTTP报文规律,判断所述HTTP Flood数据流是否满足至少一种预设的HTTP攻击条件,若是,则认为存在HTTP攻击;其中,所述HTTP攻击条件包括:流量超过预设的流量阈值、HTTP请求报文速率超过预设的请求报文速率阈值、访问url、jpg动态页面、php动态资源和html页面的比例频度超过预设的比例频度阈值、及HTTP报文的头部信息异于预设的正常http请求;当所述HTTP Flood数据流的源IP地址的HTTP并发连接数超过预设的HTTP并发连接数阈值时,则认定为异常IP;当所述HTTP Flood数据流的HTTP报文的请求头部存在异于预设的正常浏览器特征时,则认定为攻击报文;当所述HTTP Flood数据流的源IP地址的访问流量大于预设的访问流量阈值时,则认定为可疑IP,进而在判断出所述HTTP Flood数据流的源IP地址对预设url的访问数与总访问数的比例超过预设的访问比例阈值,则认定为攻击IP;其中,所述HTTP报文的头部信息包括user‑agent、referer、cookie、cache‑control,所述正常http请求包括信息user‑agent为googlebot或user‑agent,HTTP报文的请求头部可以包括user‑agent、referer和cookie,当判断出所述HTTP Flood数据流不满足任一种HTTP攻击条件时,则认为不存在HTTP攻击,不继续执行HTTP Flood数据流的防御操作。

7.一种DDOS攻击检测与防御终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述的DDOS攻击检测与防御方法。

8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至5中任意一项所述的DDOS攻击检测与防御方法。