CN104333529B - 一种云计算环境下http dos攻击的检测方法及系统 - Google Patents
一种云计算环境下http dos攻击的检测方法及系统 Download PDFInfo
- Publication number
- CN104333529B CN104333529B CN201310306860.3A CN201310306860A CN104333529B CN 104333529 B CN104333529 B CN 104333529B CN 201310306860 A CN201310306860 A CN 201310306860A CN 104333529 B CN104333529 B CN 104333529B
- Authority
- CN
- China
- Prior art keywords
- source
- event
- entries
- counter
- current
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
本发明提出一种云计算环境下HTTP DOS攻击的检测方法及系统。获取对目标Web页面发起HTTP请求的源端信息,包括请求次数和速率;判断该源端对该目标Web页面发起的HTTP请求次数和速率是否大于各自的阈值,如果是,认为该源端对该目标Web页面发起DOS攻击。本发明能够准确的检测攻击,并且,可以对多个目标系统进行统一检测和防护。
Description
技术领域
本发明属于云计算网络和信息安全领域,尤其涉及一种云计算环境下HTTP DOS(Denial of Service,拒绝服务)攻击的检测方法及系统。
背景技术
应用层HTTP DOS攻击是近年来兴起的一种DOS攻击的新技术,与SYN Flooding等传统的网络型DOS攻击不同,HTTP DOS攻击的目的是为了耗尽目标主机的资源,例如,CPU、存储器、Socket等。攻击者用少量的HTTP请求促使服务器返回大文件,例如,图像、视频文件等,或促使服务器运行一些复杂的脚本程序,例如,复杂的数据处理、密码计算与验证等。这种方式不需要很高的攻击速率就可以迅速耗尽主机的资源,而且更具有隐蔽性。
而EDOS(Economical Denial of Service,造成经济损失的拒绝服务)攻击是云计算中特有的攻击形式,利用云计算服务按使用量计费的特点,使用DOS攻击手段,导致被攻击系统的带宽、CPU、存储等资源使用量大量增加,从而导致高额账单。HTTP EDOS攻击将是今后云计算环境面临的严峻安全挑战,云安全联盟(CSA)也将DDOS/EDOS攻击列为云计算的七大安全威胁之一。
目前对于HTTP DOS攻击的检测防御方法主要有两种:一种是基于代理设备的解决方案;一种是Web服务器的安全配置技术。
图1所示为基于代理设备的检测防御的示意图。
以目前安全设备厂商推行的Web防火墙产品为代表,通过在Web服务器前面部署一台堡垒主机,对所有的数据流量进行代理,如果流量合法则发送给Web服务器,如果流量异常就进行阻断。该方案基于会话的双向代理,中断了用户与服务器的直接连接,适用于各种加密协议,防止了入侵者的直接进入,对DDOS(Distributed Denial of Service,分布式拒绝服务)攻击可以抑制,对非预料的“特别”行为也有所抑制。该方案的主要问题是需要在Web服务器的前面部署代理设备,串行接入,不仅在硬件性能上要求高,而且不能影响Web服务,所以HA功能(高可用性)、Bypass(旁路)功能都是必须的,而且还要与负载均衡、WebCache等Web服务器前的常见的产品协调部署。因此该方案成本高、配置复杂,如果保护目标过多会影响性能,不适用于云计算环境中大量虚拟服务器的攻击检测和防御。
Web服务器的安全配置技术是目前较为常用的针对HTTP DOS攻击的防御技术,可以包括两个层面的安全配置:
一个层面是在Web服务的人机交互层面,对于消耗服务器资源较多的页面引入验证码等相关的Puzzle(验证机制),让客户端解析一段javascript或flash,并给出正确的运行结果。由于大部分的攻击自动化脚本都是直接构造HTTP包完成的,并非在一个浏览器环境中发起的请求,因此无法正确识别验证码,所以此方法对于DOS攻击有所抑制。
另外一个层面是在Web server层面做安全配置,如Apache的配置文件中,有一些参数可以缓解DOS攻击,如Timeout、KeepAliveTimeout、MaxClient等。WEB服务器安全配置技术的主要问题是只能做到攻击防御而无法精确的检测和定位攻击,并且需要在每个Web系统中单独配置和代码整改,只能防御单个系统,无法做到多个系统统一防护;此外在人机交互层面加入验证码会降低Web服务的用户体验度,在Web server中更改配置参数可能会影响正常业务应用。因此该技术也不适用于云计算环境中对大量目标的统一攻击检测和防御。
发明内容
鉴于以上,本发明提出一种云计算环境下HTTP DOS攻击的检测方法及系统。
根据本发明的一方面,提出一种云计算环境下HTTP DOS攻击的检测方法,包括:获取对目标Web页面发起HTTP请求的源端信息,包括请求次数和速率;判断该源端对该目标Web页面发起的HTTP请求次数和速率是否大于各自的阈值,如果是,认为该源端对该目标Web页面发起DOS攻击。
在本发明的一个实施例中,获取对目标Web页面发起HTTP请求的源端信息的操作,包括以下步骤:提取HTTP请求包中的源IP地址、用户cookie值和目标URL,其中,目标URL即为目标Web页面的地址;根据源IP地址和用户cookie值计算得到源事件ID,根据目标URL计算得到目标事件ID;将目标事件ID与目标事件筛选表中的所有条目的ID进行匹配,目标事件筛选表中包括目标事件ID、第一源信息、第一计数器、第一速率和第一表指针,其中,第一表指针指向源事件筛选表,源事件筛选表包括源事件ID值、第二源信息、第二计数器、第二速率和第二表指针;如果匹配成功,即,目标事件筛选表中包括计算得到的目标事件ID,则转向第一表指针所指向的源事件筛选表,将源事件ID与源事件筛选表中的所有条目的ID进行匹配,根据匹配结果更新第二计数器的计数值,即请求次数,并计算第二速率,即源端信息中的速率。
在本发明的一个实施例中,如果匹配不成功,即,目标事件筛选表中未包括计算得到的目标事件ID,则在目标事件筛选表中创建新的条目,条目ID为当前HTTP请求包的目标事件ID值,第一源信息为访问的目标URL,第一计数器置为1,第一表指针指向新创建的源事件筛选表;创建对应的源事件筛选表,条目ID为当前HTTP请求包的源事件ID,第二源信息为当前HTTP请求包的源IP和cookie,第二计数器置为1,第二表指针为正向查询。
在本发明的一个实施例中,源事件ID与源事件筛选表中的所有条目的ID进行匹配的操作,包括以下步骤:源事件ID与源事件筛选表中的当前条目ID匹配,将当前条目的计数器加一,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段。
在本发明的一个实施例中,源事件ID与源事件筛选表中的所有条目的ID进行匹配的操作,包括以下步骤:源事件ID与源事件筛选表中的当前条目ID不匹配,判断当前条目是否为空;如果当前条目为空,则将当前HTTP请求包的源事件ID插入当前条目,计数器置为1,表指针置为反向查询,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段,更新目标事件筛选表的计数器和速率字段;如果当前条目非空,当前条目计数器减一,判断当前条目计数器是否为0;如果当前条目计数器为0,用新的请求包数据替换当前条目,事件ID替换为当前请求包的事件ID,源信息替换为当前请求包的源信息,计数器设为1,表指针为正向查询,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段,更新目标事件筛选表的计数器和速率字段;如果当前条目计数器不为0,表指针选取下一条目,初始表指针设为正向查询。
在本发明的一个实施例中,当检测到DOS攻击时,提交攻击源IP地址和用户cookie值;调用安全设备对攻击源IP地址进行阻断。
根据本发明的另一方面,还提出一种云计算环境下HTTP DOS攻击的检测系统,其中:获取单元,配置于获取对目标Web页面发起HTTP请求的源端信息,包括请求次数和速率;判断单元,配置于判断该源端对该目标Web页面发起的HTTP请求次数和速率是否大于各自的阈值,如果是,认为该源端对该目标Web页面发起DOS攻击。
在本发明的一个实施例中,获取单元提取HTTP请求包中的源IP地址、用户cookie值和目标URL,其中,目标URL即为目标Web页面的地址;根据源IP地址和用户cookie值计算得到源事件ID,根据目标URL计算得到目标事件ID;将目标事件ID与目标事件筛选表中的所有条目的ID进行匹配,目标事件筛选表中包括目标事件ID、第一源信息、第一计数器、第一速率和第一表指针,其中,第一表指针指向源事件筛选表,源事件筛选表包括源事件ID值、第二源信息、第二计数器、第二速率和第二表指针;如果匹配成功,即,目标事件筛选表中包括计算得到的目标事件ID,则转向第一表指针所指向的源事件筛选表,将源事件ID与源事件筛选表中的所有条目的ID进行匹配,根据匹配结果更新第二计数器的计数值,即请求次数,并计算第二速率,即源端信息中的速率。
在本发明的一个实施例中,如果匹配不成功,即,目标事件筛选表中未包括计算得到的目标事件ID,则在目标事件筛选表中创建新的条目,条目ID为当前HTTP请求包的目标事件ID值,第一源信息为访问的目标URL,第一计数器置为1,第一表指针指向新创建的源事件筛选表;创建对应的源事件筛选表,条目ID为当前HTTP请求包的源事件ID,第二源信息为当前HTTP请求包的源IP和cookie,第二计数器置为1,第二表指针为正向查询。
在本发明的一个实施例中,源事件ID与源事件筛选表中的当前条目ID匹配,将当前条目的计数器加一,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段。
在本发明的一个实施例中,源事件ID与源事件筛选表中的当前条目ID不匹配,判断当前条目是否为空;如果当前条目为空,则将当前HTTP请求包的源事件ID插入当前条目,计数器置为1,表指针置为反向查询,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段,更新目标事件筛选表的计数器和速率字段;如果当前条目非空,当前条目计数器减一,判断当前条目计数器是否为0;如果当前条目计数器为0,用新的请求包数据替换当前条目,事件ID替换为当前请求包的事件ID,源信息替换为当前请求包的源信息,计数器设为1,表指针为正向查询,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段,更新目标事件筛选表的计数器和速率字段;如果当前条目计数器不为0,表指针选取下一条目,初始表指针设为正向查询。
在本发明的一个实施例中,判断单元在检测到DOS攻击时,将攻击源IP地址和用户cookie值提交给阻断单元,阻断单元调用安全设备对攻击源IP地址进行阻断。
本发明能够准确的检测攻击,并且,攻击检测实体可以对多个目标系统进行统一检测和防护,不需要用户进行配置和变更,简化了部署和操作。不代理数据流量处理,性能优越、成本低,适用于云计算环境中大规模虚拟服务器的部署和实施,以及适用于应用层DOS攻击的检测和防御。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为基于代理设备的检测防御的示意图。
图2所示为本发明一实施例中的一种云计算环境下HTTP DOS攻击的检测系统的架构示意图。
图3所示为本发明一实施例中的一种云计算环境下HTTP DOS攻击的检测方法的流程图。
图4所示为本发明一实施例中的一种云计算环境下HTTP DOS攻击的检测方法的流程图。
图5所示为本发明一实施例中的一种云计算环境下HTTP DOS攻击的检测方法的流程图。
图6所示为本发明一实施例中的一种云计算环境下HTTP DOS攻击的检测方法的流程图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明提出一种适用于云计算环境下对大量目标系统的HTTP DOS攻击的检测方法及系统,不影响正常业务性能。DOS攻击会导致被攻击用户资源使用的持续上升,本发明能有效的检测到DOS攻击,从而减少DOS攻击对于用户带来的业务中断风险和经济损失。本发明适用于DDOS和EDOS攻击的检测。
图2所示为本发明一实施例中的一种云计算环境下HTTP DOS攻击的检测系统的架构示意图。该系统包括HTTP DOS攻击检测实体(Attack Detection Entity,ADE)。该ADE可以单独部署,也可以直接部署在云管理平台上。其中,ADE包括获取单元和判断单元。
获取单元,配置于获取对目标Web页面发起HTTP请求的源端信息,包括请求次数和速率。
判断单元,配置于判断该源端对该目标Web页面发起的HTTP请求次数和速率是否大于各自的阈值,如果是,认为该源端对该目标Web页面发起DOS攻击。
在本发明的一个实施例中,判断单元检测到请求次数和速率小于等于各自的阈值,则认为未发起DOS攻击。或者,在发起DOS攻击的情况下,判断单元检测到请求次数和速率小于等于各自的阈值,则攻击警报解除。
目前针对HTTP协议进行DOS攻击的主要方式是HTTP Flooding,在短时间内向消耗大量系统资源的页面(如数据库交互页面)发送大量请求,导致整个Web系统无法响应。因此通过检测请求的数量(即计数器的次数)和发送的速率可以发现攻击的异常状态,即,速率和计数器能够准确的匹配攻击。因此,本发明能够有效的进行攻击检测,尤其是在云计算环境中对大量目标的统一攻击检测和防御。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
获取单元提取HTTP请求包中的源IP地址、用户cookie值和目标URL,其中,目标URL即为目标Web页面的地址。由于一个Web系统可能有几百万的页面,IP地址都是相同的,而攻击往往是针对特定页面执行的,因此采用URL进行定位,以定位受到攻击的页面。
根据源IP地址和用户cookie值计算得到源事件ID,根据目标URL计算得到目标事件ID。在本发明的一个实施例中,通过Hash算法计算ID,即,源IP地址和用户cookie值两个字段组合通过Hash函数计算散列值,得到源事件ID;目标URL字段通过Hash函数计算散列值,得到目标事件ID。
将目标事件ID与目标事件筛选表中的所有条目的ID进行匹配,目标事件筛选表中包括目标事件ID、源信息,即目标URL、计数器、速率和表指针,其中,表指针指向源事件筛选表,源事件筛选表包括源事件ID、源信息,即源IP地址和用户Cookie值、计数器、速率和表指针。如果匹配成功,即,目标事件筛选表中包括计算得到的目标事件ID,则转向表指针所指向的源事件筛选表,将源事件ID与源事件筛选表中的所有条目的ID进行匹配,根据匹配结果更新计数器的计数值,即请求次数,并计算速率。其中,源事件ID与源事件筛选表中的当前条目ID匹配,将当前条目的计数器加一,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段。当不匹配时执行的操作,将在下面进行详细说明。
如果匹配不成功,即,目标事件筛选表中未包括计算得到的目标事件ID,则在目标事件筛选表中创建新的条目,条目ID为当前HTTP请求包的目标事件ID,源信息为访问的目标URL,计数器置为1,表指针指向新创建的源事件筛选表。创建对应的源事件筛选表,条目ID为当前HTTP请求包的源事件ID,源信息为当前HTTP请求包的源IP和cookie,计数器置为1,表指针为正向查询。
上面提到的目标事件筛选表和源事件筛选表,总体表结构为链表的形式,目标事件筛选表中的每个条目都有一个表指针指向对应的源事件筛选表。
对于事件筛选表中的每个条目由六元组组成,如下表所示,分别为序号、事件ID、源信息、计数器、速率和表指针。对于目标事件和源事件筛选表中的条目含义有所不同。
序号用来标识当前条目在整个事件筛选表中的位置,比如当前条目是事件筛选表中的第三条,则序号就标志为3,序号是被表指针查询下一个条目。
事件(Event)ID用来对事件筛选表中的每个条目进行标识,是数据查询的关键。使用Event ID而不是源信息来标识每个条目可以大大提高查询的性能。
源信息指HTTP请求包头中的原始字段,对于源事件筛选表,源信息就是源IP地址和用户Cookie值;对于目标事件筛选表,源信息就是目标URL的值。记录源信息主要用于攻击的定位和溯源。
计数器用来记录当前条目的数量,对于源事件筛选表,当HTTP请求包的Event ID与当前条目Event ID相匹配,则计数器加一,如果不匹配,则计数器减一。对于目标事件筛选表,每个Event ID的计数器是所对应的源事件筛选表的计数器总和。对于源事件筛选表中的条目,计数器可以反映源客户端的最大新建连接数,对于目标事件筛选表中的条目,计数器可以反映目标URL的最大并发连接数。之所以在计数器中使用了减一的机制,是可以去除那些“不活跃的”连接条目,即新建连接数量较少的客户端和并发连接数量较少的目标URL,从而减少事件筛选表中条目的数量,提高查询的性能。
速率用来计算当前条目的连接速率,由计数器数量除以当前秒数(当前秒数指http请求建立后到当前时间之间的秒数,比如一个请求在5秒前建立,当前秒数即为5)来计算速率。计算速率的时间周期可以是每隔一秒钟,当然,也可以根据需要进行更改。将速率和计数器与阈值进行比对,以判断是否发生攻击。目标事件筛选表的速率值是所对应的源事件筛选表中速率的最大值。
目标事件筛选表的表指针指向对应的源事件筛选表的位置。源事件筛选表的表指针用来查询事件筛选表中的下一个条目,表指针默认设置为正向查询,选择的下一个条目序号为当前条目序号加一,比如当前条目序号为3,则正向查询的下一个条目序号为4;如果当前选择条目为空,插入新条目时,表指针设置为反向查询,选择的下一个条目序号为当前条目序号减一,比如当前条目序号为3,则反向查询的下一个条目序号为2。
下面将对源事件ID与源事件筛选表中的当前条目ID不匹配的情况做进一步说明。
如果HTTP请求包的源事件ID与源事件筛选表中的当前条目ID不匹配,判断当前条目是否为空,如果当前条目为空,则将当前HTTP请求包的源事件ID插入当前条目,计数器置为1,表指针置为反向查询,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段,更新目标事件筛选表的计数器和速率字段;如果当前条目非空,当前条目计数器减一,判断当前条目的计数器是否为0,如果当前条目的计数器为0,用新的请求包数据替换当前条目,Event ID替换为当前请求包的Event ID,源信息替换为当前请求包的源信息,计数器设为1,表指针为正向查询,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段,更新目标事件筛选表的计数器和速率字段;如果当前条目计数器不为0,表指针选取下一条目,初始表指针设为正向查询。
在本发明的一个实施例中,该系统还包括:阻断单元,该阻断单元设置在云管理平台。
当检测到DOS攻击时,判断单元还将攻击源IP和用户cookie值提交给阻断单元。阻断单元进行攻击溯源,调用防火墙等安全设备对攻击源地址进行阻断。使攻击者无法进行攻击。此外,判断单元还将攻击开始时间和攻击结束时间提交给阻断单元,以计算攻击时长。
本发明能够准确的检测攻击,并且,攻击检测实体可以对多个目标系统进行统一检测和防护,不需要用户进行配置和变更,简化了部署和操作。不代理数据流量处理,性能优越、成本低,适用于云计算环境中大规模虚拟服务器的部署和实施,以及适用于应用层DOS攻击的检测和防御。
图3所示为本发明一实施例中的一种云计算环境下HTTP DOS攻击的检测方法的流程图。该方法包括以下步骤:
步骤31,获取对目标Web页面发起HTTP请求的源端信息,包括请求次数和速率。该步骤的具体操作将在图4中进行详细说明。
步骤32,判断该源端对该目标Web页面发起的HTTP请求次数和速率是否大于各自的阈值,如果是,执行步骤33,否则,执行步骤34。
步骤33,认为该源端对该目标Web页面发起DOS攻击。在本发明的一个实施例中,该步骤之后,还可以继续执行步骤31,并且,经过步骤32的判断之后,检测到请求次数和速率小于等于各自的阈值,则认为之前的攻击警报已解除。
步骤34,认为该源端未对该目标Web页面发起DOS攻击。
图4所示为本发明一实施例中的一种云计算环境下HTTP DOS攻击的检测方法的流程图。该方法包括以下步骤:
步骤41,提取HTTP请求包中的源IP地址、用户cookie值和目标URL,其中,目标URL即为目标Web页面的地址。
步骤42,根据源IP地址和用户cookie值计算得到源事件ID,根据目标URL计算得到目标事件ID。在本发明的一个实施例中,通过Hash算法计算ID,即,源IP地址和用户cookie值两个字段组合通过Hash函数计算散列值,得到源事件ID;目标URL字段通过Hash函数计算散列值,得到目标事件ID。
步骤43,将目标事件ID与目标事件筛选表中的所有条目的ID进行匹配,目标事件筛选表中包括目标事件ID、源信息,即目标URL、计数器、速率和表指针,其中,表指针指向源事件筛选表,源事件筛选表包括源事件ID、源信息,即源IP地址和用户Cookie值、计数器、速率和表指针。
步骤44,判断匹配是否成功,如果匹配成功,执行步骤45,否则,执行步骤46。
步骤45,目标事件筛选表中包括计算得到的目标事件ID,转向表指针所指向的源事件筛选表,将源事件ID与源事件筛选表中的所有条目的ID进行匹配,根据匹配结果更新计数器的计数值,即请求次数,并计算速率。其中,源事件ID与源事件筛选表中的当前条目ID匹配,将当前条目的计数器加一,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段。将在图5中对源事件ID与源事件筛选表中的当前条目ID不匹配的情况做进一步说明。
步骤46,目标事件筛选表中未包括计算得到的目标事件ID,则在目标事件筛选表中创建新的条目,条目ID为当前HTTP请求包的目标事件ID,源信息为访问的目标URL,计数器置为1,表指针指向新创建的源事件筛选表。创建对应的源事件筛选表,条目ID为当前HTTP请求包的源事件ID,源信息为当前HTTP请求包的源IP和cookie,计数器置为1,表指针为正向查询。
图5所示为本发明一实施例中的一种云计算环境下HTTP DOS攻击的检测方法的流程图。该实施例中,HTTP请求包的源事件ID与源事件筛选表中的当前条目ID不匹配。该方法包括以下步骤:
步骤51,判断当前条目是否为空,如果是,执行步骤52,否则,执行步骤53。
步骤52,将当前HTTP请求包的源事件ID插入当前条目,计数器置为1,表指针置为反向查询,执行步骤56。
步骤53,当前条目计数器减一,执行步骤54。
步骤54,判断当前条目计数器是否为0,如果是,执行步骤55,否则,执行步骤57。
步骤55,用新的请求包数据替换当前条目,Event ID替换为当前请求包的EventID,源信息替换为当前请求包的源信息,计数器设为1,表指针为正向查询,执行步骤56。
步骤56,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段,更新目标事件筛选表的计数器和速率字段。
步骤57,表指针选取下一条目,初始表指针设为正向查询。
在本发明的一个实施例中,在步骤33之后,还包括以下步骤:
当检测到DOS攻击时,提交攻击源IP和用户cookie值,进行攻击溯源,调用防火墙等安全设备对攻击源地址进行阻断。使攻击者无法进行攻击。此外,还提交攻击开始时间和攻击结束时间,以计算攻击时长。
图6所示为本发明一实施例中的一种云计算环境下HTTP DOS攻击的检测方法的流程图。该方法包括以下步骤:
步骤601,提取HTTP请求包的相关信息,包括源IP、用户cookie和目标URL,并计算当前HTTP请求包的源Event ID和目标Event ID,转到步骤602。
步骤602,判断目标Event ID是否与目标事件筛选表中的ID匹配,如果是,转向步骤603,否则,转向步骤612。
步骤603,转向对应的源事件筛选表,判断HTTP请求包的源Event ID是否与源事件筛选表中的ID匹配,如果是,转到步骤604,否则,转到步骤605。
步骤604,当前条目的计数器加一,转到步骤611。
步骤605,判断当前条目是否为空,如果为空,转到步骤606,如果非空,转到步骤607。
步骤606,将当前HTTP请求包的源Event ID插入当前条目,计数器置为1,表指针置为反向查询,转到步骤611。
步骤607,当前条目计数器减一,转到步骤608。
步骤608,判断当前条目计数器是否为0,如果是,转到步骤609,否则,转到步骤610。
步骤609,用新的请求包数据替换当前条目,Event ID替换为当前请求包的EventID,源信息替换为当前请求包的源信息,计数器设为1,表指针为正向查询,转到步骤611。
步骤610,表指针选取下一条目,初始表指针设为正向查询,转向步骤603。
步骤611,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段,更新目标事件筛选表的计数器和速率字段,转到步骤601。
步骤612,在目标事件筛选表中创建新的条目,条目ID为当前HTTP请求包的目标Event ID,源信息为访问的目标URL,计数器置为1,表指针指向新创建的源事件筛选表,转到步骤613。
步骤613,创建对应的源事件筛选表,条目ID为当前HTTP请求包的源Event ID,源信息为当前HTTP请求包的源IP和cookie,计数器置为1,表指针为正向查询,转到步骤601。
下面通过一个具体实施例,对本发明做进一步说明。
考虑单一IP的攻击者对目标Web系统进行攻击的实例。假设攻击者IP为9.9.9.9,用户cookie值为cookie9,目标页面的URL为HTTP://destination.example/action?id=1,在攻击实施之前,目标Web页面的事件筛选表如下:
目标事件筛选表:
源事件筛选表
序号 | Event ID | 源信息 | 计数器 | 速率 | 表指针 |
1 | ID1 | 1.1.1.1 | 10 | 5 | 2 |
2 | ID2 | 2.2.2.2 | 2 | 2 | 3 |
3 | ID3 | 3.3.3.3 | 90 | 35 | 4 |
4 | ID4 | 4.4.4.4 | 20 | 5 | 5 |
5 | ID5 | 5.5.5.5 | 1 | 1 | 表尾 |
当攻击者发动第一次HTTP EDOS攻击连接时,计算如下:
1)ADE计算攻击者的目标事件ID和源事件ID,假设目标事件ID为ID1,源事件ID为ID9。
2)目标事件ID匹配成功,指向源事件筛选表继续匹配,由于源事件表中现有的ID与ID9都不匹配,则现有条目的计数器都减一,序号5的条目计数器变为0,此时ID9取代原条目,插入到序号5中,匹配后的事件筛选表如下所示:
目标事件筛选表
源事件筛选表
序号 | Event ID | 源信息 | 计数器 | 速率 | 表指针 |
1 | ID1 | 1.1.1.1 | 9 | 5 | 2 |
2 | ID2 | 2.2.2.2 | 1 | 2 | 3 |
3 | ID3 | 3.3.3.3 | 89 | 35 | 4 |
4 | ID4 | 4.4.4.4 | 19 | 5 | 5 |
5 | ID9 | 9.9.9.9 | 1 | 1 | 表尾 |
3)攻击者在两秒钟内持续发动攻击100次,假设在攻击期间没有其他连接,则攻击100次之后的事件筛选表如下所示:
目标事件筛选表
源事件筛选表
序号 | Event ID | 源信息 | 计数器 | 速率 | 表指针 |
1 | ID1 | 1.1.1.1 | 9 | 3 | 2 |
2 | ID2 | 2.2.2.2 | 1 | 1 | 3 |
3 | ID3 | 3.3.3.3 | 89 | 13 | 4 |
4 | ID4 | 4.4.4.4 | 19 | 2 | 5 |
5 | ID9 | 9.9.9.9 | 101 | 50 | 表尾 |
4)假设在攻击者连续攻击100次之后,有一个新的连接加入,IP地址为6.6.6.6,此时表指针到达表尾,由于当前条目为ID9,新连接ID与ID9不匹配,因此ID9的计数器减一变成100,将新的连接条目插入到表尾,表指针进行逆向检索,即指向条目5,此时的事件筛选表如下所示:
目标事件筛选表
源事件筛选表
序号 | Event ID | 源信息 | 计数器 | 速率 | 表指针 |
1 | ID1 | 1.1.1.1 | 9 | 3 | 2 |
2 | ID2 | 2.2.2.2 | 1 | 1 | 3 |
3 | ID3 | 3.3.3.3 | 89 | 13 | 4 |
4 | ID4 | 4.4.4.4 | 19 | 2 | 5 |
5 | ID9 | 9.9.9.9 | 100 | 50 | 6 |
6 | ID6 | 6.6.6.6 | 1 | 1 | 5 |
5)攻击者在后续两秒钟时间内持续发动攻击100次,假设在攻击期间没有其他连接,此时会把序号为6的条目清零,因为当前条目是条目6,ID号为ID6,攻击者的ID为ID9,与当前条目不匹配,因此会把当前条目的计数器减一,然后与下一条目匹配,而下一条目是条目5,ID号是ID9,与攻击者的匹配,因此计数器会持续增加,同时表指针变为正向检索,则继续攻击100次之后的事件筛选表如下所示:
目标事件筛选表
源事件筛选表
序号 | Event ID | 源信息 | 计数器 | 速率 | 表指针 |
1 | ID1 | 1.1.1.1 | 9 | 1 | 2 |
2 | ID2 | 2.2.2.2 | 1 | 1 | 3 |
3 | ID3 | 3.3.3.3 | 89 | 5 | 4 |
4 | ID4 | 4.4.4.4 | 19 | 1 | 5 |
5 | ID9 | 9.9.9.9 | 200 | 50 | 表尾 |
6)单ID的计数器的计数值大于等于200,且速率不小于50时匹配为攻击,则此时攻击被发现,ADE会将条目5的源IP地址和开始时间报告给云管理平台。
至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本发明的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
Claims (10)
1.一种云计算环境下HTTP DOS攻击的检测方法,其特征在于:
获取对目标Web页面发起HTTP请求的源端信息,包括请求次数和速率;
判断该源端对该目标Web页面发起的HTTP请求次数和速率是否大于各自的阈值,如果是,认为该源端对该目标Web页面发起拒绝服务(DOS)攻击;
其中,获取对目标Web页面发起HTTP请求的源端信息的操作,包括以下步骤:
提取HTTP请求包中的源IP地址、用户cookie值和目标URL,其中,目标URL即为目标Web页面的地址;
根据源IP地址和用户cookie值计算得到源事件ID,根据目标URL计算得到目标事件ID;
将目标事件ID与目标事件筛选表中的所有条目的ID进行匹配,目标事件筛选表中包括目标事件ID、第一源信息、第一计数器、第一速率和第一表指针,其中,第一表指针指向源事件筛选表,源事件筛选表包括源事件ID值、第二源信息、第二计数器、第二速率和第二表指针;
如果匹配成功,即,目标事件筛选表中包括计算得到的目标事件ID,则转向第一表指针所指向的源事件筛选表,将源事件ID与源事件筛选表中的所有条目的ID进行匹配,根据匹配结果更新第二计数器的计数值,即请求次数,并计算第二速率,即源端信息中的速率。
2.如权利要求1所述云计算环境下HTTP DOS攻击的检测方法,其特征在于:
如果匹配不成功,即,目标事件筛选表中未包括计算得到的目标事件ID,则在目标事件筛选表中创建新的条目,条目ID为当前HTTP请求包的目标事件ID值,第一源信息为访问的目标URL,第一计数器置为1,第一表指针指向新创建的源事件筛选表;
创建对应的源事件筛选表,条目ID为当前HTTP请求包的源事件ID,第二源信息为当前HTTP请求包的源IP和cookie,第二计数器置为1,第二表指针为正向查询。
3.如权利要求1或2所述云计算环境下HTTP DOS攻击的检测方法,其特征在于:
源事件ID与源事件筛选表中的所有条目的ID进行匹配的操作,包括以下步骤:
源事件ID与源事件筛选表中的当前条目ID匹配,将当前条目的计数器加一,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段。
4.如权利要求1或2所述云计算环境下HTTP DOS攻击的检测方法,其特征在于:
源事件ID与源事件筛选表中的所有条目的ID进行匹配的操作,包括以下步骤:
源事件ID与源事件筛选表中的当前条目ID不匹配,判断当前条目是否为空;
如果当前条目为空,则将当前HTTP请求包的源事件ID插入当前条目,计数器置为1,表指针置为反向查询,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段,更新目标事件筛选表的计数器和速率字段;
如果当前条目非空,当前条目计数器减一,判断当前条目计数器是否为0;如果当前条目计数器为0,用新的请求包数据替换当前条目,事件ID替换为当前请求包的事件ID,源信息替换为当前请求包的源信息,计数器设为1,表指针为正向查询,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段,更新目标事件筛选表的计数器和速率字段;如果当前条目计数器不为0,表指针选取下一条目,初始表指针设为正向查询。
5.如权利要求1或2所述云计算环境下HTTP DOS攻击的检测方法,其特征在于:
当检测到DOS攻击时,提交攻击源IP地址和用户cookie值;
调用安全设备对攻击源IP地址进行阻断。
6.一种云计算环境下HTTP DOS攻击的检测系统,其特征在于:
获取单元,配置用于获取对目标Web页面发起HTTP请求的源端信息,包括请求次数和速率;
判断单元,配置用于判断该源端对该目标Web页面发起的HTTP请求次数和速率是否大于各自的阈值,如果是,认为该源端对该目标Web页面发起DOS攻击;
其中:
获取单元提取HTTP请求包中的源IP地址、用户cookie值和目标URL,其中,目标URL即为目标Web页面的地址;
根据源IP地址和用户cookie值计算得到源事件ID,根据目标URL计算得到目标事件ID;
将目标事件ID与目标事件筛选表中的所有条目的ID进行匹配,目标事件筛选表中包括目标事件ID、第一源信息、第一计数器、第一速率和第一表指针,其中,第一表指针指向源事件筛选表,源事件筛选表包括源事件ID值、第二源信息、第二计数器、第二速率和第二表指针;
如果匹配成功,即,目标事件筛选表中包括计算得到的目标事件ID,则转向第一表指针所指向的源事件筛选表,将源事件ID与源事件筛选表中的所有条目的ID进行匹配,根据匹配结果更新第二计数器的计数值,即请求次数,并计算第二速率,即源端信息中的速率。
7.如权利要求6所述云计算环境下HTTP DOS攻击的检测系统,其特征在于:
如果匹配不成功,即,目标事件筛选表中未包括计算得到的目标事件ID,则在目标事件筛选表中创建新的条目,条目ID为当前HTTP请求包的目标事件ID值,第一源信息为访问的目标URL,第一计数器置为1,第一表指针指向新创建的源事件筛选表;
创建对应的源事件筛选表,条目ID为当前HTTP请求包的源事件ID,第二源信息为当前HTTP请求包的源IP和cookie,第二计数器置为1,第二表指针为正向查询。
8.如权利要求6或7所述云计算环境下HTTP DOS攻击的检测系统,其特征在于:
源事件ID与源事件筛选表中的当前条目ID匹配,将当前条目的计数器加一,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段。
9.如权利要求6或7所述云计算环境下HTTP DOS攻击的检测系统,其特征在于:
源事件ID与源事件筛选表中的当前条目ID不匹配,判断当前条目是否为空;
如果当前条目为空,则将当前HTTP请求包的源事件ID插入当前条目,计数器置为1,表指针置为反向查询,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段,更新目标事件筛选表的计数器和速率字段;
如果当前条目非空,当前条目计数器减一,判断当前条目计数器是否为0;如果当前条目计数器为0,用新的请求包数据替换当前条目,事件ID替换为当前请求包的事件ID,源信息替换为当前请求包的源信息,计数器设为1,表指针为正向查询,计算源事件筛选表中所有条目的速率,更新源事件筛选表所有条目的速率字段,更新目标事件筛选表的计数器和速率字段;如果当前条目计数器不为0,表指针选取下一条目,初始表指针设为正向查询。
10.如权利要求6或7所述云计算环境下HTTP DOS攻击的检测系统,其特征在于:
判断单元在检测到DOS攻击时,将攻击源IP地址和用户cookie值提交给阻断单元,阻断单元调用安全设备对攻击源IP地址进行阻断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310306860.3A CN104333529B (zh) | 2013-07-22 | 2013-07-22 | 一种云计算环境下http dos攻击的检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310306860.3A CN104333529B (zh) | 2013-07-22 | 2013-07-22 | 一种云计算环境下http dos攻击的检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104333529A CN104333529A (zh) | 2015-02-04 |
CN104333529B true CN104333529B (zh) | 2017-12-12 |
Family
ID=52408183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310306860.3A Active CN104333529B (zh) | 2013-07-22 | 2013-07-22 | 一种云计算环境下http dos攻击的检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104333529B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104883357A (zh) * | 2015-04-28 | 2015-09-02 | 深信服网络科技(深圳)有限公司 | 防范http post泛洪攻击的方法及防火墙 |
CN105100072B (zh) * | 2015-06-30 | 2019-04-23 | 东软集团股份有限公司 | 一种网络节点监测方法及装置 |
CN105939320A (zh) * | 2015-12-02 | 2016-09-14 | 杭州迪普科技有限公司 | 处理报文的方法及装置 |
CN105430011B (zh) * | 2015-12-25 | 2019-02-26 | 杭州朗和科技有限公司 | 一种检测分布式拒绝服务攻击的方法和装置 |
CN105763560A (zh) * | 2016-04-15 | 2016-07-13 | 北京思特奇信息技术股份有限公司 | 一种Web Service接口流量实时监控方法和系统 |
CN107454120A (zh) * | 2016-05-30 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 网络攻击防御系统和防御网络攻击的方法 |
CN108111501B (zh) * | 2017-12-15 | 2021-08-20 | 百度在线网络技术(北京)有限公司 | 作弊流量的控制方法、装置和计算机设备 |
CN110535808B (zh) | 2018-05-24 | 2021-03-30 | 华为技术有限公司 | 一种设备监控、去注册方法及装置 |
CN108833410B (zh) * | 2018-06-19 | 2020-11-06 | 网宿科技股份有限公司 | 一种针对HTTP Flood攻击的防护方法及系统 |
CN109005175B (zh) * | 2018-08-07 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 网络防护方法、装置、服务器及存储介质 |
CN110061971A (zh) * | 2019-03-20 | 2019-07-26 | 合肥名德光电科技股份有限公司 | 一种云计算防御检测方法 |
CN111200605B (zh) * | 2019-12-31 | 2022-05-03 | 网络通信与安全紫金山实验室 | 一种基于Handle系统的恶意标识防御方法及系统 |
CN111917787B (zh) * | 2020-08-06 | 2023-07-21 | 北京奇艺世纪科技有限公司 | 请求检测方法、装置、电子设备和计算机可读存储介质 |
CN112398843A (zh) * | 2020-11-09 | 2021-02-23 | 广州锦行网络科技有限公司 | 一种基于http走私攻击的检测方法及装置 |
CN115883254B (zh) * | 2023-01-28 | 2023-05-23 | 北京亿赛通科技发展有限责任公司 | 一种DoS攻击防御方法、装置、电子设备及存储介质 |
CN116055217A (zh) * | 2023-03-06 | 2023-05-02 | 广州启宁信息科技有限公司 | 基于sd-wan组网安全管理方法、系统、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005210601A (ja) * | 2004-01-26 | 2005-08-04 | Nippon Telegr & Teleph Corp <Ntt> | 不正侵入検知装置 |
CN101572701A (zh) * | 2009-02-10 | 2009-11-04 | 中科正阳信息安全技术有限公司 | 针对DNS服务的抗DDoS攻击安全网关系统 |
CN102137111A (zh) * | 2011-04-20 | 2011-07-27 | 北京蓝汛通信技术有限责任公司 | 一种防御cc攻击的方法、装置和内容分发网络服务器 |
-
2013
- 2013-07-22 CN CN201310306860.3A patent/CN104333529B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005210601A (ja) * | 2004-01-26 | 2005-08-04 | Nippon Telegr & Teleph Corp <Ntt> | 不正侵入検知装置 |
CN101572701A (zh) * | 2009-02-10 | 2009-11-04 | 中科正阳信息安全技术有限公司 | 针对DNS服务的抗DDoS攻击安全网关系统 |
CN102137111A (zh) * | 2011-04-20 | 2011-07-27 | 北京蓝汛通信技术有限责任公司 | 一种防御cc攻击的方法、装置和内容分发网络服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN104333529A (zh) | 2015-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104333529B (zh) | 一种云计算环境下http dos攻击的检测方法及系统 | |
CN104836702B (zh) | 一种大流量环境下主机网络异常行为检测及分类方法 | |
CN102801697B (zh) | 基于多url的恶意代码检测方法和系统 | |
Wang et al. | A fuzzy pattern-based filtering algorithm for botnet detection | |
US9350758B1 (en) | Distributed denial of service (DDoS) honeypots | |
Jin et al. | Hop-count filtering: an effective defense against spoofed DDoS traffic | |
CN102291390B (zh) | 一种基于云计算平台的防御拒绝服务攻击的方法 | |
CN104468624B (zh) | Sdn控制器、路由/交换设备及网络防御方法 | |
CN103297433B (zh) | 基于网络数据流的http僵尸网络检测方法及系统 | |
CN107645478B (zh) | 网络攻击防御系统、方法及装置 | |
Sanmorino et al. | DDoS attack detection method and mitigation using pattern of the flow | |
CN103746885A (zh) | 一种面向下一代防火墙的测试系统和测试方法 | |
CN105429953B (zh) | 一种用于访问网站的方法、装置和系统 | |
CN110995640B (zh) | 识别网络攻击的方法及蜜罐防护系统 | |
CN107733867B (zh) | 一种发现僵尸网络及防护的方法、系统和存储介质 | |
CN105763561A (zh) | 一种攻击防御方法和装置 | |
CN105812318B (zh) | 用于在网络中防止攻击的方法、控制器和系统 | |
CN107517200B (zh) | 一种Web服务器的恶意爬虫防御策略选择方法 | |
CN109714372A (zh) | 基于区块链的网络安全系统及处理方法 | |
US20160294848A1 (en) | Method for protection of automotive components in intravehicle communication system | |
CN104135474A (zh) | 基于主机出入度的网络异常行为检测方法 | |
CN108092940A (zh) | 一种dns的防护方法及相关设备 | |
CN110365712A (zh) | 一种分布式拒绝服务攻击的防御方法及系统 | |
Zheng et al. | {DynaShield}: Reducing the Cost of {DDoS} Defense using Cloud Services | |
CN108683654A (zh) | 一种基于零日攻击图的网络脆弱性评估方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |