CN110177113A - 互联网防护系统及访问请求处理方法 - Google Patents
互联网防护系统及访问请求处理方法 Download PDFInfo
- Publication number
- CN110177113A CN110177113A CN201910491438.7A CN201910491438A CN110177113A CN 110177113 A CN110177113 A CN 110177113A CN 201910491438 A CN201910491438 A CN 201910491438A CN 110177113 A CN110177113 A CN 110177113A
- Authority
- CN
- China
- Prior art keywords
- access request
- request
- engine
- type
- setting
- 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
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
- 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)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种互联网防护系统及访问请求处理方法,互联网防护系统包括:沿访问请求的传输方向依次设置的设置于应用层的规则引擎、语义分析引擎以及人工智能引擎;可以通过互联网防护系统包含的规则引擎、语义分析引擎以及人工智能引擎校验各种访问请求。由于不同业务对应的访问请求不同,为了更加灵活的满足各种业务的需求,规则引擎、语义分析引擎以及人工智能引擎当前的工作模式为生效模式、观察模式和关闭模式中任一工作模式。其中,利用关闭模式可以变更互联网防护系统包含的引擎的数目,利用观察模式可以获得引擎校验访问请求的校验数据,可以分析引擎校验访问请求的准确率。
Description
技术领域
本发明涉及互联网技术领域,更具体的说,是涉及一种互联网防护系统及访问请求处理方法。
背景技术
近年来,互联网安全问题越来越复杂,安全威胁正在飞速增长,例如,黑客攻击、蠕虫病毒、DDoS(Distributed Denial of Service,分布式拒绝服务)攻击、SQL(StructuredQuery Language,结构化查询语言)注入、跨站脚本、互联网应用安全漏洞利用等,对信息网络和核心业务造成严重破坏。互联网防护系统也因此成为当今互联网领域的热门产品。
互联网防护系统是针对互联网服务器的传输层及应用层访问控制类产品,其通过规则引擎加载预先配置的规则,并构建出用于快速检测访问请求的规则对象。当访问请求来临时,例如HTTP(Hyper Text Transport Protocol,超文本协议)请求,规则引擎采用一定的逻辑根据规则对象去校验访问请求,以保证互联网应用安全。
综上,规则引擎是根据预设的规则对访问请求进行校验,针对规则无法或不易提取的访问请求而言,无法通过规则引擎进行校验。
发明内容
有鉴于此,本发明提供了一种互联网防护系统及访问请求处理方法,以克服现有技术中规则引擎针对规则无法或不易提取的访问请求而言,无法通过规则引擎进行校验的问题。
为实现上述目的,本发明提供如下技术方案:
第一方面,一种互联网防护系统,包括:
设置在应用层的规则引擎,用于基于设定规则,确定接收到的访问请求所属的请求类型,所述请求类型为攻击类型或非攻击类型;执行第一设定操作;
其中,所述规则引擎当前的工作模式为生效模式、观察模式和关闭模式中任一工作模式;
在生效模式下,所述第一设定操作为若访问请求为攻击类型,执行第一设定行为;在观察模式下,所述第一设定操作为记录所述规则引擎确定的访问请求所属请求类型;在关闭模式下,所述第一设定操作为所述规则引擎不执行任何操作;
设置在应用层的语义分析引擎,用于接收所述规则引擎输出的访问请求;基于设定的注入攻击信息,确定所述规则引擎输出的访问请求所属的请求类型;执行第二设定操作;
其中,所述语义分析引擎当前的工作模式为生效模式、观察模式和关闭模式中任一工作模式;
在生效模式下,所述第二设定操作为若访问请求为攻击类型,执行第二设定行为;在观察模式下,所述第二设定操作为记录所述语义分析引擎确定的访问请求所属请求类型;在关闭模式下,所述第二设定操作为所述语义分析引擎不执行任何操作;
设置在应用层的人工智能引擎,用于接收所述语义分析引擎输出的访问请求;将所述语义分析引擎输出的访问请求输入预构建的分布式攻击模型,通过所述分布式攻击模型预测访问请求所属的请求类型,所述人工智能引擎包括至少一个分布式攻击模型;执行第三设定操作;其中,所述分布式攻击模型具有使预测的访问请求的请求类型趋于该访问请求对应的实际请求类型的能力;
其中,所述人工智能引擎当前的工作模式为生效模式、观察模式和关闭模式中任一工作模式;
在生效模式下,所述第三设定操作为若访问请求为攻击类型,执行第三设定行为;在观察模式下,所述第三设定操作为记录所述人工智能引擎确定的访问请求所属请求类型;在关闭模式下,所述第三设定操作为所述人工智能引擎不执行任何操作。
第二方面,一种访问请求处理方法,包括:
获取第一访问请求集合,所述第一访问请求集合包括一个或多个访问请求;
基于设定规则,确定所述第一访问请求集合包含的访问请求所属的请求类型,所述请求类型为攻击类型或非攻击类型;
执行第一设定操作,在生效模式下,所述第一设定操作为若所述第一访问请求集合包含的访问请求为攻击类型,执行第一设定行为;在观察模式下,所述第一设定操作为记录所述第一访问请求集合包含的访问请求所属的请求类型;
基于设定的注入攻击信息,确定第二访问请求集合包含的访问请求所属的请求类型,所述第二访问请求集合属于所述第一访问请求集合,所述第二访问请求集合包含的访问请求的数目与所述第一设定操作的操作结果有关;
执行第二设定操作,在生效模式下,所述第二设定操作为若所述第二访问请求集合包含的访问请求为攻击类型,执行第二设定行为;在观察模式下,所述第二设定操作为记录所述第二访问请求集合包含的访问请求所属请求类型。
经由上述的技术方案可知,与现有技术相比,本发明公开了一种互联网防护系统,互联网防护系统包括:沿访问请求的传输方向依次设置的设置于应用层的规则引擎、语义分析引擎、人工智能引擎;即访问请求首先经过规则引擎、再次经过语义分析引擎、最后经过人工智能引擎;不同引擎校验访问请求的维度不同,规则引擎从设定规则方面校验访问请求,适用于规则容易归纳和提取的访问请求;语义分析引擎从设定的注入攻击信息校验访问请求,适用于规则不容易提取但访问请求语法容易提取的访问请求;人工智能引擎利用预先构建的分布式攻击模型校验访问请求,适用于规则和语法均不易提取的访问请求,例如,分布式攻击类型的访问请求。综上,互联网防护系统可以校验各种访问请求。
进一步的,由于不同业务对应的访问请求不同,为了更加灵活的满足各种业务的需求,规则引擎、语义分析引擎以及人工智能引擎当前的工作模式为生效模式、观察模式和关闭模式中任一工作模式。其中,在生效模式下,一个引擎对应的设定操作为若访问请求为攻击类型,执行与该引擎对应的设定行为;在观察模式下,一个引擎对应的设定操作为记录该引擎确定的访问请求所属请求类型;在关闭模式下,引擎不执行任何操作。
利用关闭模式可以变更互联网防护系统包含的引擎的数目,例如,若业务对应的访问请求不需要人工智能引擎,则可以将人工智能引擎设置成关闭模式,这样相当于互联网防护系统包括规则引擎以及语义分析引擎。
利用观察模式可以获得引擎校验访问请求的校验数据,可以分析引擎校验访问请求的准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的互联网防护系统的应用场景示意图;
图2为本发明实施例提供的互联网防护系统的结构图;
图3为本发明实施例提供的规则引擎的结构图;
图4为本发明实施例提供的人工智能引擎的结构图;
图5为本发明实施例提供的一种访问请求处理方法流程图;
图6为本发明实施例提供的另一种访问请求处理方法流程图;
图7为本发明实施例提供的一种访问请求处理装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的互联网防护系统可以是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的边界上构造的保护屏障。
在一可选实施例中,互联网防护系统可以包含于网络防火墙。
如图1所示,为本发明实施例提供的互联网防护系统的应用场景示意图。
互联网防护系统11可以接收互联网传输的无线数据,无线数据中包括至少一个访问请求。互联网防护系统11可以对访问请求进行校验,确定访问请求所属的请求类型,若访问请求属于攻击类型,互联网防护系统11执行设定行为,例如,拦截该访问请求,或,验证该访问请求等等;若该访问请求属于非攻击类型,互联网防护系统11将访问请求传输至电子设备12。
如图1所述,电子设备12包括处理器121、存储器122、通信接口123以及通信总线124。
处理器121可以是通用处理器,例如通用中央处理器(CPU)、网络处理器(NetworkProcessor,简称NP)、微处理器等,也可以是特定应用集成电路(application-specificintegrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
处理器121可包括主处理器,还可包括基带芯片、调制解调器等。
存储器122中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器122可以包括只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
处理器121执行存储器122中所存放的程序,以及调用其他设备,可用于实现本发明实施例所提供的访问请求处理方法中的各个步骤。
通信接口123可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)、互联网防护系统11等。
通信总线124可包括一通路,在电子设备12各个部件之间传送信息。
下面结合互联网防护系统的具体结构对互联网防护系统校验访问请求的过程进行说明。
如图2所示,为本发明实施例提供的互联网防护系统的结构图。
互联网防护系统可以包括:规则引擎21、语义分析引擎22、人工智能引擎23。
在一可选实施例中,规则引擎21、语义分析引擎22、人工智能引擎23可以设置在应用层。
规则引擎21,用于基于设定规则,确定接收到的访问请求所属的请求类型,所述请求类型为攻击类型或非攻击类型;执行第一设定操作。
其中,所述规则引擎当前的工作模式为生效模式、观察模式和关闭模式中任一工作模式;
在生效模式下,所述第一设定操作为若访问请求为攻击类型,执行第一设定行为;在观察模式下,所述第一设定操作为记录所述规则引擎确定的访问请求所属请求类型;在关闭模式下,所述第一设定操作为所述规则引擎不执行任何操作。
语义分析引擎22,用于接收所述规则引擎输出的访问请求;基于设定的注入攻击信息,确定所述规则引擎输出的访问请求所属的请求类型;执行第二设定操作。
其中,所述语义分析引擎当前的工作模式为生效模式、观察模式和关闭模式中任一工作模式;
在生效模式下,所述第二设定操作为若访问请求为攻击类型,执行第二设定行为;在观察模式下,所述第二设定操作为记录所述语义分析引擎确定的访问请求所属请求类型;在关闭模式下,所述第二设定操作为所述语义分析引擎不执行任何操作。
人工智能引擎23,用于接收所述语义分析引擎输出的访问请求;将所述语义分析引擎输出的访问请求输入预构建的分布式攻击模型,通过所述分布式攻击模型预测访问请求所属的请求类型,所述人工智能引擎包括至少一个分布式攻击模型;执行第三设定操作;其中,所述分布式攻击模型具有使预测的访问请求的请求类型趋于该访问请求对应的实际请求类型的能力。
其中,所述人工智能引擎当前的工作模式为生效模式、观察模式和关闭模式中任一工作模式;
在生效模式下,所述第三设定操作为若访问请求为攻击类型,执行第三设定行为;在观察模式下,所述第三设定操作为记录所述人工智能引擎确定的访问请求所属请求类型;在关闭模式下,所述第三设定操作为所述人工智能引擎不执行任何操作。
本申请实施例中,访问请求是依次经过规则引擎21、语义分析引擎22以及人工智能引擎23的;可以理解的是,基于引擎的工作模式以及访问请求的请求类型,经过3个引擎的访问请求可能不同,可能相同。
例如,若规则引擎21、语义分析引擎22以及人工智能引擎23的工作状态均是观察模式或均是关闭模式,那么依次经过三个引擎的访问请求相同。
若规则引擎21、语义分析引擎22以及人工智能引擎23中任一个或两个或三个引擎的工作状态为生效模式;若一个或多个访问请求为攻击类型,例如,规则引擎21确定某个访问请求为攻击类型,那么可能拦截该访问请求,拦截后的访问请求不会再经过语义分析引擎22以及人工智能引擎23,即经过三个引擎的访问请求可能不同。
若规则引擎21、语义分析引擎22以及人工智能引擎23中任一个或两个或三个引擎的工作状态为生效模式,人工智能引擎23输出的访问请求的数量可能是0个或1个或多个。
下面对互联网防护系统中三种引擎设置在应用层的原因进行说明。
可选的,开放式系统互联(Open System Interconnection,OSI)是一个开放性的通信系统互联参考模型,OSI参考模型把网络通信的工作分为七层,每层都可以有几个子层。OSI的七层由低到高依次为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,其中,物理层、数据链路层、网络层主要面向数据通信,会话层、表示层、应用层主要面向资源子网。
上述应用层主要负责向用户提供各种网络应用服务,如文件传输、电子邮件、远程访问等。应用层较容易受到安全威胁,如背景技术中所述的黑客攻击、蠕虫病毒、DDoS攻击、SQL注入、跨站脚本、互联网应用安全漏洞利用等,导致通信网络无法提供正常服务,甚至瘫痪。基于此,可以将规则引擎21、语义分析引擎22、人工智能引擎23设置在应用层,以抵御各种安全威胁。
考虑到不同业务对应的访问请求不同,因此为了满足各种业务的需求,可以在互联网防护系统设置至少一种类型的引擎,以抵御各种安全威胁。
可选的,可以在互联网防护系统设置三种类型的引擎:规则引擎21、语义分析引擎22、人工智能引擎23。
可选的,可以预设上述三种引擎的优先级,其中,针对访问请求,优先级高的引擎可以首先校验请求类型,然后再由优先级低的引擎校验请求类型,以更加准确地确定不同访问请求的请求类型,以更好地防护互联网防护系统。
可选的,考虑到规则引擎21中设置的规则一般较为严格,判断请求类型的准确度高,因此可以将规则引擎21设置为较高的优先级;相对于人工智能引擎23,语义分析引擎22判断请求类型的准确度较高(通常情况下,仅有访问请求的文本有明显异常的,语义分析引擎22才会将其请求类型确定为攻击类型,也即语义分析引擎22对访问请求的误拦截概率较低),因此可以将语义分析引擎22设置为优先级高于人工智能引擎23,且低于规则引擎21,即访问请求首先经过规则引擎21、再次经过语义分析引擎22、最后经过人工智能引擎23。也即,沿访问请求的传输方向依次设置的引擎分别为:规则引擎21、语义分析引擎22、人工智能引擎23。
接下来基于上述三种引擎的优先级,对上述互联网防护系统中三种引擎校验访问请求的过程分别进行介绍。
第一种:规则引擎21校验访问请求的过程可以包括:
A1、基于设定规则,确定接收到的访问请求所属的请求类型,所述请求类型为攻击类型或非攻击类型。
可选的,对于互联网防护系统11接受到的访问请求,可以首先通过规则引擎21进行校验,该规则引擎21对于规则容易提取和归纳的访问请求的请求类型的校验准确度较高。
可选的,根据业务的不同,可以在规则引擎21中设置不同的规则;可选的,若电子设备12对访问请求的安全程度要求较高,则可以预设较严格的规则;若电子设备12对访问请求的安全程度要求较低,则可以预设相对宽松的规则。
例如,若访问电子设备12的请求为支付请求,则可能需要设置较严格的规则,一个可选的较严格的规则为:禁止IP在第一预设范围内的客户端发起的支付请求;若访问电子设备12的请求为浏览器访问请求,则可能需要设置较宽松的规则,一个可选的较宽松的规则为:对IP在第二预设范围内,且http-refer为第一字段,且客户端类型非常见浏览器的请求进行验证码验证。
可选的,基于设定的规则,规则引擎21可以对访问请求进行校验,以确定接收到的访问请求所属的请求类型;可选的,上述请求类型可以为攻击类型或非攻击类型。
例如,规则引擎21设定的规则为:禁止IP在第一预设范围内的客户端发起的支付请求。客户端A发起第一支付请求,规则引擎21可以校验该第一支付请求对应的IP,若该IP处于第一预设范围内,则表征该访问请求的请求类型为攻击类型,也即该访问请求可能存在安全威胁;若该IP未处于第一预设范围内,则表征该访问请求的请求类型为非攻击类型,也即该访问请求不存在安全威胁,则可以通过该访问请求访问电子设备12。
可选的,规则引擎21可以针对不同的业务设定不同的规则;可选的,规则引擎21可以为不同业务分别设定至少一个规则。
A2、执行第一设定操作。
可选的,规则引擎21对应有多种工作模式,在规则引擎21校验访问请求的过程中,可以根据不同工作模式执行不同的第一设定操作;可选的,规则引擎21在校验访问请求的过程中所处的工作模式为生效模式、观察模式或关闭模式中任一工作模式。
其中,若规则引擎21处于生效模式,该规则引擎21对应的第一设定操作为若访问请求为攻击类型,执行与规则引擎21对应的第一设定行为;可选的,若访问请求的请求类型为非攻击类型,将访问请求传输至语义分析引擎22。
可选的,第一设定行为可以包括针对访问请求进行拦截、验证以及限流中至少一种。
其中,上述拦截是指,若访问请求为攻击类型的请求,则可以直接对其进行拦截,不允许该访问请求访问电子设备12;上述验证是指,若访问请求为攻击类型的请求,可以通过验证码验证该访问请求,若验证通过,则该访问请求可以访问电子设备12,若验证失败,则不允许访问电子设备12;上述限流是指,对于伪装的大量正常的访问请求攻击,可以通过限流模式限制其访问电子设备12的次数,例如一秒内仅允许10kb的可疑的攻击类型的访问请求访问电子设备12。
可选的,若确定访问请求的请求类型为非攻击类型,还可以将该访问请求对应的规则加入白名单。
若规则引擎21处于观察模式,该规则引擎21对应的第一设定操作为记录规则引擎21确定的访问请求的请求类型,即记录访问请求属于攻击类型还是非攻击类型;在观察模式下,即使访问请求为攻击类型,也不会对访问请求执行第一设定行为,即规则引擎21处于观察模式不对攻击类型的访问请求执行第一设定行为,也即规则引擎21对该访问请求进行放行处理,可选的,可以将该访问请求的行为(即所属的请求类型)记录在日志上用于对后续的访问请求数据进行分析。
若规则引擎21处于关闭模式,第一设定操作为规则引擎21不执行任何操作,即不执行上述步骤A1和A2,也即相当于互联网防护系统不包含该规则引擎21。
第二种:语义分析引擎22校验访问请求的过程可以包括:
B1、接收所述规则引擎输出的访问请求。
可选的,若规则引擎21经上述校验后,可以将其放行的访问请求输入至语义分析引擎22,即语义分析引擎22可以接收规则引擎21输出的访问请求。
上述放行的访问请求至少可以包括:规则引擎21处于生效模式下确定为非攻击类型的访问请求,或,规则引擎21处于观察模式下输出的所有访问请求,或,规则引擎21处于关闭模式下输出的所有的访问请求。
B2、基于设定的注入攻击信息,确定所述规则引擎输出的访问请求所属的请求类型。
可以理解的是,若规则引擎21处于生效模式或观察模式,规则引擎21校验访问请求所属的请求类型可能出错,因此对于规则引擎21确定的非攻击类型的访问请求还可以通过语义分析引擎22进行二次校验,从而进一步提高访问请求的请求类型的校验准确度。其中,语义分析引擎22可以对访问请求的文本进行语义分析,从而确定该访问请求所属的请求类型;语义分析引擎22对于规则不容易提取但访问请求语法容易提取的访问请求的请求类型的校验准确度较高。
若规则引擎21处于观察状态或关闭状态,那么语义分析引擎22接收到的访问请求与规则引擎21接收到的访问请求相同。
若规则引擎21处于生效状态,规则引擎21可能会针对攻击类型的访问请求执行第一设定行为,可能导致语义分析引擎22接收到的访问请求的数目小于规则引擎21接收到的访问请求的数目,即语义分析引擎22接收到的访问请求是规则引擎21接收到的访问请求的子集。
若规则引擎21处于生效状态,但是访问请求均为非攻击类型,那么规则引擎21接收到的访问请求与语义分析引擎22接收到的访问请求相同。
可选的,根据业务的不同,可以在语义分析引擎22中设置不同的注入攻击信息;可选的,可以通过逻辑运算(例如“与”、“或”、“非”)对语义进行组合,作为一条注入攻击信息;可选的,上述语义可以为攻击类型的访问请求中出现较多的词语。
例如设置的注入攻击信息可以为:(名称=“penta”或者名称=“security”)与关键词=“pentasec”;例如设置的注入攻击信息可以为:<脚本类型=“文本/JavaScript”>警报(“penta”);<脚本>。
可选的,可以将访问请求的文本分解为最小单元,并基于注入攻击信息,检查该最小单元是否存在攻击;可选的,可以通过判断该最小单元与注入攻击信息的语义的相似度,判断该最小单元是否存在攻击。
可选的,若访问请求的文本分解的若干最小单元中,至少一个最小单元存在攻击,则访问请求的请求类型为攻击类型;若访问请求的文本分解的若干最小单元中,存在攻击的最小单元的个数大于预设阈值,则访问请求的请求类型为攻击类型,这里的预设阈值可以根据实际需求取值。
在一可选实施例中,注入式攻击是指将恶意的输入作为命令或查询的一部分,以改变程序执行的流程,例如,SQL注入式攻击、XSS(Cross Site Scripting,跨站脚本攻击)注入式攻击、CRLF(carriage return/line feed)注入式攻击、Email头注入式攻击、Host头注入式攻击、LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)注入式攻击、OS命令注入式攻击等等;本申请可以针对注入式攻击设置上述注入攻击信息,即注入攻击信息可以为针对能够改变原始程序流程的恶意输入的信息。
B3、执行第二设定操作。
可选的,语义分析引擎22对应有多种工作模式,在语义分析引擎22校验访问请求的过程中,可以根据不同工作模式执行不同的第二设定操作;可选的,语义分析引擎22在校验访问请求的过程中所处的工作模式为生效模式、观察模式或关闭模式中任一工作模式。
其中,若语义分析引擎22处于生效模式,语义分析引擎22对应的第二设定操作为若访问请求为攻击类型,执行与语义分析引擎22对应的第二设定行为。可选的,若访问请求的请求类型为非攻击类型,将访问请求传输至人工智能引擎23。
可选的,上述第二设定行为可以包括针对访问请求进行拦截、验证以及限流中至少一种。
可选的,若确定访问请求的请求类型为非攻击类型,则可以将该访问请求对应的注入非攻击信息加入白名单。
若语义分析引擎22处于观察模式,语义分析引擎22对应的第二设定操作为记录语义分析引擎22确定的访问请求所属的请求类型,即记录访问请求属于攻击类型还是非攻击类型;在该观察模式下,即使访问请求为攻击类型,也不会对访问请求执行第二设定行为,也即语义分析引擎22对该访问请求进行放行处理,可选的,可以将该访问请求的行为(即所属的请求类型)记录在日志上用于对后续的访问请求数据进行分析。
若语义分析引擎22处于关闭模式,第二设定操作为语义分析引擎22不执行任何操作,即不执行上述步骤B1、B2以及B3,也即相当于互联网防护系统不包含语义分析引擎22。
第三种:人工智能引擎23(人工智能引擎包括至少一个分布式攻击模型)校验访问请求的过程可以包括:
C1、接收所述语义分析引擎输出的访问请求。
可选的,规则引擎21以及语义分析引擎22经上述校验后,可以将其放行的访问请求输入至人工智能引擎23,即人工智能引擎23可以接收语义分析引擎22输出的访问请求。
上述放行的访问请求至少可以包括:语义分析引擎22处于生效模式下确定为非攻击类型的访问请求,或,语义分析引擎22处于观察模式下放行的所有访问请求,或,语义分析引擎22处于关闭模式下放行的所有的规则引擎21放行的访问请求。
C2、将所述语义分析引擎输出的访问请求输入预构建的分布式攻击模型,通过所述分布式攻击模型预测访问请求所属的请求类型;其中,所述分布式攻击模型具有使预测的访问请求的请求类型趋于该访问请求对应的实际请求类型的能力。
可选的,若语义分析引擎22处于生效模式或观察模式,对于语义分析引擎22输出的访问请求还可以通过人工智能引擎23进行再次校验,由于人工智能引擎23中包括的至少一个分布式攻击模型具有使预测的访问请求的请求类型趋于该访问请求对应的实际请求类型的能力,从而更好地提高访问请求的请求类型的校验准确度。其中,人工智能引擎23是在海量病毒样本数据中归纳出的一套智能算法,可以自己发现并学习病毒的变化规律,且具有无需频繁更新特征库、无需分析病毒静态特征、无需分析病毒行为的特点;人工智能引擎23对于规则和语法均不易提取的访问请求的请求类型的校验准确率较高。
例如,若某业务被大量爬虫程序骚扰,而爬虫程序对应的访问请求由于无法用短平快的规则去匹配过滤,且语义分析引擎22对爬虫程序对应的较复杂的访问请求不适用,此时可以通过人工智能引擎23来确定爬虫程序对应的访问请求的请求类型。
可选的,不同的业务对应的访问请求可以通过不同的分布式攻击模型确定其请求类型。
可选的,根据业务的不同,可以将业务对应的访问请求输入不同的分布式攻击模型,每一分布式攻击模型可以用于预测访问请求所属的请求类型,并且预测的访问请求的请求类型趋于该访问请求对应的实际请求类型。
需要说明的是,上述不同的分布式攻击模型是通过训练得到的,该训练过程具体可以包括:可以以历史访问请求为训练样本,以标注的访问请求的访问类型为训练标签进行训练分布式攻击模型;可选的,可以在训练分布式攻击模型时,若训练的分布式攻击模型具有使预测的访问请求的请求类型趋于该访问请求对应的实际请求类型的能力的情况下,停止训练该分布式攻击模型。
可选的,可以是以历史访问请求为训练样本,以标注的访问请求的访问类型为训练标签训练神经网络得到的分布式攻击模型。
C3、执行第三设定操作。
可选的,人工智能引擎23对应有多种工作模式,在人工智能引擎23校验访问请求的过程中,可以根据不同工作模式执行不同的第三设定操作;可选的,人工智能引擎23在校验访问请求的过程中所处的工作模式为生效模式、观察模式或关闭模式中任一工作模式。
其中,若人工智能引擎23处于生效模式,人工智能引擎23对应的第三设定操作为若访问请求为攻击类型,执行与人工智能引擎23对应的第三设定行为;可选的,若访问请求的请求类型为非攻击类型,将访问请求传输至电子设备。
可选的,上述第三设定行为可以包括针对访问请求进行拦截、验证以及限流中至少一种。
若人工智能引擎23处于观察模式,人工智能引擎23对应的第三设定操作为记录人工智能引擎23确定的访问请求所属的请求类型,即记录访问请求属于攻击类型还是非攻击类型;在该观察模式下,即使访问请求为攻击类型,也不会对访问请求执行第三设定行为,即人工智能引擎23处于观察模式不对攻击类型的访问请求执行第三设定行为,也即人工智能引擎23对该访问请求进行放行处理,可选的,可以将该访问请求对应的行为(即所属的请求类型)记录在日志上用于对后续的访问请求数据进行分析。
若人工智能引擎23处于关闭模式,第三设定操作为人工智能引擎23不执行任何操作,即不执行上述步骤C1、C2以及C3,也即相当于互联网防护系统不包含人工智能引擎23。
需要说明的是,在一次校验访问请求的过程中,规则引擎21、语义分析引擎22以及人工智能引擎23可以处于不同的工作模式下。
可选的,可以通过关闭模式调节互联网防护系统包含的引擎的数量。
例如,针对一次校验访问请求的过程,规则引擎21可以处于生效模式,从而对于其确定为攻击类型的访问请求执行第一设定行为;语义分析引擎22可以处于观察模式下,从而记录访问请求所属的请求类型;人工智能引擎23可以处于关闭模式。
综上,规则引擎21对于规则容易提取和归纳的访问请求,可以更精确且快速地确定其是否为攻击类型的访问请求;语义分析引擎22对于识别较为复杂的攻击对应的访问请求更为准确,因此可以将其识别的访问请求作为标注好的学习数据供人工智能引擎23训练分布式攻击模型;人工智能引擎23对于难以定义规则或难以提取访问请求语法的分布式攻击行为(例如分布式拒绝服务攻击)有较好的拦截效果。因此,上述三种引擎通过合理的配合协作,即可对攻击类型的访问请求具有更优的拦截效果。
前述已经说明了,可以为规则引擎21、语义分析引擎22以及人工智能引擎23预设至少三种不同的工作模式,其中,在生效模式下,任一引擎针对攻击类型的访问请求执行与相应引擎对应的设定行为(可选的,设定行为可以包括拦截、验证和限流中至少一种);在关闭模式下,任一引擎不执行任何操作;在观察模式下,任一引擎用于记录访问请求所属的请求类型,可选的,可以基于任一引擎记录的访问请求所属的请求类型对后续的访问请求数据进行分析。基于此,对于上述任一引擎在观察模式下,本发明实施例提供的互联网防护系统可以基于记录的访问请求所属的请求类型,对引擎中包含的内容进行更新(本文中,“引擎中包含的内容”在规则引擎21中为设定规则,在语义分析引擎22中为注入攻击信息,在人工智能引擎23中为分布式攻击模型),接下来针对上述三种引擎,分别介绍上述更新过程如下:
第一种:规则引擎21更新其中的设定规则的过程可以包括:基于在观察模式下确定的访问请求所属的请求类型,与,访问请求对应的实际请求类型的比较结果,更新所述设定规则。
可选的,可以理解的是,在一次互联网防护系统(其中包括规则引擎21、语义分析引擎22以及人工智能引擎23)校验访问请求的过程中,规则引擎21处于观察模式下可以确定一个或多个访问请求所属的请求类型,可以通过人为分析可以确定一个或多个访问请求对应的实际请求类型;若规则引擎21在观察模式下确定的访问请求所属的请求类型,与,访问请求对应的实际请求类型不同,则表征规则引擎21设定的规则不符合要求,因此可以基于访问请求对应的实际请求类型,对规则引擎21中的设定规则进行更新;相反,若上述比较结果相同,表征规则引擎21设定的规则符合要求,因此可以不对规则引擎21中的设定规则进行更新。
第二种:语义分析引擎22更新其中的注入攻击信息的过程可以包括:基于在观察模式下确定的访问请求所属的请求类型,与,访问请求对应的实际请求类型的比较结果,更新所述注入攻击信息。
可选的,可以理解的是,在一次互联网防护系统(其中包括规则引擎21、语义分析引擎22以及人工智能引擎23)校验访问请求的过程中语义分析引擎22处于观察模式下可以确定一个或多个访问请求所属的请求类型,可以通过人为分析可以确定一个或多个访问请求对应的实际请求类型;若语义分析引擎22在观察模式下确定的访问请求所属的请求类型,与,访问请求对应的实际请求类型不同,则表征语义分析引擎22中的注入攻击信息不符合要求,因此可以基于访问请求对应的实际请求类型,对语义分析引擎22中的注入攻击信息进行更新;相反,若上述比较结果相同,表征语义分析引擎22中的注入攻击信息符合要求,因此可以不对语义分析引擎22中的注入攻击信息进行更新。
第三种,人工智能引擎23更新其中的分布式攻击模型的过程可以包括:基于在观察模式下访问请求对应的预测的请求类型,与,访问请求对应的实际请求类型的比较结果,训练所述分布式攻击模型,以得到更新后的分布式攻击模型。
可选的,可以理解的是,在一次互联网防护系统(其中包括规则引擎21、语义分析引擎22以及人工智能引擎23)校验访问请求的过程中,人工智能引擎23处于观察模式下可以预测一个或多个访问请求所属的请求类型,可以通过人为分析可以确定一个或多个访问请求对应的实际请求类型;若人工智能引擎23在观察模式下预测的访问请求所属的请求类型,与,访问请求对应的实际请求类型不同,则表征人工智能引擎23中的分布式攻击模型不符合要求,因此可以基于访问请求对应的实际请求类型,对规则引擎21中的分布式攻击模型进行训练,以得到更新后的分布式攻击模型;相反,若上述比较结果相同,表征人工智能引擎23中的分布式攻击模型符合要求,因此可以不对人工智能引擎23中的分布式攻击模型进行训练。
需要说明的是,可以同时对互联网防护系统中的各个引擎中包含的内容进行更新,也可以仅更新部分引擎中包含的内容。
根据上一实施例中介绍,互联网防护系统中规则引擎21、语义分析引擎22和人工智能引擎23中任一引擎可以确定访问请求所属的请求类型,而该访问请求还对应一个实际请求类型,因此本发明的又一个实施例还可以确定该访问请求所属的请求类型的准确率,并基于该准确率,调节互联网防护系统中任一引擎的工作模式,该过程具体可以包括:
若所述规则引擎、所述语义分析引擎和所述人工智能引擎中任一个引擎在观察模式下,确定的访问请求所属的请求类型的准确率大于或等于第一阈值,将该引擎从观察模式切换至生效模式;一个引擎在观察模式下确定的准确率是指第一值与第二值的比值,其中,所述第一值是指该引擎确定的访问请求所属的请求类型与访问请求的实际请求类型相同的次数;所述第二值是指该引擎接收到的所有访问请求的数目;
和/或,
所述规则引擎、所述语义分析引擎和所述人工智能引擎中任一个引擎在观察模式下,确定的访问请求所属的请求类型的准确率小于所述第一阈值,将该引擎从观察模式切换至关闭模式。
可选的,可以基于互联网防护系统中规则引擎21、语义分析引擎22和人工智能引擎23中任一引擎确定的访问请求所属的请求类型,以及该访问请求对应的实际请求类型,确定访问请求所属的请求类型的准确率。针对上述任一引擎,该引擎在观察模式下确定的访问请求所属的请求类型的准确率的过程可以包括:确定第一值,该第一值为该引擎确定的访问请求所属的请求类型与访问请求的实际请求类型相同的次数;确定第二值,该第二值为该引擎接收到的所有访问请求的数目;确定准确率,该准确率为第一值与第二值的比值。
可选的,可以预设第一阈值;不同引擎对应的第一阈值可以相同,也可以不同。若互联网防护系统中规则引擎21、语义分析引擎22和人工智能引擎23中任一引擎在观察模式下,确定的访问请求所属的请求类型的准确率大于或等于该第一阈值,表征该引擎在生效模式下可以准确的针对访问请求执行与该引擎对应的设定行为(可选的,设定行为可以为拦截,或,验证,或,限流等),因此可以将该引擎当前所处的工作模式从观察模式切换至生效模式,以正常处理互联网防护系统中的各个访问请求。
可选的,若互联网防护系统中规则引擎21、语义分析引擎22和人工智能引擎23中任一引擎在观察模式下,确定的访问请求所属的请求类型的准确率小于上述第一阈值,表征该引擎在生效模式下不可以准确的针对访问请求执行与该引擎对应的设定行为(可选的,设定行为可以为拦截,或,验证,或,限流等),因此可以将该引擎当前所处的工作模式从观察模式切换至关闭模式,也即不再使用该引擎校验各个访问请求。
可选的,若互联网防护系统中规则引擎21、语义分析引擎22和人工智能引擎23中任一引擎在观察模式下,确定的访问请求所属的请求类型的准确率小于上述第一阈值,还可以根据上述实施例中对应引擎的更新过程更新该引擎中包含的内容,直至基于更新后的引擎确定的访问请求所属的请求类型的准确率大于或等于第一阈值时,将该引擎当前所处的工作模式从观察模式切换至生效模式。
例如,以互联网防护系统中的规则引擎21为例进行说明,若预设的第一阈值为99%,则若规则引擎21在观察模式下确定的访问请求所属的请求类型的准确率大于或等于99%(例如99.9%),则可以将该规则引擎21当前所处的工作模式从观察模式切换至生效模式;若规则引擎21在观察模式下确定的访问请求所属的请求类型的准确率小于99%(例如90%),则可以将该规则引擎21当前所处的工作模式从观察模式切换至关闭模式,或者,更新该规则引擎21中设定的规则,直至基于更新后的规则引擎21确定的访问请求所属的请求类型的准确率大于或等于99%时,将该规则引擎21当前所处的工作模式从观察模式切换至生效模式。
可选的,若互联网防护系统中规则引擎21、语义分析引擎22和人工智能引擎23中任一引擎在观察模式下,确定的访问请求所属的请求类型的准确率小于上述第一阈值,还可以根据上述实施例中对应引擎的更新过程更新该引擎中包含的内容,若在更新预设次数后,该引擎在观察模式下,确定的访问请求所属的请求类型的准确率仍小于上述第一阈值,则将该引擎当前所处的工作模式从观察模式切换至关闭模式。
本发明的又一个实施例,对上述互联网防护系统中的规则引擎21的可选结构进行说明。
参见图3所示,为本发明实施例提供的规则引擎21的结构图。
可选的,规则引擎21可以包括多个设定规则集合,本发明实施例用设定规则集合1到设定规则集合n(n≥1)来表示;可选的,上述一个设定规则集合可以包括至少一个设定规则。
可选的,可以为一个设定规则集合设定不同的规则状态,则该设定规则集合在不同的规则状态下,可以执行不同的行为;可选的,可以为一个设定规则集合设定三种规则状态,即:生效状态、观察状态和关闭状态,该设定规则集合在当前的规则状态可以为其中任一种状态。
其中,若规则引擎21中任一设定规则集合处于生效状态下,则若规则引擎21基于该设定规则集合确定的访问请求为攻击类型,则可以执行与设定规则集合对应的第一子设定行为。
可选的,第一设定行为可以包括多个第一子设定行为,不同设定规则集合对应的第一子设定行为可以不同,可以相同。
可选的,第一子设定行为可以包括针对访问请求进行拦截、验证以及限流中至少一种。
若规则引擎21中任一设定规则集合处于观察状态下,则规则引擎21可以记录基于该设定规则集合确定访问请求所属的请求类型;在该观察状态下,即使基于该设定规则集合确定出访问请求属于攻击类型,规则引擎21也不会针对该访问请求执行第一设定行为,也即规则引擎21基于该设定规则集合确定的攻击类型的访问请求进行放行处理,但会将该访问请求的行为(即所属的请求类型)记录在日志上用于对后续的访问请求数据进行分析。
若规则引擎21中任一设定规则集合处于关闭模式下,则规则引擎21不基于该设定规则集合执行任何操作,也即相当于互联网防护系统的规则引擎21中没有该设定规则集合。
本发明的又一个实施例,对上述互联网防护系统中的人工智能引擎23的可选结构进行说明。
参见图4所示,为本发明实施例提供的人工智能引擎23的结构图。
可选的,人工智能引擎23可以包括多个分布式攻击模型,本发明实施例用分布式攻击模型1到分布式攻击模型m(m≥1)来表示。
可选的,可以为一个分布式攻击模型设定不同的模型状态,则该分布式攻击模型在不同的模型状态下,可以执行不同的行为;可选的,可以为一个分布式攻击模型设定三种模型状态,即:生效状态、观察状态和关闭状态,该分布式攻击模型在当前的模型状态可以为其中任一种状态。
其中,若人工智能引擎23中任一分布式攻击模型处于生效状态下,则人工智能引擎23若基于该分布式攻击模型确定的访问请求为攻击类型,则可以执行与该分布式攻击模型对应的第三子设定行为。
可选的,第二设定行为可以包括多个第三子设定行为,不同分布式攻击模型对应的第三子设定行为可以不同,可以相同。
可选的,第三子设定行为可以包括针对访问请求进行拦截、验证以及限流中至少一种。
若人工智能引擎23中任一分布式攻击模型处于观察状态下,则人工智能引擎23可以记录基于该分布式攻击模型确定访问请求所属的请求类型;在该观察状态下,即使基于该分布式攻击模型确定出访问请求属于攻击类型,人工智能引擎23也不会针对该访问请求执行第三子设定行为,也即人工智能引擎23基于该分布式攻击模型确定的攻击类型的该访问请求进行放行处理,但会将该访问请求的行为(即所属的请求类型)记录在日志上用于对后续的访问请求数据进行分析。
若人工智能引擎23中任一分布式攻击模型处于关闭模式下,则人工智能引擎23不基于该分布式攻击模型执行任何操作,也即相当于互联网防护系统的人工智能引擎23中没有该分布式攻击模型。
前述已经说明了,互联网防护系统中的规则引擎21所处的工作模式可以包括生效模式、观察模式以及关闭模式;规则引擎21中的设定规则集合所处的规则状态可以包括生效状态、观察状态以及关闭状态。接下来,本发明的又一个实施例,对上述三种工作模式以及规则状态的关系进行介绍。
在所述规则引擎处于生效模式下,至少一个设定规则集合处于生效状态;
在所述规则引擎处于观察模式下,至少一个设定规则集合处于观察状态,且无设定规则集合处于生效状态;
在所述规则引擎处于关闭模式下,所有设定规则集合处于关闭状态。
可选的,若互联网防护系统中的规则引擎21处于生效模式下,则表征可以对规则引擎21确定为攻击类型的访问请求执行第一设定行为。可以理解的是,若规则引擎21中的任一设定规则集合都不处于生效状态,则规则引擎21将无法执行对上述攻击类型的访问请求执行第一设定行为,因此规则引擎21中至少一个设定规则集合必须处于生效状态。
可选的,若规则引擎21处于生效模式下,规则引擎21包含的设定规则集合可以均处于生效状态;或者,可以部分处于生效状态部分处于观察状态,或者,部分处于生效状态部分处于关闭状态,或者,部分处于生效状态部分处于观察状态部分处于关闭状态。
可选的,若互联网防护系统中的规则引擎21处于观察模式下,则表征规则引擎21不对攻击类型的访问请求执行第一设定行为,但会记录其确定的访问请求所属的请求类型。可以理解的是,若规则引擎21中的某一设定规则集合处于生效状态下,则可能会对攻击类型的访问请求执行第一设定行为,与上述“规则引擎21处于观察模式不对攻击类型的访问请求执行第一设定行为”说法相违背,因此在规则引擎21处于观察模式下,规则引擎21中的任一设定规则集合都不处于生效状态,且至少一个设定规则集合处于观察状态。
可选的,若规则引擎21处于观察模式,规则引擎21包含的设定规则集合可以均处于观察状态,或者,可以部分处于观察状态部分处于关闭状态。
可选的,若互联网防护系统中的规则引擎21处于关闭模式下,则规则引擎21不对访问请求执行任何操作,也即相当于互联网防护系统中不包含该规则引擎21,因此规则引擎21中的所有设定规则集合都将处于关闭状态。
同理,如前述介绍,互联网防护系统中的人工智能引擎23所处的工作模式可以包括生效模式、观察模式以及关闭模式;人工智能引擎23中的分布式攻击模型所处的模型状态可以包括生效状态、观察状态以及关闭状态。接下来,本发明的又一个实施例,对上述三种工作模式以及规则状态的关系进行介绍。
在所述人工智能引擎处于生效模式下,至少一个分布式攻击模型处于生效状态;
在所述人工智能引擎处于观察模式下,至少一个分布式攻击模型处于观察状态,且无分布式攻击模型处于生效状态;
在所述人工智能引擎处于关闭模式下,所有分布式攻击模型处于关闭状态。
可选的,若互联网防护系统中的人工智能引擎23处于生效模式下,则表征可以对人工智能引擎23确定为攻击类型的访问请求执行第三设定行为。可以理解的是,若人工智能引擎23中的任一分布式攻击模型都不处于生效状态,则人工智能引擎23将无法对上述攻击类型的访问请求执行第三设定行为,因此人工智能引擎23中至少一个分布式攻击模型必须处于生效状态。
可选的,若人工智能引擎23处于生效模式下,人工智能引擎23包含的分布式攻击模型可以均处于生效状态;或者,可以部分处于生效状态部分处于观察状态,或者,部分处于生效状态部分处于关闭状态,或者,部分处于生效状态部分处于观察状态部分处于关闭状态。
可选的,若互联网防护系统中的人工智能引擎23处于观察模式下,则表征人工智能引擎23不对攻击类型的访问请求执行第三设定行为,但会记录其确定的访问请求所属的请求类型。可以理解的是,在人工智能引擎23处于观察模式下,若人工智能引擎23中的某一分布式攻击模型处于生效状态下,则可能会对攻击类型的访问请求执行第三设定行为,与上述“人工智能引擎23处于观察模式不对攻击类型的访问请求执行第三设定行为”说法相违背,因此在人工智能引擎23处于观察模式下,人工智能引擎23中的任一分布式攻击模型都不处于生效状态,且至少一个分布式攻击模型处于观察状态。
可选的,若人工智能引擎23处于观察模式,人工智能引擎23包含的分布式攻击模型可以均处于观察状态,或者,可以部分处于观察状态部分处于关闭状态。
可选的,若互联网防护系统中的人工智能引擎23处于关闭模式下,则人工智能引擎23不对访问请求执行任何操作,也即相当于互联网防护系统中不包含该人工智能引擎23,因此人工智能引擎23中的所有分布式攻击模型都将处于关闭状态。
在上述实施例的基础上,考虑到规则引擎21可以基于其中的设定规则集合,确定访问请求所属的请求类型,且可以结合人为确定的该访问请求对应的实际请求类型,确定该访问请求所属的请求类型的准确率。则本发明实施例可以基于确定的访问请求所属的请求类型的准确率,调节规则引擎21中任一设定规则集合的规则状态,该过程具体可以包括:
若所述规则引擎基于处于观察状态下的设定规则集合,确定访问请求所属的请求类型的准确率大于或等于第二阈值,将该设定规则集合从观察状态切换至生效状态;一个设定规则集合在观察模式下确定的准确率是指第三值与第四值的比值,其中,所述第三值是指基于该设定规则集合确定的访问请求所属的请求类型与访问请求的实际请求类型相同的次数;所述第四值是指基于该设定规则集合已确定请求类型的所有访问请求的数目;
若所述规则引擎基于处于观察状态下的设定规则集合,确定访问请求所属的请求类型的准确率小于所述第二阈值,将该设定规则集合从观察状态切换至关闭状态。
可选的,可以规则引擎21中包含的任一设定规则集合确定的访问请求所属的请求类型,以及该访问请求对应的实际请求类型,确定访问请求所属的请求类型的准确率。针对上述任一设定规则集合,该设定规则集合在观察模式下确定的访问请求所属的请求类型的准确率的过程可以包括:确定第三值,该第三值为基于该设定规则集合确定的访问请求所属的请求类型与访问请求的实际请求类型相同的次数;确定第四值,该第四值为基于该设定规则集合已确定请求类型的所有访问请求的数目;确定准确率,该准确率为第三值与第四值的比值。
可选的,可以预设第二阈值,不同设定规则集合对应的第二阈值可以相同,也可以不同。
若规则引擎21基于处于观察状态下的设定规则集合,确定的访问请求所属的请求类型的准确率大于或等于该第二阈值,表征该规则引擎21基于处于生效状态下的设定规则集合,可以准确的针对访问请求执行第一设定行为(可选的,第一设定行为可以为拦截,或,验证,或,限流等),因此可以将该设定规则集合当前所处的规则状态从观察状态切换至生效状态,以正常处理规则引擎21中的各个访问请求。
可选的,若规则引擎21基于处于观察状态下的设定规则集合,确定的访问请求所属的请求类型的准确率小于上述第二阈值,表征该规则引擎21基于处于生效状态下的设定规则集合,不可以准确的针对访问请求执行第一设定行为,因此可以将该设定规则集合当前所处的规则状态从观察状态切换至关闭状态,也即不使用该设定规则集合处理规则引擎21中的各个访问请求。
可选的,若规则引擎21基于处于观察状态下的设定规则集合,确定的访问请求所属的请求类型的准确率小于上述第二阈值,还可以基于访问请求对应的实际请求类型更新该设定规则集合,直至基于更新后的设定规则集合确定的访问请求所属的请求类型的准确率大于或等于第二阈值时,将该设定规则集合当前所处的规则状态从观察状态切换至生效状态。
例如,以规则引擎21中的一个设定规则集合为例进行说明,若预设的第二阈值为99%,则若规则引擎21基于处于观察状态下的该设定规则集合,确定的访问请求所属的请求类型的准确率大于或等于99%(例如99.9%),则可以将该设定规则集合当前所处的规则状态从观察状态切换至生效状态;若规则引擎21基于处于观察状态下的该设定规则集合,确定的访问请求所属的请求类型的准确率小于99%(例如90%),则可以将该设定规则集合当前所处的规则状态从观察状态切换至关闭状态,或者,更新设定规则集合中设定的规则,直至基于更新后的设定规则集合确定的访问请求所属的请求类型的准确率大于或等于99%时,将该设定规则集合当前所处的规则状态从观察状态切换至生效状态。
可选的,若任一设定规则集合在观察状态下,确定的访问请求所属的请求类型的准确率小于上述第二阈值,还可以根据上述实施例中对应设定规则集合的更新过程更新该设定规则集合,若在更新预设次数后,该设定规则集合在观察状态下,确定的访问请求所属的请求类型的准确率仍小于上述第二阈值,则将该设定规则集合从观察状态切换至关闭状态。
同理,在上述实施例的基础上,考虑到人工智能引擎23可以基于其中的分布式攻击模型,确定访问请求所属的请求类型,且可以结合人为确定的该访问请求对应的实际请求类型,确定该访问请求所属的请求类型的准确率。则本发明实施例可以基于确定的访问请求所属的请求类型的准确率,调节人工智能引擎23中任一分布式攻击模型的模型状态,该过程具体可以包括:
若所述人工智能引擎基于处于观察状态下的分布式攻击模型,确定访问请求所属的请求类型的准确率大于或等于所述第三阈值,将该分布式攻击模型从观察状态切换至生效状态;一个分布式攻击模型在观察模式下确定的准确率是指第五值与第六值的比值,其中,所述第五值是指基于该分布式攻击模型确定的访问请求所属的请求类型与访问请求的实际请求类型相同的次数;所述第六值是指基于该分布式攻击模型已确定请求类型的所有访问请求的数目;
若所述人工智能引擎基于处于观察状态下的分布式攻击模型,确定访问请求所属的请求类型的准确率小于所述第三阈值,将该分布式攻击模型从观察状态切换至关闭状态。
可选的,可以人工智能引擎23中包含的任一分布式攻击模型确定的访问请求所属的请求类型,以及该访问请求对应的实际请求类型,确定访问请求所属的请求类型的准确率。针对上述任一分布式攻击模型,该分布式攻击模型在观察模式下确定的访问请求所属的请求类型的准确率的过程可以包括:确定第五值,该第五值为基于该分布式攻击模型确定的访问请求所属的请求类型与访问请求的实际请求类型相同的次数;确定第六值,该第六值为基于该分布式攻击模型已确定请求类型的所有访问请求的数目;确定准确率,该准确率为第五值与第六值的比值。
可选的,可以预设第三阈值,不同分布式攻击模型对应的第三阈值可以相同,也可以不同。
若人工智能引擎23基于处于观察状态下的分布式攻击模型,确定的访问请求所属的请求类型的准确率大于或等于该第三阈值,表征该人工智能引擎23基于处于生效状态下的分布式攻击模型,可以准确的针对访问请求执行第三设定行为(可选的,第三设定行为可以为拦截,或,验证,或,限流等),因此可以将该分布式攻击模型当前所处的模型状态从观察状态切换至生效状态,以正常处理人工智能引擎23中的各个访问请求。
可选的,若人工智能引擎23基于处于观察状态下的分布式攻击模型,确定的访问请求所属的请求类型的准确率小于上述第三阈值,表征该人工智能引擎23基于处于生效状态下的分布式攻击模型,不可以准确的针对访问请求执行第三设定行为,因此可以将该分布式攻击模型当前所处的模型状态从观察状态切换至关闭状态,也即不使用该分布式攻击模型处理人工智能引擎23中的各个访问请求。
可选的,若人工智能引擎23基于处于观察状态下的分布式攻击模型,确定的访问请求所属的请求类型的准确率小于上述第三阈值,还可以基于访问请求对应的实际请求类型更新该分布式攻击模型,直至基于更新后的分布式攻击模型确定的访问请求所属的请求类型的准确率大于或等于第三阈值时,将该分布式攻击模型当前所处的模型状态从观察状态切换至生效状态。
例如,以人工智能引擎23中的一个分布式攻击模型为例进行说明,若预设的第三阈值为99%,则若人工智能引擎23基于处于观察状态下的该分布式攻击模型,确定的访问请求所属的请求类型的准确率大于或等于99%(例如99.9%),则可以将该分布式攻击模型当前所处的模型状态从观察状态切换至生效状态;若人工智能引擎23基于处于观察状态下的该分布式攻击模型,确定的访问请求所属的请求类型的准确率小于99%(例如90%),则可以将该分布式攻击模型当前所处的模型状态从观察状态切换至关闭状态,或者,更新分布式攻击模型,直至基于更新后的分布式攻击模型确定的访问请求所属的请求类型的准确率大于或等于99%时,将该分布式攻击模型当前所处的模型状态从观察状态切换至生效状态。
可选的,若任一分布式攻击模型在观察状态下,确定的访问请求所属的请求类型的准确率小于上述第三阈值,还可以根据上述实施例中对应分布式攻击模型的更新过程更新该分布式攻击模型,若在更新预设次数后,该分布式攻击模型在观察状态下,确定的访问请求所属的请求类型的准确率仍小于上述第三阈值,则将该分布式攻击模型从观察状态切换至关闭状态。
上述实施例详细介绍了本发明的互联网防护系统,除此之外,本发明还公开了一种访问请求处理方法。接下来,结合具体实施例对该访问请求处理方法进行说明。
参见图5,为本发明实施例提供的一种访问请求处理方法流程图,该方法包括:
步骤S500、获取第一访问请求集合,所述第一访问请求集合包括一个或多个访问请求。
可选的,该第一访问请求集合包含的所有访问请求,即为输入至规则引擎21中的所有访问请求。具体可参加图2中对规则引擎21的介绍,这里不再赘述。
步骤S510、基于设定规则,确定所述第一访问请求集合包含的访问请求所属的请求类型,所述请求类型为攻击类型或非攻击类型。
可选的,可以将步骤S500获取的第一访问请求集合输入规则引擎21,则规则引擎21可以基于其中设定的规则,确定第一访问请求集合包含的访问请求所属的请求类型。
步骤S520、执行第一设定操作。
其中,在生效模式下,所述第一设定操作为若所述第一访问请求集合包含的访问请求为攻击类型,执行第一设定行为;在观察模式下,所述第一设定操作为记录所述第一访问请求集合包含的访问请求所属的请求类型。
可选的,可以根据规则引擎21所处的工作模式的不同,执行不同的第一设定操作。
可选的,若规则引擎21当前的工作模式为生效模式,则上述第一设定操作为若规则引擎21确定的第一访问请求集合包含的访问请求所属的请求类型为攻击类型,则可以执行第一设定行为。
可选的,若规则引擎21当前的工作模式为观察模式,则上述第一设定操作为记录第一访问请求集合包含的访问请求所属的请求类型。
在规则引擎21处于生效模式或观察模式下,上述第一设定操作以及第一设定行为详细可参照A2中介绍,这里不再详细赘述。
步骤S530、基于设定的注入攻击信息,确定第二访问请求集合包含的访问请求所属的请求类型。
其中,所述第二访问请求集合属于所述第一访问请求集合,所述第二访问请求集合包含的访问请求的数目与所述第一设定操作的操作结果有关。
可选的,上述步骤S520对第一访问请求集合包含的访问请求执行第一设定操作,可以得到第二访问请求集合。可以理解的是,在规则引擎21处于生效模式下,第一设定操作可以是例如拦截、限流、验证等操作,则第二访问请求集合包含的访问请求的数目可能小于或等于第一访问请求集合包含的访问请求的数目;在规则引擎21处于观察模式下,第一设定操作可以是例如记录第一访问请求集合包含的访问请求的请求类型等操作,则第二访问请求集合包含的访问请求的数目可能等于第一访问请求集合包含的访问请求的数目。综上,第二访问请求集合属于第一访问请求集合。第二访问请求集合包含的访问请求的数目与第一设定操作的操作结果有关。
可选的,对于第二访问请求集合包含的访问请求,可以将其输入语义分析引擎22,则语义分析引擎22可以基于其中设定的注入攻击信息,确定第二访问请求集合包含的访问请求所属的请求类型。
上述基于注入攻击信息,确定第二访问请求集合包含的访问请求所属的请求类型的过程可以参见前述实施例B2中的介绍,这里不再详细赘述。
步骤S540、执行第二设定操作。
其中,在生效模式下,所述第二设定操作为若所述第二访问请求集合包含的访问请求为攻击类型,执行第二设定行为;在观察模式下,所述第二设定操作为记录所述第二访问请求集合包含的访问请求所属请求类型。
可选的,可以根据语义分析引擎22所处的工作模式的不同,执行不同的第二设定操作。
可选的,若语义分析引擎22当前的工作模式为生效模式,则上述第二设定操作为若语义分析引擎22确定的第二访问请求集合包含的访问请求所属的请求类型为攻击类型,则可以执行第二设定行为。
可选的,若语义分析引擎22当前的工作模式为观察模式,则上述第二设定操作为记录第二访问请求集合包含的访问请求所属的请求类型。
在语义分析引擎22处于生效模式或观察模式下,上述第二设定操作以及第二设定行为详细可参照B3中介绍,这里不再详细赘述。
需要说明的是,本发明的访问请求处理方法与上述互联网防护系统对应,本发明的访问请求处理方法的详细处理方式可参照上述互联网防护系统中的介绍。
考虑到规则引擎21可以准确的对规则容易归纳和提取的访问请求进行校验,语义分析引擎22可以准确的对规则不容易提取但访问请求语法容易提取的访问请求进行校验,而对于规则以及访问请求语法都不容易提取的访问请求,规则引擎21以及语义分析引擎22均无法准确的进行校验。基于此,本发明的一个实施例,还可以基于历史中规则以及访问请求语法都不容易提取的访问请求,训练人工智能引擎23中的分布式攻击模型,从而更准确地校验访问请求,也即可以将上一实施例中规则引擎21及语义分析引擎22都无法进行准确校验的访问请求输入人工智能引擎23进行校验。
参见图6,为本发明实施例提供的另一种访问请求处理方法流程图,该方法包括:
步骤S600、获取第一访问请求集合,所述第一访问请求集合包括一个或多个访问请求。
步骤S610、基于设定规则,确定所述第一访问请求集合包含的访问请求所属的请求类型,所述请求类型为攻击类型或非攻击类型。
步骤S620、执行第一设定操作。
其中,在生效模式下,所述第一设定操作为若所述第一访问请求集合包含的访问请求为攻击类型,执行第一设定行为;在观察模式下,所述第一设定操作为记录所述第一访问请求集合包含的访问请求所属的请求类型。
步骤S630、基于设定的注入攻击信息,确定第二访问请求集合包含的访问请求所属的请求类型。
其中,所述第二访问请求集合属于所述第一访问请求集合,所述第二访问请求集合包含的访问请求的数目与所述第一设定操作的操作结果有关。
步骤S640、执行第二设定操作。
其中,在生效模式下,所述第二设定操作为若所述第二访问请求集合包含的访问请求为攻击类型,执行第二设定行为;在观察模式下,所述第二设定操作为记录所述第二访问请求集合包含的访问请求所属请求类型。
上述步骤S600-S640与前述实施例中步骤S500-S540一一对应,详细参照前述介绍,此处不再赘述。
步骤S650、将第三访问请求集合输入至预构建的人工智能引擎,通过所述人工智能引擎预测所述第三访问请求集合包含的访问请求所属的预测的请求类型。
其中,所述第三访问请求集合属于所述第二访问请求集合,所述第三访问请求集合包含的访问请求的数目与所述第二设定操作的操作结果有关。
可选的,上述步骤S640对第二访问请求集合包含的访问请求执行第二设定操作,可以得到第三访问请求集合。可以理解的是,在语义分析引擎22处于生效模式下,第二设定操作可以是例如拦截、限流、验证等操作,则第三访问请求集合包含的访问请求的数目可能小于或等于第二访问请求集合包含的访问请求的数目;在语义分析引擎22处于观察模式下,第二设定操作可以是例如记录第二访问请求集合包含的访问请求的请求类型等操作,则第三访问请求集合包含的访问请求的数目可能等于第二访问请求集合包含的访问请求的数目。综上,第三访问请求集合属于第二访问请求集合。第三访问请求集合包含的访问请求的数目与第二设定操作的操作结果有关。
可选的,对于第三访问请求集合包含的访问请求,可以将其输入预构建的人工智能引擎23,则可以通过人工智能引擎23预测第三访问请求集合包含访问请求所属的请求类型。
上述基于人工智能引擎,预测第三访问请求集合包含的访问请求所属的请求类型的过程可以参见前述实施例C2中的介绍,这里不再详细赘述。
步骤S660、执行第三设定操作。
其中,在生效模式下,所述第三设定操作为若所述第三访问请求集合包含的访问请求为攻击类型,执行第三设定行为;在观察模式下,所述第三设定操作为记录所述第三访问请求集合包含的访问请求所属请求类型。
可选的,可以根据人工智能引擎23所处的工作模式的不同,执行不同的第三设定操作。
可选的,若人工智能引擎23当前的工作模式为生效模式,则上述第三设定操作为若人工智能引擎23确定的第三访问请求集合包含的访问请求所属的请求类型为攻击类型,则可以执行第三设定行为。
可选的,若人工智能引擎23当前的工作模式为观察模式,则上述第三设定操作为记录第三访问请求集合包含的访问请求所属的请求类型。
在人工智能引擎23处于生效模式或观察模式下,上述第三设定操作以及第三设定行为详细可参照C3中介绍,这里不再详细赘述。
可以理解的是,上述访问请求处理方法对应的实施例中可以基于设定规则确定第一访问请求集合包含的访问请求所属的请求类型,该第一访问请求集合包含的访问请求还可以对应实际请求类型;上述访问请求处理方法对应的实施例中可以基于注入攻击信息确定第二访问请求集合包含的访问请求所属的请求类型,该第二访问请求集合包含的访问请求还可以对应实际请求类型。本发明实施例可以基于预测的访问请求的请求类型和相应访问请求的实际的请求类型,更新设定规则以及注入攻击信息,该更新过程具体可以包括:
基于所述设定规则确定的所述第一访问请求集合包含的访问请求所属的请求类型,与,所述第一访问请求集合包含的访问请求对应的实际请求类型的比较结果,更新所述设定规则;
基于所述注入攻击信息确定的所述第二访问请求集合包含的访问请求所属的请求类型,与,所述第二访问请求集合包含的访问请求对应的实际请求类型的比较结果,更新所述注入攻击信息。
可选的,可以理解的是,在一次访问请求处理方法处理访问请求的过程中,规则引擎21可以基于设定规则确定第一访问请求集合包含的访问请求所属的请求类型,而本发明实施例还可以确定该第一访问请求集合包含的访问请求对应的实际请求类型;则若规则引擎21基于设定规则确定的第一访问请求集合包含的访问请求所属的请求类型,与,第一访问请求集合包含的访问请求对应的实际请求类型不同,则表征规则引擎21设定的规则不符合要求,因此可以基于第一访问请求集合包含的访问请求对应的实际请求类型,对规则引擎21中的设定规则进行更新;相反,若上述比较结果相同,表征规则引擎21设定的规则符合要求,因此可以不对规则引擎21中的设定规则进行更新。
可选的,可以理解的是,在一次访问请求处理方法处理访问请求的过程中,语义分析引擎22可以基于注入攻击信息确定第二访问请求集合包含的访问请求所属的请求类型,而本发明实施例还可以确定该第二访问请求集合包含的访问请求对应的实际请求类型;则若语义分析引擎22基于注入攻击信息确定的第二访问请求集合包含的访问请求所属的请求类型,与,第二访问请求集合包含的访问请求对应的实际请求类型不同,则表征语义分析引擎22中的注入攻击信息不符合要求,因此可以基于第二访问请求集合包含的访问请求对应的实际请求类型,对语义分析引擎22中的注入攻击信息进行更新;相反,若上述比较结果相同,表征语义分析引擎22中的注入攻击信息符合要求,因此可以不对语义分析引擎22中的注入攻击信息进行更新。
在上一实施例的基础上,本发明实施例可以基于规则引擎21处于观察模式下的设定规则确定的第一访问请求集合包含的访问请求所属的请求类型,与,第一访问请求集合包含的访问请求对应的实际请求类型,确定第一访问请求集合包含的访问请求所属的请求类型的准确率;本发明实施例还可以基于语义分析引擎22处于观察模式下的注入攻击信息确定的第二访问请求集合包含的访问请求所属的请求类型,与,第二访问请求集合包含的访问请求对应的实际请求类型,确定第二访问请求集合包含的访问请求所属的请求类型的准确率。除此之外,本发明实施例可以基于该两个准确率,分别调节规则引擎21以及语义分析引擎22的工作模式,该过程具体可以包括:
在观察模式下,若基于所述设定规则确定的所述第一访问请求集合包含的访问请求所属的请求类型的准确率大于或等于第四阈值,从观察模式切换至生效模式;其中,基于所述设定规则在观察模式下确定的准确率是指第七值与第八值的比值,其中,所述第七值是指基于所述设定规则确定的所述第一访问请求集合包含的访问请求所属的请求类型与所述第一访问请求集合包含的访问请求的实际请求类型相同的次数;所述第八值是指基于该设定规则已确定请求类型的所述第一访问请求集合包含的所有访问请求的数目;
在观察模式下,若基于所述设定规则确定的所述第一访问请求集合包含的访问请求所属的请求类型的准确率小于所述第四阈值,从观察模式切换至关闭模式;在关闭模式下,所述第一设定操作为不执行任何操作;
和/或,
在观察模式下,若基于所述注入攻击信息确定的所述第二访问请求集合包含的访问请求所属的请求类型的准确率大于或等于第五阈值,从观察模式切换至生效模式;其中,基于所述注入攻击信息在观察模式下确定的准确率是指第九值与第十值的比值,其中,所述第九值是指基于所述注入攻击信息确定的所述第二访问请求集合包含的访问请求所属的请求类型与所述第二访问请求集合包含的访问请求的实际请求类型相同的次数;所述第十值是指基于所述注入攻击信息已确定请求类型的所述第二访问请求集合包含的所有访问请求的数目;
在观察模式下,若基于所述注入攻击信息确定的所述第二访问请求集合包含的访问请求所属的请求类型的准确率小于所述第五阈值,从观察模式切换至关闭模式;在关闭模式下,所述第二设定操作为不执行任何操作。
可选的,可以基于规则引擎21处于观察模式下的设定规则确定的第一访问请求集合包含的访问请求所属的请求类型,与,第一访问请求集合包含的访问请求对应的实际请求类型,确定第一访问请求集合包含的访问请求所属的请求类型的准确率。可选的,确定第一访问请求集合包含的访问请求所属的请求类型的准确率的过程可以包括:确定第七值,该第七值是指基于设定规则确定的第一访问请求集合包含的访问请求所属的请求类型与第一访问请求集合包含的访问请求的实际请求类型相同的次数;确定第八值,该第八值是指基于该设定规则已确定请求类型的第一访问请求集合包含的所有访问请求的数目;确定准确率,该准确率为第七值与第八值的比值。
可选的,可以预设第四阈值,在规则引擎21处于观察模式下,若基于规则引擎21中的设定规则确定的第一访问请求集合包含的访问请求所属的请求类型的准确率大于或等于该第四阈值,则将规则引擎21的工作模式由观察模式切换至生效模式;可选的,若基于规则引擎21中的设定规则确定的第一访问请求集合包含的访问请求所属的请求类型的准确率小于该第四阈值,则将规则引擎21的工作模式由观察模式切换至关闭模式;在关闭模式下,第一设定操作为不执行任何操作;可选的,若基于规则引擎21中的设定规则确定的第一访问请求集合包含的访问请求所属的请求类型的准确率小于该第四阈值,则可以基于上一实施例中更新规则引擎21中的设定规则的过程进行相应更新操作,直至基于规则引擎21中的设定规则确定的第一访问请求集合包含的访问请求所属的请求类型的准确率大于或等于该第四阈值时,将规则引擎21的工作模式由观察模式切换至生效模式;若更新预设次数后,基于规则引擎21中的设定规则确定的第一访问请求集合包含的访问请求所属的请求类型的准确率仍小于该第四阈值,则将规则引擎21的工作模式由观察模式切换至关闭模式。
可选的,可以基于语义分析引擎22处于观察模式下的注入攻击信息确定的第二访问请求集合包含的访问请求所属的请求类型,与,第二访问请求集合包含的访问请求对应的实际请求类型,确定第二访问请求集合包含的访问请求所属的请求类型的准确率。可选的,确定第二访问请求集合包含的访问请求所属的请求类型的准确率的过程可以包括:确定第九值,该第九值是指基于注入攻击信息确定的第二访问请求集合包含的访问请求所属的请求类型与第二访问请求集合包含的访问请求的实际请求类型相同的次数;确定第十值,该第十值是指基于注入攻击信息已确定请求类型的第二访问请求集合包含的所有访问请求的数目;确定准确率,该准确率为第九值与第十值的比值。
可选的,可以预设第五阈值,在语义分析引擎22处于观察模式下,若基于语义分析引擎22中的注入攻击信息确定的第二访问请求集合包含的访问请求所属的请求类型的准确率大于或等于该第五阈值,则将语义分析引擎22的工作模式由观察模式切换至生效模式;可选的,若基于语义分析引擎22中的注入攻击信息确定的第二访问请求集合包含的访问请求所属的请求类型的准确率小于该第五阈值,则将语义分析引擎22的工作模式由观察模式切换至关闭模式;在关闭模式下,第二设定操作为不执行任何操作;可选的,若基于语义分析引擎22中的注入攻击信息确定的第二访问请求集合包含的访问请求所属的请求类型的准确率小于该第五阈值,则可以基于上一实施例中更新语义分析引擎22中的注入攻击信息的过程进行相应更新操作,直至基于语义分析引擎22中的注入攻击信息确定的第二访问请求集合包含的访问请求所属的请求类型的准确率大于或等于该第五阈值时,将语义分析引擎22的工作模式由观察模式切换至生效模式;若更新预设次数后,基于语义分析引擎22中的注入攻击信息确定的第二访问请求集合包含的访问请求所属的请求类型的准确率仍小于该第五阈值,则将语义分析引擎22的工作模式由观察模式切换至关闭模式。
上述本发明提供的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。
参见附图7,图7为本发明实施例公开的一种访问请求处理装置的结构示意图。
如图7所示,该装置可以包括:
获取模块71,用于获取第一访问请求集合,所述第一访问请求集合包括一个或多个访问请求;
第一确定模块72,用于基于设定规则,确定所述第一访问请求集合包含的访问请求所属的请求类型,所述请求类型为攻击类型或非攻击类型;
第一执行模块73,用于执行第一设定操作,在生效模式下,所述第一设定操作为若所述第一访问请求集合包含的访问请求为攻击类型,执行第一设定行为;在观察模式下,所述第一设定操作为记录所述第一访问请求集合包含的访问请求所属的请求类型;
第二确定模块74,用于基于设定的注入攻击信息,确定第二访问请求集合包含的访问请求所属的请求类型,所述第二访问请求集合属于所述第一访问请求集合,所述第二访问请求集合包含的访问请求的数目与所述第一设定操作的操作结果有关;
第二执行模块75,用于执行第二设定操作,在生效模式下,所述第二设定操作为若所述第二访问请求集合包含的访问请求为攻击类型,执行第二设定行为;在观察模式下,所述第二设定操作为记录所述第二访问请求集合包含的访问请求所属请求类型。
在一可选实施例中,本申请提供的访问请求处理装置还可以包括:
第三确定模块,用于将第三访问请求集合输入至预构建的人工智能引擎,通过所述人工智能引擎预测所述第三访问请求集合包含的访问请求所属的请求类型;所述第三访问请求集合属于所述第二访问请求集合,所述第三访问请求集合包含的访问请求的数目与所述第二设定操作的操作结果有关;
第三执行模块,用于执行第三设定操作,在生效模式下,所述第三设定操作为若所述第三访问请求集合包含的访问请求为攻击类型,执行第三设定行为;在观察模式下,所述第三设定操作为记录所述第三访问请求集合包含的访问请求所属请求类型。
在一可选实施例中,本申请提供的访问请求处理装置还可以包括:
第一更新模块,用于基于所述设定规则确定的所述第一访问请求集合包含的访问请求所属的请求类型,与,所述第一访问请求集合包含的访问请求对应的实际请求类型的比较结果,更新所述设定规则;
第二更新模块,用于基于所述注入攻击信息确定的所述第二访问请求集合包含的访问请求所属的请求类型,与,所述第二访问请求集合包含的访问请求对应的实际请求类型的比较结果,更新所述注入攻击信息。
在一可选实施例中,本申请提供的访问请求处理装置还可以包括:
第一切换模块,用于在观察模式下,若基于所述设定规则确定的所述第一访问请求集合包含的访问请求所属的请求类型的准确率大于或等于第四阈值,从观察模式切换至生效模式;其中,基于所述设定规则在观察模式下确定的准确率是指第七值与第八值的比值,其中,所述第七值是指基于所述设定规则确定的所述第一访问请求集合包含的访问请求所属的请求类型与所述第一访问请求集合包含的访问请求的实际请求类型相同的次数;所述第八值是指基于该设定规则已确定请求类型的所述第一访问请求集合包含的所有访问请求的数目;
和/或,
第二切换模块,用于在观察模式下,若基于所述注入攻击信息确定的所述第二访问请求集合包含的访问请求所属的请求类型的准确率大于或等于第五阈值,从观察模式切换至生效模式;其中,基于所述注入攻击信息在观察模式下确定的准确率是指第九值与第十值的比值,其中,所述第九值是指基于所述注入攻击信息确定的所述第二访问请求集合包含的访问请求所属的请求类型与所述第二访问请求集合包含的访问请求的实际请求类型相同的次数;所述第十值是指基于所述注入攻击信息已确定请求类型的所述第二访问请求集合包含的所有访问请求的数目。
在一可选实施例中,本申请提供的访问请求处理装置还可以包括:
第三切换模块,用于在观察模式下,若基于所述设定规则确定的所述第一访问请求集合包含的访问请求所属的请求类型的准确率小于所述第四阈值,从观察模式切换至关闭模式;在关闭模式下,所述第一设定操作为不执行任何操作;
和/或,
第四切换模块,用于在观察模式下,若基于所述注入攻击信息确定的所述第二访问请求集合包含的访问请求所属的请求类型的准确率小于所述第五阈值,从观察模式切换至关闭模式;在关闭模式下,所述第二设定操作为不执行任何操作。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置或系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种互联网防护系统,其特征在于,包括:
设置在应用层的规则引擎,用于基于设定规则,确定接收到的访问请求所属的请求类型,所述请求类型为攻击类型或非攻击类型;执行第一设定操作;
其中,所述规则引擎当前的工作模式为生效模式、观察模式和关闭模式中任一工作模式;
在生效模式下,所述第一设定操作为若访问请求为攻击类型,执行第一设定行为;在观察模式下,所述第一设定操作为记录所述规则引擎确定的访问请求所属请求类型;在关闭模式下,所述第一设定操作为所述规则引擎不执行任何操作;
设置在应用层的语义分析引擎,用于接收所述规则引擎输出的访问请求;基于设定的注入攻击信息,确定所述规则引擎输出的访问请求所属的请求类型;执行第二设定操作;
其中,所述语义分析引擎当前的工作模式为生效模式、观察模式和关闭模式中任一工作模式;
在生效模式下,所述第二设定操作为若访问请求为攻击类型,执行第二设定行为;在观察模式下,所述第二设定操作为记录所述语义分析引擎确定的访问请求所属请求类型;在关闭模式下,所述第二设定操作为所述语义分析引擎不执行任何操作;
设置在应用层的人工智能引擎,用于接收所述语义分析引擎输出的访问请求;将所述语义分析引擎输出的访问请求输入预构建的分布式攻击模型,通过所述分布式攻击模型预测访问请求所属的请求类型,所述人工智能引擎包括至少一个分布式攻击模型;执行第三设定操作;其中,所述分布式攻击模型具有使预测的访问请求的请求类型趋于该访问请求对应的实际的请求类型的能力;
其中,所述人工智能引擎当前的工作模式为生效模式、观察模式和关闭模式中任一工作模式;
在生效模式下,所述第三设定操作为若访问请求为攻击类型,执行第三设定行为;在观察模式下,所述第三设定操作为记录所述人工智能引擎确定的访问请求所属请求类型;在关闭模式下,所述第三设定操作为所述人工智能引擎不执行任何操作。
2.根据权利要求1所述互联网防护系统,其特征在于,
所述规则引擎,还用于基于在观察模式下确定的访问请求所属的请求类型,与,访问请求对应的实际请求类型的比较结果,更新所述设定规则;
和/或,
所述语义分析引擎,还用于基于在观察模式下确定的访问请求所属的请求类型,与,访问请求对应的实际请求类型的比较结果,更新所述注入攻击信息;
和/或,
所述人工智能引擎,还用于基于在观察模式下访问请求对应的预测的请求类型,与,访问请求对应的实际请求类型的比较结果,训练所述分布式攻击模型,以得到更新后的分布式攻击模型。
3.根据权利要求1或2所述互联网防护系统,其特征在于,
若所述规则引擎、所述语义分析引擎和所述人工智能引擎中任一个引擎在观察模式下,确定的访问请求所属的请求类型的准确率大于或等于第一阈值,将该引擎从观察模式切换至生效模式;一个引擎在观察模式下确定的准确率是指第一值与第二值的比值,其中,所述第一值是指该引擎确定的访问请求所属的请求类型与访问请求的实际请求类型相同的次数;所述第二值是指该引擎接收到的所有访问请求的数目;
和/或,
所述规则引擎、所述语义分析引擎和所述人工智能引擎中任一个引擎在观察模式下,确定的访问请求所属的请求类型的准确率小于所述第一阈值,将该引擎从观察模式切换至关闭模式。
4.根据权利要求1或2所述互联网防护系统,其特征在于,
所述规则引擎,包括多个设定规则集合,一个设定规则集合包括至少一个设定规则;一个设定规则集合当前的规则状态为生效状态、观察状态和关闭状态中任一种状态;一个设定规则集合在生效状态下,所述规则引擎若基于该设定规则集合确定访问请求为攻击类型,能够执行对应的第一子设定行为;一个设定规则集合在观察模式下,所述规则引擎能够记录基于该设定规则集合确定的访问请求所属的请求类型;一个设定规则集合在关闭状态下,所述规则引擎不基于该设定规则集合执行任何操作;
和/或,
所述人工智能引擎,包括多个分布式攻击模型,一个分布式攻击模型当前的模型状态为生效状态、观察状态和关闭状态中任一种状态;一个分布式攻击模型处于生效状态下,所述人工智能引擎若基于该分布式攻击模型确定访问请求为攻击类型,能够执行与该分布式攻击模型对应的第三子设定行为;一个分布式攻击模型处于观察状态下,所述人工智能引擎能够记录基于该分布式攻击模型确定访问请求所属的请求类型;一个分布式攻击模型处于关闭状态下,所述人工智能引擎不基于该分布式攻击模型执行任何操作。
5.根据权利要求4所述互联网防护系统,其特征在于,
若所述规则引擎基于处于观察状态下的设定规则集合,确定访问请求所属的请求类型的准确率大于或等于第二阈值,将该设定规则集合从观察状态切换至生效状态;一个设定规则集合在观察模式下确定的准确率是指第三值与第四值的比值,其中,所述第三值是指基于该设定规则集合确定的访问请求所属的请求类型与访问请求的实际请求类型相同的次数;所述第四值是指基于该设定规则集合已确定请求类型的所有访问请求的数目;
若所述规则引擎基于处于观察状态下的设定规则集合,确定访问请求所属的请求类型的准确率小于第二阈值,将该设定规则集合从观察状态切换至关闭状态;
若所述人工智能引擎基于处于观察状态下的分布式攻击模型,确定访问请求所属的请求类型的准确率大于或等于所述第三阈值,将该分布式攻击模型从观察状态切换至生效状态;一个分布式攻击模型在观察模式下确定的准确率是指第五值与第六值的比值,其中,所述第五值是指基于该分布式攻击模型确定的访问请求所属的请求类型与访问请求的实际请求类型相同的次数;所述第六值是指基于该分布式攻击模型已确定请求类型的所有访问请求的数目;
若所述人工智能引擎基于处于观察状态下的分布式攻击模型,确定访问请求所属的请求类型的准确率小于所述第三阈值,将该分布式攻击模型从观察状态切换至关闭状态。
6.一种访问请求处理方法,其特征在于,包括:
获取第一访问请求集合,所述第一访问请求集合包括一个或多个访问请求;
基于设定规则,确定所述第一访问请求集合包含的访问请求所属的请求类型,所述请求类型为攻击类型或非攻击类型;
执行第一设定操作,在生效模式下,所述第一设定操作为若所述第一访问请求集合包含的访问请求为攻击类型,执行第一设定行为;在观察模式下,所述第一设定操作为记录所述第一访问请求集合包含的访问请求所属的请求类型;
基于设定的注入攻击信息,确定第二访问请求集合包含的访问请求所属的请求类型,所述第二访问请求集合属于所述第一访问请求集合,所述第二访问请求集合包含的访问请求的数目与所述第一设定操作的操作结果有关;
执行第二设定操作,在生效模式下,所述第二设定操作为若所述第二访问请求集合包含的访问请求为攻击类型,执行第二设定行为;在观察模式下,所述第二设定操作为记录所述第二访问请求集合包含的访问请求所属请求类型。
7.根据权利要求6所述访问请求处理方法,其特征在于,还包括:
将第三访问请求集合输入至预构建的人工智能引擎,通过所述人工智能引擎预测所述第三访问请求集合包含的访问请求所属的请求类型;所述第三访问请求集合属于所述第二访问请求集合,所述第三访问请求集合包含的访问请求的数目与所述第二设定操作的操作结果有关;
执行第三设定操作,在生效模式下,所述第三设定操作为若所述第三访问请求集合包含的访问请求为攻击类型,执行第三设定行为;在观察模式下,所述第三设定操作为记录所述第三访问请求集合包含的访问请求所属请求类型。
8.根据权利要求6或7所述访问请求处理方法,其特征在于,还包括:
基于所述设定规则确定的所述第一访问请求集合包含的访问请求所属的请求类型,与,所述第一访问请求集合包含的访问请求对应的实际请求类型的比较结果,更新所述设定规则;
基于所述注入攻击信息确定的所述第二访问请求集合包含的访问请求所属的请求类型,与,所述第二访问请求集合包含的访问请求对应的实际请求类型的比较结果,更新所述注入攻击信息。
9.根据权利要求6或7所述访问请求处理方法,其特征在于,
在观察模式下,若基于所述设定规则确定的所述第一访问请求集合包含的访问请求所属的请求类型的准确率大于或等于第四阈值,从观察模式切换至生效模式;其中,基于所述设定规则在观察模式下确定的准确率是指第七值与第八值的比值,其中,所述第七值是指基于所述设定规则确定的所述第一访问请求集合包含的访问请求所属的请求类型与所述第一访问请求集合包含的访问请求的实际请求类型相同的次数;所述第八值是指基于该设定规则已确定请求类型的所述第一访问请求集合包含的所有访问请求的数目;
和/或,
在观察模式下,若基于所述注入攻击信息确定的所述第二访问请求集合包含的访问请求所属的请求类型的准确率大于或等于第五阈值,从观察模式切换至生效模式;其中,基于所述注入攻击信息在观察模式下确定的准确率是指第九值与第十值的比值,其中,所述第九值是指基于所述注入攻击信息确定的所述第二访问请求集合包含的访问请求所属的请求类型与所述第二访问请求集合包含的访问请求的实际请求类型相同的次数;所述第十值是指基于所述注入攻击信息已确定请求类型的所述第二访问请求集合包含的所有访问请求的数目。
10.根据权利要求9所述访问请求处理方法,其特征在于,
在观察模式下,若基于所述设定规则确定的所述第一访问请求集合包含的访问请求所属的请求类型的准确率小于所述第四阈值,从观察模式切换至关闭模式;在关闭模式下,所述第一设定操作为不执行任何操作;
和/或,
在观察模式下,若基于所述注入攻击信息确定的所述第二访问请求集合包含的访问请求所属的请求类型的准确率小于所述第五阈值,从观察模式切换至关闭模式;在关闭模式下,所述第二设定操作为不执行任何操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910491438.7A CN110177113B (zh) | 2019-06-06 | 2019-06-06 | 互联网防护系统及访问请求处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910491438.7A CN110177113B (zh) | 2019-06-06 | 2019-06-06 | 互联网防护系统及访问请求处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110177113A true CN110177113A (zh) | 2019-08-27 |
CN110177113B CN110177113B (zh) | 2021-08-31 |
Family
ID=67697109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910491438.7A Active CN110177113B (zh) | 2019-06-06 | 2019-06-06 | 互联网防护系统及访问请求处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110177113B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143330A (zh) * | 2019-12-27 | 2020-05-12 | 湖南亚信软件有限公司 | 一种多模态数据库解析引擎的实现方法及装置 |
CN111737289A (zh) * | 2020-06-05 | 2020-10-02 | 北京奇艺世纪科技有限公司 | Sql注入攻击的检测方法、装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000073928A2 (en) * | 1999-05-27 | 2000-12-07 | Accenture Llp | Business alliance identification |
CN102413127A (zh) * | 2011-11-09 | 2012-04-11 | 中国电力科学研究院 | 一种数据库综合安全防护方法 |
CN105141573A (zh) * | 2015-06-11 | 2015-12-09 | 杭州安恒信息技术有限公司 | 一种基于web访问合规性审计的安全防护方法和系统 |
CN105391703A (zh) * | 2015-10-28 | 2016-03-09 | 南方电网科学研究院有限责任公司 | 一种基于云的web应用防火墙系统及其安全防护方法 |
CN107404473A (zh) * | 2017-06-06 | 2017-11-28 | 西安电子科技大学 | 基于Mshield机器学习多模式Web应用防护方法 |
CN108234462A (zh) * | 2017-12-22 | 2018-06-29 | 杭州安恒信息技术有限公司 | 一种基于云防护的智能拦截威胁ip的方法 |
CN109167754A (zh) * | 2018-07-26 | 2019-01-08 | 北京计算机技术及应用研究所 | 一种网络应用层安全防护系统 |
CN109409113A (zh) * | 2018-10-25 | 2019-03-01 | 国家电网有限公司 | 一种电网数据安全防护方法和分布式电网数据安全防护系统 |
CN109600370A (zh) * | 2018-12-08 | 2019-04-09 | 公安部第三研究所 | 一种终端web防护系统及方法 |
-
2019
- 2019-06-06 CN CN201910491438.7A patent/CN110177113B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000073928A2 (en) * | 1999-05-27 | 2000-12-07 | Accenture Llp | Business alliance identification |
CN102413127A (zh) * | 2011-11-09 | 2012-04-11 | 中国电力科学研究院 | 一种数据库综合安全防护方法 |
CN105141573A (zh) * | 2015-06-11 | 2015-12-09 | 杭州安恒信息技术有限公司 | 一种基于web访问合规性审计的安全防护方法和系统 |
CN105391703A (zh) * | 2015-10-28 | 2016-03-09 | 南方电网科学研究院有限责任公司 | 一种基于云的web应用防火墙系统及其安全防护方法 |
CN107404473A (zh) * | 2017-06-06 | 2017-11-28 | 西安电子科技大学 | 基于Mshield机器学习多模式Web应用防护方法 |
CN108234462A (zh) * | 2017-12-22 | 2018-06-29 | 杭州安恒信息技术有限公司 | 一种基于云防护的智能拦截威胁ip的方法 |
CN109167754A (zh) * | 2018-07-26 | 2019-01-08 | 北京计算机技术及应用研究所 | 一种网络应用层安全防护系统 |
CN109409113A (zh) * | 2018-10-25 | 2019-03-01 | 国家电网有限公司 | 一种电网数据安全防护方法和分布式电网数据安全防护系统 |
CN109600370A (zh) * | 2018-12-08 | 2019-04-09 | 公安部第三研究所 | 一种终端web防护系统及方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143330A (zh) * | 2019-12-27 | 2020-05-12 | 湖南亚信软件有限公司 | 一种多模态数据库解析引擎的实现方法及装置 |
CN111143330B (zh) * | 2019-12-27 | 2023-10-03 | 湖南亚信软件有限公司 | 一种多模态数据库解析引擎的实现方法及装置 |
CN111737289A (zh) * | 2020-06-05 | 2020-10-02 | 北京奇艺世纪科技有限公司 | Sql注入攻击的检测方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110177113B (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kaynar | A taxonomy for attack graph generation and usage in network security | |
Sheyner | Scenario graphs and attack graphs | |
US9680866B2 (en) | System and method for analyzing web content | |
US8438386B2 (en) | System and method for developing a risk profile for an internet service | |
US20100235879A1 (en) | Systems, methods, and media for enforcing a security policy in a network including a plurality of components | |
US20230040895A1 (en) | System and method for developing a risk profile for an internet service | |
Speicher et al. | Towards automated network mitigation analysis | |
Nagpal et al. | SECSIX: security engine for CSRF, SQL injection and XSS attacks | |
CN110177113A (zh) | 互联网防护系统及访问请求处理方法 | |
RU2659482C1 (ru) | Способ защиты веб-приложений при помощи интеллектуального сетевого экрана с использованием автоматического построения моделей приложений | |
CN104375935B (zh) | Sql注入攻击的测试方法和装置 | |
CN116996286A (zh) | 一种基于大数据分析的网络攻击和安全漏洞治理框架平台 | |
Drakonakis et al. | ReScan: A Middleware Framework for Realistic and Robust Black-box Web Application Scanning | |
CN116506206A (zh) | 基于零信任网络用户的大数据行为分析方法及系统 | |
Baiardi et al. | A scenario method to automatically assess ict risk | |
Wen et al. | Lom: Discovering logic flaws within MongoDB-based web applications | |
Helmer | Intelligent multi-agent system for intrusion detection and countermeasures | |
Bajic | Simulation-based Evaluation of Dynamic Attack and Defense in Computer Networks | |
Zhou et al. | Exploring The Role of Web Crawler and Anti-Crawler Technology in Big Data Era | |
Yi et al. | A logic-based attack graph for analyzing network security risk against potential attack | |
Deptula | Automation of cyber penetration testing using the detect, identify, predict, react intelligence automation model | |
Guelzim et al. | Formal methods of attack modeling and detection | |
Kaynar | Distributed log analysis for scenario-based detection of multi-step attacks and generation of near-optimal defense recommendations | |
Kiviharju et al. | Towards modelling information security with key-challenge Petri nets | |
Erokhin et al. | A Comparative Analysis of Public Cyber Security Datasets |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |