CN116127230A - 网页的防护规则的生成方法、装置、设备和介质 - Google Patents
网页的防护规则的生成方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN116127230A CN116127230A CN202310067320.8A CN202310067320A CN116127230A CN 116127230 A CN116127230 A CN 116127230A CN 202310067320 A CN202310067320 A CN 202310067320A CN 116127230 A CN116127230 A CN 116127230A
- Authority
- CN
- China
- Prior art keywords
- parameter
- user request
- protection rule
- unmatched
- determining
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
本公开提供了一种网页的防护规则的生成方法、装置、计算机设备和介质。该方法包括:在自学习期间,依次接收多个用户请求;响应于多个用户请求中的第一用户请求,获取第一用户请求中的参数和对应的参数值以用于生成防护规则;基于第一预设规则,确定在第一用户请求之后接收的用户请求是否是异常请求;响应于确定多个用户请求中在第一用户请求之后接收的用户请求不是异常请求,基于该用户请求中的参数和对应的参数值与防护规则的比较结果,确定是否基于该用户请求对防护规则进行更新;以及响应于预设条件,终止自学习。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种网页的防护规则的生成方法、网页的防护测试方法、装置、计算机设备及介质。
背景技术
基于浏览器的应用系统的方便性和易于维护的特点,使得浏览器/服务器架构的应用快速扩张,安全问题也随之产生。网页应用防火墙(Web Application Firewall,WAF)作为专门为网页应用提供保护的产品已经成为各企业单位必不可少的安全措施。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种网页的防护规则的生成方法、网页的防护测试方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种网页的防护规则的生成方法,包括:在自学习期间,依次接收多个用户请求;响应于所述多个用户请求中的第一用户请求,获取所述第一用户请求中的参数和对应的参数值以用于生成防护规则;基于第一预设规则,确定在所述第一用户请求之后接收的用户请求是否是异常请求;响应于确定所述多个用户请求中在所述第一用户请求之后接收的用户请求不是异常请求,基于该用户请求中的参数和对应的参数值与所述防护规则的比较结果,确定是否基于该用户请求对所述防护规则进行更新;以及响应于预设条件,终止所述自学习。
根据本公开的一方面,提供了一种网页的防护测试方法,包括:接收用户请求;基于预设的防护规则与所述用户请求的比较结果,确定所述用户请求是否通过防护测试,其中,所述预设的防护规则是通过前述的网页的防护规则的生成方法生成的。
根据本公开的另一方面,提供了一种网页的防护规则的生成装置,所述装置包括:第一接收模块,被配置为在自学习期间,依次接收多个用户请求;获取模块,被配置为响应于所述多个用户请求中的第一用户请求,获取所述第一用户请求中的参数和对应的参数值以用于生成防护规则;第一确定模块,被配置为基于第一预设规则,确定在所述第一用户请求之后接收的用户请求是否是异常请求;第二确定模块,被配置为响应于确定所述多个用户请求中在所述第一用户请求之后接收的用户请求不是异常请求,基于该用户请求中的参数和对应的参数值与所述防护规则的比较结果,确定是否基于该用户请求对所述防护规则进行更新;以及终止模块,被配置为响应于预设条件,终止所述自学习。
根据本公开的另一方面,提供了一种网页的防护测试装置,包括:第二接收模块,被配置为接收用户请求;第三确定模块,被配置为基于预设的防护规则与所述用户请求的比较结果,确定所述用户请求是否通过防护测试,其中,所述预设的防护规则是通过前述的网页的防护规则的生成方法生成的。
根据本公开的另一方面,提供了一种计算机设备,包括:存储器、处理器以及存储在所述存储器上的计算机程序,其中,所述处理器被配置为执行所述计算机程序以实现上述任一方法的步骤。
根据本公开的另一方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序。该计算机程序被处理器执行时实现上述方法的步骤。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序。该计算机程序被处理器执行时实现上述任一方法的步骤。
根据本公开的一个或多个实施例,提供了一种网页的防护规则的生成方法,通过对所接收的用户请求进行自学习来生成防护规则,并通过持续的自学习来对所生成的防护规则进行维护和更新,以得到能够准确适用于当前系统的防护规则,以减少错误的误报和漏报等情况发生。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的实施例的网页的防护规则的生成方法的流程图;
图2示出了根据本公开的实施例的网页的防护规则的生成方法中部分过程的流程图;
图3示出了根据本公开的实施例的网页的防护规则的生成方法中部分过程的流程图;
图4示出了根据本公开的实施例的网页的防护测试方法的流程图;
图5示出了根据本公开的实施例的网页的防护规则的生成装置的结构框图;
图6示出了根据本公开的实施例的网页的防护测试装置的结构框图;以及
图7示出了能够应用于本公开的示例性实施例的示例性计算机设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
在WAF相关技术中,在不同环境、系统中都使用相同的规则,或是仅在规则的数量和组合上有所差别,导致WAF无法适配于不同的环境进而会产生大量的误报和漏报,影响了WAF的防护效果。
为解决上述问题,本公开提供了一种网页的防护规则的生成方法,通过对所接收的用户请求进行自学习来生成防护规则,并通过持续的自学习来对所生成的防护规则进行维护和更新,以得到能够准确适用于当前系统的防护规则,以减少错误的误报和漏报等情况发生,进而提升网页的防护效果。
以下将结合附图对本公开的网页的防护规则的生成方法进行进一步描述。
图1示出了根据本公开示例性实施例的网页的防护规则的生成方法的流程图。
如图1所示,网页的防护规则的生成方法100包括:
步骤S101、在自学习期间,依次接收多个用户请求;
步骤S102、响应于所述多个用户请求中的第一用户请求,获取所述第一用户请求中的参数和对应的参数值以用于生成防护规则;
步骤S103、基于第一预设规则,确定在所述第一用户请求之后接收的用户请求是否是异常请求;
步骤S104、响应于确定所述多个用户请求中在所述第一用户请求之后接收的用户请求不是异常请求,基于该用户请求中的参数和对应的参数值与所述防护规则的比较结果,确定是否基于该用户请求对所述防护规则进行更新;
步骤S105、响应于预设条件,终止所述自学习。
由此,通过在步骤S102中对所接收的第一用户请求进行自学习来生成防护规则、在步骤S103中筛选异常请求,并在步骤S104中基于持续的自学习过程中依次接收到的非异常请求的用户请求来对所生成的防护规则进行维护和更新,以在自学习终止时得到能够准确适用于当前系统的防护规则,从而提升防护规则的准确性和覆盖率,并且在将得到的防护规则用于网页防护测试时,能够减少错误的误报和漏报等情况发生。
根据一些实施例,步骤S102包括:响应于所述多个用户请求中的第一用户请求,获取所述第一用户请求中的参数和对应的参数值;以及使用所述参数和对应的参数值生成防护规则(例如,防护规则包括所述参数和对应的参数值),并将所述防护规则中的所述参数的参数类型确定为常量类型。
示例性的,在确定防护规则中各个参数的参数类型后,可以在防护规则中对各个参数的参数类型进行标注。
在一个示例中,用户通过URL对对应的网页进行请求和访问。URL的一般语法格式例如可以为:protocol://hostname[:port]/path/[;parameters][?query]#fragment,可见,URL中包括了protocol(协议)、hostname(主机)以及port(端口)等多个参数,可以通过对URL进行解析来获取URL中包含的各个参数和对应的参数值。
在本公开中,用户请求作为自学习的对象可以是多种网络请求协议下用户所发出的请求。为便于理解,将在下文以HTTP协议的请求报文为例对用户请求进行描述。
在一个示例中,用户通过http://randomdomain.com:80这一URL对randomdomain.com这一域名对应的网页进行访问,其中,协议参数对应的参数值为“http”,表示指定使用HTTP协议进行信息的传输;主机参数对应的参数值为“randomdomain.com”,表示用户向这一域名发起请求;端口参数对应的参数值为“80”,表示访问的该网页服务器使用的是HTTP协议的标准端口80。可以理解的是,根据具体的应用场景以及访问的内容,URL中也可以根据其语法格式包含path(路径)、parameters(参数)、query(查询)以及fragment(片段)等多个参数,本公开对这些参数不一一进行赘述。
一个完整的用户请求中通常包含请求头和请求体,请求体和请求头中可以包含多个字段即参数,各参数及对应的参数值以键-值的形式包含在请求头和/或请求体中。下面将以请求头为例,对其中所包含的参数进行具体地描述。
当浏览器向服务器发送请求时,这一请求中包括请求头。在一个示例中,请求头中包含“Accept-Encoding:gzip”,其中,参数“Accept-Encoding”表示浏览器可接受的数据编码,对应的参数值“gzip”表示编码类型;“Sec-Fetch-Dest:document”表示请求的目的地为“document”;“Sec-Fetch-Mode:navigate”表示请求的模式为“navigate”,即这是一个浏览器的页面切换请求。
由此,当第一用户请求中包含如上述示例中的URL以及请求头信息时,可以将URL以及使用请求头信息中包含的各参数和对应的参数值生成防护规则。示例性的,基于第一用户请求所确定的防护规则为“const protocol:http;const hostname:randomdomain.com;const port:80;const Accept-Encoding:gzip;const Sec-Fetch-Dest:document;const Sec-Fetch-Mode:navigate”由6个参数及对应的参数值所组成的防护规则,每个参数名称前的“const”表示该参数对应的类型被确定为常量类型。由此,基于第一用户请求得到了防护规则,并在后续的自学习过程中,基于依次接收到的用户请求来更新这一防护规则。
可以理解的是,上述防护规则的形式仅是为了便于描述和理解给出的示例,防护规则中参数、参数类型以及对应的参数值的存储形式可以根据应用的场景和需要来具体进行设置,本公开对此不做限定。
根据一些实施例,所述方法还包括:获取所述防护规则中具有极值的参数,并将具有极值的参数在预设天数内每天的极值变化频率的最大值记录为该参数对应的第一值,其中,所述极值为该参数对应的最大值或最大长度,并且其中,步骤S103包括:响应于基于该用户请求对具有极值的参数的极值进行更新后该参数在该天对应的极值变化频率大于对应的第一值的预设倍数,将该用户请求确定为异常请求。
发明人发现,正常请求中的参数的参数值在一定周期内的变化频率能够保持在一定的范围内,而异常请求通常会超出这一范围。具体地,可以通过一定周期内的防护规则的更新情况来估算参数的参数值的正常变化频率,统计具有最大值或最大长度的参数,即整数类型参数和字符串类型参数,在一定周期内该参数的最大值或最大长度被突破并产生新的最大值或最大长度的次数,并将这些次数的最大值即每天的极值变化频率的最大值作为第一值。由此来确定该参数的参数值的正常变化频率,并将导致该参数的变化频率大于该第一值的预设倍数的用户请求确定为异常请求。
在一个示例中,当统计得到的第一值为0时,可以为第一值设置最小值。
示例性的,参数“Value1”在防护规则中为整数类型参数,预设天数设置为30,预设倍数设置为4。统计参数“Value1”在最近30天内的每一天中最大值被突破的次数,例如在1-29天中,参数“Value1”的最大值被突破的次数均为2,在第30天时,参数“Value1”的最大值被突破的次数为3,则确定参数“Value1”在最近30天内每天的极值变化频率的最大值为3,即第一值为3。当在第31天接收到的用户请求会导致参数“Value1”在第31天的最大值被突破的次数为13,即大于第一值3的4倍时,则将该用户请求确定为异常请求,不再基于该用户请求对防护规则进行更新。
所述预设天数和预设倍数可以根据防护规则所应用的环境和系统来进行设定和调节,上述仅为方便理解给出的示例,本公开对预设天数和预设倍数具体的取值不做限定。
根据一些实施例,所述方法还包括:获取所述防护规则中具有极值的参数,并将具有极值的参数在预设天数内每天的极值变化幅度的最大值记录为该参数对应的第二值,其中,所述极值为该参数对应的最大值或最大长度,并且其中,步骤S103包括:响应于基于该用户请求对具有极值的参数的极值进行更新后该参数在该天对应的极值变化幅度大于对应的第二值的预设倍数,将该用户请求确定为异常请求。
发明人还发现,正常请求中的参数的参数值在一定周期内的变化幅度也能够保持在一定的范围内,而异常请求例如黑客的攻击通常会超出这一范围。具体地,可以通过一定周期内的防护规则的更新情况来估算参数的参数值的正常变化幅度,统计具有最大值或最大长度的参数,即整数类型参数和字符串类型参数,在一定周期内该参数的最大值或最大长度被突破时所产生新的最大值或最大长度与原最大值或最大长度的差值,并将这些差值的最大值即每天的极值变化幅度的最大值作为第二值。由此来确定该参数的参数值的正常变化幅度,并将导致该参数的变化幅度大于该第二值的预设倍数的用户请求确定为异常请求。
在一个示例中,当统计得到的第二值为0时,可以为第二值设置最小值。示例性的,参数“Value2”在防护规则中为整数类型参数,预设天数设置为30,预设倍数设置为4。统计参数“Value2”在最近30天内的每一天中最大值被突破的幅度,例如在1-29天中,参数“Value2”的最大值被突破的幅度均为20,在第30天时,参数“Value2”的最大值被突破的幅度为25,则确定参数“Value2”在最近30天内每天的极值变化幅度的最大值为25,即第二值为25。当在第31天接收到的用户请求会导致参数“Value2”在第31天的最大值被突破的幅度为200,大于第二值25的4倍时,则将该用户请求确定为异常请求,不再基于该用户请求对防护规则进行更新。
由此,可以基于参数的每天的极值变化频率和每天的极值变化幅度来排除多个用户请求中在第一用户请求之后接收的用户请求中的异常请求,并仅基于正常的用户请求对防护规则进行更新,以此来提升防护规则的准确性。
图2示出了根据本公开的实施例的网页的防护规则的生成方法中部分过程的流程图。如图2所示,步骤S104可以包括:步骤S201、响应于确定所述多个用户请求中在所述第一用户请求之后接收的用户请求不是异常请求,获取该用户请求中的参数和对应的参数值;步骤S202、确定该用户请求中的参数是否全部包括在所述防护规则中;步骤S203、响应于确定该用户请求中的参数都包括在所述防护规则中,比较该用户请求中的参数对应的参数值与对应参数在所述防护规则中的参数值是否匹配;以及步骤S204、响应于确定该用户请求中的参数未全部包括在所述防护规则中或该用户请求中的参数对应的参数值与对应参数在所述防护规则中的参数值不匹配,确定基于该用户请求对所述防护规则进行更新。
可以理解的是,自学习的过程是基于依次接收到的用户请求对防护规则进行更新的过程。在第一用户请求后接收到其他的用户请求后,对该用户请求进行解析并将该用户请求中包括的参数和对应的参数值与当前的防护规则中所包括的参数和对应的参数值进行比较,以确定是否需要对当前的防护规则进行更新。
根据一些实施例,对防护规则的更新总体可能涉及两个方面:参数值的更新和/或参数的增加。当用户请求中包括的参数对应的参数值与当前的防护规则中同一参数对应的参数值不匹配时,需要基于用户请求中包括的参数对应的参数值对防护规则中对应参数的参数值进行更新。当用户请求中包括当前的防护规则中不包括的参数时,需要将这一参数以及对应的参数值增加到防护规则中,以实现对防护规则的更新。
根据一些实施例,在所述防护规则中各参数对应的参数值为以下各项中的至少一项:常量类型参数对应的唯一值、枚举类型参数对应的多个枚举值、整数类型参数对应的最大值和最小值、和字符串类型参数对应的最大长度和最小长度。
如上述示例中的防护规则,各个参数的参数类型均为常量类型,在基于此防护规则进行网页的防护测试时,仅当待测试的用户请求中对应的这6个参数对应的参数值均与防护规则中的对应的6个参数值相同时,该待测试的用户请求才通过这一防护测试,允许进行访问。在自学习的过程中,可以基于接收的用户请求来更新参数的参数类型以及对应的取值,以逐渐放宽参数的取值范围。
根据一些实施例,步骤S204包括:响应于确定该用户请求中的参数未全部包括在所述防护规则中,将该用户请求中的未包括在所述防护规则中的参数和对应的参数值添加到所述防护规则中,并将新添加到所述防护规则中的参数的参数类型确定为常量类型;和/或响应于确定该用户请求中的参数对应的参数值与对应参数在所述防护规则中的参数值不匹配,确定不匹配参数在所述防护规则中的参数类型;以及基于该用户请求和所述不匹配参数在所述防护规则中的参数类型,对所述防护规则进行更新。
以上述示例中的防护规则为例,当接收到的用户请求中包括“Accept-Encoding:deflate;Sec-Fetch-Dest:document;Sec-Fetch-Site:none”这三个参数及对应的参数值时,响应于“Sec-Fetch-Site”这一参数未包括在当前的防护规则中,将这一参数“Sec-Fetch-Site”和对应的参数值“none”添加到防护规则中,并将参数“Sec-Fetch-Site”的参数类型确定为常量类型;响应于参数“Accept-Encoding”对应的参数值“deflate”与防护规则中的同一参数的参数值“gzip”不匹配,基于参数“Accept-Encoding”在防护规则中的参数类型和参数值“gzip”对防护规则进行更新。
根据一个实施例,基于该用户请求和所述不匹配参数在所述防护规则中的参数类型,对所述防护规则进行更新包括:响应于确定所述不匹配参数在所述防护规则中的参数类型为常量类型,将所述不匹配参数在所述防护规则中的参数类型更新为枚举类型,并将所述不匹配参数在该用户请求中对应的参数值添加到所述防护规则中作为所述不匹配参数的枚举值。
如上述示例,在当前的防护规则中,参数“Accept-Encoding”的参数类型为常量类型,响应于包含“Accept-Encoding:deflate”的用户请求,将参数“Accept-Encoding”的参数类型更新为枚举类型,并且将参数值“deflate”添加到防护规则中作为该参数的枚举值。由此,基于上述用户请求防护规则将被更新为“const protocol:http;const hostname:randomdomain.com;const port:80;enum Accept-Encoding:gzip,deflate;const Sec-Fetch-Dest:document;const Sec-Fetch-Mode:navigate;const Sec-Fetch-Site:none”,其中,参数“Accept-Encoding”前的“enum”表示参数“Accept-Encoding”为枚举类型。
图3示出了根据本公开的实施例的网页的防护规则的生成方法中部分过程的流程图。如图3所示,所述基于用户请求和所述不匹配参数在所述防护规则中的参数类型,对防护规则进行更新的方法300包括:步骤S301、响应于确定所述不匹配参数在所述防护规则中的参数类型为枚举类型,确定所述不匹配参数在所述防护规则中对应的枚举值的数量;步骤S302、响应于确定所述枚举值的数量小于第二阈值,将所述不匹配参数在该用户请求中对应的参数值添加到所述防护规则中作为所述不匹配参数的枚举值;步骤S303、响应于确定所述枚举值的数量大于等于第二阈值,基于所述不匹配参数在该用户请求中对应的参数值,对所述不匹配参数在所述防护规则中对应的参数类型和参数值进行更新。
可以理解的是,对于一个枚举类型参数,可以通过增加枚举值对其进行更新。然而,当枚举值过多时,会导致防护规则过长,增加维护的成本,同时在利用这一防护规则进行网页防护测试时,需要遍历各个枚举值,进而导致匹配的时间过长,影响测试的效率。因此,可以为枚举型类型的参数的枚举值数量设置阈值,来减小枚举值过多带来的影响。
当确定枚举值的数量大于等于预设的第二阈值时,不再通过增加枚举值来更新该参数,而是基于用户请求中该对应的参数值,对防护规则中该参数对应的参数类型和参数值进行更新,具体的更新方式如以下实施例所述。
根据一个实施例,步骤S303包括:响应于确定所述不匹配参数在该用户请求中对应的参数值为整数并且确定所述不匹配参数在所述防护规则中对应的枚举值为整数,基于所述不匹配参数在所述防护规则中对应的枚举值和所述不匹配参数在该用户请求中的参数值,确定所述不匹配参数在所述防护规则中对应的最大值和最小值,并将所述不匹配参数在所述防护规则中的参数类型更新为整数类型;响应于所述不匹配参数在该用户请求中对应的参数值为非整数和/或所述不匹配参数在所述防护规则中对应的枚举值包括非整数,基于所述不匹配参数在所述防护规则中对应的枚举值和所述不匹配参数在该用户请求中的参数值,确定所述不匹配参数在所述防护规则中对应的最大长度和最小长度,并将所述不匹配参数在所述防护规则中的参数类型更新为字符串类型。
对于防护规则中枚举类型参数的参数类型进行更新可以分为两种情况:一是在用户请求和防护规则中该参数对应的参数值均为整数,可以将除第一种情况在外的情况作为第二种情况。
对于第一种情况,示例性的,当前的防护规则中包括枚举类型参数“ID”和对应的5个枚举值“ID:1,2,32,40,99”,并且预设的第二阈值为5。当接收到的用户请求中包括“ID:100”时,响应于确定当前的枚举值的数量5等于预设的第二阈值,并且在用户请求和防护规则中参数“ID”对应的参数值均为整数,则基于参数“ID”在防护规则中对应的枚举值“1,2,32,40,99”和在该用户请求中的参数值“100”来确定参数“ID”对应的最大值为100、最小值为1,并将参数“ID”在防护规则中的参数类型由枚举类型更新为整数类型。
对于第二种情况,示例性的,当前的防护规则中包括枚举类型参数“ID”和对应的5个枚举值“ID:1,2,32,40,99”,并且预设的第二阈值为5。当接收到的用户请求中包括“ID:number01”时,响应于确定当前的枚举值的数量5等于预设的第二阈值,并且在用户请求中参数“ID”对应的参数值为非整数,则基于参数“ID”在防护规则中对应的枚举值“1”或“2”对应的字符串长度,确定参数“ID”在防护规则中对应的最小长度为1,基于参数“ID”在用户请求中对应的参数值“number01”的字符串长度,确定参数“ID”在防护规则中对应的最大长度为8,并将参数“ID”在防护规则中的参数类型由枚举类型更新为字符串类型。
在一个示例中,可以在确定参数在防护规则中对应的枚举值和在用户请求中的参数值是否是整数之后,依次确定该参数在防护规则中对应的枚举值和在用户请求中的参数值是否是邮箱类型、json字符串类型,以逐渐扩大参数的取值范围,并在确定以上情况均不符合的条件下,将该参数确定为字符串类型。
根据一个实施例,所述基于该用户请求和所述不匹配参数在所述防护规则中的参数类型,对所述防护规则进行更新包括:响应于确定所述不匹配参数在所述防护规则中的参数类型为整数类型并且所述不匹配参数在该用户请求中对应的参数值为整数,基于所述不匹配参数在该用户请求中的参数值,更新所述不匹配参数在所述防护规则中对应的最大值或最小值;或响应于确定所述不匹配参数在所述防护规则中的参数类型为整数类型并且所述不匹配参数在该用户请求中对应的参数值不是整数,基于所述不匹配参数在所述防护规则中对应的最大值和最小值以及所述不匹配参数在该用户请求中的参数值,确定所述不匹配参数在所述防护规则中对应的最大长度和最小长度,并将所述不匹配参数在所述防护规则中的参数类型更新为字符串类型。
当参数在防护规则和用户请求中对应的参数值均是整数类型时,则可以基于该参数在用户请求中的参数值来更新其在防护规则中的最大值或最小值。而当参数在防护规则中对应的参数值是整数而在用户请求中对应的参数值为非整数时,则将参数更新为字符串类型,并确定参数对应的最大长度和最小长度。
示例性的,参数“ID1”在防护规则中为整数类型,并且对应的参数值为(1,10000),表示参数“ID1”在防护规则中的最小值为1、最大值为10000。当接收到的用户请求中包括“ID1:10001”时,则可以基于这一用户请求将参数“ID1”在防护规则中的最大值为10001;当接收到的用户请求中包括“ID1:num1”时,响应于参数“ID1”在用户请求中对应的参数值“num1”为非整数,则在防护规则中将参数“ID1”更新为字符串类型,并基于参数“ID1”在防护规则中的对应的最小值1和最大值10000确定参数“ID1”对应的最小长度为1、最大长度为5。
根据一个实施例,基于该用户请求和所述不匹配参数在所述防护规则中的参数类型,对所述防护规则进行更新包括:响应于确定所述不匹配参数在所述防护规则中的参数类型为字符串类型,基于所述不匹配参数在该用户请求中的参数值,更新所述不匹配参数在所述防护规则中对应的最大长度或最小长度。
示例性的,参数“String01”在防护规则中为字符串类型,并且最小长度为1、最大长度为3。当接收到的用户请求中包括“String01:9999”时,则根据参数“String01”在用户请求中的参数值9999的字符串长度来将参数“String01”在防护规则中的最大长度更新为4。
根据一个实施例,步骤S105中的预设条件包括:所述自学习的时间长度达到预设时间。
可以理解的是,可以通过设置预设时间来控制自学习的终止,具体地,这一预设时间可以根据历史学习情况来确定,例如,历史学习情况显示自学习一周时间后,通过自学习得到的防护规则较为稳定、不再更新时,可以将这一预设时间设置为一周。
根据一些实施例,网页的防护规则的生成方法100还包括:在所述自学习终止后,基于第二预设规则确定通过所述自学习生成的所述防护规则中不稳定的参数;以及对于所述防护规则中不稳定的参数进行重新学习,以更新所述防护规则。
可以理解的是,在自学习完成后,通过自学习得到的防护规则中的各参数对应的参数值不一定都是稳定准确的,可以通过第二预设规则来筛选出自学习生成的所述防护规则中不稳定的参数,并对这些参数进行重新学习,以提升所生成的防护规则的质量,进而在利用防护规则进行网页防护测试时提升测试的准确性和覆盖率。
根据一些实施例,基于第二预设规则,确定通过所述自学习生成的所述防护规则中不稳定的参数包括:将所述防护规则中的出现在所述多个用户请求中的频率小于第一阈值的参数确定为不稳定的参数。
可以将参数在用户请求中的出现频率作为筛选不稳定参数的一个条件。例如,参数“Randomnum:10428”由于被包括在第二个用户请求中而被添加到用户规则中,但在自学习期间参数“Randomnum”未出现在除第二个用户请求之外的其他用户请求中,可见该参数出现在用户请求中的频率仅为1,由此,可以确定参数“Randomnum”为不稳定的参数,可以对该参数进行重新学习。示例性的,当在重新学习的过程中,该参数在用户请求中的频率仍小于第一阈值,则可以将该参数作为异常参数并从防护规则中剔除。
根据本公开的另一方面,提供了一种网页的防护测试方法。如图4所示,网页的防护测试方法400包括:步骤S401、接收用户请求;步骤S402、基于预设的防护规则与所述用户请求的比较结果,确定所述用户请求是否通过防护测试,其中,所述预设的防护规则是通过前述网页的防护规则的生成方法生成的。
由此,通过自学习所生成的防护规则能够准确适用于当前系统,基于这样的防护规则对网页进行防护测试能够有效减少错误的误报和漏报等情况发生。
根据本公开的另一方面,提供了一种网页的防护规则的生成装置。如图5所示,网页的防护规则的生成装置500包括:第一接收模块501,被配置为在自学习期间,依次接收多个用户请求;获取模块502,被配置为响应于所述多个用户请求中的第一用户请求,获取所述第一用户请求中的参数和对应的参数值以用于生成防护规则;第一确定模块503,被配置为基于第一预设规则,确定在所述第一用户请求之后接收的用户请求是否是异常请求;第二确定模块504,被配置为响应于确定所述多个用户请求中在所述第一用户请求之后接收的用户请求不是异常请求,基于该用户请求中的参数和对应的参数值与所述防护规则的比较结果,确定是否基于该用户请求对所述防护规则进行更新;以及终止模块505,被配置为响应于预设条件,终止所述自学习。
网页的防护规则的生成装置500的模块501-505的操作与前面描述的步骤S101-S105的操作类似,在此不作赘述。
由此,通过获取模块502对所接收的第一在用户请求进行自学习来生成防护规则、由第一确定模块503筛选异常请求,并由第二确定模块504基于持续的自学习过程中依次接收到的非异常请求的用户请求来对所生成的防护规则进行维护和更新,以在自学习终止时得到能够准确适用于当前系统的防护规则,从而提升防护规则的准确性和覆盖率,并且在将得到的防护规则用于网页防护测试时,能够减少错误的误报和漏报等情况发生。
根据本公开的另一方面,提供了一种网页的防护测试装置。如图6所示,网页的防护测试装置600包括:第二接收模块601,被配置为接收用户请求;第三确定模块602,被配置为基于预设的防护规则与所述用户请求的比较结果,确定所述用户请求是否通过防护测试,其中,所述预设的防护规则是通过前述网页的防护规则的生成方法生成的。
由此,通过自学习所生成的防护规则能够准确适用于当前系统,网页的防护测试装置600基于这样的防护规则对网页进行防护测试能够有效减少错误的误报和漏报等情况发生。
根据本公开的一方面,提供了一种计算机设备,其包括存储器、处理器以及存储在存储器上的计算机程序。该处理器被配置为执行计算机程序以实现上文描述的任一方法实施例的步骤。
根据本公开的一方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上文描述的任一方法实施例的步骤。
根据本公开的一方面,提供了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时实现上文描述的任一方法实施例的步骤。
在下文中,结合图7描述这样的计算机设备、非暂态计算机可读存储介质和计算机程序产品的说明性示例。
图7示出了可以被用来实施本文所描述的方法的计算机设备700的示例配置。
计算机设备700可以是各种不同类型的设备,例如服务提供商的服务器、与客户端(例如,客户端设备)相关联的设备、片上系统、和/或任何其它合适的计算机设备或计算系统。计算机设备700的示例包括但不限于:台式计算机、服务器计算机、笔记本电脑或上网本计算机、移动设备(例如,平板电脑、蜂窝或其他无线电话(例如,智能电话)、记事本计算机、移动台)、可穿戴设备(例如,眼镜、手表)、娱乐设备(例如,娱乐器具、通信地耦合到显示设备的机顶盒、游戏机)、电视或其他显示设备、汽车计算机等等。因此,计算机设备700的范围可以从具有大量存储器和处理器资源的全资源设备(例如,个人计算机、游戏控制台)到具有有限的存储器和/或处理资源的低资源设备(例如,传统的机顶盒、手持游戏控制台)。
计算机设备700可以包括能够诸如通过系统总线714或其他适当的连接彼此通信的至少一个处理器702、存储器704、(多个)通信接口706、显示设备708、其他输入/输出(I/O)设备710以及一个或更多大容量存储设备512。
处理器702可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器702可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。除了其他能力之外,处理器702可以被配置成获取并且执行存储在存储器704、大容量存储设备712或者其他计算机可读介质中的计算机可读指令,诸如操作系统716的程序代码、应用程序718的程序代码、其他程序720的程序代码等。
存储器704和大容量存储设备712是用于存储指令的计算机可读存储介质的示例,所述指令由处理器702执行来实施前面所描述的各种功能。举例来说,存储器704一般可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等等)。此外,大容量存储设备712一般可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等等。存储器704和大容量存储设备712在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,所述计算机程序代码可以由处理器702作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
多个程序模块可以存储在大容量存储设备712上。这些程序包括操作系统716、一个或多个应用程序718、其他程序720和程序数据722,并且它们可以被加载到存储器704以供执行。这样的应用程序或程序模块的示例可以包括例如用于实现以下部件/功能的计算机程序逻辑(例如,计算机程序代码或指令):方法100、300、和/或本文描述的另外的实施例。
虽然在图5中被图示成存储在计算机设备700的存储器704中,但是模块716、718、720和722或者其部分可以使用可由计算机设备700访问的任何形式的计算机可读介质来实施。如本文所使用的,“计算机可读介质”至少包括两种类型的计算机可读介质,也就是计算机存储介质和通信介质。
计算机存储介质包括通过用于存储信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,所述信息诸如是计算机可读指令、数据结构、程序模块或者其他数据。计算机存储介质包括而不限于RAM、ROM、EEPROM、闪存或其他存储器技术,CD-ROM、数字通用盘(DVD)、或其他光学存储装置,磁盒、磁带、磁盘存储装置或其他磁性存储设备,或者可以被用来存储信息以供计算机设备访问的任何其他非传送介质。
与此相对,通信介质可以在诸如载波或其他传送机制之类的已调数据信号中具体实现计算机可读指令、数据结构、程序模块或其他数据。本文所定义的计算机存储介质不包括通信介质。
计算机设备700还可以包括一个或更多通信接口706,以用于诸如通过网络、直接连接等等与其他设备交换数据,正如前面所讨论的那样。这样的通信接口可以是以下各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(NIC))、有线或无线(诸如IEEE802.11无线LAN(WLAN))无线接口、全球微波接入互操作(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、BluetoothTM接口、近场通信(NFC)接口等。通信接口706可以促进在多种网络和协议类型内的通信,其中包括有线网络(例如LAN、电缆等等)和无线网络(例如WLAN、蜂窝、卫星等等)、因特网等等。通信接口706还可以提供与诸如存储阵列、网络附属存储、存储区域网等等中的外部存储装置(未示出)的通信。
在一些示例中,可以包括诸如监视器之类的显示设备708,以用于向用户显示信息和图像。其他I/O设备710可以是接收来自用户的各种输入并且向用户提供各种输出的设备,并且可以包括触摸输入设备、手势输入设备、摄影机、键盘、遥控器、鼠标、打印机、音频输入/输出设备等等。
虽然在附图和前面的描述中已经详细地说明和描述了本公开,但是这样的说明和描述应当被认为是说明性的和示意性的,而非限制性的;本公开不限于所公开的实施例。通过研究附图、公开内容和所附的权利要求书,本领域技术人员在实践所要求保护的主题时,能够理解和实现对于所公开的实施例的变型。在权利要求书中,词语“包括”不排除未列出的其他元件或步骤,并且词语“一”或“一个”不排除多个。在相互不同的从属权利要求中记载了某些措施的仅有事实并不表明这些措施的组合不能用来获益。
Claims (21)
1.一种网页的防护规则的生成方法,包括:
在自学习期间,依次接收多个用户请求;
响应于所述多个用户请求中的第一用户请求,获取所述第一用户请求中的参数和对应的参数值以用于生成防护规则;
基于第一预设规则,确定在所述第一用户请求之后接收的用户请求是否是异常请求;
响应于确定所述多个用户请求中在所述第一用户请求之后接收的用户请求不是异常请求,基于该用户请求中的参数和对应的参数值与所述防护规则的比较结果,确定是否基于该用户请求对所述防护规则进行更新;以及
响应于预设条件,终止所述自学习。
2.根据权利要求1所述的方法,还包括:
在所述自学习终止后,基于第二预设规则确定通过所述自学习生成的所述防护规则中不稳定的参数;以及
对于所述防护规则中不稳定的参数进行重新学习,以更新所述防护规则。
3.根据权利要求2所述的方法,其中,所述基于第二预设规则,确定通过所述自学习生成的所述防护规则中不稳定的参数包括:
将所述防护规则中的出现在所述多个用户请求中的频率小于第一阈值的参数确定为不稳定的参数。
4.根据权利要求1所述的方法,其中,所述响应于所述多个用户请求中的第一用户请求,获取所述第一用户请求中的参数和对应的参数值以用于生成防护规则包括:
响应于所述多个用户请求中的第一用户请求,获取所述第一用户请求中的参数和对应的参数值;以及
使用所述参数和对应的参数值生成防护规则,并将所述防护规则中的所述参数的参数类型确定为常量类型。
5.根据权利要求1所述的方法,其中,所述响应于确定所述多个用户请求中在所述第一用户请求之后接收的用户请求不是异常请求,基于该用户请求中的参数和对应的参数值与所述防护规则的比较结果,确定是否基于该用户请求对所述防护规则进行更新包括:
响应于确定所述多个用户请求中在所述第一用户请求之后接收的用户请求不是异常请求,获取该用户请求中的参数和对应的参数值;
确定该用户请求中的参数是否全部包括在所述防护规则中;
响应于确定该用户请求中的参数都包括在所述防护规则中,比较该用户请求中的参数对应的参数值与对应参数在所述防护规则中的参数值是否匹配;以及
响应于确定该用户请求中的参数未全部包括在所述防护规则中和/或该用户请求中的参数对应的参数值与对应参数在所述防护规则中的参数值不匹配,确定基于该用户请求对所述防护规则进行更新。
6.根据权利要求5所述的方法,其中,在所述防护规则中各参数对应的参数值为以下各项中的至少一项:
常量类型参数对应的唯一值、枚举类型参数对应的多个枚举值、整数类型参数对应的最大值和最小值、和字符串类型参数对应的最大长度和最小长度。
7.根据权利要求6所述的方法,其中,所述响应于该用户请求中的参数未全部包括在所述防护规则中和/或该用户请求中的参数对应的参数值与对应参数在所述防护规则中的参数值不匹配,确定基于该用户请求对所述防护规则进行更新包括:
响应于确定该用户请求中的参数未全部包括在所述防护规则中,将该用户请求中的未包括在所述防护规则中的参数和对应的参数值添加到所述防护规则中,并将新添加到所述防护规则中的参数的参数类型确定为常量类型;或
响应于确定该用户请求中的参数对应的参数值与对应参数在所述防护规则中的参数值不匹配,确定不匹配参数在所述防护规则中的参数类型;以及
基于该用户请求和所述不匹配参数在所述防护规则中的参数类型,对所述防护规则进行更新。
8.根据权利要求7所述的方法,其中,所述基于该用户请求和所述不匹配参数在所述防护规则中的参数类型,对所述防护规则进行更新包括:
响应于确定所述不匹配参数在所述防护规则中的参数类型为常量类型,将所述不匹配参数在所述防护规则中的参数类型更新为枚举类型,并将所述不匹配参数在该用户请求中对应的参数值添加到所述防护规则中作为所述不匹配参数的枚举值。
9.根据权利要求7所述的方法,其中,所述基于该用户请求和所述不匹配参数在所述防护规则中的参数类型,对所述防护规则进行更新包括:
响应于确定所述不匹配参数在所述防护规则中的参数类型为枚举类型,确定所述不匹配参数在所述防护规则中对应的枚举值的数量;
响应于确定所述枚举值的数量小于第二阈值,将所述不匹配参数在该用户请求中对应的参数值添加到所述防护规则中作为所述不匹配参数的枚举值;
响应于确定所述枚举值的数量大于等于第二阈值,基于所述不匹配参数在该用户请求中对应的参数值,对所述不匹配参数在所述防护规则中对应的参数类型和参数值进行更新。
10.根据权利要求9所述的方法,其中,所述基于所述不匹配参数在该用户请求中对应的参数值,对所述不匹配参数在所述防护规则中对应的参数类型和参数值进行更新包括:
响应于确定所述不匹配参数在该用户请求中对应的参数值为整数并且确定所述不匹配参数在所述防护规则中对应的枚举值为整数,基于所述不匹配参数在所述防护规则中对应的枚举值和所述不匹配参数在该用户请求中的参数值,确定所述不匹配参数在所述防护规则中对应的最大值和最小值,并将所述不匹配参数在所述防护规则中的参数类型更新为整数类型;
响应于所述不匹配参数在该用户请求中对应的参数值为非整数和/或所述不匹配参数在所述防护规则中对应的枚举值包括非整数,基于所述不匹配参数在所述防护规则中对应的枚举值和所述不匹配参数在该用户请求中的参数值,确定所述不匹配参数在所述防护规则中对应的最大长度和最小长度,并将所述不匹配参数在所述防护规则中的参数类型更新为字符串类型。
11.根据权利要求7所述的方法,其中,所述基于该用户请求和所述不匹配参数在所述防护规则中的参数类型,对所述防护规则进行更新包括:
响应于确定所述不匹配参数在所述防护规则中的参数类型为整数类型并且所述不匹配参数在该用户请求中对应的参数值为整数,基于所述不匹配参数在该用户请求中的参数值,更新所述不匹配参数在所述防护规则中对应的最大值或最小值;或
响应于确定所述不匹配参数在所述防护规则中的参数类型为整数类型并且所述不匹配参数在该用户请求中对应的参数值不是整数,基于所述不匹配参数在所述防护规则中对应的最大值和最小值以及所述不匹配参数在该用户请求中的参数值,确定所述不匹配参数在所述防护规则中对应的最大长度和最小长度,并将所述不匹配参数在所述防护规则中的参数类型更新为字符串类型。
12.根据权利要求7所述的方法,其中,所述基于该用户请求和所述不匹配参数在所述防护规则中的参数类型,对所述防护规则进行更新包括:
响应于确定所述不匹配参数在所述防护规则中的参数类型为字符串类型,基于所述不匹配参数在该用户请求中的参数值,更新所述不匹配参数在所述防护规则中对应的最大长度或最小长度。
13.根据权利要求6-12中任一项所述的方法,还包括:
获取所述防护规则中具有极值的参数,并将具有极值的参数在预设天数内每天的极值变化频率的最大值记录为该参数对应的第一值,其中,所述极值为该参数对应的最大值或最大长度,并且其中,所述基于第一预设规则,确定在所述第一用户请求之后接收的用户请求是否是异常请求包括:
响应于基于该用户请求对具有极值的参数的极值进行更新后该参数在该天对应的极值变化频率大于对应的第一值的预设倍数,将该用户请求确定为异常请求。
14.根据权利要求6-12中任一项所述的方法,还包括:
获取所述防护规则中具有极值的参数,并将具有极值的参数在预设天数内每天的极值变化幅度的最大值记录为该参数对应的第二值,其中,所述极值为该参数对应的最大值或最大长度,并且其中,所述基于第一预设规则,确定在所述第一用户请求之后接收的用户请求是否是异常请求包括:
响应于基于该用户请求对具有极值的参数的极值进行更新后该参数在该天对应的极值变化幅度大于对应的第二值的预设倍数,将该用户请求确定为异常请求。
15.根据权利要求1所述的方法,其中,所述预设条件包括:所述自学习的时间长度达到预设时间。
16.一种网页的防护测试方法,包括:
接收用户请求;
基于预设的防护规则与所述用户请求的比较结果,确定所述用户请求是否通过防护测试,
其中,所述预设的防护规则是通过根据权利要求1-15中任一项所述方法生成的。
17.一种网页的防护规则的生成装置,包括:
第一接收模块,被配置为在自学习期间,依次接收多个用户请求;
获取模块,被配置为响应于所述多个用户请求中的第一用户请求,获取所述第一用户请求中的参数和对应的参数值以用于生成防护规则;
第一确定模块,被配置为基于第一预设规则,确定在所述第一用户请求之后接收的用户请求是否是异常请求;
第二确定模块,被配置为响应于确定所述多个用户请求中在所述第一用户请求之后接收的用户请求不是异常请求,基于该用户请求中的参数和对应的参数值与所述防护规则的比较结果,确定是否基于该用户请求对所述防护规则进行更新;以及
终止模块,被配置为响应于预设条件,终止所述自学习。
18.一种网页的防护测试装置,包括:
第二接收模块,被配置为接收用户请求;
第三确定模块,被配置为基于预设的防护规则与所述用户请求的比较结果,确定所述用户请求是否通过防护测试,
其中,所述预设的防护规则是通过根据权利要求1-15中任一项所述方法生成的。
19.一种计算机设备,包括:
存储器、处理器以及存储在所述存储器上的计算机程序,
其中,所述处理器被配置为执行所述计算机程序以实现权利要求1-15中任一项所述方法的步骤。
20.一种非暂态计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1-15中任一项所述方法的步骤。
21.一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1-15中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310067320.8A CN116127230B (zh) | 2023-01-12 | 2023-01-12 | 网页的防护规则的生成方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310067320.8A CN116127230B (zh) | 2023-01-12 | 2023-01-12 | 网页的防护规则的生成方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116127230A true CN116127230A (zh) | 2023-05-16 |
CN116127230B CN116127230B (zh) | 2023-10-03 |
Family
ID=86300697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310067320.8A Active CN116127230B (zh) | 2023-01-12 | 2023-01-12 | 网页的防护规则的生成方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116127230B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118101240A (zh) * | 2024-01-17 | 2024-05-28 | 北京安胜华信科技有限公司 | 一种api安全防护方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100191624A1 (en) * | 2006-09-05 | 2010-07-29 | Bmc Software, Inc. | System and method for classifying requests |
CN110290148A (zh) * | 2019-07-16 | 2019-09-27 | 深圳乐信软件技术有限公司 | 一种web防火墙的防御方法、装置、服务器及存储介质 |
CN111245788A (zh) * | 2019-12-31 | 2020-06-05 | 西安交大捷普网络科技有限公司 | 基于URL自学习的Web防护方法 |
CN113986292A (zh) * | 2021-10-29 | 2022-01-28 | 挂号网(杭州)科技有限公司 | 策略数据更新方法、装置、电子设备和存储介质 |
CN114021040A (zh) * | 2021-11-15 | 2022-02-08 | 北京华清信安科技有限公司 | 基于业务访问的恶意事件的告警及防护方法和系统 |
CN115314271A (zh) * | 2022-07-29 | 2022-11-08 | 云盾智慧安全科技有限公司 | 一种访问请求的检测方法、系统及计算机存储介质 |
-
2023
- 2023-01-12 CN CN202310067320.8A patent/CN116127230B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100191624A1 (en) * | 2006-09-05 | 2010-07-29 | Bmc Software, Inc. | System and method for classifying requests |
CN110290148A (zh) * | 2019-07-16 | 2019-09-27 | 深圳乐信软件技术有限公司 | 一种web防火墙的防御方法、装置、服务器及存储介质 |
CN111245788A (zh) * | 2019-12-31 | 2020-06-05 | 西安交大捷普网络科技有限公司 | 基于URL自学习的Web防护方法 |
CN113986292A (zh) * | 2021-10-29 | 2022-01-28 | 挂号网(杭州)科技有限公司 | 策略数据更新方法、装置、电子设备和存储介质 |
CN114021040A (zh) * | 2021-11-15 | 2022-02-08 | 北京华清信安科技有限公司 | 基于业务访问的恶意事件的告警及防护方法和系统 |
CN115314271A (zh) * | 2022-07-29 | 2022-11-08 | 云盾智慧安全科技有限公司 | 一种访问请求的检测方法、系统及计算机存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118101240A (zh) * | 2024-01-17 | 2024-05-28 | 北京安胜华信科技有限公司 | 一种api安全防护方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116127230B (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10594582B2 (en) | Introspection driven monitoring of multi-container applications | |
CN113168470B (zh) | 用于行为威胁检测的系统及方法 | |
EP3591552B1 (en) | Protection system including machine learning snapshot evaluation | |
US20190312908A1 (en) | Cyber chaff using spatial voting | |
CN113168469B (zh) | 用于行为威胁检测的系统及方法 | |
CN116127230B (zh) | 网页的防护规则的生成方法、装置、设备和介质 | |
US11765195B2 (en) | Distributed network-level probabilistic attack graph generation | |
CN105516246A (zh) | 一种防应用程序下载劫持的方法及服务器 | |
CN111612085B (zh) | 一种对等组中异常点的检测方法及装置 | |
EP3883190B1 (en) | Detection device, detection method, and detection program | |
US20230370486A1 (en) | Systems and methods for dynamic vulnerability scoring | |
EP3799367B1 (en) | Generation device, generation method, and generation program | |
CN115883187A (zh) | 网络流量数据中的异常信息识别方法、装置、设备和介质 | |
CN104978212B (zh) | 一种未知crash上报方法和装置 | |
CN110705635B (zh) | 用于生成隔离森林的方法和装置 | |
WO2023205349A1 (en) | Method, apparatus, system, and non-transitory computer readable medium for identifying and prioritizing network security events | |
US11604877B1 (en) | Nested courses of action to support incident response in an information technology environment | |
US20200213203A1 (en) | Dynamic network health monitoring using predictive functions | |
CN116260643A (zh) | 一种物联网web服务的安全测试方法、装置及设备 | |
CN113220949B (zh) | 一种隐私数据识别系统的构建方法及装置 | |
Ji et al. | Automatic reverse engineering of private flight control protocols of UAVs | |
CN113569291A (zh) | 日志掩码方法及装置 | |
CN113486025A (zh) | 数据存储方法、数据查询方法及装置 | |
US9569433B1 (en) | Mobile application analytics | |
CN111258845A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |