CN105227528A - 对Web服务器群的攻击的检测方法和装置 - Google Patents
对Web服务器群的攻击的检测方法和装置 Download PDFInfo
- Publication number
- CN105227528A CN105227528A CN201410298911.7A CN201410298911A CN105227528A CN 105227528 A CN105227528 A CN 105227528A CN 201410298911 A CN201410298911 A CN 201410298911A CN 105227528 A CN105227528 A CN 105227528A
- Authority
- CN
- China
- Prior art keywords
- attack
- request
- character string
- cluster
- web server
- 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.)
- Granted
Links
Abstract
本发明实施例公开了一种对Web服务器群的攻击的检测方法和装置,用于应对快速变化的Web攻击。本发明实施例方法包括:获取潜在攻击集合,该潜在攻击集合是根据在预置时段内向Web服务器群发送的Web请求的请求字符串确定的;对请求字符串聚类分析,并根据聚类分析的结果将该请求字符串划分到潜在攻击聚类中;计算潜在每个潜在攻击聚类的过滤因子,该过滤因子为潜在攻击聚类中请求字符串的数量与请求字符串对应的Web服务器的数量的比值;根据过滤因子是否存在攻击。本发明实施例能够应对快速变化的Web攻击。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种对Web服务器群的攻击的检测方法和装置。
背景技术
随着Web2.0、社交网络、微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上。
Web业务的迅速发展也引起了攻击者更大的兴趣,并采用拉网式的Web漏洞扫描方式,来获取最大的攻击利益。当一种新的漏洞出现时,攻击者往往采用编写工具对互联网进行采点扫描,以最大化发现存在漏洞的Web服务器并对其进行攻击。
然而,现有技术中常用的对Web攻击的防护方法一般是对某种特定类型的攻击的防护,例如针对结构化查询语言(StructuredQueryLanguage,SQL)注入的防护。这些防护方法都不能应对现在的快速变化的Web攻击。
发明内容
本发明实施例提供了一种对Web服务器群的攻击的检测方法和装置,用于应对现在的快速变化的Web攻击。
本发明实施例第一方面提供一种对Web服务器群的攻击的检测方法,包括:
获取潜在攻击集合,其中所述潜在攻击集合是根据在预置时间段内向所述Web服务器群发送的Web请求中的请求字符串确定的;
对所述潜在攻击集合中的请求字符串进行聚类分析,获取聚类分析的结果,并根据所述聚类分析的结果将所述潜在攻击集合中的请求字符串划分到潜在攻击聚类中,其中同一个潜在攻击聚类中的任意两个请求字符串之间的相似距离小于或者等于预置距离,且任意一个潜在攻击聚类中的任意一个请求字符串与其他任意一个潜在攻击聚类中的任意一个请求字符串之间的相似距离大于所述预置距离;
计算所述潜在攻击聚类的过滤因子,其中任意一个所述潜在攻击聚类的过滤因子为所述潜在攻击聚类中请求字符串的数量与所述潜在攻击集合中请求字符串所对应的Web服务器的数量的比值;
根据所述过滤因子确定是否存在攻击。
结合本发明实施例的第一方面,本发明实施例的第一方面的第一种实现方式中,所述根据所述过滤因子确定是否存在攻击具体包括:
当所述过滤因子小于或者等于预置数值时,确定存在攻击;
所述确定存在攻击之后,还包括:
将所述过滤因子对应的潜在攻击聚类确定为攻击聚类;
将所述攻击聚类加入到攻击集合。
结合本发明实施例的第一方面,本发明实施例的第一方面的第二种实现方式中,所述根据所述过滤因子确定是否存在攻击具体包括:
当所述过滤因子与所述预置距离的乘积小于或者等于预置数值时,确定存在攻击;
所述确定存在攻击之后,还包括:
将所述过滤因子对应的潜在攻击聚类确定为攻击聚类;
将所述攻击聚类加入到攻击集合。
结合本发明实施例的第一方面、或第一方面的第一种实现方式、或第一方面的第二种实现方式,本发明实施例的第一方面的第三种实现方式中,所述获取潜在攻击集合之前还包括:
获取请求集合,所述请求集合包括在所述预置时间段内对所述Web服务器群发送的所有Web请求中的请求字符串;
所述获取潜在攻击集合具体包括:
对所述请求集合中的请求字符串与预置第一规则进行匹配,获得匹配结果;
根据所述匹配结果,确定潜在攻击集合。
结合本发明实施例的第一方面的第三种实现方式,本发明实施例的第一方面的第四种实现方式中,所述对所述请求集合中的请求字符串与预置第一规则进行匹配之前还包括:
对所述请求集合中的请求字符串与预置黑名单规则进行匹配;
若所述请求集合中的请求字符串符合所述预置黑名单规则,则加入所述攻击集合;
所述对所述请求集合中的请求字符串与预置第一规则进行匹配具体包括:
对所述请求集合中不符合所述预置黑名单规则的请求字符串与预置第一规则进行匹配。
结合本发明实施例的第一方面的第四种实现方式,本发明实施例的第一方面的第五种实现方式中,所述方法还包括:
将所述攻击集合生成正则表达式规则;
将所述正则表达式规则添加到所述预置黑名单规则中。
本发明实施例第二方面提供一种对Web服务器群的攻击的检测装置,包括:
第一获取模块,用于获取潜在攻击集合,其中所述潜在攻击集合是根据在预置时间段内对所述Web服务器群发送的Web请求中的请求字符串确定的;
分析模块,用于对所述潜在攻击集合中的请求字符串进行聚类分析,获取聚类分析的结果,并根据所述聚类分析的结果将所述潜在攻击集合中的请求字符串划分到潜在攻击聚类中,其中同一个潜在攻击聚类中的任意两个请求字符串之间的相似距离小于或者等于预置距离,且任意一个潜在攻击聚类中的任意一个请求字符串与其他任意一个潜在攻击聚类中的任意一个请求字符串之间的相似距离大于预置距离;
计算模块,用于计算所述潜在攻击聚类的过滤因子,其中任意一个所述潜在攻击聚类的过滤因子为所述潜在攻击聚类中请求字符串的数量与所述潜在攻击集合中请求字符串所对应的Web服务器的数量的比值;
第一确定模块,用于根据所述过滤因子确定是否存在攻击。
结合本发明实施例的第二方面,本发明实施例的第二方面的第一种实现方式中,所述第一确定模块具体用于当所述过滤因子小于或者等于预置数值时,确定存在攻击;
所述对Web服务器群的攻击的检测装置还包括:
第二确定模块,用于将所述小于或者等于预置数值的过滤因子对应的潜在攻击聚类确定为攻击聚类;
添加模块,用于将所述攻击聚类加入到所述攻击集合。
结合本发明实施例的第二方面,本发明实施例的第二方面的第二种实现方式中,所述第一确定模块具体用于当所述过滤因子与所述预置距离的乘积小于或者等于预置数值时,确定存在攻击;
所述对Web服务器群的攻击的检测装置还包括:
第三确定模块,用于将所述过滤因子对应的潜在攻击聚类确定为攻击聚类;
添加模块,用于将所述攻击聚类加入到所述攻击集合。
结合本发明实施例的第二方面、或第二方面的第一种实现方式、或第二方面的第二种实现方式,本发明实施例的第二方面的第三种实现方式中,所述对Web服务器群的攻击的检测装置还包括:
第二获取模块,用于获取请求集合,所述请求集合包括在所述预置时间段内对所述Web服务器群发送的所有Web请求中的请求字符串;
所述第一获取模块具体包括:
匹配单元,用于对所述请求集合中的请求字符串与预置第一规则进行匹配,获得匹配结果;
确定单元,用于根据所述匹配结果,确定潜在攻击集合。
结合本发明实施例的第二方面的第三种实现方式,本发明实施例的第二方面的第四种实现方式中,所述对Web服务器群的攻击的检测装置还包括:
匹配模块,用于在所述匹配单元对所述请求集合中的请求字符串与预置第一规则进行匹配之前对所述请求集合中的请求字符串与预置黑名单规则进行匹配;
所述第一获取模块中的匹配单元具体用于对所述请求集合中不符合所述预置黑名单规则的请求字符串与预置第一规则进行匹配,获得匹配结果。
结合本发明实施例的第二方面的第四种实现方式,本发明实施例的第二方面的第五种实现方式中,所述对Web服务器群的攻击的检测装置还包括:
生成模块,用于将所述攻击集合生成正则表达式规则;
添加模块,用于将所述正则表达式规则添加到所述预置黑名单规则中。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,通过搜集在预置时间段内对Web服务器群发送的Web请求中的请求字符串来形成潜在攻击集合,并对该集合中的请求字符串进行聚类分析以形成不同的聚类,由于在使用工具对Web服务器群的大规模攻击中,攻击的请求密度一般会不加区分地分布到各Web服务器中,因此攻击聚类中请求字符串数量与Web服务器的数量的比值较小,而在正常聚类中,Web服务器数量较小且请求字符串数量较大,因此正常聚类中请求字符串数量与Web服务器的数量的比值与攻击聚类中请求字符串数量与Web服务器数量的比值有着明显的界限;这样,可通过过滤因子确定是否存在攻击;本实施例中,通过对使用工具对Web服务器群的大规模攻击与正常访问的共同区别特点来识别出攻击行为,而不是通过对某种特定类型的攻击做具体防护,即使攻击行为快速变化,但该共同区别特征并没有改变,因此本发明能够应对现在的快速变化的Web攻击。
附图说明
图1为本发明的对Web服务器群的攻击的检测方法的一个实施例的流程图;
图2为本发明的对Web服务器群的攻击的检测方法的另一个实施例的流程图;
图3为本发明的对Web服务器群的攻击的检测方法的另一个实施例的流程图;
图4为本发明的攻击的检测装置的一个实施例的结构示意图;
图5为本发明的攻击的检测装置的另一个实施例的结构示意图;
图6为本发明实施例中入侵检测系统的示意图;
图7为本发明实施例中入侵检测系统内部部分结构图。
具体实施方式
本发明实施例提供了一种对Web服务器群的攻击的检测方法和装置,用于应对现在的快速变化的Web攻击。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、系统、产品或设备固有的其它步骤或单元。
请参阅图1,本发明的一个实施例中对Web服务器群的攻击的检测方法包括:
101、获取潜在攻击集合;
用户通过浏览器访问网页时,浏览器会向Web服务器发出Web请求,然后Web服务器向发出Web请求的浏览器提供文档等资料。攻击者对Web服务器群发起的大规模攻击中,会使用工具同时向Web服务器群里的每一个Web服务器发出Web请求,以发现该Web服务器群里面存在漏洞的Web服务器。当然,实际运用中,对Web服务器群里各Web服务器发出的Web请求也可能不是同时发出,而是在预置时间段内全部发完。需注意的是,本发明中所指的Web服务器群包括至少两个Web服务器。
因此,本实施例中,要拦截对Web服务器群的攻击,可通过获取在预置时间段内对该Web服务器群发送的Web请求,并通过对该Web请求中的请求字符串进行分析来识别该Web请求是否Web攻击。因此,本实施例中的潜在攻击集合是根据在预置时间段内对该Web服务器群发送的Web请求中的请求字符串确定的。
本实施例中,具体的,该潜在攻击集合可以是根据在预置时间段内对该Web服务器群发送的全部Web请求中的请求字符串确定的,或者也可以是根据该全部Web请求中将确定为攻击的Web请求去掉之后剩余的Web请求的请求字符串确定的,或者也可以是根据该全部Web请求中将确定为安全的Web请求去掉之后剩余的Web请求的请求字符串确定的,或者还可以是根据该全部Web请求中将确定为攻击的以及确定为安全的Web请求去掉之后剩余的Web请求的请求字符串确定的。当然,上述对潜在攻击集合中的描述仅为举例说明,并不作限制。
一个Web请求一般由domain_prefix和request_string组成。本实施例中,该请求字符串指的是从request_string中提取出来的字符串。需注意的是,在一个Web请求中所提取出的请求字符串的数量不一定为1,也可以是大于或等于2。具体举例来说,Web请求http://domain/path/x.php?user=xxxx&passwd=yyyyy中提出的请求字符串为xxxx和yyyyy。
实际运用中,在根据预置时间段内向所述Web服务器群发送的Web请求中的请求字符串来确定潜在攻击集合时,由于实际对请求字符串分析的方法可以有多种,那么请求字符串在潜在攻击集合中的数据格式也可以有多种。具体举例来说,潜在攻击集合中包括一系列对象<srcip1,domainstr1,str11>、<srcip1,domainstr1,str12>、<srcip2,domainstr2,str21>、<srcip2,domainstr2,str22>等等,其中这些对象为用于聚类分析的数据格式,而且其中的str11、str12、str21、str22等等均为该潜在攻击集合中所包括的请求字符串。当然,实际运用中,请求字符串也可以以其他数据格式存在潜在攻击集合中,在此不作限制。
实际运用中,可通过云平台来获取潜在攻击集合。或者,还可以通过其他能够聚集Web服务器群的设备来获取潜在攻击集合,例如F5等四层交换机。当然,上述描述仅为举例说明,并不作限制。
102、对所述潜在攻击集合中的请求字符串进行聚类分析,获取聚类分析的结果,并根据所述聚类分析的结果将所述潜在攻击集合中的请求字符串划分到潜在攻击聚类中;
确定潜在攻击集合后,对该潜在攻击集合中的所有请求字符串进行聚类分析。聚类分析是一组将研究对象分为相对同质的群组的统计分析技术。聚类分析所使用的方法有多种,且为现有公知技术,在此不再赘述。本发明中并不对聚类分析所采用的具体方法做限定。
对潜在攻击集合中的请求字符串进行聚类分析以获取聚类分析的结果后,在根据所述聚类分析的结果对潜在攻击集合中请求字符串中进行聚类时,以请求字符串的相似距离作为聚类依据。具体的,同一个潜在攻击聚类中的任意两个请求字符串之间的相似距离小于或者等于预置距离,且任意一个潜在攻击聚类中的任意一个请求字符串与其他任意一个潜在攻击聚类中的任意一个请求字符串之间的相似距离大于预置距离。本实施例中,该相似距离可以是请求字符串之间的欧氏距离、曼哈顿距离、切尔雪夫距离等等,当然,上述描述仅为举例,并不作限制。
需注意的是,同一个Web请求中的请求字符串并不一定会划分到同一潜在攻击聚类中。
103、计算所述潜在攻击聚类的过滤因子,其中任意一个所述潜在攻击聚类的过滤因子为所述潜在攻击聚类中请求字符串的数量与所述潜在攻击集合中请求字符串所对应的Web服务器的数量的比值;
将潜在攻击集合中的请求字符串划分到不同的潜在攻击聚类后,每个潜在攻击聚类中包含了对Web服务器群发出的同一类型或者相似类型的Web请求。在正常请求中,对同一个Web服务器发出的同一类型或者相似类型的Web请求的数量一般较大,因此若该潜在攻击聚类若是正常聚类,则该聚类中请求字符串的数量与Web服务器的数量的比值较大,远大于1。在攻击聚类中,由于使用工具的大规模攻击中,对同一个Web服务器的Web请求一般不会重复请求,或者数量一般较小,因此攻击聚类中的请求字符串的数量与Web服务器的数量的比值较小,倾向1。
因此,计算每一个潜在攻击聚类所包括的请求字符串的数量,并计算每一个潜在攻击聚类中请求字符串所要发送至的各Web服务器的数量,并通过将每一个潜在攻击聚类所包含的请求字符串的数量与该潜在攻击聚类中请求字符串所对应的Web服务器的数量的比值作为该潜在攻击聚类的过滤因子,并使用该过滤因子来判断该潜在攻击聚类属于正常的还是攻击的。
104、根据所述过滤因子确定是否存在攻击。
根据过滤因子确定是否存在攻击的方法有多种,具体举例来说,根据过滤因子确定是否存在攻击具体包括:当所述过滤因子小于或者等于预置数值时,确定存在攻击。
根据步骤103的解释中对正常聚类和攻击聚类的差别可知,正常聚类的过滤因子和攻击聚类的过滤因子之间一般具有明显的数值差距。因此可以通过多次实验找出这两种聚类的过滤因子之间的界限,并取值为预置数值。
或者,根据过滤因子确定是否存在攻击还可以具体包括:当所述过滤因子与所述预置距离的乘积小于或者等于预置数值时,确定存在攻击。
本实施例中,该预置距离的取值范围位于0到1之间,当然,上述对预置距离的说明仅为举例,并不作限制。实际运用中,可通过模拟攻击实验确定该预置距离的初始值,再根据本发明的对Web服务器群的攻击的检测方法的实际结果对该初始值进行调整,以找到该预置距离的较优值。
这样,将预置距离和预置数值关联起来,可以显示预置距离和预置数值的内在逻辑性。
本实施例中,通过搜集在预置时间段内对Web服务器群发送的Web请求中的请求字符串来形成潜在攻击集合,并对该集合中的请求字符串进行聚类分析以形成不同的聚类。由于在使用工具对Web服务器群的大规模攻击中,攻击的请求密度一般会不加区分地分布到各Web服务器中,因此攻击聚类中请求字符串数量与请求字符串对应的Web服务器的数量的比值较小(接近1);而在正常聚类中,请求字符串对应的Web服务器数量较小(接近1)且请求字符串数量较大(远大于1);因此正常聚类中请求字符串数量与请求字符串对应的Web服务器的数量的比值,与攻击聚类中请求字符串数量与请求字符串对应的Web服务器数量的比值有着明显的界限。这样,可通过过滤因子确定是否存在攻击。本实施例中,通过对使用工具对Web服务器群的大规模攻击与正常访问的共同区别特点来识别出攻击行为,而不是通过对某种特定类型的攻击做具体防护,即使攻击行为快速变化,但该共同区别特征并没有改变,因此本发明能够应对现在的快速变化的Web攻击。
可选的,本实施例的对Web服务器群的攻击的检测方法中,在步骤104根据所述过滤因子确定是否存在攻击具体包括:
当所述过滤因子与所述预置距离的乘积小于或者等于预置数值时,确定存在攻击;
所述确定存在攻击之后,还包括:
将所述过滤因子对应的潜在攻击聚类确定为攻击聚类;
将所述攻击聚类加入到攻击集合。
可选的,本实施例的对Web服务器群的攻击的检测方法中,在步骤104根据所述过滤因子确定是否存在攻击具体包括:
当所述过滤因子小于或者等于预置数值时,确定存在攻击;
所述确定存在攻击之后,还包括:
将所述过滤因子对应的潜在攻击聚类确定为攻击聚类;
将所述攻击聚类加入到攻击集合。
根据过滤因子确定是否存在攻击的方法有多种,根据对步骤104的说明描述可知,在当所述过滤因子小于或者等于预置数值时,确定存在攻击的情况下,将该小于或者等于预置数值的过滤因子所对应的潜在攻击聚类确定为攻击聚类;在当所述过滤因子与所述预置距离的乘积小于或者等于预置数值时,确定存在攻击的情况下,将该过滤因子与所述预置距离的乘积小于或者等于预置数值中的过滤因子所对应的潜在攻击聚类确定为攻击聚类。
确定攻击聚类后,将该攻击聚类加入到攻击集合中,以便后续对所有攻击聚类进行统一处理。需要注意的是,攻击集合中并不局限于包括通过该过滤因子确定的攻击聚类,还可以包括通过其他方法确定的攻击聚类。
这样,通过在确定存在攻击之后,进一步找出确定为攻击聚类的聚类加入到攻击集合中,可以方便后续对攻击集合中的聚类进行处理。
上面实施例中,需获取潜在攻击集合。实际运用中,可通过多种方法来获取潜在攻击集合,下面对本发明实施例中对Web服务器群的攻击的检测方法进行描述。请参阅图2,本发明的另一个实施例中对Web服务器群的攻击的检测方法包括:
201、获取请求集合,所述请求集合包括在所述预置时间段内对所述Web服务器群发送的所有Web请求中的请求字符串;
用户通过浏览器访问网页时,浏览器会向Web服务器发出Web请求,然后Web服务器向发出Web请求的浏览器提供文档等资料。攻击者对Web服务器群发起的攻击时,在大规模攻击中,会使用工具同时向Web服务器群里的每一个Web服务器发出Web请求,以发现该Web服务器群里面存在漏洞的Web服务器。当然,实际运用中,对Web服务器群里各Web服务器发出的Web请求也可能不是同时发出,而是在预置时间段内全部发完。需注意的是,本发明中所指的Web服务器群包括至少两个Web服务器。
本实施例中,获取在预置时间段内对Web服务器群发送的所有Web请求中的请求字符串。
202、对所述请求集合中的请求字符串与预置第一规则进行匹配,获得匹配结果;
获取到在预置时间段内对Web服务器群发送的所有Web请求中的请求字符串后,由于该所有Web请求的请求字符串中只有部分请求字符串是攻击的,因此可通过预置第一规则将该所有Web请求的请求字符串中有可能为攻击的求的部分请求字符串筛选出来。
本实施例中,该预置第一规则包括特殊字符集,具体的,所述特殊字符集指的是包括非字母的所有字符集合,其中该非字母的所有字符集合为非大写字母且非小写字母的所有字符集合。可选的,该特殊字符集还可以指的是包括非字母且非阿拉伯数字的所有字符集合。当然,上述仅为对预置第一规则的举例描述,并不作限制。
在请求字符串与预置第一规则进行匹配时,若该请求字符串中包含有属于该预置第一规则中的特殊字符集的字符,则该请求字符串符合上述预置第一规则,匹配结果为成功,否则匹配结果为失败。
203、根据所述匹配结果,确定潜在攻击集合;
本实施例中,将请求集合中的每一请求字符串与预置第一规则进行匹配之后,把其中匹配结果为成功的请求字符串加入潜在攻击集合中。
204、对所述潜在攻击集合中的请求字符串进行聚类分析,获取聚类分析的结果,并根据所述聚类分析的结果将所述潜在攻击集合中的请求字符串划分到潜在攻击聚类中;
详细说明请参见图1所示实施例中步骤102的说明。
205、计算所述潜在攻击集合中每一个所述潜在攻击聚类的过滤因子,其中任意一个所述潜在攻击聚类的过滤因子为所述潜在攻击聚类中请求字符串的数量与所述潜在攻击集合中请求字符串所对应的Web服务器的数量的比值;
详细说明请参见图1所示实施例中步骤103的说明。
206、根据所述过滤因子确定是否存在攻击。
详细说明请参见图1所示实施例中步骤104的说明。
本实施例中,通过先对请求集合中的请求字符串与预置第一规则匹配以筛选出潜在攻击请求字符串,再对该潜在攻击请求字符串进行分析以识别出攻击请求字符串,能够大大减少用于分析的潜在攻击集合中的请求字符串的数目,减少分析过程中的运算。
上面实施例中,将请求集合中的请求字符串与预置第一规则进行匹配以筛选出潜在攻击请求字符串。实际运用中,请求集合中可能存在一些根据以往经验可以确定为攻击型的请求字符串,下面对本发明实施例中对Web服务器群的攻击的检测方法进行描述。请参阅图3,本发明的另一个实施例中对Web服务器群的攻击的检测方法包括:
301、获取请求集合,所述请求集合包括在所述预置时间段内对所述Web服务器群发送的所有Web请求中的请求字符串;
详细说明请参见图2所示实施例中步骤201的说明。
302、对所述请求集合中的请求字符串与预置黑名单规则进行匹配;
预置黑名单规则包含了现有已经收集到的对攻击请求字符串所总结出的规则。预置黑名单规则可以从外问源导入,例如从apache的modsecurity等等一些规则库导入。当然,实际运用中,预置黑名单规则还可以通过其他途径导入,在此不作限制。
303、若所述请求集合中的请求字符串符合所述预置黑名单规则,则加入所述攻击集合;
若请求集合中的请求字符串符合预置黑名单规则,则表示该请求字符串可以确定为攻击请求字符串。将该请求字符串加入攻击集合,以便后续同一对攻击请求字符串进行处理。例如,统一拦截攻击集合中的所有请求字符串分别对应的Web请求。
304、对所述请求集合中不符合所述预置黑名单规则的请求字符串与预置第一规则进行匹配,获得匹配结果;
请求集合中的符合预置黑名单规则的请求字符串确定为攻击请求字符串加入攻击集合后,请求集合中剩余的请求字符串也即不符合预置黑名单规则的请求字符串还需进一步进行分析,以识别出其中的攻击请求字符串,因此,将请求集合中不符合预置黑名单规则的请求字符串与预置第一规则进行匹配。
对请求集合中不符合预置黑名单规则且不符合预置第一规则的请求字符串可判断为正常请求字符串,并将该正常请求字符串放行至该正常请求字符串所对应的Web服务器。
进一步详细说明请参见图2所示实施例中步骤202的说明。
305、根据所述匹配结果,确定潜在攻击集合;
详细说明请参见图2所示实施例中步骤203的说明。
306、对所述潜在攻击集合中的请求字符串进行聚类分析,获取聚类分析的结果,并根据所述聚类分析的结果将所述潜在攻击集合中的请求字符串划分到潜在攻击聚类中;
详细说明请参见图1所示实施例中步骤102的说明。
307、计算所述潜在攻击集合中每一个所述潜在攻击聚类的过滤因子,其中任意一个所述潜在攻击聚类的过滤因子为所述潜在攻击聚类中请求字符串的数量与所述潜在攻击集合中请求字符串所对应的Web服务器的数量的比值;
详细说明请参见图1所示实施例中步骤103的说明。
308、根据所述过滤因子确定是否存在攻击。
详细说明请参见图1所示实施例中步骤104的说明。
本实施例中,在将请求集合中的请求字符串与预置第一规则匹配以筛选出潜在攻击请求字符串之前,先将该请求集合中的请求字符串与预置黑名单规则进行匹配,以筛选出攻击请求字符串,能够大大减少后续用于分析的潜在攻击集合中的请求字符串的数目,减少分析过程中的运算;而且,能够根据现有的黑名单规则在分析之前先筛选出已经确定为攻击型的请求字符串。
可选地,本实施例中,对Web服务器群的攻击的检测方法可选还包括:
309、将所述攻击集合生成正则表达式规则;
3010、将所述正则表达式规则添加到所述预置黑名单规则中;
实际运用中,将攻击集合生成正则表达式规则有多种方法。较简单的,在将过滤因子小于或者等于预置数值的潜在攻击聚类确定为攻击聚类加入攻击集合后,可直接将该攻击集合中的攻击聚类中请求字符串或者攻击聚类中请求字符串的最长公共子序列(LongestCommonSubsequence,LCS)作为正则表达式规则加入预置黑名单规则中。本实施例中,如何将攻击聚类中的请求字符串生成正则表达式为现有技术,在此不再赘述。
本实施例中,生成正则表达式规则后将该正则表达式规则添加到预置黑名单规则中,这样,在下一次获取到请求集合以对请求集合中的请求字符串与预置黑名单规则进行匹配时,还将该请求字符串与最新获得的攻击行为规则进行匹配,以能应对不断更新变化的Web攻击行为。
为便于理解,下面以一个实际应用场景对本实施例对Web服务器群的攻击的检测方法进行描述。
云平台获取预置时间段内对Web服务器群发送的所有Web请求,并将所获取到的所有Web请求记录到请求集合中。其中记录方式具体以其中一个Web请求http://domain/path/x.php?arg1=str1&arg2=str2举例来说。在该请求集合中,关于该Web请求的记录为<srcip,domainstr=http://domain/path/x.php?,str1>和<srcip,domainstr=http://domain/path/x.php?,str2>,其中该Web请求的请求字符串为str1和str2。云平台将请求集合中的请求字符串与预置黑名单规则进行匹配,其中匹配成功的请求字符串加入攻击集合,匹配不成功的请求字符串再与预置第一规则进行匹配,其中该预置第一规则指的是包括非字母且非阿拉伯数字的所有字符集合。
云平台将与预置第一规则匹配成功的请求字符串加入潜在攻击集合,以便后续分析。而对于与预置第一规则匹配不成功的请求字符串,云平台将该请求字符串所对应的Web请求确定为正常的Web请求,并放行至Web服务器群。
云平台对潜在攻击集合中的请求字符串进行聚类分析,获取聚类分析的结果,并根据所述聚类分析的结果将所述潜在攻击集合中的请求字符串划分到潜在攻击聚类中,其中同一个潜在攻击聚类中的任意两个请求字符串之间的相似距离小于或者等于0.5,且任意一个潜在攻击聚类中的任意一个请求字符串与其他任意一个潜在攻击聚类中的任意一个请求字符串之间的相似距离大于0.5。云平台将潜在攻击集合中的请求字符串划分到不同的潜在攻击聚类后,计算每个潜在攻击聚类的过滤因子,其中任意一个潜在攻击聚类的过滤因子为该潜在攻击聚类中所包含的请求字符串的数量与该潜在攻击集合中请求字符串所对应的Web服务器的数量的比值。
计算出每个潜在攻击聚类的过滤因子后,当存在过滤因子与预置距离0.5的乘积小于或者等于3时,确定存在攻击。进一步,将过滤因子与预置距离0.5的乘积小于或者等于3的潜在攻击聚类确定为攻击聚类,并加入攻击集合中。云平台对攻击集合中的请求字符串所对应的Web请求进行拦截,还将该攻击集合中生成正则表达式规则,并将该正则表达式规则计入预置黑名单规则中,以用于下一次判断。
上面对本发明实施例中的对Web服务器群的攻击的检测方法进行了描述,下面对本发明实施例中的攻击的检测装置进行描述,请参阅图4,本发明实施例中攻击的检测装置400包括:
第一获取模块401,用于获取潜在攻击集合,其中所述潜在攻击集合是根据在预置时间段内对所述Web服务器群发送的Web请求中的请求字符串确定的;
分析模块402,用于对所述潜在攻击集合中的请求字符串进行聚类分析,获取聚类分析的结果,并根据所述聚类分析的结果将所述潜在攻击集合中的请求字符串划分到潜在攻击聚类中,其中同一个潜在攻击聚类中的任意两个请求字符串之间的相似距离小于或者等于预置距离,且任意一个潜在攻击聚类中的任意一个请求字符串与其他任意一个潜在攻击聚类中的任意一个请求字符串之间的相似距离大于预置距离;
计算模块403,用于计算所述潜在攻击聚类的过滤因子,其中任意一个所述潜在攻击聚类的过滤因子为所述潜在攻击聚类中请求字符串的数量与所述潜在攻击集合中请求字符串所对应的Web服务器的数量的比值;
第一确定模块404,用于根据所述过滤因子确定是否存在攻击。
本实施例中,通过搜集在预置时间段内对Web服务器群发送的Web请求中的请求字符串来形成潜在攻击集合,并对该集合中的请求字符串进行聚类分析以形成不同的聚类。由于在使用工具对Web服务器群的大规模攻击中,攻击的请求密度一般会不加区分地分布到各Web服务器中,因此攻击聚类中请求字符串数量与请求字符串对应的Web服务器的数量的比值较小(接近1);而在正常聚类中,请求字符串对应的Web服务器数量较小(接近1)且请求字符串数量较大(远大于1);因此正常聚类中请求字符串数量与请求字符串对应的Web服务器的数量的比值,与攻击聚类中请求字符串数量与请求字符串对应的Web服务器数量的比值有着明显的界限。这样,可通过将过滤因子确定是否存在攻击。本实施例中,通过对使用工具对Web服务器群的大规模攻击与正常访问的共同区别特点来识别出攻击行为,而不是通过对某种特定类型的攻击做具体防护,即使攻击行为快速变化,但该共同区别特征并没有改变,因此本发明能够应对现在的快速变化的Web攻击。
本实施例中,可选的,第一确定模块404具体用于当所述过滤因子小于或者等于预置数值时,确定存在攻击;
所述对Web服务器群的攻击的检测装置400还包括:
第二确定模块(图未示),用于将所述小于或者等于预置数值的过滤因子对应的潜在攻击聚类确定为攻击聚类;
添加模块(图未示),用于将所述攻击聚类加入到所述攻击集合。
或者,第一确定模块404具体用于当所述过滤因子与所述预置距离的乘积小于或者等于预置数值时,确定存在攻击;
所述对Web服务器群的攻击的检测装置400还包括:
第三确定模块(图未示),用于将所述过滤因子对应的潜在攻击聚类确定为攻击聚类;
添加模块(图未示),用于将所述攻击聚类加入到所述攻击集合。
上面实施例中,第一获取模块需获取潜在攻击集合。实际运用中,第二获取模块可通过多种方法来获取潜在攻击集合,下面对本发明实施例中攻击的检测装置进行描述。请参阅图5,本发明的另一个实施例中攻击的检测装置500包括:
第一获取模块501,用于获取潜在攻击集合,其中所述潜在攻击集合是根据在预置时间段内对所述Web服务器群发送的Web请求中的请求字符串确定的;
分析模块502,用于对所述潜在攻击集合中的请求字符串进行聚类分析,获取聚类分析的结果,并根据所述聚类分析的结果将所述潜在攻击集合中的请求字符串划分到潜在攻击聚类中,其中同一个潜在攻击聚类中的任意两个请求字符串之间的相似距离小于或者等于预置距离,且任意一个潜在攻击聚类中的任意一个请求字符串与其他任意一个潜在攻击聚类中的任意一个请求字符串之间的相似距离大于预置距离;
计算模块503,用于计算所述潜在攻击聚类的过滤因子,其中任意一个所述潜在攻击聚类的过滤因子为所述潜在攻击聚类中请求字符串的数量与所述潜在攻击集合中请求字符串所对应的Web服务器的数量的比值;
第一确定模块504,用于根据所述过滤因子确定是否存在攻击。
本发明实施例中,该对Web服务器群的攻击的检测装置500还包括还包括:
第二获取模块505,用于获取请求集合,所述请求集合包括在所述预置时间段内对所述Web服务器群发送的所有Web请求中的请求字符串;
所述第一获取模块501具体包括:
匹配单元5011,用于对所述请求集合中的请求字符串与预置第一规则进行匹配,获得匹配结果;
确定单元5012,用于根据所述匹配结果,确定潜在攻击集合。
本实施例中,通过先对请求集合中的请求字符串与预置第一规则匹配以筛选出潜在攻击请求字符串,再对该潜在攻击请求字符串进行分析以识别出攻击请求字符串,能够大大减少用于分析的潜在攻击集合中的请求字符串的数目,减少分析过程中的运算。
可选的,预置第一规则包括特殊字符集,其中所述特殊字符集指的是包括非字母的所有字符集合。或者,该特殊字符集具体指的是包括非字母且非阿拉伯数字的所有字符集合。
本实施例中,可选地,对Web服务器群的攻击的检测装置500还包括:
匹配模块506,用于在所述匹配单元对所述请求集合中的请求字符串与预置第一规则进行匹配之前对所述请求集合中的请求字符串与预置黑名单规则进行匹配;
所述第一获取模块501中的匹配单元5011具体用于对所述请求集合中不符合所述预置黑名单规则的请求字符串与预置第一规则进行匹配,获得匹配结果。
这样,在将请求集合中的请求字符串与预置第一规则匹配以筛选出潜在攻击请求字符串之前,先将该请求集合中的请求字符串与预置黑名单规则进行匹配,以筛选出攻击请求字符串,能够大大减少后续用于分析的潜在攻击集合中的请求字符串的数目,减少分析过程中的运算;而且,能够根据现有的黑名单规则在分析之前先筛选出已经确定为攻击型的请求字符串。
本实施例中,可选地,对Web服务器群的攻击的检测装置500还包括:
生成模块507,用于将所述攻击集合生成正则表达式规则;
添加模块508,用于将所述正则表达式规则添加到所述预置黑名单规则中。
这样,添加模块在生成模块生成正则表达式规则后将该正则表达式规则添加到预置黑名单规则中,得以在下一次获取到请求集合以对请求集合中的请求字符串与预置黑名单规则进行匹配时,还将该请求字符串与最新获得的攻击行为规则进行匹配,以能应对不断更新变化的Web攻击行为。
上面从单元化功能实体的角度对本发明实施例中的对Web服务器群的攻击的检测装置进行了描述,下面从硬件处理的角度对本发明实施例中的对Web服务器群的攻击的检测装置进行描述,请参阅图6,本实施例以入侵检测系统为例对本发明进行具体说明。
应该理解的是,图示入侵检测系统600仅仅是对Web服务器群的攻击的检测装置的一个范例,并且对Web服务器群的攻击的检测装置600可以具有比图中所示出的更过的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
如图6所示,该入侵检测系统包括存储器601、中央处理器(CentralProcessingUnit,以下简称CPU)603、外设接口604、RF电路605、电源管理芯片608、输入/输出(I/O)子系统609、其他输入/控制设备610以及外部端口611,这些部件通过一个或多个通信总线或信号线612来通信。
值得说明的是,本实施例提供的入侵检测系统仅仅是对Web服务器群的攻击的检测装置的一个示例,本发明实施例涉及的对Web服务器群的攻击的检测装置可以具有比图6所示出的更多或更少的部件,可以组合两个或更多个部件,或者可以具有不同的部件配置或设置,各个部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件或硬件和软件的组合实现。
下面就本实施例提供的用于对消息进行处理的入侵检测系统进行详细的描述。
存储器601:所述存储器601可以被CPU603、外设接口604等访问,所述存储器601可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口604,所述外设接口可以将设备的输入和输出外设连接到CPU603和存储器601。
I/O子系统609:所述I/O子系统609可以将设备上的输入输出外设,例如触摸屏613(相当于上述实施例中的显示器)和其他输入/控制设备610,连接到外设接口604。I/O子系统609可以包括显示控制器6091和用于控制其他输入/控制设备610的一个或多个输入控制器6092。其中,一个或多个输入控制器6092从其他输入/控制设备610接收电信号或者向其他输入/控制设备610发送电信号,其他输入/控制设备610可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器6092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏613:所述触摸屏613是移动终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子系统609中的显示控制器6091从触摸屏613接收电信号或者向触摸屏613发送电信号。触摸屏613检测触摸屏上的接触,显示控制器6091将检测到的接触转换为与显示在触摸屏613上的用户界面对象的交互,即实现人机交互,显示在触摸屏613上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路605,主要用于建立入侵检测系统与无线网络(即网络侧)的通信,实现入侵检测系统与无线网络的数据接收和发送。具体地,RF电路605接收并发送RF信号,RF信号也称为电磁信号,RF电路605将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路605可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片组、用户标识模块(SubscriberIdentityModule,SIM)等等。
电源管理芯片608,用于为CPU603、I/O子系统及外设接口所连接的硬件进行供电及电源管理。实际运用中,该电源管理芯片608也可以和CPU603或者其他部件集成到一个模块中。
图7为入侵检测系统内部部分结构图。在本发明实施例中,操作系统701(例如,Darwin、RTXC、LINUX、UNIX、OSX、WINDOWS、或诸如VxWorks的嵌入式操作系统)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电力管理等等)的各种软件部件和/或驱动器,并且便于各种硬件与软件部件之间的通信。
通信模块702便于通过一个或多个外部端口611与其他设备通信,并且还包括用于处理由RF电路605和/或外部端口611接收的数据的各种软件部件。
接触/移动模块703可以检测与触摸屏613(结合显示控制器6091)和其他触摸敏感设备(例如,触摸板或物理点击滚轮)的接触。接触/移动模块703包括用于执行与检测接触相关的各种操作的各种软件部件,所述操作例如有确定是否发生接触、确定是否所述接触有移动并且在触摸屏613上追踪所述移动、以及确定是否已经断开所述接触(即,是否接触已经停止)。确定接触点的移动可以包括确定接触点的速率(幅值)、速度(幅值和方向)和/或加速度(幅值和/或方向的变化)。这些操作可以应用到单个接触(例如,一个手指接触)或应用到多个同时接触(例如,“多重触摸”/多手指接触)。在一些实施例中,接触/移动模块703和显示控制器6091还检测触摸板上的接触。
图形模块704包括用于在触摸屏613上显示图形的各种已知软件部件,包括用于改变所显示的图形的明暗度的部件。例如接收中央处理器603的指令,在触摸屏613中显示各种软件的图形用户界面等。
RF电路605接收网络侧或其他设备发送的信息,该消息具体可以是以上各实施例中的通信信息。可以理解的是,接收的消息也可以是其他类型的信息,在本发明实施例中不做限定。本领域技术人员可知,接收到的信息中可以携带有多种数据类型的数据。可以只有一种数据类型的数据,也可以有两种或两种以上数据类型的数据。
中央处理器603识别RF电路605接收到的信息中的数据的数据类型,根据对应关系列表将该数据存储到与该数据的数据类型相对应的功能模块,该对应关系列表为数据类型与功能模块之间的对应关系列表。
本实施例中,RF电路605具体用于获取潜在攻击集合,其中所述潜在攻击集合中包括在预置时间段内对所述Web服务器群发送的Web请求中的请求字符串;
中央处理器603具体用于:
对所述潜在攻击集合中的请求字符串进行聚类分析,将所述潜在攻击集合中相似距离低于预置距离的请求字符串作为一个潜在攻击聚类;
计算所述潜在攻击集合中每一个所述潜在攻击聚类的过滤因子,其中每一个所述潜在攻击聚类的过滤因子为所述潜在攻击聚类中请求字符串的数量与Web服务器的数量的比值;
获取攻击集合,其中所述攻击集合包括所述潜在攻击集合中过滤因子小于或者等于预置数值的潜在攻击聚类。
可选地,中央处理器603还可以用于当所述过滤因子小于或者等于预置数值时,将所述过滤因子对应的潜在攻击聚类确定为攻击聚类,将所述攻击聚类加入到所述攻击集合。
可选地,中央处理器603还可以用于当所述过滤因子与所述预置距离的乘积小于或者等于预置数值时,将所述过滤因子对应的潜在攻击聚类确定为攻击聚类,将所述攻击聚类加入到所述攻击集合。
可选地,RF电路605还可以用于获取请求集合,所述请求集合包括在所述预置时间段内对所述Web服务器群发送的所有Web请求中的请求字符串;,中央处理器603还可以用于对所述请求集合中的请求字符串与预置第一规则进行匹配,获得匹配结果;根据所述匹配结果,确定潜在攻击集合。
可选地,中央处理器603还可以用于在对所述请求集合中的请求字符串与预置第一规则进行匹配之前对所述请求集合中的请求字符串与预置黑名单规则进行匹配;然后对所述请求集合中不符合所述预置黑名单规则的请求字符串与预置第一规则进行匹配,获得匹配结果。
可选地,中央处理器603还可以用于将所述攻击集合生成正则表达式规则;将所述正则表达式规则添加到所述预置黑名单规则中。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种对Web服务器群的攻击的检测方法,其特征在于,包括:
获取潜在攻击集合,其中,所述潜在攻击集合是根据在预置时间段内向所述Web服务器群发送的Web请求中的请求字符串确定的;
对所述潜在攻击集合中的请求字符串进行聚类分析,获取聚类分析的结果,并根据所述聚类分析的结果将所述潜在攻击集合中的请求字符串划分到潜在攻击聚类中,其中,同一个潜在攻击聚类中的任意两个请求字符串之间的相似距离小于或者等于预置距离,且任意一个潜在攻击聚类中的任意一个请求字符串与其他任意一个潜在攻击聚类中的任意一个请求字符串之间的相似距离大于所述预置距离;
计算所述潜在攻击聚类的过滤因子,其中任意一个所述潜在攻击聚类的过滤因子为所述潜在攻击聚类中请求字符串的数量与所述潜在攻击集合中请求字符串所对应的Web服务器的数量的比值;
根据所述过滤因子确定是否存在攻击。
2.根据权利要求1所述的对Web服务器群的攻击的检测方法,其特征在于,所述根据所述过滤因子确定是否存在攻击具体包括:
当所述过滤因子小于或者等于预置数值时,确定存在攻击;
所述确定存在攻击之后,还包括:
将所述过滤因子对应的潜在攻击聚类确定为攻击聚类;
将所述攻击聚类加入到攻击集合。
3.根据权利要求1所述的对Web服务器群的攻击的检测方法,其特征在于,所述根据所述过滤因子确定是否存在攻击具体包括:
当所述过滤因子与所述预置距离的乘积小于或者等于预置数值时,确定存在攻击;
所述确定存在攻击之后,还包括:
将所述过滤因子对应的潜在攻击聚类确定为攻击聚类;
将所述攻击聚类加入到攻击集合。
4.根据权利要求1至3任一项所述的对Web服务器群的攻击的检测方法,其特征在于,所述获取潜在攻击集合之前还包括:
获取请求集合,所述请求集合包括在所述预置时间段内对所述Web服务器群发送的所有Web请求中的请求字符串;
所述获取潜在攻击集合具体包括:
对所述请求集合中的请求字符串与预置第一规则进行匹配,获得匹配结果;
根据所述匹配结果,确定潜在攻击集合。
5.根据权利要求4所述的对Web服务器群的攻击的检测方法,其特征在于,所述对所述请求集合中的请求字符串与预置第一规则进行匹配之前还包括:
对所述请求集合中的请求字符串与预置黑名单规则进行匹配;
若所述请求集合中的请求字符串符合所述预置黑名单规则,则加入所述攻击集合;
所述对所述请求集合中的请求字符串与预置第一规则进行匹配具体包括:
对所述请求集合中不符合所述预置黑名单规则的请求字符串与预置第一规则进行匹配。
6.根据权利要求5所述的对Web服务器群的攻击的检测方法,其特征在于,所述方法还包括:
将所述攻击集合生成正则表达式规则;
将所述正则表达式规则添加到所述预置黑名单规则中。
7.一种对Web服务器群的攻击的检测装置,其特征在于,包括:
第一获取模块,用于获取潜在攻击集合,其中所述潜在攻击集合是根据在预置时间段内对所述Web服务器群发送的Web请求中的请求字符串确定的;
分析模块,用于对所述潜在攻击集合中的请求字符串进行聚类分析,获取聚类分析的结果,并根据所述聚类分析的结果将所述潜在攻击集合中的请求字符串划分到潜在攻击聚类中,其中同一个潜在攻击聚类中的任意两个请求字符串之间的相似距离小于或者等于预置距离,且任意一个潜在攻击聚类中的任意一个请求字符串与其他任意一个潜在攻击聚类中的任意一个请求字符串之间的相似距离大于预置距离;
计算模块,用于计算所述潜在攻击聚类的过滤因子,其中任意一个所述潜在攻击聚类的过滤因子为所述潜在攻击聚类中请求字符串的数量与所述潜在攻击集合中请求字符串所对应的Web服务器的数量的比值;
第一确定模块,用于根据所述过滤因子确定是否存在攻击。
8.根据权利要求7所述的对Web服务器群的攻击的检测装置,其特征在于,所述第一确定模块具体用于当所述过滤因子小于或者等于预置数值时,确定存在攻击;
所述对Web服务器群的攻击的检测装置还包括:
第二确定模块,用于将所述小于或者等于预置数值的过滤因子对应的潜在攻击聚类确定为攻击聚类;
添加模块,用于将所述攻击聚类加入到所述攻击集合。
9.根据权利要求7所述的对Web服务器群的攻击的检测装置,其特征在于,
所述第一确定模块具体用于当所述过滤因子与所述预置距离的乘积小于或者等于预置数值时,确定存在攻击;
所述对Web服务器群的攻击的检测装置还包括:
第三确定模块,用于将所述过滤因子对应的潜在攻击聚类确定为攻击聚类;
添加模块,用于将所述攻击聚类加入到所述攻击集合。
10.根据权利要求7至9任一所述的对Web服务器群的攻击的检测装置,其特征在于,所述对Web服务器群的攻击的检测装置还包括:
第二获取模块,用于获取请求集合,所述请求集合包括在所述预置时间段内对所述Web服务器群发送的所有Web请求中的请求字符串;
所述第一获取模块具体包括:
匹配单元,用于对所述请求集合中的请求字符串与预置第一规则进行匹配,获得匹配结果;
确定单元,用于根据所述匹配结果,确定潜在攻击集合。
11.根据权利要求10所述的对Web服务器群的攻击的检测装置,其特征在于,所述对Web服务器群的攻击的检测装置还包括:
匹配模块,用于在所述匹配单元对所述请求集合中的请求字符串与预置第一规则进行匹配之前对所述请求集合中的请求字符串与预置黑名单规则进行匹配;
所述第一获取模块中的匹配单元具体用于对所述请求集合中不符合所述预置黑名单规则的请求字符串与预置第一规则进行匹配,获得匹配结果。
12.根据权利要求11所述的对Web服务器群的攻击的检测装置,其特征在于,所述对Web服务器群的攻击的检测装置还包括:
生成模块,用于将所述攻击集合生成正则表达式规则;
添加模块,用于将所述正则表达式规则添加到所述预置黑名单规则中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410298911.7A CN105227528B (zh) | 2014-06-26 | 2014-06-26 | 对Web服务器群的攻击的检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410298911.7A CN105227528B (zh) | 2014-06-26 | 2014-06-26 | 对Web服务器群的攻击的检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105227528A true CN105227528A (zh) | 2016-01-06 |
CN105227528B CN105227528B (zh) | 2018-09-28 |
Family
ID=54996212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410298911.7A Active CN105227528B (zh) | 2014-06-26 | 2014-06-26 | 对Web服务器群的攻击的检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105227528B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107508831A (zh) * | 2017-09-21 | 2017-12-22 | 华东师范大学 | 一种基于总线的入侵检测方法 |
CN109274675A (zh) * | 2018-09-30 | 2019-01-25 | 上海视岳计算机科技有限公司 | 一种基于云平台的大规模Web攻击检测方法和系统 |
CN110855648A (zh) * | 2019-11-04 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 一种网络攻击的预警控制方法及装置 |
CN112291263A (zh) * | 2020-11-17 | 2021-01-29 | 珠海大横琴科技发展有限公司 | 一种数据阻断的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1460932A (zh) * | 2003-06-18 | 2003-12-10 | 北京首信股份有限公司 | 一种基于相关特征聚类的层次入侵检测系统 |
US20040025044A1 (en) * | 2002-07-30 | 2004-02-05 | Day Christopher W. | Intrusion detection system |
CN102045358A (zh) * | 2010-12-29 | 2011-05-04 | 深圳市永达电子股份有限公司 | 一种基于整合相关性分析与分级聚类的入侵检测方法 |
-
2014
- 2014-06-26 CN CN201410298911.7A patent/CN105227528B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040025044A1 (en) * | 2002-07-30 | 2004-02-05 | Day Christopher W. | Intrusion detection system |
CN1460932A (zh) * | 2003-06-18 | 2003-12-10 | 北京首信股份有限公司 | 一种基于相关特征聚类的层次入侵检测系统 |
CN102045358A (zh) * | 2010-12-29 | 2011-05-04 | 深圳市永达电子股份有限公司 | 一种基于整合相关性分析与分级聚类的入侵检测方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107508831A (zh) * | 2017-09-21 | 2017-12-22 | 华东师范大学 | 一种基于总线的入侵检测方法 |
CN109274675A (zh) * | 2018-09-30 | 2019-01-25 | 上海视岳计算机科技有限公司 | 一种基于云平台的大规模Web攻击检测方法和系统 |
CN110855648A (zh) * | 2019-11-04 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 一种网络攻击的预警控制方法及装置 |
CN112291263A (zh) * | 2020-11-17 | 2021-01-29 | 珠海大横琴科技发展有限公司 | 一种数据阻断的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105227528B (zh) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10387292B2 (en) | Determining application test results using screenshot metadata | |
US10547618B2 (en) | Method and apparatus for setting access privilege, server and storage medium | |
CN104246759A (zh) | 应用程序接口测试服务 | |
US10154041B2 (en) | Website access control | |
CN111885007B (zh) | 信息溯源方法、装置、系统及存储介质 | |
CN108829769B (zh) | 一种可疑群组发现方法和装置 | |
CN105227528A (zh) | 对Web服务器群的攻击的检测方法和装置 | |
US20180218134A1 (en) | Determining computer ownership | |
CN113806653B (zh) | 页面预加载方法、装置、计算机设备及存储介质 | |
CN112148305A (zh) | 一种应用检测方法、装置、计算机设备和可读存储介质 | |
WO2013143407A1 (en) | Data processing, data collection | |
CN111355628A (zh) | 一种模型训练方法、业务识别方法、装置和电子装置 | |
CN105323145A (zh) | 恶意信息识别方法、恶意信息识别装置及系统 | |
CN105045890A (zh) | 确定目标新闻源中的热点新闻的方法与设备 | |
CN110995687B (zh) | 一种猫池设备识别方法、装置、设备及存储介质 | |
CN110737820A (zh) | 用于生成事件信息的方法和装置 | |
CN112966756A (zh) | 一种可视化的准入规则的生成方法、装置、机器可读介质及设备 | |
CN105426363A (zh) | 一种确定分享转化信息的方法与设备 | |
CN109450853B (zh) | 恶意网站判定方法、装置、终端及服务器 | |
CN113590447B (zh) | 埋点处理方法和装置 | |
CN105677078A (zh) | 移动终端及其自定义快捷键的方法 | |
CN115688112A (zh) | 工控风险评估方法、装置、设备及存储介质 | |
CN113765924A (zh) | 基于用户跨服务器访问的安全监测方法、终端及设备 | |
CN115470399A (zh) | 一种基于大数据的id打通方法、装置、设备和存储介质 | |
CN103326892A (zh) | Web接口的操作方法及装置 |
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 |