一种http慢速攻击的防范方法

文档序号:9791069阅读:5744来源:国知局
一种http慢速攻击的防范方法
【技术领域】
[0001 ]本发明涉及一种HTTP慢速攻击的防范方法,属于自动控制技术领域。
【背景技术】
[0002]目前,DDoS(Distributed Denial of Service,分布式拒绝服务)攻击的主要目的是让指定目标无法提供正常服务,是目前最强大、最难防御的攻击之一。按照发起的方式,传统的DDoS简单分为三类。第一类以力取胜,海量数据包从互联网的各个角落蜂拥而来,堵塞互联网数据中心的(IDC, Internet Data Center)入口,让各种强大的硬件防御系统、快速高效的应急流程无用武之地。这种类型的攻击典型代表是ICMP Flood和UDP Flood。第二类以巧取胜,这类攻击主要是利用协议或者软件的漏洞或者缺陷发起,灵动而难以察觉,例如SYN Flood攻击、DNS Query Flood攻击,是当前的主流攻击方式。第三类是针对现有的目标对象,利用大量僵尸主机采用了无赖方式的消耗访问,慢速访问消耗资源的对象,导致防护设备失效和服务器无法正常服务,例如HTTP的慢速攻击,这种方式的访问本身和正常访问没有区别,只是由于僵尸主机较多,大量的这类慢速访问能够使服务器消耗资源处理这些访问,从而影响正常用户的访问。而本发明要解决的问题是这种和正常访问类似的HTTP慢速攻击防护。例如= SlowHTTPTest是一个可配置的应用层拒绝服务攻击测试攻击,它能工作在Linux,OSX和Cygwin环境以及Windows命令行接口,能帮助安全测试人员检验服务器对慢速攻击的处理能力。这个工具能模拟低带宽耗费下的DoS攻击,比如慢速攻击,慢速HTTPPOST,通过并发连接池进行的慢速读攻击(基于TCP持久时间)。慢速攻击基于HTTP协议,通过精心的设计和构造,这种特殊的请求包会造成服务器延时,而当服务器负载能力消耗过大即会导致拒绝服务。
[0003]通常DDoS防护部署在专业的DDoS清洗设备上。DDoS防护分成两部分,一个是DDoS检测模块,一个是DDoS防护模块。管理中心用来管理清洗设备。
[0004]在一些场景里面,防火墙也集成DDoS功能,这样DDoS检测模块和清洗模块也直接集成到防火墙中,作为防火墙的DdoS防护特性。
[0005]无论是DDoS清洗设备还是带DDoS防护的FW,通常的步骤如下:
[0006]1、设备从网口通过驱动获得网络数据报文
[0007]2、数据报文送入DDoS检测模块进行DDoS攻击检测
[0008]3、当DDoS检测模块发现攻击发生的时候,则会把发生攻击的流量送入DDoS防护模块进行清洗。清洗完后的流量送入下一阶段。如果DDoS检测模块没有发现数据报文有攻击,则会把流量直接送入下一阶段。
[0009]4、数据报文按照目的IP查找路由表,如果没有路由信息,则该数据包进行丢弃。如果查到有匹配的路由条目,则送入下一阶段
[0010]5、根据下一跳的地址,查看是否是该设备直接的网络链路,如果是,则送到链路接口,再由驱动转发出去;如果不是直连的链路,则设定下一跳地址为目标地址,然后再查找路由表,找到下一跳的直连接口,然后通过该接口进行报文封装并转发。[0011 ]目前常见的HTTP的DDoS攻击检测方法,主要采用频率统计的方式来识别恶意访问源IP。通常是流量检测模块进行攻击检测。该算法步骤如下:
[0012]1.数据报文送入检测模块,首先要进行HTTP协议解析,也就是对HTTP数据报文中需要的字段进行解析,识别五元组信息;
[0013]2.根据保护的主机IP地址,构建目的IP的监控表,主要的是监控目的IP的HTTP流量的大小、HTTP连接数;
[0014]3.判断每个被保护的IP地址的HTTP的监控参数的统计数值是否超过阈值,连续N个周期超过,则进入精细化分析状态。如果没有超过,则恢复目的IP的监控统计过程;
[0015]4.启动攻击源的检测是精细话分析状态,为每个超过阈值的目的IP,构建源IP监控表;
[0016]5.对每个目的IP监控超过M周期,则回复初略统计的状态,如果没有超过,则进行源IP监控;
[0017]6.源IP监控表主要监控访问源IP的HTTP请求的频率,如果发现频率过快,说明该源IP很有可能是攻击源IP,则输出该源IP ;
[0018]7.针对攻击源IP进行防护。具体的防护方式有多种,有阻断、限速、重定向、挑战输入。
[0019]综上所述,现有技术的缺点如下:
[0020]1、基于频率进行防护,对于一些本身访问流量很大的IP地址,容易误判;常规的基于IP地址维度进行统计,会对大流量的访问产生效果,而实际上慢速攻击的流量和频率不大,因此该方式无法正常区分。
[0021]2、有些页面本身并不容易造成拒绝服务,也容易进行监控范围并消耗检测资源;网站大量静态页面和不耗资源的动态页面,黑客就算访问,一般情况下也不会造成太大影响。而耗时的页面很少的流量都会造成服务器大的负担。采用这种方式不做区分的统计,实际上消耗检测资源。

【发明内容】

[0022]本发明的目的在于提供一种能够克服上述技术问题的HTTP慢速攻击的防范方法,本发明要解决技术问题是:避免基于流量和访问频率统计不精准造成的误判以及减少无效的页面访问流量的检测;本发明采用HTTP(HyperText Transfer Protocol,超文本传输协议)响应时间方式来进行URL耗时识别;针对耗时URL(Uniform Resoure Locator,统一资源定位器)列表分析耗时URL列表的访问次数并与常规正常模式比较来检测异常访问。
[0023]正常情况下用户不会连续多次大量访问耗时页面,要么浏览网站的内容每次访问会有几十秒的间隔时间,要么也会点击一些非耗时的页面。黑客如果要攻击网站,也会攻击耗时URL(Uniform Resoure Locator,统一资源定位器)的网站页面。本方案就是基于用户是否连续访问大量耗时页面来判断用户是否是恶意行为。
[0024]本发明的技术方案是首先依赖流量学习,对正常访问的被保护主机的流量进行智能学习,利用访问的时间差值从而能够识别哪些页面是耗费资源的页面。记录下来这些页面的信息。然后利用这些消耗资源的页面URL构建URL哈希监控表,具体统计每个周期内各源IP对各耗资源页面的访问次数和其访问该网站的总次数,然后在周期时间截至时进行汇总,计算每个源IP的耗时页面访问次数。如果连续几个周期内,出现一些源IP访问的耗资源的页面次数超过设定的阈值,则说明这几个源IP—直在从事低流量而获取大计算量的服务器资源,则进行限制其访问。本发明能解决一些黑客利用僵尸网络并下发攻击URL列表来进行以小博大的慢速随机攻击。
[0025]本发明能够应用在网关设备上,例如应用在分布式拒绝服务(DDoS,DistributedDenial of Service)专业设备、NGFW、IPS、UTM、WAF设备上。
[0026]本发明包括以下步骤:
[0027](I)解码步骤:对数据报文进行解析,解析出HTTP的URL相关字段,然后送给后面的学习步骤和检测步骤;
[0028](2)学习步骤:能够对设置为保护对象的HTTP服务进行流量学习,学习其访问的HTTP流量的特性,从而识别消耗资源的页面,并学习其相关的参数;
[0029](3)攻击识别步骤:能够根据学习来的信息,构建URL监控表,能够对访问过这些URL的源IP的耗时页面访问次数和耗时页面访问次数占比进行统计。连续周期超过阈值,则识别这些源IP为有恶意企图的IP;
[0030](4)防护步骤:启用对所述URL的防护,例如启用对所述URL限制连接、黑名单一定时间、进行重定向并要求输入挑战数据验证是否真实用户请求的防范措施;
[0031](5)检测步骤;首先,针对耗时URL构建哈希表。哈希表以哈希值即HASH(URL)的数值为KEY,采用尽可能少碰撞的散列算法NHASH;再构建一个源IP访问统计表。其次,新周期T计时启动,当有HTTP的URL请求来的时候,首先对URL进行正规化,然后对其计算其哈希值,获得该数据后,然后再用NHASH进行散列,获取其在耗时URL哈希表中的桶位置,然后再判断其哈希值是否与该桶元素里的哈希值相等,如果不等,则说明没有命中,则该请求不需要记录。如果命中,则在该哈希表中创建一个节点(NODE),同时把该IP地址记录在该节点(NODE)中,这个节点(NODE)还包含了本周期访问该URL的次数,这个次数每次有命中则加一。
[0032]再次,当本周期T时间截至,遍历该哈希表的所有节点,把相同IP地址的访问次数进行累加,则能形成每个周期的该源IP访问耗时URL的总次数,判断这个总次数是否远大于正常用户访问的阈值。如果超过,记录下该源IP。正常用户访问的阈值由经验数据来获得,例如通常浏览网页,一般耗时网站I分钟不会打开超过5个,因此阈值能放大到每分钟不超过10个。
[0033]最后,连续统计M个周期,如果该源IP连续都是超过常规阈值,则说明该源IP是异常访问,启动防护流程。
[0034]本发明的学习步骤(2)的具体过程如下:
[0035]用户设置被保护的网站的IP地址,并启动本发明的学习步骤,则网关对经过的流量进行学习。对于保护的网站,每次网关发出查询报文的时刻记录为Til,网关收到其对应的应答报文Ti2,其中i为客户机的代号。则每次网关的响应时间为:Pi = (T
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1