CN103634284B - 一种网络flood攻击的侦测方法及装置 - Google Patents
一种网络flood攻击的侦测方法及装置 Download PDFInfo
- Publication number
- CN103634284B CN103634284B CN201210306725.4A CN201210306725A CN103634284B CN 103634284 B CN103634284 B CN 103634284B CN 201210306725 A CN201210306725 A CN 201210306725A CN 103634284 B CN103634284 B CN 103634284B
- Authority
- CN
- China
- Prior art keywords
- attack
- request
- address
- checking information
- access rate
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种网络flood攻击的侦测方法及装置,克服目前javascript技术容易将xml、json等数据接口以及来自移动客户端应用的访问误认为flood攻击的不足,该方法包括:对可能存在攻击行为的该IP地址的一个或者多个请求响应中插入攻击验证信息;对该IP地址的请求进行解析,根据携带该攻击验证信息的请求数、插入该攻击验证信息的请求响应数以及预设的携带比例临界值,判断来自该IP地址的请求是否为攻击行为。本发明能够有效地鉴别正常用户和攻击流量,有力防御攻击,并且误杀率非常小。
Description
技术领域
本发明涉及网络安全技术,尤其涉及一种网络flood攻击的侦测方法及装置。
背景技术
互联网上的HTTP、HTTPS淹没(Flood)攻击,是攻击者通过大量受控的傀儡机或者代理服务器,对目标受害网站需要消耗大量CPU资源的URL做反复频繁的请求的一种网络攻击行为。傀儡机或者代理服务器越多,单个机器的攻击速率可以降到越低,以避免被攻击防御设备侦测到。
IP地址非常分散的HTTP/HTTPS flood攻击难以被其它技术手段侦察到,也难以将恶意流量和正常用户区分开进行过滤。现有技术一般在页面植入javascript脚本,通过javascript跳转来做鉴别,检查客户端是否正确执行的方式,作为正常访问和恶意攻击的依据。但是,这种技术会误杀xml、json等数据接口以及来自移动客户端应用(application)程序的访问,因为javascript的方式在xml、json等数据接口和移动客户端application中无法使用。
通过将页面302重定向,根据客户端是否访问重定向页面作为正常访问和恶意攻击的依据,但是页面302重定向技术非常容易被绕过,安全性很低。
虽然CAPTCHA技术在用户主动参与的情况下可以进行正常访问和恶意流量的鉴别,但是在移动客户端的application中无法使用,而且极为影响用户体验。
发明内容
本发明所要解决的技术问题是克服目前javascript技术容易将xml、json等数据接口以及来自移动客户端应用的访问误认为flood攻击的不足。
为了解决上述技术问题,本发明提供了一种网络淹没(flood)攻击的侦测方法,包括如下步骤:
对可能存在攻击行为的该IP地址的一个或者多个请求响应中插入攻击验证信息;
对该IP地址的请求进行解析,根据携带该攻击验证信息的请求数、插入该攻击验证信息的请求响应数以及预设的携带比例临界值,判断来自该IP地址的请求是否为攻击行为。
优选地,所述对可能存在攻击行为的该IP地址的一个或者多个请求响应中插入攻击验证信息的步骤,包括:
对可能存在攻击行为的该IP地址的N个请求响应中插入所述攻击验证信息,其中N根据该IP地址一段时间内的访问速率以及为该IP地址设置的临界访问速率确定。
优选地,所述对可能存在攻击行为的该IP地址的N个请求响应中插入所述攻击验证信息的步骤,包括:
N大于等于该访问速率除以该临界访问速率的结果取整后加1。
优选地,所述攻击验证信息包括cookie信息。
优选地,所述攻击验证信息包括携带有该IP地址和/或时间戳的cookie信息。
本发明还提供了一种网络淹没(flood)攻击的侦测装置,包括:
插入模块,用于对可能存在攻击行为的该IP地址的一个或者多个请求响应中插入攻击验证信息;
解析模块,用于对该IP地址的请求进行解析,根据携带该攻击验证信息的请求数、插入该攻击验证信息的请求响应数以及预设的携带比例临界值,判断来自该IP地址的请求是否为攻击行为。
优选地,所述插入模块用于对可能存在攻击行为的该IP地址的N个请求响应中插入所述攻击验证信息,其中N根据该IP地址一段时间内的访问速率以及为该IP地址设置的临界访问速率确定。
优选地,N大于等于该访问速率除以该临界访问速率的结果取整后加1。
优选地,所述插入模块插入的所述攻击验证信息包括cookie信息。
优选地,所述插入模块插入的所述攻击验证信息包括携带有该IP地址和/或时间戳的cookie信息。
与现有技术相比,本发明的实施例使用动态cookie技术,能够有效地鉴别正常用户和攻击流量,有力防御攻击,并且误杀率非常小。本发明的实施例,cookie的插入和检验在网络层进行,对上层业务透明,无需网站方做任何变更。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例的网络flood攻击的侦测方法的流程示意图。
图2为本发明实施例的网络flood攻击的侦测装置的构造示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。本发明实施例以及实施例中的各个特征在不相冲突前提下的相互结合,均在本发明的保护范围之内。
如图1所示,本发明实施例的网络Flood攻击的侦测方法主要包括如下步骤。
步骤S110,学习WEB访问速率,为IP地址设置用来判断是否可能为flood攻击的临界访问速率M。
步骤S120,周期或者非周期性地计算该IP地址最近一段时间(比如X秒)内的访问速率P。
步骤S130,基于为该IP地址设置的临界访问速率以及计算获得的该IP地址的访问速率P,判定该IP地址是否可能存在攻击行为,如果该IP地址的访问速率P大于等于为该IP地址设置的临界访问速率M,则认为该IP地址可能在进行攻击,转步骤S140执行,否则认为不是在进行攻击,转步骤S120继续执行。
步骤S140,对可能存在攻击行为的该IP地址的后续的请求响应中插入攻击验证信息,对插入攻击验证信息的请求响应进行计数。本发明的实施例可以对攻击验证信息进行加密后在插入到请求响应中,防止仿造攻击验证信息以突破侦测的情形发生。
本发明的实施例,在请求响应中插入的攻击验证信息可以是cookie信息。在请求响应中插入cookie信息作为攻击验证信息时,还可以携带前述的IP地址和/或时间戳。在cookie信息中携带ip地址可以防止一个cookie在其有效期内被用到多台网络终端上发送请求的出现;在cookie信息中携带时间戳可以防止持续发送同一个cookie信息的情形出现。
本发明的实施例,可以对可能存在攻击行为的IP地址的后续一个或者多个请求响应中插入攻击验证信息,以保证多个用户正常共用一个IP地址的情形不被误认为是攻击行为,以尽可能覆盖这个IP地址对应的多台设备。本发明的实施例中,对可能存在攻击行为的IP地址的后续N个请求响应中插入攻击验证信息,其中N根据所述访问速率以及临界访问速率确定。本发明的实施例中,N大于等于该IP地址的访问速率P除以该IP地址的临界访问速率M的结果取整后加1,采用数学表达式可以表述为其中[]表示取整运算。
步骤S150,对该IP地址后续的一个或者多个请求进行解析,根据携带该攻击验证信息的请求数、插入攻击验证信息的请求响应数以及预设的携带比例临界值,判断来自该IP地址的请求是否为攻击行为。
本发明的实施例中,携带该攻击验证信息的请求数与插入攻击验证信息的请求响应数的比值,大于等于该携带比例临界值,则认为通过该IP地址发送的访问请求是安全的,否则认定为攻击行为。对于认定为攻击行为的访问请求,可以短时阻止该IP地址的后续访问请求。
本发明的实施例,可以在不同时间段为IP地址设置不同的临界访问速率M,比如12:00-13:00时的临界访问速率M1可以较高而23:00-24:00的临界访问速率M2可以较低。
本发明的实施例,也可以人工或者自动根据网络繁忙程度来设置不同的临界访问速率。随时间或者网络繁忙程度设置动态变化的临界访问速率,可以防止将网络高峰时段的正常访问误识别为攻击行为,而在较为静默的时段漏掉可能的攻击行为,提高了准确识别攻击行为并降低误识别概率的能力。
本发明的实施例,无论某网站有没有来自移动设备的访问,以及是否在客户端通过xmlhttp加载XML、JSON类数据接口,只要有请求者不停地请求网站,就会导致网站压力逐渐增大。在服务端设置单个的正常用户每秒请求数不超过2次/秒(即前述的临界访问速率),认为超过这个频率的请求就动态植入cookie。对于请求数是4次/秒的IP地址的情形,对其后续的2个请求植入cookie;对于请求数是6次/秒的IP地址,对其后续3次访问植入cookie;...;推广到一般情况,假设某IP地址的请求频率是n次/秒,且n大于2,则对其后续的n除以2取整再加1次的请求植入cookie。多次植入cookie可以有效覆盖网吧出口或者企业出口的IP地址所对应的众多设备上。cookie植入完成之后,就对后续的x次请求进行cookie校验。如果cookie校验后正确且携带比例超过80%(或者其它百分比的携带比例临界值),则判定该IP地址对应的请求是正常的用户请求,小于这个百分比,则可以认为是该IP地址是攻击性IP,从其上发出的请求为攻击行为。
本发明的实施例通过自动学习web正常访问速率,对不同时间段设置不同的用来监控攻击的临界访问速率,并基于当前时间和客户端速率动态判定攻击。本发明的实施例对疑似攻击IP的访问速率越高,插入cookie的response数量会越多,最大可能地将cookie覆盖到网络地址转换(NAT)后每一个用户。对于NAT用户,可以在请求响应中插入相同IP地址和不同时间戳的cookie信息。本发明的实施例通过模糊检测的方法覆盖NAT用户,减少了误杀的可能。本发明通过设置携带比例临界值,并基于该携带比例临界值来判定攻击并进行有效防御。
如图2所示,本发明实施例的网络flood攻击的侦测装置主要包括设置模块210、计算模块、判断模块、插入模块以及解析模块等。
设置模块210,用于为IP地址设置临界访问速率。
计算模块220,用于计算该IP地址最近一段时间内的访问速率。
判断模块230,与设置模块210及计算模块220相连,用于基于为该IP地址设置的临界访问速率以及计算获得的该IP地址的访问速率,判定该IP地址是否可能存在攻击行为。
插入模块240,与判断模块230相连,用于对可能存在攻击行为的该IP地址的后续的一个或者多个请求响应中插入攻击验证信息,并对插入攻击验证信息的请求响应进行计数。
解析模块250,与插入模块240相连,用于对该IP地址的后续的请求进行解析,根据携带该攻击验证信息的请求数、插入攻击验证信息的请求响应数以及预设的携带比例临界值,判断来自该IP地址的请求是否为攻击行为。
本发明的实施例中,上述插入模块240用于对可能存在攻击行为的该IP地址的N个请求响应中插入攻击验证信息,其中N根据该IP地址一段时间内的访问速率以及为该IP地址设置的临界访问速率确定。比如,N大于等于该访问速率除以该临界访问速率的结果取整后加1。
本发明的实施例中,插入模块240插入的攻击验证信息包括cookie信息。
本发明的实施例中,插入模块240插入的攻击验证信息包括携带有该IP地址和/或时间戳的cookie信息。
HTTP客户端(包括移动设备浏览器、移动设备应用application、PC浏览器等等)都会接受服务端数据包括cookie并携带在下次请求中。通过浏览器进行正常的访问行为,会默认接受服务端植入的cookie,并在下次请求本域时将植入的cookie带上回传到服务端。常见的移动系统如android中的http client库和ios中的asihttp request库,默认设置也有与浏览器类似的cookie处理方式。
攻击者为了提高效率并且尽可能少地占用自己的带宽,一般不会接受服务端的任何数据,也不会携带服务端植入的正确的cookie。本发明的实施例在怀疑有攻击发生的时刻对客户端动态植入cookie,分析回传的数据是否包含了正确的cookie信息来鉴别正常用户和恶意攻击者。
本发明的实施例使用插入cookie的方式,解决了采用目前采用javascript技术而存在的兼容性问题,可以在移动设备APP以及json、XML等数据接口的情况下进行良好的工作。本发明的实施例可以兼容目前所有的浏览器,并且能够兼容包含xml、json等各种数据接口,也能够兼容移动客户端的application访问,具有良好的普适性。
本发明的实施例对于攻击者来说难以察觉到,因此不容易被攻击者绕过。本发明的实施例,由于网站保存在浏览器客户端的数据且可用来跟踪访问者的行为的cookie技术的运用,对访问网站的用户透明,从而不会影响用户体验。
本发明的实施例,可以使用C或者c++语言进行编写。结合基于YAML或者XML的配置文件机制运行在nginx上可以达到良好的实施效果。需要注意的是,不使用nginx而是使用其它反向代理或者直接运行在WEB服务器中,能起到同样的效果。也就是说,本发明实施例的时限,并不限于某种程序语言的编制,也并不限于何种平台,均能克服背景技术中所描述的技术问题并取得良好的应用效果。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (10)
1.一种网络淹没flood攻击的侦测方法,包括如下步骤:
根据为IP地址设置的临界访问速率以及IP地址最近一段时间的访问速率,判定该IP地址是否可能存在攻击行为;
对可能存在攻击行为的该IP地址的一个或者多个请求响应中动态插入攻击验证信息,可能存在攻击行为IP的访问速率越高,插入攻击验证信息的请求响应数量越多;
对该IP地址的请求进行解析,根据携带该攻击验证信息的请求数、插入该攻击验证信息的请求响应数以及预设的携带比例临界值,判断来自该IP地址的请求是否为攻击行为;
其中,所述攻击验证信息包括cookie信息,所述cookie的插入和检验在网络层进行,对上层业务透明。
2.根据权利要求1所述的方法,其中,所述对可能存在攻击行为的该IP地址的一个或者多个请求响应中插入攻击验证信息的步骤,包括:
对可能存在攻击行为的该IP地址的N个请求响应中插入所述攻击验证信息,其中N根据该IP地址一段时间内的访问速率以及为该IP地址设置的临界访问速率确定;所述临界访问速率是动态的,根据时间或者网络繁忙程度设置。
3.根据权利要求2所述的方法,其中,所述对可能存在攻击行为的该IP地址的N个请求响应中插入所述攻击验证信息的步骤,包括:
N大于等于该访问速率除以该临界访问速率的结果取整后加1。
4.根据权利要求1至3中任一项权利要求所述的方法,其中:
所述根据携带该攻击验证信息的请求数、插入该攻击验证信息的请求响应数以及预设的携带比例临界值,判断来自该IP地址的请求是否为攻击行为包括:
携带该攻击验证信息的请求数与插入攻击验证信息的请求响应数的比值,大于等于该携带比例临界值,认为通过该IP地址发送的访问请求是安全的。
5.根据权利要求4所述的方法,其中:
所述攻击验证信息包括携带有该IP地址和/或时间戳的cookie信息。
6.一种网络淹没flood攻击的侦测装置,包括:
判断模块,用于根据为IP地址设置的临界访问速率以及IP地址最近一段时间的访问速率,判定该IP地址是否可能存在攻击行为;
插入模块,用于对可能存在攻击行为的该IP地址的一个或者多个请求响应中动态插入攻击验证信息,可能存在攻击行为IP的访问速率越高,插入攻击验证信息的请求响应数量越多;
解析模块,用于对该IP地址的请求进行解析,根据携带该攻击验证信息的请求数、插入该攻击验证信息的请求响应数以及预设的携带比例临界值,判断来自该IP地址的请求是否为攻击行为;
其中,所述攻击验证信息包括cookie信息,所述cookie的插入和检验在网络层进行,对上层业务透明。
7.根据权利要求6所述的装置,其中:
所述插入模块用于对可能存在攻击行为的该IP地址的N个请求响应中插入所述攻击验证信息,其中N根据该IP地址一段时间内的访问速率以及为该IP地址设置的临界访问速率确定;所述临界访问速率是动态的,根据时间或者网络繁忙程度设置。
8.根据权利要求7所述的装置,其中:
N大于等于该访问速率除以该临界访问速率的结果取整后加1。
9.根据权利要求6至8中任一项权利要求所述的装置,其中:
所述根据携带该攻击验证信息的请求数、插入该攻击验证信息的请求响应数以及预设的携带比例临界值,判断来自该IP地址的请求是否为攻击行为包括:
携带该攻击验证信息的请求数与插入攻击验证信息的请求响应数的比值,大于等于该携带比例临界值,认为通过该IP地址发送的访问请求是安全的。
10.根据权利要求9所述的装置,其中:
所述插入模块插入的所述攻击验证信息包括携带有该IP地址和/或时间戳的cookie信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210306725.4A CN103634284B (zh) | 2012-08-24 | 2012-08-24 | 一种网络flood攻击的侦测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210306725.4A CN103634284B (zh) | 2012-08-24 | 2012-08-24 | 一种网络flood攻击的侦测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103634284A CN103634284A (zh) | 2014-03-12 |
CN103634284B true CN103634284B (zh) | 2017-08-25 |
Family
ID=50214915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210306725.4A Active CN103634284B (zh) | 2012-08-24 | 2012-08-24 | 一种网络flood攻击的侦测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103634284B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092665A (zh) * | 2014-06-19 | 2014-10-08 | 小米科技有限责任公司 | 访问请求过滤方法、装置及设备 |
CN104883357A (zh) * | 2015-04-28 | 2015-09-02 | 深信服网络科技(深圳)有限公司 | 防范http post泛洪攻击的方法及防火墙 |
CN107465651B (zh) * | 2016-06-06 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 网络攻击检测方法及装置 |
CN105959313A (zh) * | 2016-06-29 | 2016-09-21 | 杭州迪普科技有限公司 | 一种防范http代理攻击的方法及装置 |
CN106878247B (zh) * | 2016-08-11 | 2020-06-16 | 阿里巴巴集团控股有限公司 | 一种攻击识别方法和装置 |
CN108810019B (zh) * | 2018-07-13 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 拒绝服务攻击防御方法、装置、设备和存储介质 |
CN110636068B (zh) * | 2019-09-24 | 2022-01-28 | 杭州安恒信息技术股份有限公司 | 在cc攻击防护中识别未知cdn节点的方法以及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101572700A (zh) * | 2009-02-10 | 2009-11-04 | 中科正阳信息安全技术有限公司 | 一种HTTP Flood分布式拒绝服务攻击防御方法 |
CN101834866A (zh) * | 2010-05-05 | 2010-09-15 | 北京来安科技有限公司 | 一种cc攻击防护方法及其系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8001601B2 (en) * | 2006-06-02 | 2011-08-16 | At&T Intellectual Property Ii, L.P. | Method and apparatus for large-scale automated distributed denial of service attack detection |
-
2012
- 2012-08-24 CN CN201210306725.4A patent/CN103634284B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101572700A (zh) * | 2009-02-10 | 2009-11-04 | 中科正阳信息安全技术有限公司 | 一种HTTP Flood分布式拒绝服务攻击防御方法 |
CN101834866A (zh) * | 2010-05-05 | 2010-09-15 | 北京来安科技有限公司 | 一种cc攻击防护方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103634284A (zh) | 2014-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103634284B (zh) | 一种网络flood攻击的侦测方法及装置 | |
Vekshin et al. | Doh insight: Detecting dns over https by machine learning | |
US10049209B2 (en) | Device, method, and system of differentiating between virtual machine and non-virtualized device | |
US9680850B2 (en) | Identifying bots | |
US10771500B2 (en) | System and method of determining DDOS attacks | |
US8949990B1 (en) | Script-based XSS vulnerability detection | |
KR101095447B1 (ko) | 분산 서비스 거부 공격 차단 장치 및 방법 | |
US8392963B2 (en) | Techniques for tracking actual users in web application security systems | |
US20190222607A1 (en) | System and method to detect and block bot traffic | |
US20110016523A1 (en) | Apparatus and method for detecting distributed denial of service attack | |
CN104618404A (zh) | 防止网络攻击Web服务器的处理方法、装置及系统 | |
CN108076003B (zh) | 会话劫持的检测方法及装置 | |
CN105959313A (zh) | 一种防范http代理攻击的方法及装置 | |
CN108600145B (zh) | 一种确定DDoS攻击设备的方法及装置 | |
TW201626759A (zh) | 用於自共用公用ip位址之網際網路請求訊務偵測由一具有額外非指定網域名稱的網路伺服器所選擇之複數個用戶端終端機之裝置的數量之方法,及用於選擇性偵測其之系統 | |
CN109743314A (zh) | 网络异常的监控方法、装置、计算机设备及其存储介质 | |
CN108234516B (zh) | 一种网络泛洪攻击的检测方法及装置 | |
KR102211503B1 (ko) | 유해 ip 판단 방법 | |
Zhang et al. | Sentry: A novel approach for mitigating application layer DDoS threats | |
KR101196325B1 (ko) | 분산서비스거부 공격 탐지장치 및 방법 | |
Oliveira et al. | Investigation of amplification-based DDoS attacks on IoT devices | |
EP3432544A1 (en) | System and method of determining ddos attacks | |
CN109688140A (zh) | 一种信息处理方法及信息处理装置 | |
CN111669376B (zh) | 一种内网安全风险识别的方法和装置 | |
KR101292445B1 (ko) | 피투피 트래픽의 탐지 및 차단 장치 그리고 이의 탐지 및차단 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |