admin管理员组

文章数量:1532470

2024年5月2日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.8

(22)申请日 2013.01.18

(71)申请人 重庆邮电大学

地址 400065 重庆市南岸区黄桷垭崇文路2号

(72)发明人 徐川 唐红 赵国锋 杜成 张毅

(74)专利代理机构 重庆市恒信知识产权代理有限公司

代理人 刘小红

(51)

H04L29/06

H04L29/08

(10)申请公布号 CN 103095711 A

(43)申请公布日 2013.05.08

权利要求说明书 说明书 幅图

(54)发明名称

一种针对网站的应用层DDoS攻击

检测方法和防御系统

(57)摘要

本发明涉及一种应用层DDoS攻击

检测方法及防御系统,涉及网络安全,特

别是应用层DDoS攻击检测与防御。本发

明通过对用户访问行为进行分析,提出了

基于用户点击序列预测的检测方法与防御

系统。首先提取网站的页面URL,利用聚

类算法进行聚类,得到该网站的页面分类

法律状态

法律状态公告日

2022-11-18

法律状态信息

专利权的转移IPC(主分

类):H04L29/06专利

号:ZL2登记生效

日:20221104变更事项:专利权人

变更前权利人:西安龙合林创知识

产权代理有限公司变更后权利人:

深圳占领信息技术有限公司变更

事项:地址变更前权利人:710061

陕西省西安市雁塔区含光南段10

号含光小区办公楼2层东边222

号房变更后权利人:518101 广东

省深圳市宝安区西乡街道劳动社

区万庭大厦1号楼1111

法律状态

专利申请权、专利权

的转移

权 利 要 求 说 明 书

1. 一种针对网站的应用层DDoS攻击检测方法,其特征在于,包括如下步骤:

提取网站的页面URL,利用K-means聚类算法对HTTP请求按照网站进行分类,

得到该网站的页面分类集合Vjj为页面类型,进

而得到用户点击序列

ui={x1,x2

,…,xn},i为独立用户数;

利用用户点击序列

ui={x1,x2

,…,xn}训练得到页面转移概率矩阵

PVj

根据用户点击序列

ui={x1,x2

,…,xn},构造该用户所访问页面随机游走图;

根据用户当前观测周期内的用户点击序列

ui={x1,x2

,…,xn}、页面转移概率矩阵

PVj和页面随机游走图进行随机游走计算,预测得到用

户下一观测周期的用户点击序列

ui={x

b>1,x2,…,x

>n};

计算当前观测周期内的用户点击序列

ui={x1,x2

,…,xn}和下一观测周期的用户点击序列

ui={x

b>1,x2,…,x

>n}的序列相似度;

根据序列相似度与阈值进行比较判断用户点击序列ui

否正常,如果序列相似度小于阈值则表明该用户点击序列

ui为攻击序列,反之为正常访问序列。

2.根据权利要求1所述一种针对网站的应用层DDoS攻击检测方法,其特征在于:

所述得到页面分类集合Vj后,将HTTP请求与页面分类

集合Vj进行匹配,进而得到用户点击序列

ui={x1,x2

,…,xn}。

3.根据权利要求1所述一种针对网站的应用层DDoS攻击检测方法,其特征在于:

所述随机游走计算中的概率分布向量计算公式为 ,其中

p为邻接矩阵,s0为初始概率分布向量,为跳转发生概率,

d为发生跳转时跳转到每个顶点的概率分布向量。

4.根据权利要求1所述一种针对网站的应用层DDoS攻击检测方法,其特征在于:

所述序列相似度的计算公式为,ui表示当前观测周期内

的用户点击序列,u表示下一观测周期的用户点击序列。

5.一种针对网站的应用层DDoS攻击防御系统,其特征在于:包括请求处理模块

(1)、模型训练模块(2)、序列预测模块(3)和异常检测模块(4),其中,请

求处理模块(1)利用K-means聚类算法对HTTP请求按照网站进行分类,得到分

类集合Vj,进而得到用户点击序列

ui,并将用户点击序列ui传交

到模型训练模块(2)和序列预测模块(3);模型训练模块(2)根据用户点击序

ui构造随机游走图,获得网站页面转移概率矩阵

PVj,并提交给序列检测模块(3);序列预测模块(3)

在用户点击序列ui的当前观测周期的基础上,根据随机

游走图预测下一个观测周期用户点击序列

ui;异常检测模块(4)将当前观测

周期内的用户点击序列ui和下一个观测周期用户点击序

ui进行序列相似度计算。

说 明 书

技术领域

本发明涉及网络安全领域,尤其是涉及针对网站的应用层DDoS攻击检测方法和防

御系统。

背景技术

分布式拒绝服务攻击(Distributed Denial of Service, DDoS),一直是互联网业务提供

者-Web服务器所面临的最为严重的威胁之一。传统基于网络层或传输层的DDoS

攻击方式已经被日益成熟的网络防护技术(防火墙、入侵检测技术等)很好地检测,

同时计算模式的变化使得更多的服务通过Web进行交互,这加速了DDoS攻击方

式向应用层发展。发生在应用层的DDoS攻击通常采用真实IP地址作为攻击节点,

利用应用层协议的漏洞,向目标服务器发送大量基于HTTP合法协议的攻击请求,

可轻松穿越网络防护系统,这无疑使它成为当前Web服务器急需解决的安全问题。

然而大多数的研究成果是对网络层或传输层DDoS攻击进行检测,已经不适合基于

应用层DDoS攻击的检测。已有的应用层DDoS攻击检测方法也主要针对基于

HTTP协议的洪式攻击检测,通过对HTTP请求的流量特征或协议特征进行统计分

析来实现攻击检测,这对于采用正常速率攻击请求的非对称攻击方式则是无效的。

Ranjan提出了基于会话中HTTP请求统计异常度的检测方法,该方法首先对网站页

面进行分类,然后统计每个会话中的用户HTTP请求的分类情况,并以此来训练正

常用户的HTTP请求模型,最后通过与正常用户模型的偏离程度识别攻击请求。该

方法针对非对称攻击的特性,首次以HTTP请求对资源消耗情况进行了页面分类;

但它采用会话中的HTTP请求统计特征进行正常模型的训练,所体现出来的仍然是

流量的特征,然而非对称攻击者的流量特性与正常用户一致,而且采用的统一模型

并不能对所有类型用户访问特征进行描述。

发明内容

本发明的目的是:针对网站的基于应用层HTTP协议DDoS攻击,提供一种能对采

用洪式和非对称攻击方式的攻击流量进行检测的方法和防御系统;由于非对称攻击

方式下,攻击者的流量特性与正常用户一致,给攻击检测和防御带来困难,为此,

发明人提出相应的解决方案。

一种针对网站的应用层DDoS攻击检测方法,包括如下步骤:

提取网站的页面URL,利用K-means聚类算法对HTTP请求按照网站进行分类,

得到该网站的页面分类集合Vjj为页面类型,将

HTTP请求与页面分类集合Vj进行匹配,进而得到用户

点击序列

ui={x1,x2

,…,xn},xi表示用户的

一次点击,i为独立用户数。

利用用户点击序列

ui={x1,x2

,…,xn}训练得到页面转移概率矩阵

PVj

根据用户点击序列

ui={x1,x2

,…,xn},构造该用户所访问页面随机游走图。

根据用户当前观测周期内的用户点击序列

ui={x1,x2

,…,xn}、页面转移概率矩阵

PVj和页面随机游走图进行随机游走计算,预测得到用

户下一观测周期的用户点击序列

ui={x

b>1,x2,…,x

>n}。随机游走计算中的概率分布向量计算公式

为 ,其中p为邻接矩阵,s0

初始概率分布向量,为跳转发生概率,d为发生跳转时跳转到每个顶点的概

率分布向量。p具体为页面转移概率矩阵PVj

s0从随机游走图中得到;d具体为页面转移概率矩阵

PVj中的一个列向量;跳转发生概率设置为0.15。

计算当前观测周期内的用户点击序列

ui={x1,x2

,…,xn}和下一观测周期的用户点击序列

ui={x

b>1,x2,…,x

>n}的序列相似度。序列相似度的计算公式为,

ui表示当前观测周期内的用户点击序列,

u表示下一观测周期的用户点击序列。

根据序列相似度与阈值进行比较判断用户点击序列ui

否正常,如果序列相似度小于阈值则表明该用户点击序列

ui为攻击序列,反之为正常访问序列。

一种针对网站的应用层DDoS攻击防御系统,包括请求处理模块、模型训练模块、

序列预测模块和异常检测模块,其中,请求处理模块利用K-means聚类算法对

HTTP请求按照网站进行分类,得到分类集合Vj,进而

得到用户点击序列ui,并将用户点击序列

ui传交到模型训练模块和序列预测模块;模型训练模块

根据用户点击序列ui构造随机游走图,获得网站页面转

移概率矩阵PVj,并提交给序列检测模块;序列预测模

块在用户点击序列ui的当前观测周期的基础上,根据随

机游走图预测下一个观测周期用户点击序列

ui;异常检测模块将当前观测周期

内的用户点击序列ui和下一个观测周期用户点击序列

ui进行序列相似度计算。

本发明能有效检测应用层DDoS攻击,特别是模拟正常用户行为的攻击请求,可广

泛应用于数据中心网站服务器安全防御。

附图说明

图1为应用层DDoS攻击防御系统部署示意图;

图2为应用层DDoS攻击防御系统体系结构示意图;

图3为应用层DDoS攻击检测方式示意图;

图4为用户点击序列预测及异常检测示意图;

图5为随机游走示意图。

具体实施方式

如图1所示为应用层DDoS攻击防御系统部署示意图,系统部署于数据中心web

服务器1.2前端,用于保护数据中心的所有web服务器1.2。系统对访问数据中心

服务器80端口1.1的HTTP请求进行检测,如果为攻击请求则丢弃,如果为正常

请求则转发给服务器。

如图2所示为应用层DDoS攻击防御系统体系结构示意图,该系统主要由以下四个

模块组成:

请求处理模块1,本模块负责对访问服务器的HTTP请求进行预处理,首先根据

HTTP请求采用K-means(基于距离的聚类算法)聚类算法对一个网站的页面进行

分类,得到分类集合Vj;j为页面类型,其次根据HTTP

请求与页面分类集合Vj进行匹配,得到用户的点击序列

ui={x1,x2

,…,xn},ui中的元素

xiVj,将用户点击序列交

给模型训练模块2与序列预测模块3。

模型训练模块2,本模块负责训练网站用户访问行为,构造用户访问页面随机游走

图和网站页面的转移概率矩阵PVj,提交给序列预测模

块使用。用户访问页面随机游走图针对单个用户,可以用于区分单个用户的访问行

为;网站页面的转移概率矩阵用于描述访问该网站所有用户的群聚行为,用于避免

单个用户行为不同所带来的差异性。

序列预测模块3,本模块负责在用户点击序列

ui={x1,x2

,…,xn}的当前观测周期的基础上,根据随机游走

图预测下一个观测周期用户点击序列

ui={x

b>1,x2,…,x

>n}。

异常检测模块4,本模块负责对用户点击序列的正常性进行检测,将观测周期内用

户点击序列

ui={x1,x2

,…,xn}和预测得到的用户点击序列

ui={x

b>1,x2,…,x

>n}进行序列相似度计算,如果相似度高于阈值,

则为正常用户请求,转发给服务器;如果相似度低于阈值,则为DDoS攻击请求,

则丢弃该用户的HTTP请求。

为了解决攻击者伪装正常用户访问过程,系统在用户点击序列识别中采用了基于随

机游走的预测方法,能够对用户下一个周期的访问行为进行准确预测。

采用本发明提出的应用层DDoS攻击检测方法,弥补了传统以用户流量特征为基础

方法的不足,能够有效对流量特征正常、而资源消耗高的非对称HTTP攻击请求进

行检测,避免了传统系统使用同一模型描述所有用户行为所带来的误差。

如图3所示为应用层DDoS攻击检测方法示意图,该方法包括以下六个步骤:

1、首先提取网站的页面URL,根据URL深度、URL流行度和用户忠诚度,利用

K-means(基于距离的聚类算法)聚类算法进行聚类,得到该网站的页面分类

Vjj为页面类型。

2、通过IP区分一个用户,得到该用户一次会话中的点击序列

ui={x1,x2

,…,xn},i为独立用户数,利用所有用户的

点击序列训练页面转移概率矩阵PVj

3、根据用户的一次会话点击序列

ui={x1,x2

,…,xn},构造该用户所访问页面的随机游走图。

4、根据用户当前观测时间内的点击序列

ui={x1,x2

,…,xn},页面转移概率矩阵

PVj和页面随机游走图进行随机游走过程计算,预测得

到用户下一观测周期的用户点击序列

ui={x

b>1,x2,…,x

>n}。

5、计算观测序列

ui={x1,x2

,…,xn}和预测序列

ui={x

b>1,x2,…,x

>n}的序列相似度,计算公式为,

ui表示当前观测周期内的用户点击序列,

u表示下一观测周期的用户点击序列。

6、根据序列相似度与阈值进行比较判断该序列的正常性,如果序列相似度小于阈

值则表明该用户访问序列为攻击序列,反之为正常访问序列。

下面以一个具体实例对用户点击序列随机游走图构造方法进行分析,例子:页面集

合中有5个页面,即k=5,训练集合D中有4条用户访问序列分别为

u1={1,2,3,4,4},u2={3,4,5,2},

u3={3,5,2,4,1,3},u4={2,1,5},则由页面集

合和训练集合D导出的有向的随机游走图如图5所示。

图4所示为用户点击序列预测及异常检测示意图,本方法通过观测周期T内获取

的用户点击序列

ui(k)={x1,x

>2,…,xn},通过随机游走过程计算下一个

观测周期T+1内的用户点击序列

ui`(k+1)={xn+1

sub>, xn+2, …, xm+n },

具体的计算过程如下:

以观测周期T内的用户点击序列

ui(k)={x1,x

>2,…,xn}为输入,通过随机游走过程计算

用户下一次点击xn+1,随机游走过程需要4个输入参数:

邻接矩阵p,初始概率分布向量s0,跳转发生概率,发生

跳转时跳转到图中每个顶点的概率分布向量d。其中邻接矩阵p为网

站页面转移概率矩阵PVj;初始概率分布向量

s0从随机游走图中得到;跳转概率分布向量d为网站页面

转移概率矩阵PVj中的一个列向量;跳转发生概率设置

为0.15。

每次游走过程后的输出概率分布向量记作ss的计算方法如下式所示:

(1)

将向量s作为式(1)的输入,反复迭代式(1)直至收敛,将此时的概率分布向量

记作,向量即为稳定状态的概率分布向量,从向量中选取

xn+1的下一次点击xn+1

根据新得到的点击xn+1构成点击序列

ui(k)={x2,x

>2,…,xn+1},将它作为输入通过随机游走

过程计算下一次点击xn+2,如此重复计算m次,

得到观测周期T+1内的用户点击序列

ui`(k+1)={xn+1

sub>, xn+2, …, xm+n}。

计算观测周期T+1内的观测序列

ui(k+1)={x1, x2

sub>, …, xm }和预测序列

ui`(k+1)={xn+1

sub>, xn+2, …, xm+n}

的相似度,实现序列异常检测。

本文标签: 用户序列攻击点击检测