网络攻击检测方法及其装置制造方法

文档序号:8001236阅读:226来源:国知局
网络攻击检测方法及其装置制造方法
【专利摘要】本申请公开一种网络攻击检测方法及其装置,其中本申请实施例的网络攻击检测方法包括:获取访问网站服务器的访问请求信息;统计预设时间段内的访问请求信息;根据预设时间段内的访问请求信息计算IP地址的相关访问信息,若所述IP地址对应的相关访问信息小于预设值,则判定该IP地址为攻击IP地址。本申请不需安全运维人员过多干预,且和业务完全解耦,实现对HTTP-Flood攻击的精确检测。
【专利说明】网络攻击检测方法及其装置

【技术领域】
[0001] 本申请涉及网络安全【技术领域】,尤其涉及一种网络攻击检测方法及其装置。

【背景技术】
[0002] 网络安全的基本属性主要表现为机密性、完整性、合法性和可用性,而攻击者就是 通过一切可能的方法和手段来破坏这些属性。分布式拒绝服务攻击(Distributed Denial of Service,简称为DDoS)的目的就是破坏网络的可用性。在互联网业务中,Web服务已经 占有相当大的比例,越来越多的人通过Web提供的服务来获取和发布信息,所以Web安全 也是当今网络安全的研究热点。超文本传输协议(Hypertext Transfer Protocol,简称为 HTTP)作为Web应用的关键协议,经常被黑客利用来实施DDoS攻击,并且非常难以检测和防 御。
[0003] HTTP-Flood攻击(基于HTTP协议的DDoS攻击)的主要目标是Web服务器的网页。 攻击发生时,攻击者利用工具伪造或劫持浏览器向特定的网站(统一资源定位符,Uniform Resource Locator,简称为URL)发送大量的HTTP请求,使服务器忙于向攻击者提供资源而 无法响应其他合法用户的服务请求,进而使网站达到处理瓶颈,从而达到网站拒绝服务的 目的。
[0004] 一般来说,HTTP-Flood攻击具有以下几个特点:
[0005] 1、发起攻击比较容易,成本较低,简单的几行脚本就能对一个网站发起一个攻击。
[0006] 2、难以检测,因为HTTP属于标准开放协议,协议格式简单,容易伪造,攻击时发起 的HTTP请求可以伪造成和正常用户的请求一模一样,Web Server无法进行区分。
[0007] 3、对网站危害较大,一旦网站遭受HTTP-Flood攻击,小则影响用户体验(网站访 问速度变慢),大则可能导致网站瘫痪,无法对外提供服务,对于按流量收费的托管网站,可 能需要付出高额的费用。
[0008] 以上的这些攻击特点,使得各个网站对防护HTTP-Flood攻击成为头等安全事件, 现有技术中的HTTP-Flood防护方案都是从网站提供的服务来考虑,进行访问频率的检测 或控制。当某个IP地址的访问在一定时间内超过某个次数,就认为是HTTP-Flood攻击,还 有些方案更精细化一些,将频率的统计限制在某些指定的URL上或者指定的Cookie值上。 [0009] 但是,基于访问频率的防护技术方案存在着如下的缺陷:
[0010] 1、和业务高度耦合,需要指定特定的URL或者Cookie才能进行统计,对于业务量 (URL数量)比较大的网站,不太容易部署和运维。
[0011] 2、访问频率的阈值难以设定,不同的URL承载的业务不同,访问量也不同,且给网 站服务器造成的压力也不同,所以不同的URL的访问阈值很难统一设定,并且正常情况下 的访问频率和攻击发生时的访问频率很难有一个清晰的阈值来进行设定。
[0012] 3、单纯的IP地址访问频率统计,对于共享IP出口的NAT (Network Address Translation,网络地址转换)用户和独立的IP地址用户,很容易导致NAT用户被误杀。
[0013] 4、无法检测分布式的HTTP-Flood攻击,因为单个攻击IP地址(肉鸡)的访问频率 都不高,无法达到攻击的频率阈值,但几十万个IP地址(肉鸡)同时发起请求的,也会导致网 站拒绝服务。
[0014] 各大网站迫切需要有更先进的HTTP-Flood检测方法来规避以上这些缺陷,真正 的能够精确的检测出HTTP-Flood攻击。
[0015] 综上所述,现有技术中亟待一种HTTP-Flood攻击检测技术方案能够精确而有效 地检测对网站的HTTP-Flood攻击。


【发明内容】

[0016] 本申请的主要目的在于提供一种网络攻击检测方法及其装置,以解决现有技术存 在的缺少精确而有效地检测对网站的HTTP-Flood攻击的技术问题,其中:
[0017] 本申请实施例提供的一种网络攻击检测方法包括:获取访问网站服务器的访问请 求信息;统计预设时间段内的访问请求信息;根据预设时间段内的访问请求信息计算IP地 址的相关访问信息,若所述IP地址对应的相关访问信息小于预设值,则判定该IP地址为攻 击IP地址。
[0018] 本申请实施例提供的一种网络攻击检测方法包括:获取访问网站服务器的访问请 求信息,所述访问请求信息包括访问者的以下信息:IP地址和访问时间;统计预设时间段 内的访问请求信息;根据预设时间段内的访问请求信息计算IP地址的访问平均时间间隔 及其离散度,若所述IP地址的访问平均时间间隔的离散度与访问平均时间间隔的比值小 于预设值,则判定该IP地址为攻击IP地址。
[0019] 本申请实施例提供的一种网络攻击检测方法包括:获取访问网站服务器的访问请 求信息,所述访问请求信息包括访问者的以下信息:IP地址、访问时间和用户代理字段值; 统计预设时间段内的访问请求信息;根据预设时间段内的访问请求信息计算IP地址的访 问频率和与该IP地址关联的用户代理字段值的信息熵,如果所述IP地址的访问频率大于 第一阈值并且用户代理字段值的信息熵小于第二阈值,则判定该IP为攻击IP地址。
[0020] 本申请实施例提供的一种网络攻击检测装置包括:获取模块,用于获取访问网站 服务器的访问请求信息;统计模块,用于统计预设时间段内的访问请求信息;计算处理模 块,用于根据预设时间段内的访问请求信息计算IP地址的相关访问信息,若所述IP地址对 应的相关访问信息小于预设值,则判定该IP地址为攻击IP地址。
[0021] 本申请实施例提供的一种网络攻击检测装置包括:第一获取模块,用于获取访问 网站服务器的访问请求信息,所述访问请求信息包括访问者的以下信息:IP地址和访问时 间;第一统计模块,用于统计预设时间段内的访问请求信息;第一计算处理模块,用于根据 预设时间段内的访问请求信息计算IP地址的访问平均时间间隔及其离散度,若所述IP地 址的访问平均时间间隔的离散度与访问平均时间间隔的比值小于预设值,则判定该IP地 址为攻击IP地址。
[0022] 本申请实施例提供的一种网络攻击检测装置包括:第二获取模块,用于获取访问 网站服务器的访问请求信息,所述访问请求信息包括访问者的以下信息:IP地址、访问时 间和用户代理字段值;第二统计模块,用于统计预设时间段内的访问请求信息;第二计算 处理模块,用于根据预设时间段内的访问请求信息计算IP地址的访问频率和与该IP地址 关联的用户代理字段值的信息熵,如果所述IP地址的访问频率大于第一阈值并且用户代 理字段值的信息熵小于第二阈值,则判定该IP为攻击IP地址。
[0023] 根据本申请的技术方案,通过统计预设时间段内的访问请求信息,根据预设时间 段内的访问请求信息计算IP地址的相关访问信息,从而判断攻击IP地址。本申请不需安 全运维人员过多干预,且和业务完全解稱,实现对HTTP-Flood攻击的精确检测。

【专利附图】

【附图说明】
[0024] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申 请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0025] 图1至图6是本申请实施例的网络攻击检测方法的流程图;
[0026] 图7是本申请实施例的信息表的结构示意图;
[0027] 图8至图10是本申请实施例的网络攻击检测装置的结构框图。

【具体实施方式】
[0028] 本申请的主要思想在于,通过统计预设时间段内的访问请求信息,根据预设时间 段内的访问请求信息计算IP地址的相关访问信息,从而判断攻击IP地址。本申请不需安 全运维人员过多干预,且和业务完全解稱,实现对HTTP-Flood攻击的精确检测。
[0029] 为使本申请的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本 申请作进一步地详细说明。
[0030] 根据本申请的实施例,提供了一种网络攻击检测方法,用于检测对于网站的 HTTP-Flood 攻击。
[0031] 图1是根据本申请实施例的网络攻击检测方法的流程图,如图1所示,该方法至少 包括(步骤S102-S104):
[0032] 步骤S102,获取访问网站服务器的访问请求信息。
[0033] 对于网站服务器的访问请求包括对网站各个URL的HTTP请求,而访问者的IP地 址的获取的方式可以通过各种Web Server来提供或者通过镜像请求流量获取,本申请对此 不进行限制。
[0034] 步骤S104,统计预设时间段内的访问请求信息;
[0035] 步骤S106,根据预设时间段内的访问请求信息计算IP地址的相关访问信息,若所 述IP地址对应的相关访问信息小于预设值,则判定该IP地址为攻击IP地址。
[0036] 在本申请实施例中,可以通过多种方法计算IP地址的相关访问信息,下面分别进 行描述。
[0037] 在本申请的一个实施例中,所述访问请求信息包括访问者的以下信息:IP地址和 访问时间;相关访问信息包括:访问平均时间间隔及其离散度。参考图2,是本申请一个实 施例的网络攻击检测方法的流程图,如图2所示,该方法包括:
[0038] 步骤S202,获取访问网站服务器的访问请求信息,访问请求信息包括访问者的以 下信息:IP地址和访问时间。
[0039] 步骤S204,统计预设时间段内的访问请求信息;
[0040] 步骤S206,根据预设时间段内的访问请求信息计算预定时间段内IP地址的访问 平均时间间隔及其离散度,若IP地址的访问平均时间间隔的离散度与访问平均时间间隔 的比值小于预设值,则判定该IP地址为攻击IP地址。
[0041] 其中,上述的离散度可以采用标准差或方差,下面以离散度采用标准差为例描述 本申请。具体地,通过统计一段时间内的访问请求信息,就能够掌握该时间段内的用户访问 情况。设置计算访问者IP地址的访问平均时间间隔和标准差的时间段,当设置的时间到达 时,根据统计的访问请求信息,计算IP地址的访问平均时间间隔和标准差,并根据访问平 均时间间隔和标准差判断是否存在攻击行为。根据本申请实施例,通过计算IP地址的访问 平均时间间隔的标准差与访问平均时间间隔的比值,当该比值小于预设的阈值则判断该IP 地址为攻击IP地址,将该IP地址记录到攻击IP列表中。
[0042] 本申请在大量的实验和研究后证明,一个正常用户访问某网站时,由于网站的每 个URL承载的信息量或内容不同,用户停留在单个URL的时间是不固定的,也就是说相邻 两次访问网站的时间间隔是有一定波动的。而HTTP-Flood攻击,由于是工具脚本或恶意 程序自动发起请求,所以相邻两次请求之间的时间间隔基本是一个常数。基于上述分析,用 户正常请求和攻击请求的时间分布特征存在较大的差异性。进一步地,单一 IP地址进行 HTTP-Flood攻击时,该IP地址的相邻两次请求的平均时间间隔很短(即单次请求停留在某 URL的平均时间比较短);并且该IP地址的所有访问时间间隔很接近,不会有大的波动,与 平均时间间隔的差值(也就是标准差)非常小。因此,本申请根据IP地址访问网站的时间间 隔平均值和标准差来判断是否存在攻击行为。
[0043] 在依据时间间隔平均值和标准差来判断是否存在攻击行为时,可依据网站的实际 流量情况进行调整,如果被保护的网站流量较大,访问的用户比较多,也比较频繁,则相邻 两次访问的时间间隔波动幅度不会很大,并且时间间隔的平均值也比较小。在实际的应用 中,可根据访问平均时间间隔和标准差的比值来进行判断。
[0044] 下面详细说明本申请的计算公式。假设某用户的IP地址为192. 168. 1. 1,该用户 在某段时间内访问网站的时刻分别为A、'、…Tm,通过计算可得到相邻两次访问的时间间 隔为 mAn、···un-i。
[0045] 由此该IP地址的平均时间间隔为:
[0046] V=(K1+K2+K3+-+^)/111-1 公式(1)
[0047] 时间间隔的方差为:
[0048] 0=(^(111-1)^(1^^)-2+(1^^)-2+- + (1^)-2] 公式(2)
[0049] 由次可计算出标准差为:
[0050] A=D~0. 5 公式(3)
[0051] 通过上述公式就能够计算出标准差(A)与访问平均时间间隔(V)的比值。在本申 请的一个实施例中,当IP地址的访问平均时间间隔的标准差与访问平均时间间隔的比值 小于10%,则判定该IP地址为攻击IP地址。需要说明的是,上述判断的判断阈值不限于 10%,还可以是9%或8%等值,本申请不进行限定。
[0052] 举例来说,某一 IP地址访问平均时间间隔为100毫秒,标准差为1毫秒,则标准差 和平均时间间隔的比值为1%,根据正态分布的特征可得知,有约68%的请求停留在某页面 上的时间为99至101毫秒之间,约95%的请求停留在某页面上的时间为98-102毫秒之间, 说明该IP地址访问的时间间隔比较集中,则认定为该IP地址为攻击IP地址,从而根据确 定的攻击IP地址进行后续的防范处理。
[0053] 需要说明的是,在本申请的其他实施例中,还可以根据IP地址访问网站的时间间 隔平均值和方差来判断是否存在攻击行为。标准差与方差都用于表示数据的离散程度,在 数学上方差等于标准差的平方。因此,根据时间间隔平均值和方差判断是否存在攻击行为 与根据时间间隔平均值和标准差判断是否存在攻击行为,在原理上是相同的,区别的只是 需要重新确定判断的阈值,本申请不再赘述。
[0054] 在本申请的一个实施例中,通过建立的IP地址信息表(第一 IP地址信息表)统计 访问请求信息。首先需要建立一个IP地址信息表,该IP地址信息表可以存储在网站服务 器、网络攻击检测装置、内存、闪存等存储器中,本申请不进行限定。
[0055] IP地址信息表中记录有IP地址的访问请求信息,将该IP地址作为索引,并记录每 次访问的时间。具体地,在将访问请求信息记录至IP地址信息表中时,如果IP地址信息表 中不存在该IP地址,则在IP地址信息表中增加该IP地址,并记录该IP地址的访问时间; 如果IP地址信息表中存在该IP地址,则记录该IP地址的访问时间。在IP地址信息表中, 保存的访问时间可以包括:访问开始时间、访问结束时间、本次访问与上次访问的时间间隔 等时间信息。当达到统计时间点时,扫描IP地址信息表中上述时间信息,得出所需的时间 参数。
[0056] 下面参考图3详细描述本申请实施例。如图3所示,根据本申请实施例的网络攻 击检测方法包括:
[0057] 步骤S302,网站服务器接收到访问者的URL访问请求。
[0058] 步骤S304,记录访问者的访问请求信息,该访问请求信息包括但不限于:IP地址 和访问时间。
[0059] 步骤S306,将访问请求信息加入到预设的IP地址信息表中。
[0060] 步骤S308,预设统计时间到时扫描IP地址信息表,计算每个IP地址的访问时间间 隔的平均值和标准差。
[0061] 步骤S310,判断标准差与访问平均时间间隔的比值是否小于预设值,若是则判定 该IP地址为攻击IP地址,输出恶意IP地址列表;否则,判定该IP地址的请求为正常的请 求。
[0062] 另外,为了防止某个IP长期不访问而占据IP地址信息表,导致统计访问时间间隔 时出现噪声的情况出现,在实际应用中定期检测IP地址信息表中多个IP地址的最近访问 的时间点,如果IP地址最近访问的时间点早于预设的时间点,则在IP地址信息表中删除该 IP地址对应的访问请求信息。
[0063] 通过本申请的实施例,网站服务器接收到用户的访问请求,根据请求的IP地址 信息,记录每次请求发生的时间,并计算与同一 IP地址上次请求的时间间隔;每隔预定时 间(每分钟或每小时等),依次计算每个IP地址所有访问时间间隔的平均值和标准差,若标 准差和访问平均时间间隔的比值小于预设阈值,说明该IP地址访问很频繁,符合工具脚本 或恶意程序访问的特点,则判断该IP地址存在HTTP-Flood攻击行为。通过本申请的技术 方案,能够有效地规避基于阈值统计检测方案的缺陷,运维配置便利且与业务无关,不会对 NAT后的用户造成误杀(NAT后的每个用户的访问时间间隔不会保持在一个固定值),并且 能够检测出分布式HTTP-Flood攻击的所有IP地址。
[0064] 在本申请的一个实施例中,参考图4,是本申请一个实施例的网络攻击检测方法的 流程图,如图4所示,该方法包括:
[0065] 步骤S402,获取访问网站服务器的访问请求信息,所述访问请求信息包括访问者 的以下信息:IP地址、访问时间和用户代理字段值;
[0066] 步骤S402,统计预设时间段内的访问请求信息;
[0067] 步骤S406,根据预设时间段内的访问请求信息计算IP地址的访问频率和与该IP 地址关联的用户代理字段值的信息熵,如果IP地址的访问频率大于第一阈值并且用户代 理字段值的信息熵小于第二阈值,则判定该IP为攻击IP地址。
[0068] 用户代理字段(User-Agent)是浏览器发送HTTP请求时所携带的头字段,表示发 出请求的浏览器(或其他应用程序)的信息,其组成内容包括应用程序名及版本号、核心引 擎名称及版本、运行平台(操作系统)名称及版本等等。不同用户的上网环境,由于其操作系 统类型、操作系统版本、补丁版本、浏览器类型、浏览器版本等不相同,所以,其User-Agent 值也不可能相同。
[0069] 而攻击工具由于是模拟发送HTTP请求,其核心功能是短时间内发送大量的合法 请求致使Web Server拒绝服务,所以,其尽量减少HTTP请求数据包的字节数,对于非必须 字段的HTTP头字段可能不会发送,即使发送,也可能是固定的一个值。
[0070] 基于以上的分析结果,本申请提出了以下的方法可提高HTTP-Flood的检测精度, 减少合法用户的误杀量。
[0071] 首先获取用户HTTP请求的信息,其中包括用户IP地址、访问时间、HTTP协议中 User-Agent字段,以IP地址为依据,分别记录这些信息;后续的访问,记录并更新这些信息 的访问次数;在某一指定的时间间隔,计算每个用户IP地址的访问次数,如果其访问次数 超过某个阈值,再计算该IP地址的所有User-Agent的信息熵值,如果信息熵值较小,贝lj可 认为该IP地址与某一 User-Agent有较强的关联关系,即该IP地址的请求可能来自于同一 个用户电脑环境,这可认为该IP地址存在恶意攻击行为,如果信息熵值较大,说明该IP地 址可能来自于不同的用户电脑环境,该IP地址可能是共享出口的IP地址,这些访问可认为 是合法访问。
[0072] 通过计算一段时间内的User-Agent的信息熵,可以分析出User-Agent的分散程 度。对于共用出口 IP地址的用户,虽然访问频率较高,但因为都是不同的用户进行访问,所 以其User-Agent也是分布不均的,计算出来的信息熵值较大;而对于攻击者来说,由于其 User-Agent是固定的(不携带User-Agent信息也是固定的一种类型),所以计算出来的信 息熵也是很小的。特殊情况下,如果某IP地址的所有访问中,只出现了一个User-Agent类 型,其信息熵为〇,则可认为该IP地址可能为独立IP地址。
[0073] 下面结合图5和图6描述本实施例。图5是统计预设时间段内的访问请求信息的 流程图,图6是根据访问请求信息判断攻击IP地址的流程图。
[0074] 参考图5,具体包括以下步骤:
[0075] 步骤S502,获取HTTP请求;
[0076] 步骤S504,提取出HTTP请求中的用户IP地址、Agent-User值、访问时间等信息;
[0077] 步骤S506,判断信息表(第二IP地址信息表)中是否存在该IP地址的记录,若存 在则执行步骤S510,若不存在则执行步骤S508 ;
[0078] 步骤S508,在信息表中增加用户IP地址、User-Agent字段值、访问时间三维数据 信息表中,并将计数初始化为1;
[0079] 步骤S510,判断信息表中是否存在该User-Agent的记录,若存在则执行步骤 S512,若不存在则执行步骤S514 ;
[0080] 步骤S512,在信息表中增加该User-Agent值到信息表中,并将计数初始化为1 ;
[0081] 步骤S514,在信息表中更新该User-Agent的计数加1。
[0082] 参考图6,具体包括以下步骤:
[0083] 步骤S602,提取信息表(第二IP地址信息表)中一个IP地址的记录;
[0084] 步骤S604,计算该IP地址的访问频率;
[0085] 步骤S606,提取该IP地址关联的一个User-agent记录;
[0086] 步骤S608,计算该User-Agent的访问次数;
[0087] 步骤S610,计算该User-Agent的信息熵;
[0088] 步骤S612,判断信息表中是否还有未提取的User-Agent记录,若是则继续执行步 骤S606,否则执行步骤S614 ;
[0089] 步骤S614,计算该IP地址的User-Agent的信息熵;
[0090] 步骤S616,判断信息表中是否还有未提取的IP地址记录,若是则继续执行步骤 S602,否则执行步骤S618 ;
[0091] 步骤S618,判断IP地址的访问频率、User-Agent信息熵是否满足预定阈值,即判 断IP地址的访问频率是否大于第一阈值且User-Agent信息熵是否小于第二阈值,若是则 判断该IP地址为恶意攻击;否则判断该IP地址为合法用户访问地址。
[0092] 其中,上述的信息表(第二IP地址信息表)的结构请参考图7所示。当达到某一时 间值,遍历所有的信息表中的IP地址,计算出该IP地址的访问频率,并计算该IP地址相关 的User-Agent记录列表中的信息熵。如果IP地址访问频率大于某一预定阈值,并且信息 熵值小于某一预定的阈值,则可认为该IP地址存在攻击行为。在实际使用中,预定的阈值 可根据业务流量情况进行设定,本申请不进行限定。一般情况下,单个合法用户每秒的访问 次数不会超过5次,即可设定IP地址访问频率阈值为5 ;如果计算出来的信息熵的值小于 〇. 5,从信息熵的计算公式可知必定有某个User-Agent的访问次数占到了该IP地址访问总 次数的70%以上。
[0093] 具体地,信息熵的计算公式如下:
[0094] Η(Χ) = ^Σ' Ρ(Χ,)\
[0095] 其中,i表示某个IP地址关联的User-Agent的数量,P(Xi)表示第i个User-Agent 的出现的次数和对应的IP地址总访问次数的比值。
[0096] 为了更清晰的说明User-Agent的信息熵的计算方法,下面举例说明:
[0097] 假设IP地址为1.2. 3. 4的用户在1分钟的访问次数为1000,与其关联的 User-Agent有5个,其出现的次数分别为{10,20,960,2,8},则该IP地址的访问频率 为:1000/60=16. 7,每个 User-Agent 出现的比率为{p (1) =10/1000, p (2) =20/1000, p ( 3) =960/1000, p (4) =2/1000, p (5) =8/1000},则其信息熵计算为:-p (1) log2p (1) -p (2) log2p (2) -p (3) log2p (3) -p (4) log2p (4) -p (5) log2p (5) =0· 3。如果某应用设置的 IP 地址的 访问阈值为5, User-Agent的信息熵阈值为0. 5,则上面举例中的IP地址则既可判断为具 有恶意访问行为的IP地址。
[0098] 通过本申请的实施例,从IP地址访问频率和User-Agent的分布情况来检测 HTTP-Flood攻击,能够有效的区分出正常用户和恶意的请求。
[0099] 根据本申请的实施例,还提供了一种网络攻击检测装置,用于检测对于网站的 HTTP-Flood攻击。参考图8,该网络攻击检测装置至少包括:获取模块802、统计模块804和 计算处理模块806,下面详细描述上述各模块的结构和功能。
[0100] 获取模块802,用于获取访问网站服务器的访问请求信息;
[0101] 统计模块804,用于统计预设时间段内的访问请求信息;
[0102] 计算处理模块806,用于根据预设时间段内的访问请求信息计算IP地址的相关访 问信息,若所述IP地址对应的相关访问信息小于预设值,则判定该IP地址为攻击IP地址。
[0103] 参考图9,是本申请一个实施例的网络攻击检测装置的结构框图,包括:第一获取 模块902、第一统计模块904、第一计算处理模块906、第一 IP地址信息表建立模块908和 IP地址信息表维护模块910,下面详细描述上述各模块的结构和功能。
[0104] 第一获取模块902,用于获取访问网站服务器的访问请求信息,所述访问请求信息 包括访问者的以下信息:IP地址和访问时间;
[0105] 第一统计模块904,用于统计预设时间段内的访问请求信息;
[0106] 第一计算处理模块906,用于根据预设时间段内的访问请求信息计算IP地址的访 问平均时间间隔及其离散度,若所述IP地址的访问平均时间间隔的离散度与访问平均时 间间隔的比值小于预设值,则判定该IP地址为攻击IP地址。
[0107] 其中,上述的离散度可以采用标准差或方差,下面以离散度采用标准差为例进行 说明。若第一计算处理模块906计算IP地址的访问平均时间间隔的标准差与访问平均时 间间隔的比值小于10%,则判定该IP地址为攻击IP地址。
[0108] 具体地,第一计算处理模块906通过以下公式计算IP地址的访问平均时间间隔和 标准差:
[0109] 访问平均时间间隔为;
[0110] 时间间隔的方差:D=(lAm-l)) [(1^^)-2+(1^)-2+…+ (Tm-V)~2];
[0111] 标准差为:A=D~0. 5 ;
[0112] 其中,?\、Τ2、为访问网站的时间点JeWKfW为相邻 两次访问的时间间隔。
[0113] 第一 IP地址信息表建立模块908,用于建立IP地址信息表。
[0114] 基于此,第一统计模块904将获取模块902获取的访问请求信息记录至IP地址信 息表中,若IP地址信息表中不存在该IP地址,则在IP地址信息表中增加该IP地址,并记录 该IP地址的访问时间;若IP地址信息表中存在该IP地址,则记录该IP地址的访问时间。 第一计算处理模块906定时访问IP地址信息表,根据IP地址信息表中记录的访问请求信 息计算IP地址的访问平均时间间隔和标准差。
[0115] IP地址信息表维护模块910,用于定期检测所述第一 IP地址信息表中的IP地址 最近访问的时间点,如果IP地址最近访问的时间点早于预设时间点,则在所述第一 IP地址 信息表中删除该IP地址对应的访问请求信息。
[0116] 参考图10,是本申请一个实施例的网络攻击检测装置的结构框图,包括:第二获 取模块1002、第二统计模块1004、第二计算处理模块1006和第二IP地址信息表建立模块 1008,下面详细描述上述各模块的结构和功能。
[0117] 第二获取模块1002,用于获取访问网站服务器的访问请求信息,所述访问请求信 息包括访问者的以下信息:IP地址、访问时间和用户代理字段;
[0118] 第二统计模块1004,用于统计预设时间段内的访问请求信息;
[0119] 第二计算处理模块1006,其用于根据预设时间段内的访问请求信息计算IP地址 的访问频率和与该IP地址关联的用户代理字段值的信息熵,如果所述IP地址的访问频率 大于第一阈值并且用户代理字段值的信息熵小于第二阈值,则判定该IP为攻击IP地址。
[0120] 第二IP地址信息表建立模块1008,用于建立第二IP地址信息表;
[0121] 基于此,第二统计模块1006将所述访问请求信息记录至所述第二IP地址信息表 中,若所述第二IP地址信息表中不存在该IP地址,则在所述第二IP地址信息表中增加该 IP地址,置计数为1,并将用户代理字段值也添加到与该IP地址相关的用户代理字段值记 录列表中,并置计数为1 ;若所述第二IP地址信息表中存在该IP地址,则将该IP地址的计 数加1,并查找该IP地址相关的用户代理字段值记录列表中是否存在相同的用户代理字段 值,如果存在,则将对应的用户代理字段值的计数加1,否则,将该用户代理字段值添加到该 IP对应的用户代理字段值列表中,并置计数为1。
[0122] 参考图10,所述第二计算处理模块1006包括:
[0123] 计算模块10062,用于预设时间到达时遍历所述IP地址信息表中的IP地址,分别 计算IP地址的访问频率,并计算该IP地址相关的用户代理字段值记录列表中的信息熵;
[0124] 处理模块10064,用于如果所述IP地址的访问频率大于第一阈值并且用户代理字 段值的信息熵小于第二阈值,则判定该IP为攻击IP地址。
[0125] 本申请的方法的操作步骤与装置的结构特征对应,可以相互参照,不再一一赘述。
[0126] 综上所述,根据本申请的技术方案,通过统计预设时间段内的访问请求信息,根据 预设时间段内的访问请求信息计算IP地址的相关访问信息,从而判断攻击IP地址。本申 请不需安全运维人员过多干预,且和业务完全解耦,实现对HTTP-Flood攻击的精确检测。
[0127] 以上所述仅为本申请的实施例而已,并不用于限制本申请,对于本领域的技术人 员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、 等同替换、改进等,均应包含在本申请的权利要求范围之内。
【权利要求】
1. 一种网络攻击检测方法,用于检测对于网站的HTTP-Flood攻击,其特征在于,所述 方法包括: 获取访问网站服务器的访问请求信息; 统计预设时间段内的访问请求信息; 根据预设时间段内的访问请求信息计算IP地址的相关访问信息,若所述IP地址对应 的相关访问信息小于预设值,则判定该IP地址为攻击IP地址。
2. 根据权利要求1所述的方法,其特征在于,所述访问请求信息包括访问者的以下信 息:IP地址和访问时间; 所述根据预设时间段内的访问请求信息计算IP地址的相关访问信息,若所述IP地址 对应的相关访问信息小于预设值,则判定该IP地址为攻击IP地址的步骤包括:根据预设时 间段内的访问请求信息计算IP地址的访问平均时间间隔及其离散度,若所述IP地址的访 问平均时间间隔的离散度与访问平均时间间隔的比值小于预设值,则判定该IP地址为攻 击IP地址。
3. 根据权利要求2所述的方法,其特征在于,所述离散度为标准差或方差;在所述离散 度采用标准差的情况下,若所述IP地址的访问平均时间间隔的标准差与访问平均时间间 隔的比值小于10%,则判定该IP地址为攻击IP地址。
4. 根据权利要求3所述的方法,其特征在于,通过以下公式计算IP地址的访问平均时 间间隔及其标准差: 访问平均时间间隔:/m-1,标准差:A=D~0. 5 ; 其中,D 为时间间隔的方差,D=(lAm-l)) [(1^^)-2+(1^^)-2+- + (1^)-2] ;VT2、··· Tm为访问网站的时间点,m、K2=T3-T2、…h-l为相邻两次访问的时间间隔。
5. 根据权利要求2所述的方法,其特征在于,还包括:建立IP地址信息表; 所述统计预设时间段内的访问请求信息的步骤包括:将所述访问请求信息记录至所述 IP地址信息表中,若所述IP地址信息表中不存在该IP地址,则在所述IP地址信息表中增 加该IP地址,并记录该IP地址的访问时间;若所述IP地址信息表中存在该IP地址,则记 录该IP地址的访问时间。
6. 根据权利要求5所述的方法,其特征在于,还包括: 定期检测所述IP地址信息表中的IP地址最近访问的时间点,如果IP地址最近访问的 时间点早于预设时间点,则在所述IP地址信息表中删除该IP地址对应的访问请求信息。
7. 根据权利要求1所述的方法,其特征在于,所述访问请求信息包括访问者的以下信 息:IP地址、访问时间和用户代理字段值; 所述根据预设时间段内的访问请求信息计算IP地址的相关访问信息,若所述IP地址 对应的相关访问信息小于预设值,则判定该IP地址为攻击IP地址的步骤包括:根据预设时 间段内的访问请求信息计算IP地址的访问频率和与该IP地址关联的用户代理字段值的信 息熵,如果所述IP地址的访问频率大于第一阈值并且用户代理字段值的信息熵小于第二 阈值,则判定该IP为攻击IP地址。
8. 根据权利要求7所述的方法,其特征在于,还包括:建立IP地址信息表; 所述统计预设时间段内的访问请求信息的步骤包括: 将所述访问请求信息记录至所述IP地址信息表中,若所述IP地址信息表中不存在该 IP地址,则在所述IP地址信息表中增加该IP地址,置计数为1,并将用户代理字段值也添 加到与该IP地址相关的用户代理字段值记录列表中,并置计数为1;若所述IP地址信息表 中存在该IP地址,则将该IP地址的计数加1,并查找该IP地址相关的用户代理字段值记录 列表中是否存在相同的用户代理字段值,如果存在,则将对应的用户代理字段值的计数加 1,否则,将该用户代理字段值添加到该IP对应的用户代理字段值列表中,并置计数为1。
9. 根据权利要求8所述的方法,其特征在于,所述根据预设时间段内的访问请求信息 计算IP地址的访问频率和与该IP地址关联的用户代理字段值的信息熵的步骤包括: 预设时间到达时遍历所述IP地址信息表中的IP地址,分别计算IP地址的访问频率, 并计算该IP地址相关的用户代理字段值记录列表中的信息熵。
10. -种网络攻击检测方法,用于检测对于网站的HTTP-Flood攻击,其特征在于,所述 方法包括: 获取访问网站服务器的访问请求信息,所述访问请求信息包括访问者的以下信息:IP 地址和访问时间; 统计预设时间段内的访问请求信息; 根据预设时间段内的访问请求信息计算IP地址的访问平均时间间隔及其离散度,若 所述IP地址的访问平均时间间隔的离散度与访问平均时间间隔的比值小于预设值,则判 定该IP地址为攻击IP地址。
11. 根据权利要求10所述的方法,其特征在于,所述离散度为标准差或方差;在所述离 散度采用标准差的情况下,若所述IP地址的访问平均时间间隔的标准差与访问平均时间 间隔的比值小于10%,则判定该IP地址为攻击IP地址。
12. 根据权利要求11所述的方法,其特征在于,通过以下公式计算IP地址的访问平均 时间间隔及其标准差: 访问平均时间间隔:/m-1,标准差:A=D~0. 5 ; 其中,D 为时间间隔的方差,D=(lAm-l)) [(1^^)-2+(1^^)-2+- + (1^)-2] ;VT2、··· Tm为访问网站的时间点,m、K2=T3-T2、…h-l为相邻两次访问的时间间隔。
13. 根据权利要求10所述的方法,其特征在于,还包括:建立IP地址信息表; 所述统计预设时间段内的访问请求信息的步骤包括:将所述访问请求信息记录至所述 IP地址信息表中,若所述IP地址信息表中不存在该IP地址,则在所述IP地址信息表中增 加该IP地址,并记录该IP地址的访问时间;若所述IP地址信息表中存在该IP地址,则记 录该IP地址的访问时间。
14. 根据权利要求13所述的方法,其特征在于,还包括: 定期检测所述IP地址信息表中的IP地址最近访问的时间点,如果IP地址最近访问的 时间点早于预设时间点,则在所述IP地址信息表中删除该IP地址对应的访问请求信息。
15. -种网络攻击检测方法,用于检测对于网站的HTTP-Flood攻击,其特征在于,所述 方法包括: 获取访问网站服务器的访问请求信息,所述访问请求信息包括访问者的以下信息:IP 地址、访问时间和用户代理字段值; 统计预设时间段内的访问请求信息; 根据预设时间段内的访问请求信息计算IP地址的访问频率和与该IP地址关联的用户 代理字段值的信息熵,如果所述IP地址的访问频率大于第一阈值并且用户代理字段值的 信息熵小于第二阈值,则判定该IP为攻击IP地址。
16. 根据权利要求15所述的方法,其特征在于,还包括:建立IP地址信息表; 所述统计预设时间段内的访问请求信息的步骤包括: 将所述访问请求信息记录至所述IP地址信息表中,若所述IP地址信息表中不存在该 IP地址,则在所述IP地址信息表中增加该IP地址,置计数为1,并将用户代理字段值也添 加到与该IP地址相关的用户代理字段值记录列表中,并置计数为1;若所述IP地址信息表 中存在该IP地址,则将该IP地址的计数加1,并查找该IP地址相关的用户代理字段值记录 列表中是否存在相同的用户代理字段值,如果存在,则将对应的用户代理字段值的计数加 1,否则,将该用户代理字段值添加到该IP对应的用户代理字段值列表中,并置计数为1。
17. 根据权利要求16所述的方法,其特征在于,所述根据预设时间段内的访问请求信 息计算IP地址的访问频率和与该IP地址关联的用户代理字段值的信息熵的步骤包括: 预设时间到达时遍历所述IP地址信息表中的IP地址,分别计算IP地址的访问频率, 并计算该IP地址相关的用户代理字段值记录列表中的信息熵。
18. -种网络攻击检测装置,用于检测对于网站的HTTP-Flood攻击,其特征在于,所述 装置包括: 获取模块,用于获取访问网站服务器的访问请求信息; 统计模块,用于统计预设时间段内的访问请求信息; 计算处理模块,用于根据预设时间段内的访问请求信息计算IP地址的相关访问信息, 若所述IP地址对应的相关访问信息小于预设值,则判定该IP地址为攻击IP地址。
19. 根据权利要求18所述的装置,其特征在于,所述访问请求信息包括访问者的以下 信息:IP地址和访问时间; 所述计算处理模块包括第一计算处理模块,其用于根据预设时间段内的访问请求信息 计算IP地址的访问平均时间间隔及其离散度,若所述IP地址的访问平均时间间隔的离散 度与访问平均时间间隔的比值小于预设值,则判定该IP地址为攻击IP地址。
20. 根据权利要求19所述的装置,其特征在于,所述离散度为标准差或方差;在所述离 散度采用标准差的情况下,若所述第一计算处理模块计算所述IP地址的访问平均时间间 隔的标准差与访问平均时间间隔的比值小于10%,则判定该IP地址为攻击IP地址。
21. 根据权利要求20所述的装置,其特征在于,所述第一计算处理模块通过以下公式 计算IP地址的访问平均时间间隔及其标准差: 访问平均时间间隔:/m-1,标准差:A=D~0. 5 ; 其中,D 为时间间隔的方差,D=(lAm-l)) [(1^^)-2+(1^^)-2+- + (1^)-2] ;VT2、··· Tm为访问网站的时间点,m、K2=T3-T2、…h-l为相邻两次访问的时间间隔。
22. 根据权利要求19所述的装置,其特征在于,还包括: 第一 IP地址信息表建立模块,用于建立第一 IP地址信息表; 所述统计模块包括第一统计模块,其用于将所述第一获取模块获取的所述访问请求信 息记录至所述第一 IP地址信息表中,若所述第一 IP地址信息表中不存在该IP地址,则在 所述第一 IP地址信息表中增加该IP地址,并记录该IP地址的访问时间;若所述第一 IP地 址信息表中存在该IP地址,则记录该IP地址的访问时间。
23. 根据权利要求22所述的装置,其特征在于,还包括: IP地址信息表维护模块,用于定期检测所述第一 IP地址信息表中的IP地址最近访问 的时间点,如果IP地址最近访问的时间点早于预设时间点,则在所述第一 IP地址信息表中 删除该IP地址对应的访问请求信息。
24. 根据权利要求18所述的装置,其特征在于,所述访问请求信息包括访问者的以下 信息:IP地址、访问时间和用户代理字段值; 所述计算处理模块包括第二计算处理模块,其用于根据预设时间段内的访问请求信息 计算IP地址的访问频率和与该IP地址关联的用户代理字段值的信息熵,如果所述IP地址 的访问频率大于第一阈值并且用户代理字段值的信息熵小于第二阈值,则判定该IP为攻 击IP地址。
25. 根据权利要求24所述的装置,其特征在于,还包括: 第二IP地址信息表建立模块,用于建立第二IP地址信息表; 所述统计模块包括第二统计模块,其用于将所述访问请求信息记录至所述第二IP地 址信息表中,若所述第二IP地址信息表中不存在该IP地址,则在所述第二IP地址信息表 中增加该IP地址,置计数为1,并将用户代理字段值也添加到与该IP地址相关的用户代理 字段值记录列表中,并置计数为1 ;若所述第二IP地址信息表中存在该IP地址,则将该IP 地址的计数加1,并查找该IP地址相关的用户代理字段值记录列表中是否存在相同的用户 代理字段值,如果存在,则将对应的用户代理字段值的计数加1,否则,将该用户代理字段值 添加到该IP对应的用户代理字段值列表中,并置计数为1。
26. 根据权利要求25所述的装置,其特征在于,所述第二计算处理模块包括: 计算模块,用于预设时间到达时遍历所述IP地址信息表中的IP地址,分别计算IP地 址的访问频率,并计算该IP地址相关的用户代理字段值记录列表中的信息熵; 处理模块,用于如果所述IP地址的访问频率大于第一阈值并且用户代理字段值的信 息熵小于第二阈值,则判定该IP为攻击IP地址。
27. -种网络攻击检测装置,用于检测对于网站的HTTP-Flood攻击,其特征在于,所述 装置包括: 第一获取模块,用于获取访问网站服务器的访问请求信息,所述访问请求信息包括访 问者的以下信息:IP地址和访问时间; 第一统计模块,用于统计预设时间段内的访问请求信息; 第一计算处理模块,用于根据预设时间段内的访问请求信息计算IP地址的访问平均 时间间隔及其离散度,若所述IP地址的访问平均时间间隔的离散度与访问平均时间间隔 的比值小于预设值,则判定该IP地址为攻击IP地址。
28. 根据权利要求27所述的装置,其特征在于,所述离散度为标准差或方差;在所述离 散度采用标准差的情况下,若所述第一计算处理模块计算所述IP地址的访问平均时间间 隔的标准差与访问平均时间间隔的比值小于10%,则判定该IP地址为攻击IP地址。
29. 根据权利要求28所述的装置,其特征在于,所述第一计算处理模块通过以下公式 计算IP地址的访问平均时间间隔及其标准差: 访问平均时间间隔:/m-1,标准差:A=D~0. 5 ; 其中,D 为时间间隔的方差,D=(lAm-l)) [(1^^)-2+(1^^)-2+- + (1^)-2] ;VT2、… Tm为访问网站的时间点,m、κ2=τ3-τ2、…h-Tm为相邻两次访问的时间间隔。
30. 根据权利要求27所述的装置,其特征在于,还包括: 第一 IP地址信息表建立模块,用于建立IP地址信息表; 所述第一统计模块还用于,将所述第一获取模块获取的所述访问请求信息记录至所述 IP地址信息表中,若所述IP地址信息表中不存在该IP地址,则在所述IP地址信息表中增 加该IP地址,并记录该IP地址的访问时间;若所述IP地址信息表中存在该IP地址,则记 录该IP地址的访问时间。
31. 根据权利要求30所述的装置,其特征在于,还包括: IP地址信息表维护模块,用于定期检测所述IP地址信息表中的IP地址最近访问的时 间点,如果IP地址最近访问的时间点早于预设时间点,则在所述IP地址信息表中删除该IP 地址对应的访问请求信息。
32. -种网络攻击检测装置,用于检测对于网站的HTTP-Flood攻击,其特征在于,所述 装置包括: 第二获取模块,用于获取访问网站服务器的访问请求信息,所述访问请求信息包括访 问者的以下信息:IP地址、访问时间和用户代理字段值; 第二统计模块,用于统计预设时间段内的访问请求信息; 第二计算处理模块,用于根据预设时间段内的访问请求信息计算IP地址的访问频率 和与该IP地址关联的用户代理字段值的信息熵,如果所述IP地址的访问频率大于第一阈 值并且用户代理字段值的信息熵小于第二阈值,则判定该IP为攻击IP地址。
33. 根据权利要求32所述的装置,其特征在于,还包括: 第二IP地址信息表建立模块,用于建立IP地址信息表; 所述第二统计模块还用于,将所述访问请求信息记录至所述IP地址信息表中,若所述 IP地址信息表中不存在该IP地址,则在所述IP地址信息表中增加该IP地址,置计数为1, 并将用户代理字段值也添加到与该IP地址相关的用户代理字段值记录列表中,并置计数 为1 ;若所述IP地址信息表中存在该IP地址,则将该IP地址的计数加1,并查找该IP地址 相关的用户代理字段值记录列表中是否存在相同的用户代理字段值,如果存在,则将对应 的用户代理字段值的计数加1,否则,将该用户代理字段值添加到该IP对应的用户代理字 段值列表中,并置计数为1。
34. 根据权利要求33所述的装置,其特征在于,所述第二计算处理模块包括: 计算模块,用于预设时间到达时遍历所述IP地址信息表中的IP地址,分别计算IP地 址的访问频率,并计算该IP地址相关的用户代理字段值记录列表中的信息熵; 处理模块,用于如果所述IP地址的访问频率大于第一阈值并且用户代理字段值的信 息熵小于第二阈值,则判定该IP为攻击IP地址。
【文档编号】H04L29/06GK104113519SQ201310253500
【公开日】2014年10月22日 申请日期:2013年6月24日 优先权日:2013年4月16日
【发明者】张峰, 张玉东 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1