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

文档序号:7886973阅读:153来源:国知局
专利名称:一种基于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连接发动攻击,新的攻击模式更加可以有效躲避客户端的检测。第二,由于现有的hternet缺乏有效的合作机制,受害的服务器难以依赖中间 Web代理的安全设置来避免受攻击。而且hternet上存在大量开放的代理服务器及在线代理服务器。这些代理服务器都可能被攻击者所滥用。第三,对受害端的服务器来说,这一类的攻击行为难以被现有的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 requestattacks authentication server attack 与 HTTP request & reply flood。网络层方法的主要特点是利用TCP层及IP层的属性来发现攻击信号。网络层防御措施的典型方法包括基于源域的方案MULT0PS路由器使用一个4层数据结构维护流的分组速率统计信息。数据结构中的一个节点对应一个IP地址前缀,节点的位置决定它所代表的前缀地址。例如第三层的子节点4. *. *. *代表前缀4. 2. *. *,每个节点有256项,分别对应该节点的256个子项,每个项又包含3个域输出分组数、输入分组数和指向子节点的指针。当一个分组到达时,与该分组对应的子项相关的域值更新。当某个前缀地址的速率达到一个指定值时,子节点相应的子项被扩展;如果分组率低于指定的极限值,子节点的个数将被删除。通过这种方法, MULT0PS数据结构可以适应源域变化的流特征和路由器的可用资源变化。当进行攻击检测时,MULT0PS计算指定地址前缀的输出分组速率与输入分组速率的比值,如果这个比值超出预定的极限值,来自该地址前缀的分组将被丢弃。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攻击后向上游路由器提出协助过滤请求,以帮助过滤或限制恶意数据流,反向跟踪可以协助回推方法确定攻击源的真实位置。另一种方案是在hternet的不同地方统计数据包头中某些特定域(如IP地址、 端口号、TCP服务类型等等)的统计特征来判断是否存在DDoS攻击。例如,统计正常情况下经过某点处数据包的源IP地址的分布情况,当有DDoS数据通过该点时,数据包的源IP地址分布会与正常情况下不同。攻击者如果对这个分布比较了解,也可以模拟这个分布以逃避检测。但是,由于检测不只在一个地方进行,攻击者的数据即使能够符合某点处的分布,也难以符合另一点处的分布此外,还有分布式入侵检测策略,它将典型的入侵检测系统的功能扩展到 Internet核心网络。在网络中部署多个分布式的检测系统,根据网络的异常行为来判断是否出现了 DDoS攻击行为。该方法定义一组正常的网络流量范式,并判断网络流量是否严重偏离了正常的范式。例如,某种特定类型的分组的流量值就可以作为检测DDoS攻击的参数。DDoS检测还可以根据已知的攻击模式来判定。例如,已知使用Trinoo的攻击者和控制傀儡机通过TCP的27665端口通信,而控制傀儡机和攻击傀儡机则通过UDP的27444端口进行通信。在该策略中,把一组检测系统放置到hternet中,这些检测系统监控并分析经过它们的流量。由于每个检测系统只能观察到部分的异常信息,因此检测系统之间需要相互交换观察信息来发现DDoS攻击现象。该策略可以检测出反射攻击,只要反射攻击造成的网络行为偏离了正常范式。然而,由于基于Web代理的DDoS攻击位于网络体系中的应用层并采用与传统不同的攻击方法。因此,这些为网络层DDoS攻击而设计的传统防御措施无法适用于这种新的攻击模式。为此,近年一些针对基于HTTP的应用层DDoS攻击防御方案陆续被提出。这些方法包括通过可信管理机制评估客户,并给通过为客户分配优先权来缓解应用层的DDoS 攻击。利用随时间变化的谜题“puzzle”来识别来自人和僵尸主机的请求流。一旦发现来自可疑主机的数据流,则进行隔离。通过Web页面请求序列的四个属性来刻画正常客户的访问行为,对于给定的请求序列,他们通过重构误差来判断是否DDoS攻击。利用攻击流具有高度的相似性的特点实现检测,并通过网络流的相关系数来测量可疑流的相似性,利用测量到的相关性结果从突发访问流中区分基于HTTP协议的DDoS流。通过提高CDN和内容提供者之间的通信策略、改进CDN中边界服务器的转发过程来抵御基于⑶N边界服务器的DDoS攻击。应用用户浏览行来区分恶意HTTP请求与基于HTTP协议的DDoS攻击及通过访问矩阵,捕获突发流行为并检测模仿突发流的应用层DDoS攻击及那些在正常突发流发生期间出现的DDoS攻击。然而,所有上述针对应用层HTTP协议的DDoS攻击防御方案都存在一个相同的前提假设条件攻击流是由攻击主机直接发向目标受害服务器。因此,目标服务器至少可以区分出网络流的来源,然后根据给定的检测指标判断每一个来源的数据流是否正常。一旦某一个主机的网络流与预期的指标不相符,防御系统将把该系统作为可疑节点,并隔离来自它的所有HTTP请求。然而,在真正的hternet环境中,大部分的终端主机都是被分层Web代理系统多隐藏。因此,从受害服务器的角度看,每一个进入的HTTP请求的源都是最后一跳的Web代理的地址,这些最后一跳的Web代理与受害服务器直接相连,也是在整个分层代理系统中唯一可以被受害服务器所证实的代理。由于受害服务器无法区分每一个进入的HTTP请求的来源,使用现有的DDoS防御措施会严重影响正常用户的请求流,降低正常用户的体验。 尽管一些方案也考虑到处于NAT后部的DDoS攻击检测问题。但是Web代理的工作机制与NAT的机制不同Web代理位于应用层,而NAT位于网络层。因此,用于NAT环境下的用户识别方法并不适用于Web代理。一些学者在研究内容分发网络时也提出了利用边界服务器发动DDoS攻击的问题。但他们所提出的方法并不适合本发明所提出的问题。这是由于目前几乎所有的CDN都是商用系统,内容提供者与作为商用系统得CDN可以协商使用一个高安全的通信策略。但是,由于海量Web代理存在hternet中(包括官方与非官方的),受害服务器无法逐一与这些服务器建立合作关系。

发明内容
本发明的目的是从汇聚的P2S网络流中过滤出可能的HTTP攻击请求,该技术专门针对基于Web代理的DDoS攻击,利用代理到服务器网络流的结构属性的动态过程实现攻击行为检测,并提供了一种基于Web代理的间接分布式拒绝服务攻击抵御方法及系统。为了达到上述目的,本发明采用了以下技术方案一种基于Web代理的间接分布式拒绝服务攻击抵御方法,包括步骤Sl 数据提取,接收web代理向目标服务器发送的请求,根据所接收的请求计算出其时空局地性值,对时空局地性值进行非线性映射处理后得到对应的观测向量序列, 其中所述的时空局地性值由时间局地性值和空间局地性值组成;步骤S2 模型训练,对上述得到的观测向量序列采用隐半马尔科夫模型向前向后算法得出隐半马尔科夫模型参数,定义行为指标和结构指标用于衡量隐半马尔科夫模型的训练矢量序列中每个时间窗内代理行为的正常度,其中隐半马尔科夫模型的隐含状态包括正常态、过渡态、异常态;步骤S3 检测,对代理访问的检测包括长期行为正常度评估与短期行为正常度评估,长期行为正常度评估通过比较实测的行为指标和由上述训练数据集得到的行为指标分布的差异来判断长期行为是否为异常,短期行为正常度评估由行为指标的概率密度函数来判断短期行为是否为异常;步骤S4 控制,对上述被判断为异常的代理访问序列进行重构,重构后的代理请求序列被送到异常队列排队并等待目标服务器的响应,对于被判定为正常的代理请求序列则被送往正常队列排队,等待服务器响应。进一步地,所述的时间局地性的提取方法如下首先建立一个堆栈,当一个给定的 Web代理发向服务器的网络流P2S中有一个HTTP请求访问目标服务器的一个文档f时,就在堆栈中搜索f,如果堆栈中能找到f,则把f的当前位置,即距离堆栈顶部的深度,记录下来作为当前HTTP请求对应的时间局地性值,然后把f从堆栈中抽出并放到该堆栈的顶部; 如果堆栈中不包含f,则直接在堆栈顶部加入f,把该HTTP请求对应的时间局地性记为未定义或记为当前堆栈的深度。进一步地,所述的空间局地性值的提取方法如下使用0表示服务器上可以被访问的对象,设(a,b) e 0, ρ:表示在第w个时间窗内a和b同时被访问的联合概率密度函数,=_凡yOg(J9 二)表示第W个时间窗内a和b的联合熵,用Fw ={/二O 表示在第w个时间窗内代理发向服务器的请求串,其中TTeO,用表示第w个时间窗内第i个请求串的空间局地性,则可以得到
权利要求
1.一种基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于包括步骤Sl 数据提取,接收web代理向目标服务器发送的请求,根据所接收的请求计算出其时空局地性值,对时空局地性值进行非线性映射处理后得到对应的观测向量序列,其中所述的时空局地性值由时间局地性值和空间局地性值组成;步骤S2 模型训练,对上述得到的观测向量序列采用隐半马尔科夫模型向前向后算法得出隐半马尔科夫模型参数,定义行为指标和结构指标用于衡量隐半马尔科夫模型的训练矢量序列中每个时间窗内代理行为的正常度,其中隐半马尔科夫模型的隐含状态包括正常态、过渡态、异常态;步骤S3 检测,对代理访问的检测包括长期行为正常度评估与短期行为正常度评估, 长期行为正常度评估通过比较实测的行为指标和由上述训练数据集得到的行为指标分布的差异来判断长期行为是否为异常,短期行为正常度评估由行为指标的概率密度函数来判断短期行为是否为异常;步骤S4 控制,对上述被判断为异常的代理访问序列进行重构,重构后的代理请求序列被送到异常队列排队并等待目标服务器的响应,对于被判定为正常的代理请求序列则被送往正常队列排队,等待服务器响应。
2.根据权利要求1所述的基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于所述的时间局地性的提取方法如下首先建立一个堆栈,当一个给定的Web代理发向服务器的P2S网络流中有一个HTTP请求访问目标服务器的一个文档f时,就在堆栈中搜索f,如果堆栈中能找到f,则把f的当前位置,即距离堆栈顶部的深度,记录下来作为当前 HTTP请求对应的时间局地性值,然后把f从堆栈中抽出并放到该堆栈的顶部;如果堆栈中不包含f,则直接在堆栈顶部加入f,把该HTTP请求对应的时间局地性记为未定义或记为当前堆栈的深度。
3.根据权利要求1所述的基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于所述的空间局地性值的提取方法如下使用0表示服务器上可以被访问的对象,设
4.根据权利要求1所述的基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于步骤Sl中的非线性映射处理方法是使用一个非线性映射函数Ψ (χ)对大值信号进行
5.根据权利要求1所述的基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于步骤S2中,所述隐半马尔科夫模型包含一对随机过程观测过程和隐状态过,状态过程通过条件概率输出观测值,状态的停留由状态停留概率决定,其工作过程如下模型有初始概率决定进入一个初始状态,然后由状态停留概率决定该状态的停留长度,再由输出概率选择在状态停留期间的每一个输出值,即可观测变量。
6.根据权利要求5所述的基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于步骤S2中根据观测过程及模型参数采用Viterbi算法或者MAP算法得到隐半马尔科夫模型的隐含状态。
7.根据权利要求1所述的基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于步骤3中,所述的长期行为正常度评估由Kolmogorov-Smirnov测试法,即K_S测试法, 实现,用BIp = (BI1, BIJ表示待评估的代理请求序列的行为指标序列,BIp中的每个元素都是独立同分布并来自于相同的累加分布函数Ow(X),用Φο(Χ)表示训练数据序列行为指标的累加分布,K-S检测法就是判断以下两个假设
8.根据权利要求1所述的基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于步骤S3中,所述的短期行为正常度评估由行为指标的概率密度函数实现的具体方法 用树XWmf^)表示模型训练数据的BI的概率密度函数,BI服从高斯分布,判决门限由BI的概率密度函数上的坐标
9.根据权利要求1所述的基于Web代理的间接分布式拒绝服务攻击抵御方法,其特征在于步骤S4中,所述的重构根据训练数据获得的代理正常行为轮廓重构可疑的访问序列, 即把一个被判定为异常的访问序列重构为一个相对比较正常序列,在重构过程按照既定的原则丢弃部分可疑请求,而不是把整个可疑序列全部丢弃。
10.一种运用权利要求1所述的基于Web代理的间接分布式拒绝服务攻击抵御方法的系统,其特征在于包括数据提取模块,用于接收web代理向目标服务器发送的请求,根据所接收的请求计算出其时空局地性值,对时空局地性值进行非线性映射处理后得到对应的观测向量序列;模型训练,用于对上述得到的观测向量序列采用隐半马尔科夫模型向前向后算法得出隐半马尔科夫模型参数;检测与控制模块,用于检测异常的代理访问序列并对其进行重构。
全文摘要
本发明涉及一种基于Web代理的间接分布式拒绝服务攻击抵御方法及系统。本发明通过提取proxy-to-server网络流的时空局地性来刻画proxy-to-server网络流的行为特性。通过非线性映射函数抑制小概率大值对有用信号的干扰。通过隐半马尔科夫模型(HsMM)构造proxy-to-server网络流的正常行为模型。利用模型得到的行为指标进行不同时间尺度下的正常度评估长期行为评估与短期行为评估。对于被判定为异常的行为序列(HTTP请求序列),本发明采用“软控制”方法实施攻击响应。实施“软控制”的依据是代表代理正常行为的HsMM模型参数及结构指标。本发明所用来刻画proxy-to-server网络流的参量是时空局地性,它与目标服务器上的Web内容的变动无关;方法的检测性能是基于代理网络流的本质行为,与攻击流量的大小无关。该方法可以在攻击流消耗目标服务器资源之前实施攻击响应,因此可以有效实现早期检测。
文档编号H04L12/26GK102438025SQ20121000676
公开日2012年5月2日 申请日期2012年1月10日 优先权日2012年1月10日
发明者谢逸 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1