CN104113525A - 一种防御资源消耗型Web攻击方法及装置 - Google Patents
一种防御资源消耗型Web攻击方法及装置 Download PDFInfo
- Publication number
- CN104113525A CN104113525A CN201410222702.4A CN201410222702A CN104113525A CN 104113525 A CN104113525 A CN 104113525A CN 201410222702 A CN201410222702 A CN 201410222702A CN 104113525 A CN104113525 A CN 104113525A
- Authority
- CN
- China
- Prior art keywords
- web
- web page
- access request
- bloom filter
- leading
- 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.)
- Pending
Links
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种防御资源消耗型攻击的方法及装置;方法包括:S101、每当一个周期结束时,如果该周期中存在平均响应时间大于预置的响应时间阈值的预定Web页面,则进行步骤S102;S102、对于各Web客户端对预定Web页面的访问请求,当最近K个周期中存在该Web客户端对该访问请求对应的前导Web页面的访问记录时,允许将该访问请求发给Web服务器;当最近K个周期中不存在该Web客户端访问该访问请求对应的前导Web页面的记录时,丢弃该访问请求。本发明能够在不干预正常的Web访问行为、且不修改Web页面代码的情况下,实现高效率的资源消耗型Web攻击防御。
Description
技术领域
本发明涉及一种实现Web安全访问的方法,具体涉及一种防御资源消耗型Web攻击的方法及装置。
背景技术
Web应用是目前最为广泛的互联网应用,它在给人们获取信息带来了极大便利的同时,也成为了黑客最为关注的对象。常见的针对Web应用的攻击包括SQL注入攻击、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)以及各种可能导致Web服务器拒绝服务的Web攻击方式。本文主要关注针对Web服务器的资源消耗型Web攻击的检测和防御方法。
常见的资源消耗型Web攻击包括HTTP Flood攻击和CC攻击。CC攻击是一种应用层DoS攻击,它以Web网站上那些需要消耗较多服务器资源的Web页面(比如站内搜索页面)为主要攻击目标,通过对这些可能导致高消耗的Web页面进行突发式的大流量访问,使得Web服务器疲于应付,最后资源耗尽,无法响应正常用户的Web页面请求,从而造成拒绝服务攻击。由于CC攻击工具所产生的Web访问流量大多数符合HTTP协议规范,传统Web应用防火墙无法对其进行正确区分和过滤,因此,传统Web应用防火墙在检测和防御CC攻击类Web应用层攻击时效果欠佳。
传统方法通过优化网站代码来检测和防御此类Web攻击,比如,在Web代码中采用Cookie来对访问者进行主动标识和认证,或者通过在Web页面中嵌入图形识别码来避免攻击者自动请求那些可能导致Web服务器高消耗的Web页面。但这些方法都需要主动修改页面代码,或者通过一个中间Web安全网关设备来修改Web安全相关的代码,这些传统方法可能导致的问题是:1)很多情况下无法对代码进行修改或者修改代价太大;2)在Web安全网关上对Web访问行为进行过多干预会为Web应用带来很多问题,比如延迟问题;同时,这也会增加Web安全网关资源开销,很难应对大Web流量场景。
发明内容
本发明要解决的技术问题是如何在不干预正常的Web访问行为、且不修改Web页面代码的情况下,实现高效率的资源消耗型Web攻击防御。
为了解决上述问题,本发明提供了一种防御资源消耗型攻击的方法,包括:
S101、每当一个周期结束时,分别将监控到的各预定Web页面的访问请求的平均响应时间和该预定Web页面对应的响应时间阈值比较;如果该周期中存在平均响应时间大于预置的响应时间阈值的预定Web页面,则进行步骤S102;
S102、对于各Web客户端对预定Web页面的访问请求,当最近K个周期中存在该Web客户端对该访问请求对应的前导Web页面的访问记录时,允许将该访问请求发给Web服务器;当最近K个周期中不存在该Web客户端访问该访问请求对应的前导Web页面的记录时,丢弃该访问请求;K为大于1的预定整数。
可选地,各周期分别采用一个布隆过滤器存储当前周期中各Web客户端对前导Web页面的访问记录;各周期所采用的布隆过滤器构成一个布隆过滤器序列;
采用一个宽度为K个周期长度的滑动窗口覆盖最近K个周期的布隆过滤器,所述滑动窗口的最右侧是最新生成的布隆过滤器。
可选地,所述布隆过滤器各散列函数输入为前导Web页面URL和Web客户端IP地址;
所述步骤S101还包括:从前导Web页面访问请求中提取前导Web页面URL和Web客户端IP地址,输入当前周期对应的布隆过滤器;
所述步骤S102还包括:从预定Web页面访问请求中提取所述前导Web页面URL和Web客户端IP地址,输入所述滑动窗口所覆盖的K个布隆过滤器,以检索最近K个周期中是否存在该Web客户端对该访问请求对应的前导Web页面的访问记录。
可选地,当最近K个周期中不存在该Web客户端对该访问请求对应的前导Web页面的访问记录时,丢弃该访问请求的步骤前包括:
如果所述滑动窗口内的K个布隆过滤器中不存在该Web客户端对该预定Web页面访问请求的前导Web页面的访问记录,则检索当前周期内正在创建的布隆过滤器;如果正在创建的布隆过滤器中存在该Web客户端对该预定Web页面访问请求的前导Web页面的访问记录,则允许将该访问请求发给Web服务器;如果正在创建的布隆过滤器中也不存在所述访问记录,则丢弃该访问请求。
可选地,所述步骤S102中还包括:
如果在一个周期内各预定Web网页的平均响应时间均未超过该Web网页所对应的响应时间阈值,且过滤比例低于预定阈值,则返回步骤S101;所述过滤比例为在针对所述预定Web页面的访问请求中,丢弃的访问请求所占的比例。
本发明还提供了一种防御资源消耗型攻击的装置,包括:过滤单元;
检测单元,用于每当一个周期结束时,分别将监控到的各预定Web页面的访问请求的平均响应时间和该预定Web页面对应的响应时间阈值比较;如果该周期中存在平均响应时间大于预置的响应时间阈值的预定Web页面,则启动所述过滤单元;
所述过滤单元用于在启动后对于各Web客户端对预定Web页面的访问请求,当最近K个周期中存在该Web客户端对该访问请求对应的前导Web页面的访问记录时,允许将该访问请求发给Web服务器;当最近K个周期中不存在该Web客户端访问该访问请求对应的前导Web页面的记录时,丢弃该访问请求;K为大于1的预定整数。
可选地,所述检测单元还用于对各周期分别采用一个布隆过滤器存储该周期中各Web客户端对前导Web页面的访问记录;各周期所采用的布隆过滤器构成一个布隆过滤器序列;采用一个宽度为K个周期长度的滑动窗口覆盖最近K个周期的布隆过滤器,所述滑动窗口的最右侧是最新生成的布隆过滤器。
可选地,所述布隆过滤器各散列函数输入为前导Web页面URL和Web客户端IP地址;
所述检测单元还用于从前导Web页面访问请求中提取前导Web页面URL和Web客户端IP地址,输入当前周期对应的布隆过滤器;
所述过滤单元还用于从预定Web页面访问请求中提取所述前导Web页面URL和Web客户端IP地址,输入所述滑动窗口所覆盖的K个布隆过滤器,以检索最近K个周期中是否存在该Web客户端对该访问请求对应的前导Web页面的访问记录。
可选地,所述过滤单元还用于在丢弃访问请求前,检索当前周期内正在创建的布隆过滤器;如果正在创建的布隆过滤器中存在该Web客户端对该该预定Web页面访问请求的前导Web页面的访问记录,则允许将该访问请求发给Web服务器;如果正在创建的布隆过滤器中也不存在所述访问记录,则丢弃该访问请求。
可选地,所述检测单元还用于当所述过滤单元启动后,如果在一个周期内各预定Web网页的平均响应时间均未超过该Web网页所对应的响应时间阈值,且过滤比例低于预定阈值,则关闭所述过滤单元;所述过滤比例为在针对所述预定Web页面的访问请求中,丢弃的访问请求所占的比例。
本发明的实施例提供了一种轻量级的资源消耗型Web攻击防御方案,可以部署在传统Web安全网关上或Web应用防火墙上,不用修改Web服务器端的应用程序代码,也不需要修改Web页面代码,易于部署和实施;而且无须对正常的Web访问行为进行干预,副作用小。本发明的实施例主要利用了Web攻击流量和合法Web访问流量的访问上下文环境不同来区分两者流量,从而在防御时,能够正确将Web攻击流量和合法Web访问流量区分开来,对Web攻击流量进行有效过滤,同时,可以最大限度保障正常用户的Web访问服务质量。本发明的一个优化实施例采用基于滑动窗口的布隆过滤器序列记录最近K个单位时间段内前导Web页面访问情况,可以确保前导Web页面访问记录的时效性,同时能够大大节省存储空间。
附图说明
图1为实施例一的防御资源消耗型攻击的方法的部署位置示意图;
图2为实施例一中所述布隆过滤器记录新元素a的示意图;
图3为实施例一中基于布隆迪过滤器的元素查找示意图;
图4为实施例一中所述各个周期所产生的布隆过滤器序列和以及宽度为K的滑动窗口的示意图;
图5为实施例一的例子的流程示意图;
图6为实施例二的例子的示意框图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一、一种防御资源消耗型攻击的方法,包括:
S101、每当一个周期结束时,分别将监控到的各预定Web页面的访问请求的平均响应时间和该预定Web页面对应的响应时间阈值比较;如果该周期中存在平均响应时间大于预置的响应时间阈值的预定Web页面,则进行步骤S102;比如有10个预定Web页面,则相应得到这10个预定Web页面各自的访问请求在该周期的平均响应时间,响应时间阈值也有10个,和预定Web页面一一对应,比较时是分别用每个预定Web页面的访问请求的平均响应时间和对应的响应时间阈值比较;
S102、对于各Web客户端对预定Web页面的访问请求,当最近K个周期中存在该Web客户端对该访问请求对应的前导Web页面的访问记录时,允许将该访问请求发给Web服务器;当最近K个周期中不存在该Web客户端访问该访问请求对应的前导Web页面的记录时,丢弃该访问请求;K为大于1的预定整数。
本实施例中,所述前导Web页面是指包含一个指向预定Web页面超级链接的Web页面。
本实施例的防御资源消耗型Web攻击的方法适合在Web安全网关或Web应用防火墙上实现。如图1所示,实施了本实施例的Web安全网关位于Web客户端和受保护的Web服务器之间,从Web客户端接收HTTP请求并转发给受保护的Web服务器,从受保护的Web服务器接收HTTP响应并转发给Web客户端。所述Web客户端可能为正常用户使用的标准Web浏览器,也可能是攻击者用来发动Web攻击的攻击工具。Web客户端通过HTTP协议与受保护的Web服务器上的应用系统进行通信。Web客户端与受保护的Web服务器上的应用系统之间的通信都通过Web安全网关进行转发。
本实施例中,所述预定Web页面可以但不限于是受保护的Web网站上那些资源消耗较多从而可能被Web攻击利用的脆弱Web页面。所述响应时间阈值可以为该预定Web页面的普通平均响应时间值的指定倍数;所述普通平均响应时间值可以根据经验值、理论值或实验值得到。所述周期的时间长度可以但不限于为30秒,也可以为60秒或其它值。K为3或4,或选择其它的值,选择的K值越大,则需要的存储空间越多,但记录的访问历史更长;选择的K值越小,则可以节省存储空间,但记录的前导Web页面访问历史更短;实际使用时,可以根据需求和存储空间的实际情况自行选择K的取值。
本实施例中,可以记录各Web客户端对各前导Web页面的访问情况,包括前导Web页面请求的客户端IP、Web页面URL以及请求时间。然后,在防御资源消耗型Web攻击时,通过查找前导Web页面访问历史日志来判定该预定Web页面的访问请求是否存在关联的前导Web页面请求,就可判定该预定Web页面访问请求是否符合Web访问上下文,如果符合,则转发,否则丢弃。
本实施例中,当接收到针对预定Web页面的访问请求时,通过解析HTTP请求消息,直接从HTTP请求消息的Referer字段中提取出的字符串就是前导Web页面的URL值。如果该URL中包含URL参数,则需要从原始URL值中去除URL参数,即去除URL中“?”字符串之后所有内容得到的值为前导Web页面URL的值。可以但不限于通过网页爬虫识别包含指向所述预定Web页面超级链接的前导Web页面信息。
本实施例中,在检测阶段(步骤S101)中,如果一个周期中各Web页面的平均响应时间均不大于预置的响应时间阈值,则认为未检测到资源消耗型攻击,无需进入防御阶段(步骤S102),因此不进行步骤S102。
本实施例的一种实施方式中,各周期分别采用一个布隆过滤器(BloomFilter)存储当前周期中各Web客户端对前导Web页面的访问记录。布隆过滤器是一个压缩的数据结构,用来表示一个集合中所有元素,并支持对该集合中元素的查找,即可以回答“某个元素是否属于某个集合?”的问题。
本实施方式中,各周期所采用的布隆过滤器将构成一个布隆过滤器序列;每当一个周期结束时,将生成一个新的布隆过滤器并追加到所述布隆过滤器序列中。在步骤S102中,可通过对这个布隆过滤器序列中最近K个布隆过滤器进行检索,从而判定Web客户端在发出所述预定Web页面访问请求前是否发出过对相关前导Web页面的访问。
用来记录单位时间段T内各Web客户端对前导Web页面访问情况的布隆过滤器如附图2所示。布隆过滤器使用长为m的位串(bit Vector)V来表达数据元素集合A={a1,a2,...an}。设有k个具有均匀分布特性的哈希函数{hi},i=1,...,k,满足如下条件:hi(x)∈{1,2,...,m},则:
集合表示方法:对于集合中任一元素ai,使用预先定义的k个哈希函数依次对ai进行哈希,得到k个哈希值{b1,b2,...bk},bi∈[1..m],然后依次将位串向量V的b1,b2,...bk位置1。图2为将一个元素a插入到Bloom Filter数据结构的过程(k=3),使用哈希函数H1、H2和H3对a进行哈希,得到b1、b2和b3,将位串向量V的b1、b2和b3位均置为1,其它保持为0。从图2可以看出,Bloom Filter数据表示方法实质是采用多个短标签来表示一个元素。
集合元素查找方法:当需要判定某一元素a是否属于上述Bloom Filter表示的集合时,方法如下:1)使用预先定义的k个哈希函数依次对元素a进行哈希,得到k个哈希值{b1,b2,...bk},bi∈[1..m];然后判断位串向量V的b1,b2,...bk位置上是否都为1,如果都为1,则表示该元素在集合中,否则表示不在集合中。图3示意了基于Bloom Filter实现的集合元素查找过程(即归属判定算法),对于要查找的元素a,使用哈希函数H1、H2和H3进行哈希得到b1、b2和b3,将位串向量V的b1、b2和b3位作为与门的输入,进行与运算,如果结果为1则说明存在该元素a,为0则说明不存在。。
基于Bloom Filter实现集合元素查找时可能存在误报,但是可以通过控制位串V的长度m来将误报率控制在可接受的范围之内。
本实施方式中,需要每个布隆过滤器的位串向量V的长度m。m可根据历史访问量来决定,建议选择长度m时需要确保每个周期结束时,所对应的布隆过滤器的位串的填充率为1/2以下为最佳。布隆过滤器的位串V长度太长则浪费不必要的空间,位串V长度太短则会导致误报,过滤情况不佳。
本实施方式中,布隆过滤器各散列函数输入为前导Web页面URL和Web客户端IP地址。在每个周期开始时,创建新的布隆过滤器,然后,对于每个Web客户端对前导Web页面的访问请求,取该前导Web页面URL和Web客户端IP地址作为布隆过滤器散列函数输入,对布隆过滤器相应位置进行修改,从而将Web客户端对该前导Web页面的访问记录到当前周期的布隆过滤器中。
在防御阶段,当需要对针对预定Web页面访问请求进行过滤时,需要从预定Web页面访问请求中提取前导Web页面URL和Web客户端IP地址;其中,前导Web页面URL从预定Web页面访问请求的Referer字段提取,然后,以所提取的前导Web页面URL和Web客户端IP地址为最近K个布隆过滤器散列函数输入,判定所述Web客户端在最近K个周期内是否访问了该关联的前导Web页面。
本实施方式中,可以但不限于采用一个宽度为K个周期长度的滑动窗口覆盖最近K个周期的布隆过滤器,所述滑动窗口的最右侧是最新生成的布隆过滤器;也就是说,当创建完成一个新的布隆过滤器后,要将所述滑动窗口向右移动,以保证最后生成的布隆过滤器位于滑动窗口内最右侧,原先位于滑动窗口最左侧的布隆过滤器不再保存。
为了确保所存储前导Web页面访问历史记录的时效性,本实施方式采用基于滑动窗口的布隆过滤器序列来记录和存储各个周期内各Web客户端对前导Web页面的访问情况。如图4所示,从第一个周期开始,为每个周期创建独立的如图2所示的布隆过滤器结构体,得到布隆过滤器序列,包括第一个周期对应的布隆过滤器结构体11、……第m个周期对应的布隆过滤器结构体12、滑动窗口13(长度为4个周期)中的最近4个周期对应的布隆过滤器、以及当前周期正在创建的布隆过滤器结构体14。初始时,滑动窗口13位于布隆过滤器序列中的第一个布隆过滤器结构体11的左侧,即滑动窗口为空;第一个周期结束时,第二个周期开始,为第二个周期创建新的布隆过滤器结构体,同时滑动窗口向前移动一格,此时滑动窗口中包含了第一个周期中创建的布隆过滤器结构体11;第二个周期结束时,第三个周期开始,为第三个周期创建新的布隆过滤器结构体11,同时滑动窗口向前移动一格,它包含了第一、第二和第三个周期(假设K=4)分别创建的布隆过滤器结构体11;以此类推,当滑动窗口内的布隆过滤器个数达到了预先确定的K个时,位于滑动窗口左侧的布隆过滤器就可以丢弃,这样就确保了当前滑动窗口中总是保存了最近K个周期中各Web客户端访问前导Web页面的历史记录。
本实施方式中,在防御阶段,当最近K个周期中不存在该Web客户端对预定Web页面访问请求对应的前导Web页面的访问记录时,丢弃该访问请求的步骤前具体可以包括:
如果所述滑动窗口内的K个布隆过滤器中不存在该Web客户端对该预定Web页面访问请求的前导Web页面的访问记录,则检索当前周期内正在创建的布隆过滤器;如果正在创建的布隆过滤器中存在该Web客户端对该预定Web页面访问请求的前导Web页面的访问记录,则允许将该访问请求发给Web服务器;如果正在创建的布隆过滤器中也不存在所述访问记录,则丢弃该访问请求。
由于在步骤S102开始采取防御后,一些正常的Web客户端可能会开始针对Web服务器的正常访问,为确保这部分合法Web流量的正常转发,在过滤资源消耗型Web攻击流量而判断所述Web客户端是否访问了所述预定Web页面相关的前导Web页面时,除了检索最近K个周期所对应的K个布隆过滤器外,还检索当前周期内正在创建的布隆过滤器。
本实施例的一种实施方式中,所述步骤S102中还可以包括:
如果在一个周期内各预定Web网页的平均响应时间均未超过该Web网页所对应的响应时间阈值,且过滤比例低于预定阈值,则返回步骤S101;所述过滤比例为在针对所述预定Web页面的访问请求中,丢弃的访问请求所占的比例。
本实施方式中,如果各预定Web网页的平均响应时间均未超过该Web网页所对应的响应时间阈值,且过滤比例低于预定阈值,则判定针对Web服务器的Web攻击结束,可以回到步骤S101继续检测;如果达不到上述条件则认为攻击还在继续,则依然执行步骤S102。
本实施方式在防御过程中还将定期评估当前针对受保护Web服务器的Web攻击是否结束,当发现资源消耗型Web攻击结束时,就可以返回资源消耗型Web攻击检测阶段,在资源消耗型Web攻击检测阶段,只需要记录当前单位时间段T内各Web客户端对前导Web页面的访问情况,以及通过监控各预定Web页面的平均响应时间来检测资源消耗型Web攻击,而不进行流量过滤;当检测到资源消耗型Web攻击后再转入防御阶段。
下面用一个具体例子说明本实施例,如图5所示,该例子包括步骤一~三。该例子中以脆弱Web页面作为预定Web页面。
步骤501:使用网页爬虫识别包含指向脆弱Web页面超级链接的前导Web页面信息(包括前导Web页面的URL和Web客户端IP地址);确定每个脆弱Web页面的普通平均响应时间值,以及确定周期的时间长度T;确定需要保存的最新前导Web页面访问历史的有效时间为K个周期;
502:创建一个布隆过滤器结构体存储当前周期内各Web客户端对前导Web页面的访问情况;监控当前周期内各脆弱Web页面访问请求的平均响应时间(比如有10个脆弱Web页面访问请求,那么就有10个平均响应时间);当前周期结束时,如果发现当前周期内存在平均响应时间大于预先设置的该脆弱Web页面的响应时间阈值(一个脆弱Web页面的响应时间阈值可以但不限于为该脆弱Web页面的所述普通平均响应时间值的指定倍数)的脆弱Web页面,则判定检测到针对该脆弱Web页面的资源消耗型Web攻击,进入503执行,否则继续执行502;
503:针对各Web客户端发出的每个脆弱Web页面的访问请求,提取关联的前导Web页面信息(包括前导Web页面的URL和Web客户端IP地址),并检索最近K个周期所对应的K个布隆过滤器是否存在所提取的Web页面信息,如果一个脆弱Web页面访问请求关联的前导Web页面信息存在于K个布隆过滤器所记录的前导Web页面访问历史中(即:所述K个布隆过滤器中存在所述Web客户端访问过所述前导Web页面的记录),表示该脆弱Web页面访问请求存在对前导Web页面的访问记录,则允许所述脆弱Web页面访问请求通过,否则丢弃所述Web页面访问请求。
实施例二,一种防御资源消耗型Web攻击的装置,包括:过滤单元;
检测单元,用于每当一个周期结束时,分别将监控到的各预定Web页面的访问请求的平均响应时间和该预定Web页面对应的响应时间阈值比较;如果该周期中存在平均响应时间大于预置的响应时间阈值的预定Web页面,则启动所述过滤单元;
所述过滤单元用于在启动后对于各Web客户端对预定Web页面的访问请求,当最近K个周期中存在该Web客户端对该访问请求对应的前导Web页面的访问记录时,允许将该访问请求发给Web服务器;当最近K个周期中不存在该Web客户端访问该访问请求对应的前导Web页面的记录时,丢弃该访问请求;K为大于1的预定整数。
本实施例中,所述前导Web页面是指包含一个指向预定Web页面超级链接的Web页面。
本实施例的一种实施方式中,所述检测单元还可以用于对各周期分别采用一个布隆过滤器存储该周期中各Web客户端对前导Web页面的访问记录;各周期所采用的布隆过滤器构成一个布隆过滤器序列;采用一个宽度为K个周期长度的滑动窗口覆盖最近K个周期的布隆过滤器,所述滑动窗口的最右侧是最新生成的布隆过滤器。
当然,在其它实施方式中,也可以采用别的方式存储访问记录。
本实施方式中,所述布隆过滤器各散列函数输入可以但不限于为前导Web页面URL和Web客户端IP地址;
所述检测单元还用于从前导Web页面访问请求中提取前导Web页面URL和Web客户端IP地址,输入当前周期对应的布隆过滤器;
所述过滤单元还用于从预定Web页面访问请求中提取所述前导Web页面URL和Web客户端IP地址,输入所述滑动窗口所覆盖的K个布隆过滤器,以检索最近K个周期中是否存在该Web客户端对该访问请求对应的前导Web页面的访问记录。
本实施方式的一种备选方案中,所述过滤单元还可以用于在丢弃访问请求前,检索当前周期内正在创建的布隆过滤器;如果正在创建的布隆过滤器中存在该Web客户端对该该预定Web页面访问请求的前导Web页面的访问记录,则允许将该访问请求发给Web服务器;如果正在创建的布隆过滤器中也不存在所述访问记录,则丢弃该访问请求。
本实施例的一种实施方式中,所述检测单元还可以用于当所述过滤单元启动后,如果在一个周期内各预定Web网页的平均响应时间均未超过该Web网页所对应的响应时间阈值,且过滤比例低于预定阈值,则关闭所述过滤单元;所述过滤比例为在针对所述预定Web页面的访问请求中,丢弃的访问请求所占的比例。
下面用一个具体例子说明本实施例,该例子中,预定Web页面为脆弱Web页面;本实施例的防御资源消耗型Web攻击的装置应用在如图6所示的Web安全网关中,该Web安全网关还包括:Web网页请求转发模块和Web页面响应转发模块;
Web页面请求转发模块:用于将接收到的Web页面访问请求转发给受保护的Web服务器;
Web响应转发模块:用于接收来自受保护Web服务器的Web页面响应消息,然后转发给对应的Web客户端。
本例子中,防御资源消耗型Web攻击的装置里的检测单元具体可以包括:网页爬虫模块、Web网页请求分类模块、前导Web网页访问记录模块、脆弱Web网页监控模块;
Web网页请求分类模块:接收来自Web客户端的Web页请求,并分为三类:针对脆弱Web页面的访问请求,交给脆弱Web页面监控模块处理;针对前导Web页面的访问请求,交给前导Web页面访问记录模块处理;其它Web页面访问请求,直接发送给Web页面请求转发模块;
网页爬虫模块:对受保护Web网站进行扫描,识别被保护Web网站上那些资源消耗较多从而可能被Web攻击利用的脆弱Web页面,以及包含指向这些脆弱Web页面超级链接的前导Web页面信息;所述脆弱Web页面信息和前导Web页面信息提供给Web网页请求分类模块以分类,还分别提供给前导Web页面访问记录模块和脆弱Web页面监控模块使用;
前导Web网页访问记录模块:接收来自Web页面请求分类模块转发来的前导Web页面访问请求,提取前导Web页面的URL以及Web客户端IP地址,从所述Web响应转发模块提取Web页面响应结果和响应时间;采用布隆过滤器来记录当前周期内的前导Web页面访问情况,各个周期T所生成的布隆过滤器构成一个布隆过滤器序列;
脆弱Web网页监控模块:在资源消耗型Web攻击检测阶段,接收来自Web页面请求分类模块转发来的脆弱Web页面访问请求,并从Web页面响应转发模块提取脆弱Web页面的响应时间,计算当前周期内每个脆弱Web页面的平均响应时间;如果刚结束的周期中存在平均响应时间大于预置的响应时间阈值的脆弱Web页面,则启动所述过滤单元,并将脆弱Web页面访问请求转发给该过滤单元;
防御资源消耗型Web攻击的装置里的过滤单元用于在启动后从脆弱Web页面访问请求中提取包含在脆弱Web页面请求消息中的前导Web页面URL信息以及Web客户端IP地址,并以此检索所述布隆过滤器序列中最近K个布隆过滤器,来判定该Web客户端是否在最近的K个时间段内发起过与所述脆弱Web页面请求相关的前导Web页面请求:如果是,则表明针对该脆弱Web页面的请求符合Web访问上下文语义,转发该脆弱Web页面请求给Web页面请求转发模块;否则判定为针对该脆弱Web页面的恶意请求,直接丢弃。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。
Claims (10)
1.一种防御资源消耗型攻击的方法,包括:
S101、每当一个周期结束时,分别将监控到的各预定Web页面的访问请求的平均响应时间和该预定Web页面对应的响应时间阈值比较;如果该周期中存在平均响应时间大于预置的响应时间阈值的预定Web页面,则进行步骤S102;
S102、对于各Web客户端对预定Web页面的访问请求,当最近K个周期中存在该Web客户端对该访问请求对应的前导Web页面的访问记录时,允许将该访问请求发给Web服务器;当最近K个周期中不存在该Web客户端访问该访问请求对应的前导Web页面的记录时,丢弃该访问请求;K为大于1的预定整数。
2.如权利要求1所述的方法,其特征在于:
各周期分别采用一个布隆过滤器存储当前周期中各Web客户端对前导Web页面的访问记录;各周期所采用的布隆过滤器构成一个布隆过滤器序列;
采用一个宽度为K个周期长度的滑动窗口覆盖最近K个周期的布隆过滤器,所述滑动窗口的最右侧是最新生成的布隆过滤器。
3.如权利要求2所述的方法,其特征在于:
所述布隆过滤器各散列函数输入为前导Web页面URL和Web客户端IP地址;
所述步骤S101还包括:从前导Web页面访问请求中提取前导Web页面URL和Web客户端IP地址,输入当前周期对应的布隆过滤器;
所述步骤S102还包括:从预定Web页面访问请求中提取所述前导Web页面URL和Web客户端IP地址,输入所述滑动窗口所覆盖的K个布隆过滤器,以检索最近K个周期中是否存在该Web客户端对该访问请求对应的前导Web页面的访问记录。
4.如权利要求2所述的方法,其特征在于,当最近K个周期中不存在该Web客户端对该访问请求对应的前导Web页面的访问记录时,丢弃该访问请求的步骤前包括:
如果所述滑动窗口内的K个布隆过滤器中不存在该Web客户端对该预定Web页面访问请求的前导Web页面的访问记录,则检索当前周期内正在创建的布隆过滤器;如果正在创建的布隆过滤器中存在该Web客户端对该预定Web页面访问请求的前导Web页面的访问记录,则允许将该访问请求发给Web服务器;如果正在创建的布隆过滤器中也不存在所述访问记录,则丢弃该访问请求。
5.如权利要求1~4中任一项所述的方法,其特征在于,所述步骤S102中还包括:
如果在一个周期内各预定Web网页的平均响应时间均未超过该Web网页所对应的响应时间阈值,且过滤比例低于预定阈值,则返回步骤S101;所述过滤比例为在针对所述预定Web页面的访问请求中,丢弃的访问请求所占的比例。
6.一种防御资源消耗型攻击的装置,其特征在于,包括:过滤单元;
检测单元,用于每当一个周期结束时,分别将监控到的各预定Web页面的访问请求的平均响应时间和该预定Web页面对应的响应时间阈值比较;如果该周期中存在平均响应时间大于预置的响应时间阈值的预定Web页面,则启动所述过滤单元;
所述过滤单元用于在启动后对于各Web客户端对预定Web页面的访问请求,当最近K个周期中存在该Web客户端对该访问请求对应的前导Web页面的访问记录时,允许将该访问请求发给Web服务器;当最近K个周期中不存在该Web客户端访问该访问请求对应的前导Web页面的记录时,丢弃该访问请求;K为大于1的预定整数。
7.如权利要求6所述的装置,其特征在于:
所述检测单元还用于对各周期分别采用一个布隆过滤器存储该周期中各Web客户端对前导Web页面的访问记录;各周期所采用的布隆过滤器构成一个布隆过滤器序列;采用一个宽度为K个周期长度的滑动窗口覆盖最近K个周期的布隆过滤器,所述滑动窗口的最右侧是最新生成的布隆过滤器。
8.如权利要求7所述的装置,其特征在于:
所述布隆过滤器各散列函数输入为前导Web页面URL和Web客户端IP地址;
所述检测单元还用于从前导Web页面访问请求中提取前导Web页面URL和Web客户端IP地址,输入当前周期对应的布隆过滤器;
所述过滤单元还用于从预定Web页面访问请求中提取所述前导Web页面URL和Web客户端IP地址,输入所述滑动窗口所覆盖的K个布隆过滤器,以检索最近K个周期中是否存在该Web客户端对该访问请求对应的前导Web页面的访问记录。
9.如权利要求7所述的装置,其特征在于:
所述过滤单元还用于在丢弃访问请求前,检索当前周期内正在创建的布隆过滤器;如果正在创建的布隆过滤器中存在该Web客户端对该该预定Web页面访问请求的前导Web页面的访问记录,则允许将该访问请求发给Web服务器;如果正在创建的布隆过滤器中也不存在所述访问记录,则丢弃该访问请求。
10.如权利要求6~9中任一项所述的装置,其特征在于:
所述检测单元还用于当所述过滤单元启动后,如果在一个周期内各预定Web网页的平均响应时间均未超过该Web网页所对应的响应时间阈值,且过滤比例低于预定阈值,则关闭所述过滤单元;所述过滤比例为在针对所述预定Web页面的访问请求中,丢弃的访问请求所占的比例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410222702.4A CN104113525A (zh) | 2014-05-23 | 2014-05-23 | 一种防御资源消耗型Web攻击方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410222702.4A CN104113525A (zh) | 2014-05-23 | 2014-05-23 | 一种防御资源消耗型Web攻击方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104113525A true CN104113525A (zh) | 2014-10-22 |
Family
ID=51710158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410222702.4A Pending CN104113525A (zh) | 2014-05-23 | 2014-05-23 | 一种防御资源消耗型Web攻击方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104113525A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320400A (zh) * | 2014-10-31 | 2015-01-28 | 北京神州绿盟信息安全科技股份有限公司 | web漏洞扫描方法及装置 |
CN105991511A (zh) * | 2015-01-27 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种检测cc攻击的方法及设备 |
CN106445944A (zh) * | 2015-08-06 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 一种数据查询请求的处理方法、装置及电子设备 |
CN106656912A (zh) * | 2015-10-28 | 2017-05-10 | 华为技术有限公司 | 一种检测拒绝服务攻击的方法及装置 |
CN114244618A (zh) * | 2021-12-22 | 2022-03-25 | 北京天融信网络安全技术有限公司 | 一种异常访问检测方法、装置、电子设备及存储介质 |
CN115086069A (zh) * | 2022-07-19 | 2022-09-20 | 光大科技有限公司 | 一种DDoS攻击识别方法及装置 |
CN115208677A (zh) * | 2022-07-19 | 2022-10-18 | 光大科技有限公司 | 一种恶意网址识别方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6078956A (en) * | 1997-09-08 | 2000-06-20 | International Business Machines Corporation | World wide web end user response time monitor |
CN101030889A (zh) * | 2007-04-18 | 2007-09-05 | 杭州华为三康技术有限公司 | 防范cc攻击的方法和设备 |
CN101478540A (zh) * | 2008-12-31 | 2009-07-08 | 成都市华为赛门铁克科技有限公司 | 一种防御挑战黑洞攻击的方法及装置 |
CN102790700A (zh) * | 2011-05-19 | 2012-11-21 | 北京启明星辰信息技术股份有限公司 | 一种识别网页爬虫的方法和装置 |
CN103179132A (zh) * | 2013-04-09 | 2013-06-26 | 中国信息安全测评中心 | 一种检测和防御cc攻击的方法及装置 |
-
2014
- 2014-05-23 CN CN201410222702.4A patent/CN104113525A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6078956A (en) * | 1997-09-08 | 2000-06-20 | International Business Machines Corporation | World wide web end user response time monitor |
CN101030889A (zh) * | 2007-04-18 | 2007-09-05 | 杭州华为三康技术有限公司 | 防范cc攻击的方法和设备 |
CN101478540A (zh) * | 2008-12-31 | 2009-07-08 | 成都市华为赛门铁克科技有限公司 | 一种防御挑战黑洞攻击的方法及装置 |
CN102790700A (zh) * | 2011-05-19 | 2012-11-21 | 北京启明星辰信息技术股份有限公司 | 一种识别网页爬虫的方法和装置 |
CN103179132A (zh) * | 2013-04-09 | 2013-06-26 | 中国信息安全测评中心 | 一种检测和防御cc攻击的方法及装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320400A (zh) * | 2014-10-31 | 2015-01-28 | 北京神州绿盟信息安全科技股份有限公司 | web漏洞扫描方法及装置 |
CN105991511A (zh) * | 2015-01-27 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种检测cc攻击的方法及设备 |
CN106445944A (zh) * | 2015-08-06 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 一种数据查询请求的处理方法、装置及电子设备 |
CN106656912A (zh) * | 2015-10-28 | 2017-05-10 | 华为技术有限公司 | 一种检测拒绝服务攻击的方法及装置 |
CN106656912B (zh) * | 2015-10-28 | 2020-03-20 | 华为技术有限公司 | 一种检测拒绝服务攻击的方法及装置 |
CN114244618A (zh) * | 2021-12-22 | 2022-03-25 | 北京天融信网络安全技术有限公司 | 一种异常访问检测方法、装置、电子设备及存储介质 |
CN114244618B (zh) * | 2021-12-22 | 2023-11-10 | 北京天融信网络安全技术有限公司 | 一种异常访问检测方法、装置、电子设备及存储介质 |
CN115086069A (zh) * | 2022-07-19 | 2022-09-20 | 光大科技有限公司 | 一种DDoS攻击识别方法及装置 |
CN115208677A (zh) * | 2022-07-19 | 2022-10-18 | 光大科技有限公司 | 一种恶意网址识别方法及装置 |
CN115086069B (zh) * | 2022-07-19 | 2024-01-26 | 光大科技有限公司 | 一种DDoS攻击识别方法及装置 |
CN115208677B (zh) * | 2022-07-19 | 2024-01-30 | 光大科技有限公司 | 一种恶意网址识别方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104113525A (zh) | 一种防御资源消耗型Web攻击方法及装置 | |
CN103179132B (zh) | 一种检测和防御cc攻击的方法及装置 | |
US10084816B2 (en) | Protocol based detection of suspicious network traffic | |
US9516051B1 (en) | Detecting web exploit kits by tree-based structural similarity search | |
Zhang et al. | Arrow: Generating signatures to detect drive-by downloads | |
US20140047543A1 (en) | Apparatus and method for detecting http botnet based on densities of web transactions | |
CN105939326B (zh) | 处理报文的方法及装置 | |
CN105577608B (zh) | 网络攻击行为检测方法和装置 | |
CN103379099B (zh) | 恶意攻击识别方法及系统 | |
CN107888607A (zh) | 一种网络威胁检测方法、装置及网络管理设备 | |
CN102571547B (zh) | 一种http流量的控制方法及装置 | |
CN106534051B (zh) | 一种针对访问请求的处理方法和装置 | |
CN111818103B (zh) | 一种网络靶场中基于流量的溯源攻击路径方法 | |
Niu et al. | Identifying APT malware domain based on mobile DNS logging | |
JP2018503197A (ja) | セッションセキュリティ分割およびアプリケーションプロファイラ | |
CN104967628B (zh) | 一种保护web应用安全的诱骗方法 | |
Taylor et al. | Detecting malicious exploit kits using tree-based similarity searches | |
CN105162793A (zh) | 一种防御网络攻击的方法与设备 | |
CN103701793A (zh) | 服务器肉鸡的识别方法和装置 | |
CN103888480B (zh) | 基于云监测的网络信息安全性鉴定方法及云端设备 | |
CN102737119A (zh) | 统一资源定位符的查找方法、过滤方法和相关设备及系统 | |
Satam et al. | Anomaly Behavior Analysis of DNS Protocol. | |
Ghafir et al. | DNS query failure and algorithmically generated domain-flux detection | |
CN101588276B (zh) | 一种检测僵尸网络的方法及其装置 | |
Haque et al. | Anti-scraping application development |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141022 |
|
RJ01 | Rejection of invention patent application after publication |