CN102438025B - 一种基于Web代理的间接分布式拒绝服务攻击抵御方法及系统 - Google Patents

一种基于Web代理的间接分布式拒绝服务攻击抵御方法及系统 Download PDF

Info

Publication number
CN102438025B
CN102438025B CN201210006766.1A CN201210006766A CN102438025B CN 102438025 B CN102438025 B CN 102438025B CN 201210006766 A CN201210006766 A CN 201210006766A CN 102438025 B CN102438025 B CN 102438025B
Authority
CN
China
Prior art keywords
sequence
agency
represent
time window
storehouse
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
Application number
CN201210006766.1A
Other languages
English (en)
Other versions
CN102438025A (zh
Inventor
谢逸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN201210006766.1A priority Critical patent/CN102438025B/zh
Publication of CN102438025A publication Critical patent/CN102438025A/zh
Application granted granted Critical
Publication of CN102438025B publication Critical patent/CN102438025B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于Web代理的间接分布式拒绝服务攻击抵御方法及系统。本发明通过提取proxy-to-server网络流的时空局地性来刻画proxy-to-server网络流的行为特性。通过非线性映射函数抑制小概率大值对有用信号的干扰。通过隐半马尔科夫模型(HsMM)构造proxy-to-server网络流的正常行为模型。利用模型得到的行为指标进行不同时间尺度下的正常度评估:长期行为评估与短期行为评估。对于被判定为异常的行为序列(HTTP请求序列),本发明采用“软控制”方法实施攻击响应。实施“软控制”的依据是代表代理正常行为的HsMM模型参数及结构指标。本发明所用来刻画proxy-to-server网络流的参量是时空局地性,它与目标服务器上的Web内容的变动无关;方法的检测性能是基于代理网络流的本质行为,与攻击流量的大小无关。该方法可以在攻击流消耗目标服务器资源之前实施攻击响应,因此可以有效实现早期检测。

Description

一种基于Web代理的间接分布式拒绝服务攻击抵御方法及系统
技术领域
本发明涉及网络通信技术领域,特别涉及一种基于Web代理的间接分布式拒绝服务攻击抵御方法及系统。
背景技术
分布式拒绝服务(Distributed Denial of Service,DDoS)攻击是一种不断进化发展的攻击方法。
本发明针对一种新型的DDoS攻击方式,提供一种有效的服务器端的抵御方法。本发明所关注的这种新型DDoS攻击与传统的直接型攻击行为不同,它采用广泛分布在互联网上的Web代理作为攻击的跳板。由于该攻击方法利用HTTP协议的特点实现供给目的,在本项发明中,我们称这一类攻击为“基于Web代理的DDoS攻击”。
如图1所示,基于Web代理的DDoS攻击模式包含以下两个步骤:(1)攻击者把生成用于攻击的HTTP请求,并把这些请求发给预先选择好的Web代理,迫使Web代理把这些恶意请求转发给被攻击主机。由于现有的Web代理只能缓存静态内容,攻击者可以通过请求动态页面或在HTTP头部设置Cache-Control:no-cache使恶意请求可以穿透Web代理。(2)为节省带宽,攻击者可以在估计Web代理完成转发恶意请求之后断开自己与它的连接。攻击者只要不断地重复以上步骤就可以触发大量的Web代理服务器用于DDoS攻击,而且这些代理服务器都是被动地卷入攻击行为中。与以往出现的DDoS攻击不同,基于Web代理的DDoS攻击具有以下几方面的优势:
第一,它使攻击主机可以突破客户端边界的流量约束实现攻击目的。即攻击主机可以连接不同的Web代理,通过“短”和“轻负荷”的TCP连接向攻击目标发动攻击。相对于传统攻击主机利用单一的“长”和“重负荷”的TCP连接发动攻击,新的攻击模式更加可以有效躲避客户端的检测。
第二,由于现有的Internet缺乏有效的合作机制,受害的服务器难以依赖中间Web代理的安全设置来避免受攻击。而且Internet上存在大量开放的代理服务器及在线代理服务器。这些代理服务器都可能被攻击者所滥用。
第三,对受害端的服务器来说,这一类的攻击行为难以被现有的DDoS防御系统所发现并过滤。主要有两方面的原因:(1)由于终端主机都位于分层Web代理后部,受害服务器无法区分来自每一个主机的HTTP请求。(2)从受害服务器的角度看,每经过一个中间Web代理,攻击流就和其它合法的客户请求汇聚一次。当汇聚流从最后一个Web代理发向受害服务器时,攻击流与正常的Web请求之间除了目的不同外,没有其它的差异。因此,现有的DDoS防御系统无法有效抵御这一类攻击行为。
现有的DDoS攻击防御方法主要分类两大类:网络层防御措施与应用层防御措施。
网络层防御措施主要针对传统的DDoS攻击,例如:UDP flood、ICMP flood、SYN attack、SYNACK attack、RST attack、DNS request&reply flood attack、CGI request attack、authentication server attack与HTTP request&replyflood。网络层方法的主要特点是利用TCP层及IP层的属性来发现攻击信号。网络层防御措施的典型方法包括:
基于源域的方案
MULTOPS路由器使用一个4层数据结构维护流的分组速率统计信息。数据结构中的一个节点对应一个IP地址前缀,节点的位置决定它所代表的前缀地址。例如:第三层的子节点4.*.*.*代表前缀4.2.*.*,每个节点有256项,分别对应该节点的256个子项,每个项又包含3个域:输出分组数、输入分组数和指向子节点的指针。当一个分组到达时,与该分组对应的子项相关的域值更新。当某个前缀地址的速率达到一个指定值时,子节点相应的子项被扩展;如果分组率低于指定的极限值,子节点的个数将被删除。通过这种方法,MULTOPS数据结构可以适应源域变化的流特征和路由器的可用资源变化。当进行攻击检测时,MULTOPS计算指定地址前缀的输出分组速率与输入分组速率的比值,如果这个比值超出预定的极限值,来自该地址前缀的分组将被丢弃。
D-WARD检测系统分别记录流层和连接层的分组数目(例如:到每一个外部目的地址的分组个数、每一个TCP连接的分组数)。使用不同的模型评价不同协议的流。对于TCP流,它使用分组率判断该网络流是否攻击。通过连接层的分组数,D-WARD系统可以从流中选择丢弃的分组,惩罚流中错误的TCP连接。D-WARD使用分组丢弃来测定网络流是否严格按照TCP规范。如果流不是按照TCP规范,系统将更加严格地限制其流量。类似地,D-WARD也可以应用于非TCP的协议,例如:ICMP、DNS等。
受害者端的防范方法
这一类方法包括:用变化点检测的方法来发现SYN淹没攻击中不成对的数据包。用IP包头中的TTL值来估计每个包的路由跳数,使用伪造IP地址的数据包将会和正常数据包在路由跳数上出现不一致。用SYN cache和cookie方法来对付SYN淹没攻击。
在SOS方案中,受保护的服务器的IP地址是隐匿的,只有伺服系统知道,所有的服务请求首先进行评价和重定位,如果属于合法用户,再由伺服系统引导到服务器。因此对于一个攻击者来说,很难跟踪到受到SoS保护的服务器的真实路径,因此也很难发起直接针对服务器的攻击
中间网络上的防范方法
这类方法的代表是反向跟踪和回推。反向跟踪主要是为了能发现攻击源的真正位置或接近攻击源的位置。在DDoS攻击中,源IP伪造是常用手段,检测方法无法根据攻击包中的源IP来定位攻击源。大部分的反向跟踪方法都采用两种策略,一个是在路由路径上对每个包进行标志,然后在利用每个路由器对包做上的不同标志重新构造路由路径。另一种方法是通过发送一些特定的数据包来探测真实的路由路径。回推是指当受害者端的主机在发现DDoS攻击后向上游路由器提出协助过滤请求,以帮助过滤或限制恶意数据流,反向跟踪可以协助回推方法确定攻击源的真实位置。
另一种方案是在Internet的不同地方统计数据包头中某些特定域(如IP地址、端口号、TCP服务类型等等)的统计特征来判断是否存在DDoS攻击。例如,统计正常情况下经过某点处数据包的源IP地址的分布情况,当有DDoS数据通过该点时,数据包的源IP地址分布会与正常情况下不同。攻击者如果对这个分布比较了解,也可以模拟这个分布以逃避检测。但是,由于检测不只在一个地方进行,攻击者的数据即使能够符合某点处的分布,也难以符合另一点处的分布
此外,还有分布式入侵检测策略,它将典型的入侵检测系统的功能扩展到Internet核心网络。在网络中部署多个分布式的检测系统,根据网络的异常行为来判断是否出现了DDoS攻击行为。该方法定义一组正常的网络流量范式,并判断网络流量是否严重偏离了正常的范式。例如,某种特定类型的分组的流量值就可以作为检测DDoS攻击的参数。DDoS检测还可以根据已知的攻击模式来判定。例如,已知使用Trinoo的攻击者和控制傀儡机通过TCP的27665端口通信,而控制傀儡机和攻击傀儡机则通过UDP的27444端口进行通信。在该策略中,把一组检测系统放置到Internet中,这些检测系统监控并分析经过它们的流量。由于每个检测系统只能观察到部分的异常信息,因此检测系统之间需要相互交换观察信息来发现DDoS攻击现象。该策略可以检测出反射攻击,只要反射攻击造成的网络行为偏离了正常范式。
然而,由于基于Web代理的DDoS攻击位于网络体系中的应用层并采用与传统不同的攻击方法。因此,这些为网络层DDoS攻击而设计的传统防御措施无法适用于这种新的攻击模式。为此,近年一些针对基于HTTP的应用层DDoS攻击防御方案陆续被提出。这些方法包括:
通过可信管理机制评估客户,并给通过为客户分配优先权来缓解应用层的DDoS攻击。
利用随时间变化的谜题“puzzle”来识别来自人和僵尸主机的请求流。一旦发现来自可疑主机的数据流,则进行隔离。
通过Web页面请求序列的四个属性来刻画正常客户的访问行为,对于给定的请求序列,他们通过重构误差来判断是否DDoS攻击。
利用攻击流具有高度的相似性的特点实现检测,并通过网络流的相关系数来测量可疑流的相似性,利用测量到的相关性结果从突发访问流中区分基于HTTP协议的DDoS流。
通过提高CDN和内容提供者之间的通信策略、改进CDN中边界服务器的转发过程来抵御基于CDN边界服务器的DDoS攻击。
应用用户浏览行来区分恶意HTTP请求与基于HTTP协议的DDoS攻击及通过访问矩阵,捕获突发流行为并检测模仿突发流的应用层DDoS攻击及那些在正常突发流发生期间出现的DDoS攻击。
然而,所有上述针对应用层HTTP协议的DDoS攻击防御方案都存在一个相同的前提假设条件:攻击流是由攻击主机直接发向目标受害服务器。因此,目标服务器至少可以区分出网络流的来源,然后根据给定的检测指标判断每一个来源的数据流是否正常。一旦某一个主机的网络流与预期的指标不相符,防御系统将把该系统作为可疑节点,并隔离来自它的所有HTTP请求。
然而,在真正的Internet环境中,大部分的终端主机都是被分层Web代理系统多隐藏。因此,从受害服务器的角度看,每一个进入的HTTP请求的源都是最后一跳的Web代理的地址,这些最后一跳的Web代理与受害服务器直接相连,也是在整个分层代理系统中唯一可以被受害服务器所证实的代理。由于受害服务器无法区分每一个进入的HTTP请求的来源,使用现有的DDoS防御措施会严重影响正常用户的请求流,降低正常用户的体验。尽管一些方案也考虑到处于NAT后部的DDoS攻击检测问题。但是Web代理的工作机制与NAT的机制不同:Web代理位于应用层,而NAT位于网络层。因此,用于NAT环境下的用户识别方法并不适用于Web代理。一些学者在研究内容分发网络时也提出了利用边界服务器发动DDoS攻击的问题。但他们所提出的方法并不适合本发明所提出的问题。这是由于目前几乎所有的CDN都是商用系统,内容提供者与作为商用系统得CDN可以协商使用一个高安全的通信策略。但是,由于海量Web代理存在Internet中(包括官方与非官方的),受害服务器无法逐一与这些服务器建立合作关系。
发明内容
本发明的目的是从汇聚的P2S网络流中过滤出可能的HTTP攻击请求,该技术专门针对基于Web代理的DDoS攻击,利用代理到服务器网络流的结构属性的动态过程实现攻击行为检测,并提供了一种基于Web代理的间接分布式拒绝服务攻击抵御方法及系统。
为了达到上述目的,本发明采用了以下技术方案:
一种基于Web代理的间接分布式拒绝服务攻击抵御方法,包括
步骤S1:数据提取,接收web代理向目标服务器发送的请求,根据所接收的请求计算出其时空局地性值,对时空局地性值进行非线性映射处理后得到对应的观测向量序列,其中所述的时空局地性值由时间局地性值和空间局地性值组成;
步骤S2:模型训练,对上述得到的观测向量序列采用隐半马尔科夫模型向前向后算法得出隐半马尔科夫模型参数,定义行为指标和结构指标用于衡量隐半马尔科夫模型的训练矢量序列中每个时间窗内代理行为的正常度,其中隐半马尔科夫模型的隐含状态包括正常态、过渡态、异常态;
步骤S3:检测,对代理访问的检测包括长期行为正常度评估与短期行为正常度评估,长期行为正常度评估通过比较实测的行为指标和由上述训练数据集得到的行为指标分布的差异来判断长期行为是否为异常,短期行为正常度评估由行为指标的概率密度函数来判断短期行为是否为异常;
步骤S4:控制,对上述被判断为异常的代理访问序列进行重构,重构后的代理请求序列被送到异常队列排队并等待目标服务器的响应,对于被判定为正常的代理请求序列则被送往正常队列排队,等待服务器响应。
进一步地,所述的时间局地性的提取方法如下:首先建立一个堆栈,当一个给定的Web代理发向服务器的网络流P2S中有一个HTTP请求访问目标服务器的一个文档f时,就在堆栈中搜索f,如果堆栈中能找到f,则把f的当前位置,即距离堆栈顶部的深度,记录下来作为当前HTTP请求对应的时间局地性值,然后把f从堆栈中抽出并放到该堆栈的顶部;如果堆栈中不包含f,则直接在堆栈顶部加入f,把该HTTP请求对应的时间局地性记为未定义或记为当前堆栈的深度。
进一步地,所述的空间局地性值的提取方法如下:使用O表示服务器上可以被访问的对象,设(a,b)∈O,表示在第w个时间窗内a和b同时被访问的联合概率密度函数,表示第w个时间窗内a和b的联合熵,用表示在第w个时间窗内代理发向服务器的请求串,其中fi w∈0,用表示第w个时间窗内第i个请求串的空间局地性,则可以得到:
d ( w , i ) S = 1 | F w | Σ ∀ j ≠ i e f i w f j w w , ( f i w , f j w ) ∈ F w ,
把不同时间窗内不同序号的串接起来,可以得到一个与HTTP请求串对应的、完整的空间局地性值 { ( d ( 1,1 ) S , . . . , d ( 1 , | F 1 | ) S ) , . . . , ( d ( W , 1 ) S , . . . , d ( W , | F W | ) S ) } , 其中W表示时间窗口的总数。
进一步地,步骤S1中的非线性映射处理方法是:使用一个非线性映射函数ψ(x)对大值信号进行压缩:
ψ ( x ) = Ax 1 + ln A , 0 ≤ x ≤ 1 A 1 + ln ( Ax ) 1 + ln A , 1 A ≤ x
其中x是归一化变量,上述函数通过线性映射保护小值信号,通过对数压缩函数压缩小概率大值信号,参数A是压缩参数,A的取值可以由训练数据的分布决定。
进一步地,步骤S2中,所述隐半马尔科夫模型包含一对随机过程:观测过程和隐状态过程,状态过程通过条件概率输出观测值,状态的停留由状态停留概率决定,隐半马尔科夫模型的工作过程如下:模型由初始概率决定进入一个初始状态,然后由状态停留概率决定该状态的停留长度,再由输出概率选择在状态停留期间的每一个输出值,即可观测变量。
进一步地,步骤S2中:根据观测过程及模型参数采用Viterbi算法或者MAP算法得到隐半马尔科夫模型的隐含状态。
进一步地,步骤3中,所述的长期行为正常度评估由Kolmogorov-Smirnov测试法,即K_S测试法,实现,用BIP={BI1,...,BIW}表示待评估的代理请求序列的行为指标序列,BIP中的每个元素都是独立同分布并来自于相同的累加分布函数ΦW(x),用Φ0(x)表示训练数据序列行为指标的累加分布,K-S检测法就是判断以下两个假设:
H 0 : Φ W ( x ) = Φ 0 ( x ) H α : Φ W ( x ) ≠ Φ 0 ( x ) ,
如果H0成立,代表待评估的代理的长期行为接近该代理的历史行为,则认为是正常访问行为,否则,表示该代理的访问行为是异常的。
进一步地,步骤S3中,所述的短期行为正常度评估由行为指标的概率密度函数实现的具体方法:用表示模型训练数据的BI的概率密度函数,BI服从高斯分布,判决门限由BI的概率密度函数上的坐标决定,若待评估的某个时间窗内的行为指标BI∈IBI或者则该时间窗内的短期行为可以认为是正常的,否则,则判定为异常行为。
进一步地,步骤S4中,所述的重构根据训练数据获得的代理正常行为轮廓重构可疑的访问序列,即把一个被判定为异常的访问序列重构为一个相对比较正常序列,在重构过程按照既定的原则丢弃部分可疑请求,而不是把整个可疑序列全部丢弃。
一种运用所述的基于Web代理的间接分布式拒绝服务攻击抵御方法的系统,包括:
数据提取模块,用于接收web代理向目标服务器发送的请求,根据所接收的请求计算出其时空局地性值,对时空局地性值进行非线性映射处理后得到对应的观测向量序列;
模型训练,用于对上述得到的观测向量序列采用隐半马尔科夫模型向前向后算法得出隐半马尔科夫模型参数;
检测与控制模块,用于检测异常的代理访问序列并对其进行重构。
与现有技术相比,本发明的有益效果是:本发明通过提取P2S的时空局地性来刻画P2S的行为特性,通过非线性映射函数抑制小概率大值对有用信号的干扰,通过隐半马尔科夫模型构造P2S的正常行为模型;利用模型得到的行为指标进行不同时间尺度下的正常度评估:长期行为评估与短期行为评估,对于被判定为异常的行为序列(HTTP请求序列),本发明采用“软控制”方法实施攻击响应,实施“软控制”的依据是代表代理正常行为的隐半马尔科夫模型模型参数及结构指标,本发明所用来刻画P2S网络流的参量是时空局地性,它与目标服务器上的Web内容的变动无关;方法的检测性能是基于代理网络流的本质行为,与攻击流量的大小无关,该方法可以在攻击流消耗目标服务器资源之前实施攻击响应,因此可以有效实现早期检测,它可以克服现有系统在检测基于Web代理的DDoS攻击上的不足、实现早期检测,其检测性能与攻击流量的大小无关。它是一种被动的服务器端方法,不需要中间Web代理的协助,可以集成到现有的防御系统中,也可以应用到其它的场合,例如:业务质量控制。测试表明所发明的方法具有很好的稳定性,其系统参数不需要频繁更新。
附图说明
图1是基于Web代理的DDos攻击示意图;
图2是时间局地性值提取方法示意图;
图3是隐半马尔科夫模型HsMM结构示意图;
图4是本发明系统结构示意图;
图5是“软控制”实现流程示意图。
具体实施方式
下面根据附图对本发明进行详细描述。
本发明采用如下几种技术:
1.提取网络流的时空局地性
一个给定的Web代理发向服务器的网络流称为proxy-to-server(P2S),P2S是一个Web代理与服务器交互行为的外在表现。通过对P2S的挖掘分析,可以发现Web代理潜在的行为特点,为攻击防御提供参考。
在本发明中,可观测的P2S的结构属性需要满足两方面的要求:(1)可以刻划P2S的本质属性,并且与服务器上的Web内容/URL无关;(2)可以在攻击流消耗目标服务器之前就提取到该属性,实现早期检测。为此,本发明使用时间局地性来刻画可观测的P2S网络流的结构属性。
时间局地性的提取方法如下:首先建立一个堆栈,当P2S中有一个HTTP请求访问目标服务器的一个文档f时,就在堆栈中搜索f。如果堆栈中能找到f,则把f的当前位置(即距离堆栈顶部的深度)记录下来作为当前HTTP请求对应的时间局地性值,然后把f从堆栈中抽出并放到该堆栈的顶部;如果堆栈中不包含f,则直接在堆栈顶部加入f,把该HTTP请求对应的时间局地性记为未定义(或记为当前堆栈的深度)。时间局地性值提取的实例如图2所示,假设当前堆栈中包含的文档名为{C,E,A,D,B},P2S流中包含的HTTP请求所访问的文档名为{A,D,C,A,B,D,E,A,B},则按照上述方法得到该P2S的时间局地性值为{3,4,3,3,5,4,5,4,4}。与传统的流行度不同,时间局地性反映了Web访问中这样的一个现象:最近被访问的文档最可能在不久的将来再次被访问。已有的研究已经论证了在一个给定的Web服务器上,大约10%的内容会吸引90%的访问量。因此,给定一个Web服务器,其对应的时间局地性值是一个稳定的变化过程,与网站内容的数量、网站内容的变化、网站内容的名称都无关系。这将非常有利于实现基于Web代理的DDoS攻击检测。
P2S的空间局地性的计算方法如下。使用O表示服务器上可以被访问的对象,设(a,b)∈O。表示在第w个时间窗内a和b同时被访问的联合概率密度函数,表示第w个时间窗内a和b的联合熵。用表示在第w个时间窗内代理发向服务器的请求串,其中fi w∈0。用表示第w个时间窗内第i个请求串的空间局地性,则可以得到:
d ( w , i ) S = 1 | F w | Σ ∀ j ≠ i e f i w f j w w , ( f i w , f j w ) ∈ F w ,
把不同时间窗内不同序号的串接起来,可以得到一个与HTTP请求串对应的、完整的空间局地性值其中W表示时间窗口的总数。
2.非线性数据映射方法
由于局地性是一种重尾分布。位于尾部的小概率大值信号会严重影响前端的大概率弱信号。为了保护频繁出现的小信号,本发明使用一个非线性映射函数ψ(x)对大值信号进行压缩:
ψ ( x ) = Ax 1 + ln A , 0 ≤ x ≤ 1 A 1 + ln ( Ax ) 1 + ln A , 1 A ≤ x ,
其中x是归一化变量。上述函数通过线性映射保护小值信号,通过对数压缩函数压缩小概率大值信号。与PCM中的A律类似,上述的参数A是压缩参数。A的取值可以由训练数据的分布决定。例如:如果有80%的时间局地性值小于100,则可以使用上述映射公式的线性部分保护前端的80%取值,用对数部分压缩剩余的20%的大值。
3.P2S结构属性的动态过程描述模型
P2S的结构属性——时空局地性,其随时间变化的动态过程可以看为是由一个不可观测的状态过程所控制。这个状态过程包含有限个状态,每一个状态称为隐状态,它代表一种典型P2S网络流的内部触发机制。隐状态之间的跳转代表P2S网络流从一种类型变成另一种类型。由于隐状态对服务器不可见,而且随着代理后部客户端的行为及代理本身属性的变化而变化,因此服务器端并无法准确观测到隐状态过程,而只能从观察到的P2S来估计Web代理的隐状态过程。因此,一个Web代理与服务器的交互行为可以由一个双重随机过程描述:代理的隐状态过程及可观测的P2S网络流的属性。这样的双重随机过程可以使用隐半马尔科夫模型(Hidden semi-Markov Model,HsMM)进行描述。
根据本发明的需要,我们定义三种隐状态:正常态、过渡态及异常态。当代理的隐状态跳转到异常态时,表示有相当数量的攻击流通过该代理。因此,在本发明中,从混杂的P2S网络流中检测并过滤DDoS攻击流等价于检测代理隐状态过程中的异常态,并过滤异常状态下出现的可以HTTP请求。从而把该应用问题转化为HMM的建模及推断问题。
HsMM的结构如图3所示,HsMM所使用的符号如表1所示。
表1
HsMM包含一对随机过程:观测过程和隐状态过程{Xt},状态过程通过条件概率输出观测值,状态的停留由状态停留概率决定。HsMM的工作过程如下:模型由初始概率πm决定进入一个初始状态m,然后由状态停留概率pm(d)决定该状态的停留长度d,再由输出概率选择在状态停留期间的每一个输出值(即可观测变量)。
由可观测过程推断模型参数可采用前后向算法,由观测过程及模型参数推断隐状态过程可以采用Viterbi算法或MAP算法。
具体实现方法
图4是本发明的系统结构图。下面结合附图,以单个代理的检测为例,对本发明做进一步的说明。本发明的实施包含三个阶段:阶段一是数据提取、阶段二是模型训练、阶段三是检测与控制。
阶段一:数据提取。系统为需要进行行为检测的Web代理维护一个时空局地性模型。当这个Web代理向目标服务器发出HTTP请求串{f1,f2,...,fT}时,检测系统利用{f1,f2,...,fT}及该Web代理的时空局地性模型计算每一个请求的时间局地性值和空间局地性值,形成一个新的观测数据其中表示第t个请求对应的时间局地性,表示第t个请求对应的空间局地性。时空局地性的计算方法按照上文所述的方法进行。然后利用上述非线性映射函数对得到的时空局地性值进行数据预处理,目的是保留高概率的小值信号的信息,抑制低概率大值信号的噪声影响。非线性映射函数中的压缩参数A可以通过的统计分布获得。做法如下:先考虑用于时间局地性压缩的映射函数。先对做归一化处理,然后统计归一化时间局地性的累加分布,例如:如果计划保护前80%的小值信号,则x是累加分布80%处所对应的归一化时间局地性值。用同样的方法可以获得空间局地性的压缩参数。用表示完成非线性映射后的时间局地性值,表示完成非线性映射后的空间局地性值。于是,检测系统得到与该代理请求串{f1,f2,...,fT}对应的观测向量序列 { ( d . 1 T , d . 1 S ) , ( d . 2 T , d . 2 S ) , . . . , ( d . T T , d . T S ) } .
阶段二:模型训练。把数据提取阶段得到的观测序列输入HsMM的前-后向算法模块,按照前文所述,设定模型的隐状态数为3,通过前-后向迭代算法得到用于描述该Web代理P2S网络流行为的HsMM模型参数λ。设模型的训练矢量序列中包含W个时间窗,每个时间窗的时间宽度为固定值(例如:1秒)。每个时间窗中都包含一个观测子序列。定义两个参数用于测量第w个时间窗内代理行为的正常度,它们包括:行为指标(BI)、结构指标(SF)。
行为指标由下式定义:其中Tw分别表示第w个时间窗内代理的请求数和观测序列,表示与对应的最优的隐状态序列。用表示相对于给定模型λ的或然概率。通过训练得到模型参数λ后,可以通过Viterbi算法或MAP算法推出。因此,对于包含W个时间窗的观测序列,可以得到对应的行为指标序列{BI1,BI2,...,BIW}。{BI1,BI2,...,BIW}中的每一个元素可以看作是自独立同分布的随机变量,并遵循高斯分布,即分布的参数可以利用{BI1,BI2,...,BIW}和最大或然概率估计得到。
结构指标由下式定义:其中Num(i,w)表示在第w个时间窗内第i个隐状态产生的请求数,满足且i∈M。然后可以计算出整个训练数据序列第i个隐状态的平均结构指标:
阶段三:检测与控制。检测包括长期行为评估与短期行为评估。长期行为由连续的观测过程构成,即由多个连续的时间窗构成。评估长期行为的正常度可以通过比较实测的行为指标BI和由训练数据集得到的行为指标分布的差异来实现。本发明使用Kolmogorov-Smirnov(K-S)测试法来实现长期行为评估。用BIP={BI1,...,BIW}表示待评估的代理请求序列的行为指标序列。BIP中的每个元素都是独立同分布并来自于相同的累加分布函数ΦW(x)。用Φ0(x)表示训练数据序列行为指标的累加分布。K-S检测法就是判断以下两个假设:
H 0 : Φ W ( x ) = Φ 0 ( x ) H α : Φ W ( x ) ≠ Φ 0 ( x ) ,
如果H0成立,代表待评估的代理的长期行为接近该代理的历史行为,可以认为是正常访问行为。否则,表示该代理的访问行为是异常的。
短期行为指单个时间窗内的行为。其正常度评估可以由行为指标BI的概率密度函数实现。用表示模型训练数据的BI的概率密度函数。由于BI服从高斯分布,由高斯分布理论可以推断:大约95%的训练数据的BI值会落在IBI=[μBI-2σBIBI+2σBI]区间内,这些BI所对应的概率密度值会落在因此,判决门限可以由BI的概率密度函数上的坐标来决定。也就是,如果待评估的某个时间窗内的行为指标BI∈IBI或者则该时间窗内的短期行为可以认为是正常的;否则,则判定为异常行为。
对被检测模块判定为异常的代理访问序列,系统将实施攻击响应与控制。本发明中采用一种“软控制”方法降低传统“硬控制”所带来的误检率。“软控制”方法基于隐状态过程。其主要思路是:根据训练数据获得的代理正常行为轮廓重构可疑的访问序列,即把一个被判定为异常的访问序列重构为一个相对比较正常序列,在重构过程按照既定的原则丢弃部分可疑请求,而不是把整个可以序列全部丢弃。这样可以最大限度保留正常用户的请求序列。具体实施办法如下所示。设第w个时间窗内的短期行为被检测模块判定为异常,它包含的访问串是为实现“软控制”定义两个辅助变量:i状态所生成的请求中需要丢弃的个数(DNi)、整个访问串中请求的幸存率“软控制”算法的流程如图5所示。
经过“软控制”重构后的代理请求序列被送到异常队列排队,并等待目标服务器的响应。对于被判定为正常的代理请求序列则被送往正常队列排队,等待服务器响应。正常队列与异常队列可以通过设定不同的优先权来获得不同等级的服务。

Claims (8)

1.一种基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于包括
步骤S1:数据提取,接收web代理向目标服务器发送的请求,根据所接收的请求计算出其时空局地性值,对时空局地性值进行非线性映射处理后得到对应的观测向量序列,其中所述的时空局地性值由时间局地性值和空间局地性值组成;
步骤S2:模型训练,对上述得到的观测向量序列采用隐半马尔科夫模型向前向后算法得出隐半马尔科夫模型参数,定义行为指标和结构指标用于衡量隐半马尔科夫模型的训练矢量序列中每个时间窗内代理行为的正常度,其中隐半马尔科夫模型的隐含状态包括正常态、过渡态、异常态;
步骤S3:检测,对代理访问的检测包括长期行为正常度评估与短期行为正常度评估,长期行为正常度评估通过比较实测的行为指标和由上述训练数据集得到的行为指标分布的差异来判断长期行为是否为异常,短期行为正常度评估由行为指标的概率密度函数来判断短期行为是否为异常;
步骤S4:控制,对上述被判断为异常的代理访问序列进行重构,重构后的代理请求序列被送到异常队列排队并等待目标服务器的响应,对于被判定为正常的代理请求序列则被送往正常队列排队,等待服务器响应;
所述的时间局地性的提取方法如下:首先建立一个堆栈,当一个给定的Web代理发向服务器的P2S网络流中有一个HTTP请求访问目标服务器的一个文档f时,就在堆栈中搜索f,如果堆栈中能找到f,则把f的当前位置,即距离堆栈顶部的深度,记录下来作为当前HTTP请求对应的时间局地性值,然后把f从堆栈中抽出并放到该堆栈的顶部;如果堆栈中不包含f,则直接在堆栈顶部加入f,把该HTTP请求对应的时间局地性记为未定义或记为当前堆栈的深度;
所述的空间局地性值的提取方法如下:使用O表示服务器上可以被访问的对象,设(a,b)∈O,表示在第w个时间窗内a和b同时被访问的联合概率密度函数,表示第w个时间窗内a和b的联合熵,用表示在第w个时间窗内代理发向服务器的请求串,其中表示第w个时间窗内第i个请求串的空间局地性,则可以得到:
d ( w , i ) S = 1 | F w | Σ ∀ j ≠ i e f i w f j w w , ( f i w , f j w ) ∈ F w ,
把不同时间窗内不同序号的串接起来,可以得到一个与HTTP请求串对应的、完整的空间局地性值其中W表示时间窗口的总数;
行为指标由下式定义:其中Tw分别表示第w个时间窗内代理的请求数和观测序列,表示与对应的最优的隐状态序列,用表示相对于给定模型λ的或然概率,通过训练得到模型参数λ后,可以通过Viterbi算法或MAP算法推出,因此,对于包含W个时间窗的观测序列,得到对应的行为指标序列{BI1,BI2,...,BIW},{BI1,BI2,...,BIW}中的每一个元素看作是自独立同分布的随机变量,并遵循高斯分布,即分布的参数利用{BI1,BI2,...,BIW}和最大或然概率估计得到,
结构指标由下式定义:其中Num(i,w)表示在第w个时间窗内第i个隐状态产生的请求数,满足且i∈M,然后可以计算出整个训练数据序列第i个隐状态的平均结构指标:
2.根据权利要求1所述的基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于步骤S1中的非线性映射处理方法是:使用一个非线性映射函数ψ(x)对大值信号进行压缩:
Ψ ( x ) = Ax 1 + ln A , 0 ≤ x ≤ 1 A 1 + ln ( Ax ) 1 + ln A , 1 A ≤ x
其中x是归一化变量,上述函数通过线性映射保护小值信号,通过对数压缩函数压缩小概率大值信号,参数A是压缩参数,A的取值可以由训练数据的分布决定。
3.根据权利要求1所述的基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于步骤S2中,所述隐半马尔科夫模型包含一对随机过程:观测过程和隐状态过程;状态过程通过条件概率输出观测值,状态的停留由状态停留概率决定,隐半马尔科夫模型的工作过程如下:模型由初始概率决定进入一个初始状态,然后由状态停留概率决定该状态的停留长度,再由输出概率选择在状态停留期间的每一个输出值,即可观测变量。
4.根据权利要求2所述的基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于步骤S2中:根据观测过程及模型参数采用Viterbi算法或者MAP算法得到隐半马尔科夫模型的隐含状态。
5.根据权利要求1所述的基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于步骤3中,所述的长期行为正常度评估由Kolmogorov-Smirnov测试法,即K_S测试法,实现,用BIP={BI1,...,BIW}表示待评估的代理请求序列的行为指标序列,BIP中的每个元素都是独立同分布并来自于相同的累加分布函数ΦW(x),用Φ0(x)表示训练数据序列行为指标的累加分布,K-S检测法就是判断以下两个假设:
H 0 : Φ W ( x ) = Φ 0 ( x ) H α : Φ W ( x ) ≠ Φ 0 ( x ) ,
如果H0成立,代表待评估的代理的长期行为接近该代理的历史行为,则认为是正常访问行为,否则,表示该代理的访问行为是异常的。
6.根据权利要求1所述的基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于步骤S3中,所述的短期行为正常度评估由行为指标的概率密度函数实现的具体方法:用表示模型训练数据的BI的概率密度函数,BI服从高斯分布,判决门限由BI的概率密度函数上的坐标决定,若待评估的某个时间窗内的行为指标BI∈IBI或者则该时间窗内的短期行为可以认为是正常的,否则,则判定为异常行为;
其中IBI=[μBI-2σBI,μBI+2σBI],
7.根据权利要求1所述的基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于步骤S4中,所述的重构根据训练数据获得的代理正常行为轮廓重构可疑的访问序列,即把一个被判定为异常的访问序列重构为一个相对比较正常序列,在重构过程按照既定的原则丢弃部分可疑请求,而不是把整个可疑序列全部丢弃。
8.一种运用权利要求1所述的基于Web代理的间接分布式拒绝服务攻击抵御方法的系统,其特征在于包括:
数据提取模块,用于接收web代理向目标服务器发送的请求,根据所接收的请求计算出其时空局地性值,对时空局地性值进行非线性映射处理后得到对应的观测向量序列;其中所述的时空局地性值由时间局地性值和空间局地性值组成;
模型训练,用于对上述得到的观测向量序列采用隐半马尔科夫模型向前向后算法得出隐半马尔科夫模型参数;
检测与控制模块,用于检测异常的代理访问序列并对其进行重构;
所述的时间局地性值的提取方法如下:首先建立一个堆栈,当一个给定的Web代理发向服务器的P2S网络流中有一个HTTP请求访问目标服务器的一个文档f时,就在堆栈中搜索f,如果堆栈中能找到f,则把f的当前位置,即距离堆栈顶部的深度,记录下来作为当前HTTP请求对应的时间局地性值,然后把f从堆栈中抽出并放到该堆栈的顶部;如果堆栈中不包含f,则直接在堆栈顶部加入f,把该HTTP请求对应的时间局地性记为未定义或记为当前堆栈的深度;
所述的空间局地性值的提取方法如下:使用O表示服务器上可以被访问的对象,设(a,b)∈O,表示在第w个时间窗内a和b同时被访问的联合概率密度函数,表示第w个时间窗内a和b的联合熵,用表示在第w个时间窗内代理发向服务器的请求串,其中表示第w个时间窗内第i个请求串的空间局地性,则可以得到:
d ( w , i ) S = 1 | F w | Σ ∀ j ≠ i e f i w f j w w , ( f i w , f j w ) ∈ F w ,
把不同时间窗内不同序号的串接起来,可以得到一个与HTTP请求串对应的、完整的空间局地性值其中W表示时间窗口的总数;
行为指标由下式定义:其中Tw分别表示第w个时间窗内代理的请求数和观测序列,表示与对应的最优的隐状态序列,用表示相对于给定模型λ的或然概率,通过训练得到模型参数λ后,可以通过Viterbi算法或MAP算法推出,因此,对于包含W个时间窗的观测序列,得到对应的行为指标序列{BI1,BI2,...,BIW},{BI1,BI2,...,BIW}中的每一个元素看作是自独立同分布的随机变量,并遵循高斯分布,即分布的参数利用{BI1,BI2,...,BIW}和最大或然概率估计得到,结构指标由下式定义:其中Num(i,w)表示在第w个时间窗内第i个隐状态产生的请求数,满足且i∈M,然后可以计算出整个训练数据序列第i个隐状态的平均结构指标:
CN201210006766.1A 2012-01-10 2012-01-10 一种基于Web代理的间接分布式拒绝服务攻击抵御方法及系统 Expired - Fee Related CN102438025B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210006766.1A CN102438025B (zh) 2012-01-10 2012-01-10 一种基于Web代理的间接分布式拒绝服务攻击抵御方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210006766.1A CN102438025B (zh) 2012-01-10 2012-01-10 一种基于Web代理的间接分布式拒绝服务攻击抵御方法及系统

Publications (2)

Publication Number Publication Date
CN102438025A CN102438025A (zh) 2012-05-02
CN102438025B true CN102438025B (zh) 2015-03-25

Family

ID=45985897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210006766.1A Expired - Fee Related CN102438025B (zh) 2012-01-10 2012-01-10 一种基于Web代理的间接分布式拒绝服务攻击抵御方法及系统

Country Status (1)

Country Link
CN (1) CN102438025B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023924B (zh) * 2012-12-31 2015-10-14 网宿科技股份有限公司 基于内容分发网络的云分发平台的DDoS攻击防护方法和系统
CN103685253A (zh) * 2013-12-05 2014-03-26 北京奇虎科技有限公司 Cdn流量放大攻击的防御方法及装置
CN103944919A (zh) * 2014-05-06 2014-07-23 浙江大学城市学院 一种面向wlan的无线多步攻击模式挖掘方法
CN105591832B (zh) * 2014-11-13 2019-12-10 腾讯数码(天津)有限公司 应用层慢速攻击检测方法和相关装置
CN105554007B (zh) * 2015-12-25 2019-01-04 北京奇虎科技有限公司 一种web异常检测方法和装置
CN106027577B (zh) * 2016-08-04 2019-04-30 四川无声信息技术有限公司 一种异常访问行为检测方法及装置
CN106384120B (zh) * 2016-08-29 2019-08-23 深圳先进技术研究院 一种基于手机定位数据的居民活动模式挖掘方法及装置
CN107786524B (zh) * 2016-08-31 2020-11-10 中国电信股份有限公司 高级持续性威胁的检测方法和装置
CN106534068B (zh) * 2016-09-29 2023-12-22 广州华多网络科技有限公司 一种ddos防御系统中清洗伪造源ip的方法和装置
CN106961444A (zh) * 2017-04-26 2017-07-18 广东亿荣电子商务有限公司 一种基于隐马尔可夫模型的恶意网络爬虫检测方法
CN108173818B (zh) * 2017-12-13 2021-03-02 北京明朝万达科技股份有限公司 一种基于Proxy日志数据的网络安全威胁分析方法及系统
CN109120592A (zh) * 2018-07-09 2019-01-01 四川大学 一种基于用户行为的Web异常检测系统
CN110381049A (zh) * 2019-07-12 2019-10-25 浙江智贝信息科技有限公司 一种web动态安全防御方法和系统
EP4059202A1 (en) * 2019-11-22 2022-09-21 Centripetal Networks, Inc. Methods and systems for prevention of attacks associated with the domain name system
CN115134158B (zh) * 2022-07-04 2023-05-23 海南大学 充电桩云平台的访问管理方法和装置
CN116055182B (zh) * 2023-01-28 2023-06-06 北京特立信电子技术股份有限公司 基于访问请求路径分析的网络节点异常识别方法
CN117041114B (zh) * 2023-08-21 2024-07-09 深圳国家金融科技测评中心有限公司 一种终端通讯协议安全测试的自动化测试方法及其装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658576A (zh) * 2005-03-09 2005-08-24 中山大学 一种大型网站数据流的检测与防御方法
CN102270212A (zh) * 2011-04-07 2011-12-07 浙江工商大学 一种基于隐半马尔可夫模型的用户兴趣特征提取方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658576A (zh) * 2005-03-09 2005-08-24 中山大学 一种大型网站数据流的检测与防御方法
CN102270212A (zh) * 2011-04-07 2011-12-07 浙江工商大学 一种基于隐半马尔可夫模型的用户兴趣特征提取方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Application Layer Anomaly Detection Based on HSMM;Xie Bailin,Yu Shunzheng,Wang Tao;《2010 International Forum on Information Technology and Applications》;20100718;全文 *
Monitoring the Application-Layer DDoS Attacks for Popular Websites;Yi Xie,Shun-Zheng Yu;《IEEE/ACM TRANSACTIONS ON NETWORKING》;20090218;第17卷(第1期);第15-24页 *
基于 Web 用户浏览行为的统计异常检测;谢逸,余顺争;《软件学报》;20070430;第18卷(第4期);全文 *

Also Published As

Publication number Publication date
CN102438025A (zh) 2012-05-02

Similar Documents

Publication Publication Date Title
CN102438025B (zh) 一种基于Web代理的间接分布式拒绝服务攻击抵御方法及系统
CN105681133B (zh) 一种检测dns服务器是否防网络攻击的方法
Chen et al. Defending against TCP SYN flooding attacks under different types of IP spoofing
Xie et al. A large-scale hidden semi-Markov model for anomaly detection on user browsing behaviors
Oikonomou et al. Modeling human behavior for defense against flash-crowd attacks
Seufert et al. Machine learning for automatic defence against distributed denial of service attacks
Sung et al. Large-scale IP traceback in high-speed internet: practical techniques and information-theoretic foundation
CN104022999A (zh) 基于协议分析的网络数据处理方法及系统
CN106357641A (zh) 一种内容中心网络中兴趣包洪泛攻击的防御方法以及装置
Csubák et al. Big data testbed for network attack detection
CN102882880A (zh) 针对DNS服务的DDoS攻击的检测方法和系统
Liu et al. Real-time diagnosis of network anomaly based on statistical traffic analysis
Xiang et al. Mark-aided distributed filtering by using neural network for DDoS defense
Malliga et al. A proposal for new marking scheme with its performance evaluation for IP traceback
You et al. Detecting flooding-based DDoS attacks
Gupta Predicting number of zombies in DDoS attacks using pace regression model
CN115208679B (zh) 一种基于蜜阵协同的攻击者ip的防御方法和防御系统
Subbulakshmi A learning-based hybrid framework for detection and defence of DDoS attacks
CN109257384A (zh) 基于访问节奏矩阵的应用层DDoS攻击识别方法
Yang et al. A study on low-rate DDoS attacks in real networks
Malliga et al. Filtering spoofed traffic at source end for defending against DoS/DDoS attacks
Nashat et al. Detecting http flooding attacks based on uniform model
Rajam et al. A novel traceback algorithm for DDoS attack with marking scheme for online system
Zhan et al. Adaptive detection method for Packet-In message injection attack in SDN
Shaheen et al. A proactive design to detect denial of service attacks using SNMP-MIB ICMP variables

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150325

Termination date: 20170110

CF01 Termination of patent right due to non-payment of annual fee