CN114070596A - Web应用防护系统的性能优化方法、系统、终端及介质 - Google Patents
Web应用防护系统的性能优化方法、系统、终端及介质 Download PDFInfo
- Publication number
- CN114070596A CN114070596A CN202111327809.1A CN202111327809A CN114070596A CN 114070596 A CN114070596 A CN 114070596A CN 202111327809 A CN202111327809 A CN 202111327809A CN 114070596 A CN114070596 A CN 114070596A
- Authority
- CN
- China
- Prior art keywords
- request
- error reporting
- matching
- web
- database
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000005457 optimization Methods 0.000 title claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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/1441—Countermeasures against malicious traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- 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
- 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/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供Web应用防护系统的性能优化方法、系统、终端及介质,包括:对通过Web应用防护系统的Web请求进行基础规则匹配;对基础规则匹配结果为成功的Web请求进行拦截;将基础规则匹配结果为失败的Web请求的请求IP与敏感IP数据库进行匹配;若匹配成功,则从所述敏感IP数据库中获取所述请求IP所对应的报错次数,并判断所述报错次数是否超过预设报错次数阈值;若是,则对所述Web请求进行全规则匹配,以根据全规则匹配结果对所述Web请求进行拦截或放过。本发明大量降低全规则匹配的次数,大大降低了匹配所需的时间,并大大降低了CPU消耗,从而有效优化了WAF性能。
Description
技术领域
本发明涉及Web应用防护技术领域,尤其涉及Web应用防护系统的性能优化方法、系统、终端及介质。
背景技术
Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web ApplicationFirewall,简称:WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。
通常而言,WAF通过正则匹配的方式检测常见的Web请求,但是正则匹配字符串的速度较慢,消耗CPU资源较多,在实际环境中回消耗过多的服务器资源。
因此,本领域的技术人员致力于开发一种能够优化WAF性能的解决方案。
发明内容
有鉴于现有技术的上述缺陷,本发明提供Web应用防护系统的性能优化方法、系统、终端及介质,用于解决现有技术中Web应用防护系统匹配速度慢、耗时长,耗费CPU资源较多的技术问题。
为实现上述目的,本发明提供了一种Web应用防护系统的性能优化方法,包括:对通过Web应用防护系统的Web请求进行基础规则匹配;对基础规则匹配结果为成功的Web请求进行拦截;将基础规则匹配结果为失败的Web请求的请求IP与敏感IP数据库进行匹配;若匹配成功,则从所述敏感IP数据库中获取所述请求IP所对应的报错次数,并判断所述报错次数是否超过预设报错次数阈值;若是,则对所述Web请求进行全规则匹配,以根据全规则匹配结果对所述Web请求进行拦截或放过。
在本发明的较佳实施方式中,所述敏感IP数据库的构建过程包括:当一Web请求的基础规则匹配结果为失败时,判断规则返回包的内容中是否存在报错信息;若是,则将所述Web请求的请求IP及报错次数存储于所述敏感IP数据库中
在本发明的另一较佳实施方式中,所述敏感IP数据库存储有IP记录;每一条所述IP记录都以所述Web请求的请求IP作为所述敏感IP数据库的键,并以所述请求IP所对应的报错次数作为键值;其中,所述敏感IP数据库中每存入一条IP记录,所述敏感IP数据库的记录值相应增加1。
在本发明的另一较佳实施方式中,所述报错信息包括:应用类报错信息和/或系统类报错信息。
在本发明的另一较佳实施方式中,所述预设报错次数阈值的设定方式包括:采集流经所述Web应用防护系统的HTTP/S流量;按照域名和IP对所述HTTP/S流量进行分组,并统计各域名下单个IP在单位时间内的报错次数;将每个域名下的所有IP在单位时间内的报错次数按序排列后进行区间划分,以确定报错次数较少的IP所对应的报错次数区间,并以所述报错次数区间的区间最大值作为所述预设报错次数阈值。
在本发明的另一较佳实施方式中,所述基础规则匹配和全规则匹配按照匹配所需时间和/或匹配所需计算资源来进行划分。
在本发明的另一较佳实施方式中,所述基础规则匹配包括前缀匹配;所述全规则匹配包括完全匹配。
为实现上述目的,本发明还提供了一种Web应用防护系统,包括:基础规则匹配模块,用于对通过Web应用防护系统的Web请求进行基础规则匹配,并对基础规则匹配结果为成功的Web请求进行拦截;数据库模块,用于将基础规则匹配结果为失败的Web请求的请求IP与敏感IP数据库进行匹配;全规则匹配模块,用于若匹配成功,则从所述敏感IP数据库中获取所述请求IP所对应的报错次数,并判断所述报错次数是否超过预设报错次数阈值;若是,则对所述Web请求进行全规则匹配,以根据全规则匹配结果对所述Web请求进行拦截或放过。
为实现上述目的及其他相关目的,本发明的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述方法。
为实现上述目的及其他相关目的,本发明的第四方面提供一种电子终端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述方法。
本发明提供的Web应用防护系统的性能优化方法、系统、终端及介质,具有以下技术效果:本发明通过使用基础规则匹配来解决大量较为简单的请求,并通过设定敏感IP数据库和报错次数阈值来筛选出需要进行全规则匹配的请求,由此可大量降低全规则匹配的次数,大大降低了匹配所需的时间,并大大降低了CPU消耗,从而有效优化了WAF性能。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明本发明一实施例中的一种Web应用防护系统的性能优化方法的流程示意图。
图2是本发明本发明一实施例中不同规则匹配下CPU使用率的情况。
图3是本发明一实施例中的一种Web应用防护系统的结构示意图。
图4是本发明一实施例中的一种Web应用防护终端的结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
为了阐释的目的而描述了本发明的一些示例性实施例,需要理解的是,本发明可通过附图中没有具体示出的其他方式来实现。
如图1所示,展示了本发明一实施例中的一种Web应用防护系统的性能优化方法的流程示意图。
应理解的是,本实施例提供的性能优化方法应用于Web应用防护系统,所述Web应用防护系统简称为WAF,在下述内容中所描述的Web应用防护系统或WAF,两者实则是等同的概念。
WAF从产品形态的角度通常可划分为如下三类:硬件设备类WAF、软件产品类WAF和基于云的WAF,本实施例中的性能优化方法原则上可适用于如上三类WAF中的任意一类。具体而言,所述硬件设备类WAF以一个独立硬件设备的形态存在,支持以多种方式(如透明桥接模式、旁路模式、反向代理等)部署在网络中,为后端的Web应用提供安全防护,具有性能好、功能全面、支持多种模式部署等优势。所述软件产品类WAF采用纯软件的方式实现,特点是安装简单、容易使用、成本低等等。所述基于云的WAF采用反向代理技术和虚拟主机技术原理,其工作流程是,将受保护的Web服务器建立虚拟主机,对每一个虚拟主机提供相应的安全策略来进行保护;同时将Web应用防火墙配置为反向代理服务器,用于代理Web服务器对外部网络的连接请求;Web应用防火墙不保存任何内部服务器的真实数据,所有的静态网页或者CGI程序都保存在内部的Web服务器上,因此对Web应用防火墙的攻击并不会使得网页信息遭到破坏,增加了Web服务器的安全性。
在本实施例中,所述Web应用防护系统的性能优化方法主要包括步骤S11~S16。下文,将结合具体的实施例来对各个步骤的实施过程及原理进行详细的解释与说明。
步骤S11:对通过Web应用防护系统的Web请求进行基础规则匹配。
需说明的是,本实施例所指的基础规则匹配,是指使用基础规则组中的多条规则进行匹配,与之对应的是全规则组。为便于理解,现结合图2所展示的不同规则匹配下CPU使用率的情况,三段波形分别代表了不含WAF、基础规则匹配、全规则匹配。
在本实施例中,将能够拦截一定数量的攻击请求的规则归入基础规则组,而将剩余规则归入全规则组。举例来说,目前约有80%的攻击请求其实都是由20%的规则进行拦截的,因此按照80%的攻击请求数量来设定,可将这20%的规则归入基础规则组,而将剩余的规则归入全规则组。
一般情况下,每条正则表达式匹配相同内容所耗费的时间及CPU消耗都不相同,因此将匹配时间少、CPU消耗少的规则归类为基础规则,而将匹配时间长、CPU消耗多的规则归类为全规则匹配。所述基础规则能够匹配到的内容较为简单且拦截的请求数量较多,例如固定的字符串等;所述全规则能够匹配的内容更为复杂且拦截的请求数量较少,能匹配字符状态更加多变的情况。
简单举例如下:基础规则匹配例如可选用前缀匹配,即为包含匹配,只要包含有配置的URL,就会被纳入统计中;例如,若设置URL为”/abc”,那么”/abc.html”就会被纳入统计中。全规则匹配例如有完全匹配,也即精准匹配,请求地址必须与配置的URL完全一致才会被纳入统计;例如,若设置URL为”/abc”,那么”/abc.html”就不会被纳入统计中。而精准匹配会被前缀匹配所需的时间更长,CPU消耗也更大。
但需说明的是,本实施例对于具体要将匹配消耗时间多长或者CPU消耗多大的匹配规则作为基础规则/全规则,并不做限定,用户可根据实际使用情况自行设定。
在图2中,全规则匹配情况下的CPU使用率高于基础规则匹配情况下的CPU使用率,而基础规则情况下的CPU使用率又高于不含WAF情况下的CPU使用率。当使用全规则进行请求匹配时,相比于不含WAF情况,CPU使用率上升了约70%,(即从约12%的CPU使用率上窜至约20%的CPU使用率),非常消耗资源,当出现大量请求时会导致资源不够,且规则多匹配时间长,影响响应速度。当使用基础规则进行请求匹配时,相比于不含WAF情况,CPU使用率仅上升了约25%(即从约12%的CPU使用率上窜至约15%的CPU使用率)。
步骤S12:对基础规则匹配结果为成功的Web请求进行拦截。
需说明的是,若使用基础规则匹配成功,则说明当前的攻击请求不正常,存在风险,应将其拦截;但若使用基础规则匹配不成功,也并不代表当前的攻击请求正常,而应进一步做报错信息的检测,具体如何检测报错信息将于下文内容中讲述。
步骤S13:将基础规则匹配结果为失败的Web请求的请求IP与敏感IP数据库进行匹配。
在一些示例中,所述敏感IP数据库存储有一或多条IP记录,每一条IP记录以IP为键,报错次数为值存储到该数据库中,每存入一条IP记录,数据库记录的值便会加1。
因此,所述将基础规则匹配结果为失败的Web请求的请求IP与敏感IP数据库进行匹配,其过程包括:将IP请求的IP值与敏感IP数据库中的IP键进行逐个匹配,若数据库中存在与IP请求的IP值一致的存储条目,则说明该请求IP与敏感IP数据库匹配,即该数据库中已经存储有所述请求IP的相关记录。
进一步地,所述敏感IP数据库的构建过程如下:当一Web请求的基础规则匹配结果为失败时,继而判断规则返回包内容中是否存在报错信息;若存在报错信息,则将所述Web请求的请求IP及报错次数存储于所述敏感IP数据库中。需说明的是,当恶意用户进行扫描时会存在大量不正常请求,导致应用处理出错返回报错信息。另外,每个Web请求对应数据库中的一条记录,这条记录以IP为键,对应的报错次数为值,以这种方式存储到数据库中,每次匹配后(即发现有报错信息)则将数据库记录的值加1。
通常而言,所述规则返回包内容中检测到的报错信息类型包括但不限于应用类报错信息和/或系统类报错信息。所述应用类报错信息是指各种应用程序中出现的报错信息,例如Java应用报错信息、python应用报错信息、数据库报错信息或经常性报错信息等,此处不做穷举;所述系统类报错信息主要包括操作系统报错信息等。。当存在多次大量匹配到这种报错信息时,就会以IP为键,匹配次数(即报错次数)为值存储到数据库中,每次匹配后数据库记录的值加1。
其中:Java应用的报错信息固定,通常是Java.lang.Unsupported Class VersionError,Java.lang.Array Index Out of Bounds Exception等错误类型加上前后的java堆栈;数据库报错信息例如有驱动版本问题、数据库时区问题、多表操作时排序规则不一致的问题、插入数据时主键或唯一键重复问题、程序启动时报Public Key Retrieval is notallowed问题、1040-Too many connections问题等;操作系统报错信息例如有拒绝访问、可用的存储区不足无法执行该命令、系统找不到指定的驱动器、系统无法将文件移到其他磁盘驱动器上、驱动器找不到所请求的扇区等等。
步骤S14:若匹配成功,则从所述敏感IP数据库中获取所述请求IP所对应的报错次数,并判断所述报错次数是否超过预设报错次数阈值。
在一些示例中,所述预设报错次数阈值的设定方式如下:首先,采集流经所述Web应用防护系统的HTTP/S流量;其次,按照域名和IP对所述HTTP/S流量进行分组,并统计各域名下单个IP在单位时间内的报错次数;最后,将每个域名下的所有IP在单位时间内的报错次数按序排列后按照一定比例进行区间划分,以确定报错次数较少的IP所对应的报错次数区间,并以该报错次数区间的区间最大值作为所述预设报错次数阈值。
举例来说,可将上述单位时间定义为1分钟,可将其图示化(将图形按照1分钟为单位转化为柱状图),计算每分钟的报错次数总和,并对每分钟总和的报错次数按升序进行从小到大排序。例如域名a.com下的各IP每分钟内的报错次数区间为[0,90],按照升序排序后的队列为[0,0,0,....5,.....6.......10......70,88,90],对该队列按照一定比例进行划分,例如划分为90%和10%,其中90%作为较大比例范围,该范围内的IP所对应的报错次数区间为[0,10],因此本示例中的预设报错次数阈值为10。换言之,域名a.com下的所有IP的报错次数区间大为[0,90],但实际上其中有90%的IP的报错次数落入区间[0,10],仅有10%的IP的报错次数落入区间[11,90]。应理解,上述示例及示例中的具体数字,仅用于参考,而非用于限定本发明的应用范围。
步骤S15:若是,则对所述Web请求进行全规则匹配。
由于本实施例将每个域名下的各IP的报错次数按照一定比例进行了区间划分,例如将90%的IP的报错次数划入区间[0,10],而另外10%的IP的报错次数划入区间[11,90]。因此,对于落入敏感IP池中的请求IP,需进一步进行报错次数区间判断,若所述请求IP的报错次数落入的是报错次数较少的区间[0,10],则可以判断虽然所述请求IP是敏感IP,但当前的报错次数较少,可以放过;而若所述请求IP的报错次数落入的是报错次数较多的区间[11,90],则可以判断该请求IP不仅是敏感IP,而且当前的报错次数较多,需要进一步进行全规则匹配。
步骤S16:根据全规则匹配结果,对所述Web请求进行相应的拦截或放过。
在本实施例中,对于全规则匹配结果为成功的请求IP,需要进行拦截;而对于全规则匹配结果为失败的请求IP,则放过请求。
由上述技术内容可知,本实施例提供的Web应用防护系统的性能优化方法,通过使用基础规则匹配来解决大量较为简单的请求,并通过设定敏感IP数据库和报错次数阈值来筛选出需要进行全规则匹配的请求,由此可大量降低全规则匹配的次数,大大降低了匹配所需的时间,并大大降低了CPU消耗,从而有效优化了WAF性能。
如图3所示,展示了本发明一实施例中的一种Web应用防护系统的结构示意图。所述Web应用防护系统300包括:基础规则匹配模块301、数据库模块302、全规则匹配模块303。
所述基础规则匹配模块301用于对通过Web应用防护系统的Web请求进行基础规则匹配,并对基础规则匹配结果为成功的Web请求进行拦截。
需说明的是,本实施例所指的基础规则匹配,是指使用基础规则组中的多条规则进行匹配,与之对应的是全规则组。在本实施例中,将能够拦截一定数量的攻击请求的规则归入基础规则组,而将剩余规则归入全规则组。举例来说,目前约有80%的攻击请求其实都是由20%的规则进行拦截的,因此按照80%的攻击请求数量来设定,可将这20%的规则归入基础规则组,而将剩余的规则归入全规则组。
一般情况下,每条正则表达式匹配相同内容所耗费的时间及CPU消耗都不相同,因此将匹配时间少、CPU消耗少的规则归类为基础规则,而将匹配时间长、CPU消耗多的规则归类为全规则匹配。所述基础规则能够匹配到的内容较为简单且拦截的请求数量较多,例如固定的字符串等;所述全规则能够匹配的内容更为复杂且拦截的请求数量较少,能匹配字符状态更加多变的情况。
简单举例如下:基础规则匹配例如可选用前缀匹配,即为包含匹配,只要包含有配置的URL,就会被纳入统计中;例如,若设置URL为”/abc”,那么”/abc.html”就会被纳入统计中。全规则匹配例如有完全匹配,也即精准匹配,请求地址必须与配置的URL完全一致才会被纳入统计;例如,若设置URL为”/abc”,那么”/abc.html”就不会被纳入统计中。而精准匹配会被前缀匹配所需的时间更长,CPU消耗也更大。
但需说明的是,本实施例对于具体要将匹配消耗时间多长或者CPU消耗多大的匹配规则作为基础规则/全规则,并不做限定,用户可根据实际使用情况自行设定。
所述数据库模块302用于将基础规则匹配结果为失败的Web请求的请求IP与敏感IP数据库进行匹配。
在一些示例中,所述数据库模块32用以构建敏感IP数据库,其构建过程包括:当一Web请求的基础规则匹配结果为失败时,继而判断规则返回包内容中是否存在报错信息;若存在报错信息,则将所述Web请求的请求IP及报错次数存储于所述敏感IP数据库中。需说明的是,当恶意用户进行扫描时会存在大量不正常请求,导致应用处理出错返回报错信息。另外,每个Web请求对应数据库中的一条记录,这条记录以IP为键,对应的报错次数为值,以这种方式存储到数据库中,每次匹配后(即发现有报错信息)则将数据库记录的值加1。
通常而言,所述规则返回包内容中检测到的报错信息类型包括但不限于:Java应用报错信息、数据库报错信息、操作系统报错信息等等。除此之外,若应用健全,不返回堆栈报错信息,经常性报错信息(err信息)也会导致记录报错。当存在多次大量匹配到这种err信息时,就会以IP为键,匹配次数(即报错次数)为值存储到数据库中,每次匹配后数据库记录的值加1。
其中:Java应用的报错信息固定,通常是Java.lang.Unsupported Class VersionError,Java.lang.Array Index Out of Bounds Exception等错误类型加上前后的java堆栈;数据库报错信息例如有驱动版本问题、数据库时区问题、多表操作时排序规则不一致的问题、插入数据时主键或唯一键重复问题、程序启动时报Public Key Retrieval is notallowed问题、1040-Too many connections问题等;操作系统报错信息例如有拒绝访问、可用的存储区不足无法执行该命令、系统找不到指定的驱动器、系统无法将文件移到其他磁盘驱动器上、驱动器找不到所请求的扇区等等。
所述全规则匹配模块303用于若与所述敏感IP数据库匹配成功,则从所述敏感IP数据库中获取所述请求IP所对应的报错次数并判断是否超过预设报错次数阈值;若所述请求IP所对应的报错次数超过所述预设报错次数阈值,则对所述Web请求进行全规则匹配,以根据全规则匹配结果对所述Web请求进行拦截或放过。
在一些示例中,所述预设报错次数阈值的设定方式如下:首先,采集流经所述Web应用防护系统的HTTP/S流量;其次,按照域名和IP对所述HTTP/S流量进行分组,并统计各域名下单个IP在单位时间内的报错次数;最后,将每个域名下的所有IP在单位时间内的报错次数按序排列后按照一定比例进行区间划分,以确定报错次数较少的IP所对应的报错次数区间,并以该报错次数区间的区间最大值作为所述预设报错次数阈值。
举例来说,可将上述单位时间定义为1分钟,可将其图示化(将图形按照1分钟为单位转化为柱状图),计算每分钟的报错次数总和,并对每分钟总和的报错次数按升序进行从小到大排序。例如域名a.com下的各IP每分钟内的报错次数区间为[0,90],按照升序排序后的队列为[0,0,0,....5,.....6.......10......70,88,90],对该队列按照一定比例进行划分,例如划分为90%和10%,其中90%作为较大比例范围,该范围内的IP所对应的报错次数区间为[0,10],因此本示例中的预设报错次数阈值为10。换言之,域名a.com下的所有IP的报错次数区间大为[0,90],但实际上其中有90%的IP的报错次数落入区间[0,10],仅有10%的IP的报错次数落入区间[11,90]。应理解,上述示例及示例中的具体数字,仅用于参考,而非用于限定本发明的应用范围。
应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,基础规则匹配模块可以为单独设立的处理元件,也可以集成在上述系统的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述系统的存储器中,由上述系统的某一个处理元件调用并执行以上基础规则匹配模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital signal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
如图4所示,展示了本发明一实施例中的一种Web应用防护终端的结构示意图。本实例提供的Web应用防护终端,包括:处理器41、存储器42、通信器43;存储器42通过系统总线与处理器41和通信器43连接并完成相互间的通信,存储器42用于存储计算机程序,通信器43用于和其他设备进行通信,处理器41用于运行计算机程序,使电子终端执行如上Web应用防护系统的性能优化方法的各个步骤。
上述提到的系统总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
于本发明提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。
综上所述,本发明提供Web应用防护系统的性能优化方法、系统、终端及介质,旨在通过使用基础规则匹配来解决大量较为简单的请求,并通过设定敏感IP数据库和报错次数阈值来筛选出需要进行全规则匹配的请求,由此可大量降低全规则匹配的次数,大大降低了匹配所需的时间,并大大降低了CPU消耗,从而有效优化了WAF性能。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种Web应用防护系统的性能优化方法,其特征在于,包括:
对通过Web应用防护系统的Web请求进行基础规则匹配;
对基础规则匹配结果为成功的Web请求进行拦截;
将基础规则匹配结果为失败的Web请求的请求IP与敏感IP数据库进行匹配;
若匹配成功,则从所述敏感IP数据库中获取所述请求IP所对应的报错次数,并判断所述报错次数是否超过预设报错次数阈值;
若是,则对所述Web请求进行全规则匹配,以根据全规则匹配结果对所述Web请求进行拦截或放过。
2.如权利要求1所述的Web应用防护系统的性能优化方法,其特征在于,所述敏感IP数据库的构建过程包括:
当一Web请求的基础规则匹配结果为失败时,判断规则返回包的内容中是否存在报错信息;
若是,则将所述Web请求的请求IP及报错次数存储于所述敏感IP数据库中。
3.如权利要求2所述的Web应用防护系统的性能优化方法,其特征在于,所述敏感IP数据库存储有IP记录;每一条所述IP记录都以所述Web请求的请求IP作为所述敏感IP数据库的键,并以所述请求IP所对应的报错次数作为键值;其中,所述敏感IP数据库中每存入一条IP记录,所述敏感IP数据库的记录值相应增加1。
4.如权利要求2所述的Web应用防护系统的性能优化方法,其特征在于,所述报错信息包括:应用类报错信息和/或系统类报错信息。
5.如权利要求1所述的Web应用防护系统的性能优化方法,其特征在于,所述预设报错次数阈值的设定方式包括:
采集流经所述Web应用防护系统的HTTP/S流量;
按照域名和IP对所述HTTP/S流量进行分组,并统计各域名下单个IP在单位时间内的报错次数;
将每个域名下的所有IP在单位时间内的报错次数按序排列后进行区间划分,以确定报错次数较少的IP所对应的报错次数区间,并以所述报错次数区间的区间最大值作为所述预设报错次数阈值。
6.如权利要求1所述的Web应用防护系统的性能优化方法,其特征在于,所述基础规则匹配和全规则匹配按照匹配所需时间和/或匹配所需计算资源来进行划分。
7.如权利要求6所述的Web应用防护系统的性能优化方法,其特征在于,所述基础规则匹配包括前缀匹配;所述全规则匹配包括完全匹配。
8.一种Web应用防护系统,其特征在于,包括:
基础规则匹配模块,用于对通过Web应用防护系统的Web请求进行基础规则匹配,并对基础规则匹配结果为成功的Web请求进行拦截;
数据库模块,用于将基础规则匹配结果为失败的Web请求的请求IP与敏感IP数据库进行匹配;
全规则匹配模块,用于若匹配成功,则从所述敏感IP数据库中获取所述请求IP所对应的报错次数,并判断所述报错次数是否超过预设报错次数阈值;若是,则对所述Web请求进行全规则匹配,以根据全规则匹配结果对所述Web请求进行拦截或放过。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述Web应用防护系统的性能优化方法。
10.一种Web应用防护终端,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如权利要求1至7中任一项所述Web应用防护系统的性能优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111327809.1A CN114070596A (zh) | 2021-11-10 | 2021-11-10 | Web应用防护系统的性能优化方法、系统、终端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111327809.1A CN114070596A (zh) | 2021-11-10 | 2021-11-10 | Web应用防护系统的性能优化方法、系统、终端及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114070596A true CN114070596A (zh) | 2022-02-18 |
Family
ID=80274737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111327809.1A Pending CN114070596A (zh) | 2021-11-10 | 2021-11-10 | Web应用防护系统的性能优化方法、系统、终端及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114070596A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726650A (zh) * | 2022-05-17 | 2022-07-08 | 北京航天驭星科技有限公司 | 任务请求处理方法、装置、电子设备及计算机可读介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6687732B1 (en) * | 1998-09-28 | 2004-02-03 | Inktomi Corporation | Adaptive traffic bypassing in an intercepting network driver |
CN103607316A (zh) * | 2012-03-15 | 2014-02-26 | 无锡信捷电气股份有限公司 | 一种基于工业物联网的状态防火墙状态检测系统及方法 |
CN107360162A (zh) * | 2017-07-12 | 2017-11-17 | 北京奇艺世纪科技有限公司 | 一种网络应用防护方法和装置 |
CN107800671A (zh) * | 2016-09-05 | 2018-03-13 | 北京金山云网络技术有限公司 | 一种防火墙规则的生成方法及装置 |
CN107948127A (zh) * | 2017-09-27 | 2018-04-20 | 北京知道未来信息技术有限公司 | 一种基于回馈和监督学习的waf检测方法及系统 |
EP3512178A1 (en) * | 2018-01-15 | 2019-07-17 | Akamai Technologies, Inc. | Symbolic execution for web application firewall performance |
CN110213375A (zh) * | 2019-06-04 | 2019-09-06 | 杭州安恒信息技术股份有限公司 | 一种基于云waf的ip访问控制的方法、装置及电子设备 |
CN110401644A (zh) * | 2019-07-12 | 2019-11-01 | 杭州迪普科技股份有限公司 | 一种攻击防护方法及装置 |
US20200259793A1 (en) * | 2015-11-17 | 2020-08-13 | Zscaler, Inc. | Stream scanner for identifying signature matches |
CN111786959A (zh) * | 2020-06-10 | 2020-10-16 | 中移(杭州)信息技术有限公司 | 安全防护方法、waf系统、电子设备及存储介质 |
CN112165447A (zh) * | 2020-08-21 | 2021-01-01 | 杭州安恒信息技术股份有限公司 | 基于waf设备的网络安全监测方法、系统和电子装置 |
CN112351082A (zh) * | 2020-10-27 | 2021-02-09 | 北京健康之家科技有限公司 | Http请求报文的限流方法及装置 |
CN112491784A (zh) * | 2020-10-14 | 2021-03-12 | 新浪网技术(中国)有限公司 | Web网站的请求处理方法及装置、计算机可读存储介质 |
CN113190838A (zh) * | 2021-03-29 | 2021-07-30 | 贵州电网有限责任公司 | 一种基于表达式的web攻击行为检测方法及系统 |
-
2021
- 2021-11-10 CN CN202111327809.1A patent/CN114070596A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6687732B1 (en) * | 1998-09-28 | 2004-02-03 | Inktomi Corporation | Adaptive traffic bypassing in an intercepting network driver |
CN103607316A (zh) * | 2012-03-15 | 2014-02-26 | 无锡信捷电气股份有限公司 | 一种基于工业物联网的状态防火墙状态检测系统及方法 |
US20200259793A1 (en) * | 2015-11-17 | 2020-08-13 | Zscaler, Inc. | Stream scanner for identifying signature matches |
CN107800671A (zh) * | 2016-09-05 | 2018-03-13 | 北京金山云网络技术有限公司 | 一种防火墙规则的生成方法及装置 |
CN107360162A (zh) * | 2017-07-12 | 2017-11-17 | 北京奇艺世纪科技有限公司 | 一种网络应用防护方法和装置 |
CN107948127A (zh) * | 2017-09-27 | 2018-04-20 | 北京知道未来信息技术有限公司 | 一种基于回馈和监督学习的waf检测方法及系统 |
EP3512178A1 (en) * | 2018-01-15 | 2019-07-17 | Akamai Technologies, Inc. | Symbolic execution for web application firewall performance |
CN110213375A (zh) * | 2019-06-04 | 2019-09-06 | 杭州安恒信息技术股份有限公司 | 一种基于云waf的ip访问控制的方法、装置及电子设备 |
CN110401644A (zh) * | 2019-07-12 | 2019-11-01 | 杭州迪普科技股份有限公司 | 一种攻击防护方法及装置 |
CN111786959A (zh) * | 2020-06-10 | 2020-10-16 | 中移(杭州)信息技术有限公司 | 安全防护方法、waf系统、电子设备及存储介质 |
CN112165447A (zh) * | 2020-08-21 | 2021-01-01 | 杭州安恒信息技术股份有限公司 | 基于waf设备的网络安全监测方法、系统和电子装置 |
CN112491784A (zh) * | 2020-10-14 | 2021-03-12 | 新浪网技术(中国)有限公司 | Web网站的请求处理方法及装置、计算机可读存储介质 |
CN112351082A (zh) * | 2020-10-27 | 2021-02-09 | 北京健康之家科技有限公司 | Http请求报文的限流方法及装置 |
CN113190838A (zh) * | 2021-03-29 | 2021-07-30 | 贵州电网有限责任公司 | 一种基于表达式的web攻击行为检测方法及系统 |
Non-Patent Citations (2)
Title |
---|
L. ZHANG AND M. HUANG: ""A Firewall Rules Optimized Model Based on Service-Grouping"", 《2015 12TH WEB INFORMATION SYSTEM AND APPLICATION CONFERENCE (WISA)》, 4 February 2016 (2016-02-04) * |
刘群华;马进;夏正敏;: "一种防御SYN Flood的自适应阈值状态模型", 信息安全与通信保密, no. 04, 10 April 2010 (2010-04-10) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726650A (zh) * | 2022-05-17 | 2022-07-08 | 北京航天驭星科技有限公司 | 任务请求处理方法、装置、电子设备及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101928908B1 (ko) | 멀웨어 스캐닝을 용이하게 하기 위하여 명성 표시자를 사용하기 위한 시스템 및 그 방법 | |
US11847214B2 (en) | Machine learning systems and methods for reducing the false positive malware detection rate | |
US10574700B1 (en) | Systems and methods for managing computer security of client computing machines | |
WO2019144548A1 (zh) | 安全测试方法、装置、计算机设备和存储介质 | |
EP3884413A1 (en) | Method and system for remediating cybersecurity vulnerabilities based on utilization | |
CN112769775B (zh) | 一种威胁情报关联分析方法、系统、设备及计算机介质 | |
CN112738107B (zh) | 一种网络安全的评价方法、装置、设备及存储介质 | |
CN111241545A (zh) | 一种软件的处理方法、系统、设备以及介质 | |
TWI610196B (zh) | 網路攻擊模式之判斷裝置、判斷方法及其電腦程式產品 | |
CN114070596A (zh) | Web应用防护系统的性能优化方法、系统、终端及介质 | |
US9646157B1 (en) | Systems and methods for identifying repackaged files | |
US9239907B1 (en) | Techniques for identifying misleading applications | |
TWI617939B (zh) | 攻擊節點偵測裝置、方法及其電腦程式產品 | |
WO2023151238A1 (zh) | 一种勒索病毒检测方法及相关系统 | |
WO2021144978A1 (ja) | 攻撃推定装置、攻撃推定方法及び攻撃推定プログラム | |
US11526446B1 (en) | Modifying caching amongst services from a history of requests and responses | |
CN110909349B (zh) | docker容器内反弹shell的检测方法和系统 | |
CN114386025A (zh) | 异常检测方法、装置、电子设备及存储介质 | |
CN112560033A (zh) | 基于用户上下文的基线扫描方法及装置 | |
CN116702146B (zh) | 一种Web服务器的注入漏洞扫描方法和系统 | |
US11856019B2 (en) | Methods and systems for injection detection to secure against an injection attack | |
US20240214399A1 (en) | System and method for filtering events for transmission to remote devices | |
KR102366846B1 (ko) | 데이터유출 탐지 보안 시스템 및 방법 | |
CN116647412B (zh) | 一种Web服务器的安全防御方法和系统 | |
CN114598509B (zh) | 一种确定脆弱性结果的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |