一种基于云平台的大规模Web攻击检测方法和系统与流程

文档序号:16734696发布日期:2019-01-28 12:32阅读:167来源:国知局
一种基于云平台的大规模Web攻击检测方法和系统与流程

本发明涉及计算机网络安全技术领域,尤其涉及一种基于云平台的大规模web攻击检测方法和系统。



背景技术:

目前很多业务都依赖于互联网,例如网上银行、网络购物、网游等,很多恶意攻击者出于不良目的对web服务器进行攻击,想方设法通过各种手段获取他人的个人账户信息谋取利益。正是因为这样,web业务平台最容易遭受攻击。web攻击是指针对web应用服务的一种攻击手段,常见的有sql注入、缓冲区溢出、xss、csrf等,针对web服务器的漏洞进行攻击。

随着web2.0、社交网络、微博等等一系列新型的互联网产品的诞生,基于web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在web平台上,web业务的迅速发展也引起攻击者更大的兴趣,并采用拉网式的web漏洞扫描方式,来获取最大的攻击利益。当一种新的漏洞,即0day漏洞出现时,攻击者往往采用编写工具对internet进行采点扫描,以最大化发现存在漏洞的web服务器,实现攻击。因此,当前web的攻击正呈现工具化、规模化的趋势。

目前国内外关于防范web攻击的相关专利如下:

(1)sql注入web攻击的实时入侵检测系统(cn200810002168.0)

(2)一种web网站安全防御系统(cn201010110771.8)

(3)一种应用于应用层的web入侵防御方法及系统(cn201110117191.6)

(4)intrusiondetectionstrategiesforhypertexttransportprotocol(ep1774707a2)

(5)webserverintrusiondetectionmethodandapparatus(us20020143963a1)

(6)systemforreal-timeintrusiondetectionofsqlinjectionwebattacks(us20090049547a1)

这些专利的技术方案都或多或少存在一些不足,专利(1)、(6)主要是针对sql注入,属于防护特定型的攻击。而专利(2)、(3)、(4)、(5)的缺点在于只能基于现有的规则或list匹配,不能够应对现在快速变化的web攻击。

因此,本领域的技术人员致力于开发一种基于云平台的大规模web攻击检测方法和系统,以便能够检测出使用工具的大规模web漏洞攻击,发现潜在的0-day攻击,并生成攻击规则集。



技术实现要素:

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如何基于云平台进行协同分析以及时发现新型0day的大规模web攻击,如何面向可扩展的web服务器群提供web攻击防护。

为实现上述目的,本发明提供了一种基于云平台的大规模web攻击检测方法,包括以下步骤:

步骤1、针对web请求流量,执行请求审计算法,收集得到潜在攻击集;

步骤2、针对所述潜在攻击集执行协同分析算法,进行聚类分析,形成m个潜在攻击聚类;

步骤3、针对所述m个潜在攻击聚类执行攻击规则生成算法,得到最终的攻击规则集。

进一步地,所述步骤1中的请求审计算法包括以下步骤:

步骤101、针对所述web请求流量,取出web中的请求字符串;

步骤102、将所述请求字符串与黑名单规则进行匹配判断,若所述请求字符串在所述黑名单规则中,则审计判断结果为黑;若所述请求字符串不在所述黑名单规则中,则将所述请求字符串与一个宽泛的规则进行匹配判断,若所述请求字符串在所述宽泛的规则中,则所述审计判断结果为灰,若所述请求字符串不在所述宽泛的规则中,则所述审计判断结果为白;

步骤103、对于所述审计判断结果为白的所述请求字符串,直接放行通过;对于所述审计判断结果为黑的所述请求字符串,阻止访问;对于所述审计判断结果为灰的所述请求字符串,放行通过同时将所述请求字符串加入所述潜在攻击集。

进一步地,所述步骤2中的协同分析算法包括以下步骤:

步骤201、获取所述步骤1执行所述请求审计算法后得到的所述潜在攻击集;

步骤202、对所述潜在攻击集进行聚类分析,依据web攻击的特点,以攻击字符串的相似距离distance为聚类依据,并依照聚类结束标准进行协同分析后,形成m个潜在攻击聚类。

进一步地,所述步骤3中的攻击规则生成算法包括以下步骤:

步骤301、获取所述步骤2执行所述协同分析算法后得到的所述m个潜在攻击聚类;

步骤302、对所述m个潜在攻击聚类进行过滤,去除部分所述潜在攻击聚类;

步骤303、过滤后剩余的所述潜在聚类即为攻击串集合,生成正则表达式规则加入系统黑名单,得到最终的攻击规则集。

进一步地,所述步骤1中的所述web请求流量包括通过自建云平台实时获取的web流量,以及来自第三方的web流量集。

进一步地,所述宽泛的规则为除了大小写字母和阿拉伯数字以外的其他所有特殊字符集。

进一步地,所述聚类结束标准为所述相似距离distance低于特定值。

进一步地,所述步骤3中的过滤基于的是过滤因子α=n/m,其中,n为聚类中请求条数,m为请求的不同web服务器的数量;针对每个聚类,计算c_distance=distance*α,当c_distance值大于γ时,则去除此聚类,其中,distance被设置为根据试验选择的一个经验常数,取值区间为(0,1),γ被设置为一个用以区分攻击聚类和非攻击聚类的阀值。

本发明还提供了一种基于云平台的大规模web攻击检测系统,包括云平台、审计模块、协同分析模块和规则生成模块;所述云平台为所述审计模块、所述协同分析模块和所述规则生成模块提供web流量牵引服务;所述审计模块执行所述步骤1中的所述请求审计算法,得到所述潜在攻击集;所述协同分析模块针对所述潜在攻击集执行所述步骤2的所述协同分析算法,进行聚类分析,形成所述m个潜在攻击聚类;所述规则生成模块针对所述m个潜在攻击聚类执行所述步骤3的所述攻击规则生成算法,得到最终的攻击规则集。

进一步地,所述云平台基于nginx代理服务器。

与现有技术方案相比,本发明的有益技术效果在于,应用于研究机构、安全厂商和政府网络管理部门,能够检测出使用工具的大规模web漏洞攻击,发现潜在的0-day攻击,并且能够产生攻击规则集。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1是本发明的一个较佳实施例的系统整体结构图;

图2是本发明的一个较佳实施例采用基于聚类分析的web应用入侵协同检测系统的聚类分析效果示意图;

图3是本发明的一个较佳实施例采用acunetixwvs工具对测试网站攻击的聚类结果图;

图4是本发明的一个较佳实施例的正常聚类结果图。

具体实施方式

以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。

本发明提供了一种基于云平台的大规模web攻击检测方法,包括以下步骤:

步骤1、针对web请求流量,执行请求审计算法,收集得到潜在攻击集;

步骤2、针对所述潜在攻击集执行协同分析算法,进行聚类分析,形成m个潜在攻击聚类;

步骤3、针对所述m个潜在攻击聚类执行攻击规则生成算法,得到最终的攻击规则集。

进一步地,所述步骤1中的请求审计算法包括以下步骤:

步骤101、针对所述web请求流量,取出web中的请求字符串;

步骤102、将所述请求字符串与黑名单规则进行匹配判断,若所述请求字符串在所述黑名单规则中,则审计判断结果为黑;若所述请求字符串不在所述黑名单规则中,则将所述请求字符串与一个宽泛的规则进行匹配判断,若所述请求字符串在所述宽泛的规则中,则所述审计判断结果为灰,若所述请求字符串不在所述宽泛的规则中,则所述审计判断结果为白;

步骤103、对于所述审计判断结果为白的所述请求字符串,直接放行通过;对于所述审计判断结果为黑的所述请求字符串,阻止访问;对于所述审计判断结果为灰的所述请求字符串,放行通过同时将所述请求字符串加入所述潜在攻击集。

进一步地,所述步骤2中的协同分析算法包括以下步骤:

步骤201、获取所述步骤1执行所述请求审计算法后得到的所述潜在攻击集;

步骤202、对所述潜在攻击集进行聚类分析,依据web攻击的特点,以攻击字符串的相似距离distance为聚类依据,并依照聚类结束标准进行协同分析后,形成m个潜在攻击聚类。

进一步地,所述步骤3中的攻击规则生成算法包括以下步骤:

步骤301、获取所述步骤2执行所述协同分析算法后得到的所述m个潜在攻击聚类;

步骤302、对所述m个潜在攻击聚类进行过滤,去除部分所述潜在攻击聚类;

步骤303、过滤后剩余的所述潜在聚类即为攻击串集合,生成正则表达式规则加入系统黑名单,得到最终的攻击规则集。

进一步地,所述步骤1中的所述web请求流量包括通过自建云平台实时获取的web流量,以及来自第三方的web流量集。

进一步地,所述宽泛的规则为除了大小写字母和阿拉伯数字以外的其他所有特殊字符集。

进一步地,所述聚类结束标准为所述相似距离distance低于特定值。

进一步地,所述步骤3中的过滤基于的是过滤因子α=n/m,其中,n为聚类中请求条数,m为请求的不同web服务器的数量;针对每个聚类,计算c_distance=distance*α,当c_distance值大于γ时,则去除此聚类,其中,distance被设置为根据试验选择的一个经验常数,取值区间为(0,1),γ被设置为一个用以区分攻击聚类和非攻击聚类的阀值。

本发明还提供了一种基于云平台的大规模web攻击检测系统,包括云平台、审计模块、协同分析模块和规则生成模块;所述云平台为所述审计模块、所述协同分析模块和所述规则生成模块提供web流量牵引服务;所述审计模块执行所述步骤1中的所述请求审计算法,得到所述潜在攻击集;所述协同分析模块针对所述潜在攻击集执行所述步骤2的所述协同分析算法,进行聚类分析,形成所述m个潜在攻击聚类;所述规则生成模块针对所述m个潜在攻击聚类执行所述步骤3的所述攻击规则生成算法,得到最终的攻击规则集。

进一步地,所述云平台基于nginx代理服务器。

如图1所示,是本发明中基于云平台的web攻击检测方法和系统的实施例的整体结构示意图。

系统整体结构包括云平台、请求审计模块、协同分析模块和规则生成模块。

云平台为审计模块、协同分析模块和规则生成模块提供web流量牵引服务。

审计模块执行请求审计算法,得到潜在攻击集;

协同分析模块针对潜在攻击集执行协同分析算法,进行聚类分析,形成m个潜在攻击聚类;

规则生成模块针对m个潜在攻击聚类执行所攻击规则生成算法,得到最终的攻击规则集。

本发明针对大规模的web攻击。当一个新的web漏洞被发现,攻击者将尝试向一大群web服务器进行扫描攻击尝试。如发现一个新的web框架的0day,就会尝试发现哪些web服务器具有这种漏洞,并进行攻击。采用工具进行大规模的扫描攻击是很常见的web攻击方式。

本发明的目标在于针对这种大规模攻击,主要在于针对这种使用工具的web攻击,发现其攻击模式,并且不限于具体的攻击类别,如sql、injection、csrf、xss等。

对于一个web请求,以get为例(post也类似,只不过记录的是post的data字符串)。请求示例如下:

对于http://domain/path/x.php?arg1=str1&arg2=str2,本发明的技术方案将记录:

<srcip,domainstr=http://domain/path/x.php?,str1>

<srcip,domainstr=http://domain/path/x.php?,str2>

当通过请求审计进入灰名单的攻击数据集时,本发明的技术方案将得到一系列的数据集,如下:

<srcip1,domainstr1,str11>

<srcip1,domainstr1,str12>

<srcip2,domainstr2,str21>

<srcip2,domainstr2,str22>

……

值得一提的是,进入的攻击数据集是通过了宽泛的规则审计的,因此str包含了一些异常的字符,这在一定程度上防止了正常网站的请求进入攻击数据集。

如图2所示,是基于聚类分析的web应用入侵协同检测系统的聚类分析效果示意图。根据字符串距离聚类分组内str间的相似性,对每一个srcip进行分组。

图中的左侧标尺用于表示对象间的距离,图中的二叉树中的每个非叶子节点对应左边标尺上的一个值,这个值就是该非叶子节点以下的所有叶子节点上的对象的平均距离。根据试验选择一个经验常数distance,取值区间为(0,1),经验常数distance可以通过模拟攻击实验和本发明检测系统的响应结果调整为最优值。经验常数distance由图2中的虚线表示,通过虚线的截取可以获得进行聚类后所有平均距离小于distance的分类,得到相似的可疑行为对象组:对象a、对象c、对象f和对象b是一个相似的可疑行为对象组;对象d和对象h是一个相似的可疑行为对象组;对象d、对象i和对象g是一个相似的可疑行为对象组。

进一步需要过滤掉正常网站请求得到的聚类。尽管网站的请求审计要求通过宽松规则才能进入攻击数据集,但仍然可能存在一些正常网站请求串符合宽松规则。考虑到基于正常网站请求通常是很多人,而攻击是少数的这个普遍现象,设计过滤因子。聚类后,针对一个相似字符串聚类是否是一个攻击的依据是:c_distance<γ,其中,c_distance=distance*α,其中,distance被设置为根据试验选择的一个经验常数,取值区间为(0,1),依据模拟攻击实验和检测系统的响应结果将经验常数distance调整为最优值;γ被设置为一个用以区分攻击聚类和非攻击聚类的阀值,α=n/m为过滤因子,其中,n为聚类中请求条数,m为请求的不同web服务器的数量。它的合理性在于:将正常的请求排除,就是异常的。聚类中正常网站请求n值倾向很大,而m=1,从而n/m很大;而攻击类中,网站不重复请求,因此n/m倾向为1。在实际中,要考虑有重复攻击的可能,n/m也可能为大于1的一个小值。因此,n/m可以高概率区分开正常和攻击请求。

如图3所示,是采用acunetixwvs工具对测试网站攻击的聚类结果图。

聚类出来的相似距离为0,但是面向4个不同的domainstr,从而n/m接近1。因此,这属于一类攻击。

如图4所示,是正常聚类结果图。

聚类出来的特点是一个domainstr下有很多个访问,尽管请求相同(相似距离为0),但n/m远大于1。因此,这属于正常访问。

本发明的技术方案中的web流量来源于两个获取途径,一是通过自建平台来实时获取,二是使用来自第三方的web流量集。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1