CN118114249A - 基于自学习的waf可信用户识别方法、装置及可读介质 - Google Patents

基于自学习的waf可信用户识别方法、装置及可读介质 Download PDF

Info

Publication number
CN118114249A
CN118114249A CN202311828572.4A CN202311828572A CN118114249A CN 118114249 A CN118114249 A CN 118114249A CN 202311828572 A CN202311828572 A CN 202311828572A CN 118114249 A CN118114249 A CN 118114249A
Authority
CN
China
Prior art keywords
trusted user
access request
access
trusted
waf
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
Application number
CN202311828572.4A
Other languages
English (en)
Inventor
刘基阳
陈荣有
陈奋
龚利军
严铭
孙晓波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Fuyun Information Technology Co ltd
Original Assignee
Xiamen Fuyun Information Technology Co ltd
Filing date
Publication date
Application filed by Xiamen Fuyun Information Technology Co ltd filed Critical Xiamen Fuyun Information Technology Co ltd
Publication of CN118114249A publication Critical patent/CN118114249A/zh
Pending legal-status Critical Current

Links

Abstract

本发明公开了一种基于自学习的waf可信用户识别方法、装置及可读介质,该方法包括:提取访问请求的特征信息并进行指纹计算,得到指纹值;响应于确定可信用户表不为空,且确定指纹值存在于可信用户表中,获取可信用户表中指纹值所对应的可信用户的老化时间,并判断可信用户是否老化,若未老化,则直接通过访问请求;响应于确定可信用户表为空,或者指纹值不存在于可信用户表中,或者可信用户老化,则将访问请求与每条waf防护规则进行逐条匹配,若匹配成功,则拦截访问请求,若均未匹配成功,则通过访问请求,并结合访问请求的访问频率或者访问数据量确定待匹配用户是否标记为可信用户,在防护的同时能自学习构建可信用户表,减少防护规则的匹配次数。

Description

基于自学习的waf可信用户识别方法、装置及可读介质
技术领域
本发明涉及Web应用防护领域,具体涉及一种基于自学习的waf可信用户识别方法、装置及可读介质。
背景技术
互联网中恶意的网络攻击会带来巨大的损失,对企业的破坏更大,因此对应用服务的保护愈发重要。Web应用防护系统(web application firewall,简称waf)通过配置waf防护规则执行一系列针对http/https的安全策略完成对流量的过滤专为web应用提供保护。通过部署waf系统,保护应用服务是行业公认做法。访问流量链式逐条匹配waf防护规则,匹配上代表该流量存在非法行为,被拦截,防护规则均未匹配成功,则是可信安全流量,进行放行。
防护规则按链式逐条匹配的方式对性能有不利影响,尤其当waf防护规则和待匹配流量数量过多时尤为明显。因此流量如何快速通过waf检测是当前主要研究方向。通过区分可信流量与可疑流量,对可疑流量按链式逐条匹配,对可信流量直接放行是一种解决方案。
现有识别可信流量的一种方法主要是通过人工设置IP白名单,访问流量的来源IP存在于白名单中,则认为是可信流量,直接放行,不存在于白名单中,则执行按链逐条匹配。但该白名单需要用户手工配置,仅有来源IP信息,太过于简单粗略,当来源IP被作为攻跳板时,白名单继续放行,不能识别。因此该方法存在简单粗略,识别能力不足的问题。另一种方法是通过人机交互认证,将相同IP的不同请求识别为可信用户。该方法需要人工交互认证,且仅解决相同IP不同的客户端请求识别,应用范围有限。
发明内容
针对上述提到的技术问题。本申请的实施例的目的在于提出了一种基于自学习的waf可信用户识别方法、装置及可读介质,来解决以上背景技术部分提到的技术问题。
第一方面,本发明提供了一种基于自学习的waf可信用户识别方法,包括以下步骤:
获取待匹配用户的访问请求并提取其特征信息,根据特征信息进行指纹计算,得到对应的指纹值;
响应于确定可信用户表不为空,判断访问请求对应的指纹值是否存在于可信用户表中,响应于确定指纹值存在于可信用户表中,获取可信用户表中指纹值所对应的可信用户的老化时间,并根据老化时间判断可信用户是否老化,响应于确定可信用户未老化,则直接通过访问请求;
响应于确定可信用户表为空,或者响应于确定指纹值不存在于可信用户表中,或者响应于确定可信用户老化,则将访问请求与每条waf防护规则进行逐条匹配,若访问请求与任一条waf防护规则匹配成功,则拦截访问请求,若访问请求与所有waf防护规则均未匹配成功,则通过访问请求,结合访问请求的访问频率或者访问数据量确定待匹配用户是否标记为可信用户。
作为优选,还包括:
响应于确定可信用户老化,则删除可信用户表中可信用户所对应的信息。
作为优选,还包括:若访问请求与任一条waf防护规则匹配成功,则生成报警提示信息并发送给待匹配用户。
作为优选,结合访问请求的访问频率或者访问数据量确定待匹配用户是否标记为可信用户,具体包括:若访问请求与所有waf防护规则均未匹配成功,则判断访问请求对应的指纹值是否存在于可信用户访问频率表中,若不存在,则将访问请求对应的指纹值及其访问信息添加至可信用户访问频率表中;若存在,则将访问请求的访问频率加一,并累加访问请求的总访问数据量,响应于确定访问请求的访问频率大于访问频率阈值,或者确定访问请求的总访问数据量大于数据量阈值,则将待匹配用户标记为可信用户,将访问请求对应的指纹值配置上老化时间添加至可信用户表中。
作为优选,将访问请求对应的指纹值配置上老化时间添加至可信用户表中,具体包括:
判断可信用户表是否已满,若可信用户表已满,则判断可信用户表是否存在老化数据,若存在,则清理老化数据,若不存在,则随机删除可信用户表中老化时间最小的数据;
从可信用户访问频率表中删除访问请求对应指纹值所对应的数据,并将访问请求对应的指纹值与老化时间加入可信用户表中。
作为优选,将访问请求对应的指纹值及其访问信息添加至可信用户访问频率表中,具体包括:
判断可信用户访问频率表是否已满,若可信用户访问频率表未满,则将访问请求对应的指纹值添加至可信用户访问频率表中,并将其访问频率置为1,累加访问请求的总访问数据量,若可信用户访问频率表已满,则将可信用户访问频率表中数据按先进先出顺序进行删除,将访问请求对应的指纹值加入在可信用户访问频率表的末尾,并将其访问频率置为1,累加访问请求的总访问数据量。
作为优选,特征信息包括源IP、cookies、源用户代理、目标IP或目标端口号,指纹值包括hash值。
第二方面,本发明提供了一种基于自学习的waf可信用户识别装置,包括:
指纹计算模块,被配置为获取待匹配用户的访问请求并提取其特征信息,根据特征信息进行指纹计算,得到对应的指纹值;
第一识别模块,被配置为响应于确定可信用户表不为空,判断访问请求对应的指纹值是否存在于可信用户表中,响应于确定指纹值存在于可信用户表中,获取可信用户表中指纹值所对应的可信用户的老化时间,并根据老化时间判断可信用户是否老化,响应于确定可信用户未老化,则直接通过访问请求;
第二识别模块,被配置为响应于确定可信用户表为空,或者响应于确定指纹值不存在于可信用户表中,或者响应于确定可信用户老化,则将访问请求与每条waf防护规则进行逐条匹配,若访问请求与任一条waf防护规则匹配成功,则拦截访问请求,若访问请求与所有waf防护规则均未匹配成功,则通过访问请求,结合访问请求的访问频率或者访问数据量确定待匹配用户是否标记为可信用户。
第三方面,本发明提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
相比于现有技术,本发明具有以下有益效果:
(1)本发明提出的基于自学习的waf可信用户识别方法能够将防护与自学习同时进行,防护过程即为自学习建立可信用户表的过程,因此能够自动学习,不需要人工设置干预,在一定程度上提高了waf防护的自动化程度与智能化程度。
(2)本发明提出的基于自学习的waf可信用户识别方法利用自学习建立的可信用户表,检测该访问请求的特征信息的指纹值是否存在于可信用户表中,若存在,则不进行waf防护规则的逐条匹配,直接放行,若不存在,才进行匹配waf防护规则,依据匹配结果进行拦截或自学习,极大减少可信用户访问请求的waf防护规则匹配,大大提高waf效率,尤其是对可信用户短时间内连续大量访问尤其有效。
(3)本发明提出的基于自学习的waf可信用户识别方法基于实际访问网站过程中存在时间与空间的连续性与局部性特征进行可信用户的自学习,老化时间作为时间局部性的体现,并结合访问频率和访问数据量对可信用户进行有效标识,大大减少waf防护规则的匹配次数,在waf可信用户识别上,应用前景广阔。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一个实施例可以应用于其中的示例性装置架构图;
图2为本申请的实施例的基于自学习的waf可信用户识别方法的流程示意图;
图3为本申请的实施例的基于自学习的waf可信用户识别方法的流程框图;
图4为本申请的实施例的基于自学习的waf可信用户识别装置的示意图;
图5是适于用来实现本申请实施例的电子设备的计算机装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示出了可以应用本申请实施例的基于自学习的waf可信用户识别方法或基于自学习的waf可信用户识别装置的示例性装置架构100。
如图1所示,装置架构100可以包括终端设备一101、终端设备二102、终端设备三103,网络104和服务器105。网络104用以在终端设备一101、终端设备二102、终端设备三103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备一101、终端设备二102、终端设备三103通过网络104与服务器105交互,以接收或发送消息等。终端设备一101、终端设备二102、终端设备三103上可以安装有各种应用,例如数据处理类应用、文件处理类应用等。
终端设备一101、终端设备二102、终端设备三103可以是硬件,也可以是软件。当终端设备一101、终端设备二102、终端设备三103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备一101、终端设备二102、终端设备三103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备一101、终端设备二102、终端设备三103上传的文件或数据进行处理的后台数据处理服务器。后台数据处理服务器可以对获取的文件或数据进行处理,生成处理结果。
需要说明的是,本申请实施例所提供的基于自学习的waf可信用户识别方法可以由服务器105执行,也可以由终端设备一101、终端设备二102、终端设备三103执行,相应地,基于自学习的waf可信用户识别装置可以设置于服务器105中,也可以设置于终端设备一101、终端设备二102、终端设备三103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。在所处理的数据不需要从远程获取的情况下,上述装置架构可以不包括网络,而只需服务器或终端设备。
图2示出了本申请的实施例提供的一种基于自学习的waf可信用户识别方法,包括以下步骤:
S1,获取待匹配用户的访问请求并提取其特征信息,根据特征信息进行指纹计算,得到对应的指纹值。
在具体的实施例中,特征信息包括源IP、cookies、源用户代理、目标IP或目标端口号,指纹值包括hash值。
具体的,对大量实际访问请求的研究发现,一般情况下正常可信用户对目标网站的访问在一定时间段内具有持续性,即一旦开始访问目标网站会持续访问一段时间。因此访问请求具有时间和空间的连续性与局部性的特征。参考图3,提取待匹配用户的访问请求的特征信息,将提取到的特征信息进行hash计算,得到hash值,该hash值为该访问请求的唯一标识。该特征信息包括但不限于源IP、cookies、源用户代理、目标IP、目标端口号等,该特征信息对应的指纹值即标记了一次可信请求,即将该指纹值在可信用户表中查询,以确定该访问请求是否为可信请求。通过该特征信息确定空间上的局部性。
S2,响应于确定可信用户表不为空,判断访问请求对应的指纹值是否存在于可信用户表中,响应于确定指纹值存在于可信用户表中,获取可信用户表中指纹值所对应的可信用户的老化时间,并根据老化时间判断可信用户是否老化,响应于确定可信用户未老化,则直接通过访问请求。
在具体的实施例中,还包括:
响应于确定可信用户老化,则删除可信用户表中可信用户所对应的信息。
具体的,创建可信用户表与可信用户访问频率表,初始的可信用户表与可信用户访问频率表均为空,随着防护过程的进行同时自学习建立可信用户表,不需要人工设置干预,在一定程度上提高了waf防护的自动化程度与智能化程度。首先判断可信用户表是否为空,若为空,则将访问请求逐条匹配waf防护规则,若不为空,则判断该访问请求的hash值是否存在于可信用户表中,若存在,则通过老化时间判断该可信用户是否老化,若未老化,则直接放行该访问请求,能极大减少可信用户访问请求的防护匹配,大大提高waf效率。尤其是对可信用户短时间内连续大量访问尤其有效。老化时间作为时间局部性的重要体现,能够突出访问间隔时间长短对可信用户的识别的影响。在优选的实施例中,老化时间在初始阶段可设置为一个预设时间,并在后续阶段以倒计时的方式进行计时。
S3,响应于确定可信用户表为空,或者响应于确定指纹值不存在于可信用户表中,或者响应于确定可信用户老化,则将访问请求与每条waf防护规则进行逐条匹配,若访问请求与任一条waf防护规则匹配成功,则拦截访问请求,若访问请求与所有waf防护规则均未匹配成功,则通过访问请求,结合访问请求的访问频率或者访问数据量确定待匹配用户是否标记为可信用户。
具体的,在可信用户表为空的情况下,或者在该访问请求对应的hash值不存在于可信用户表中的情况下,将访问请求逐条匹配waf防护规则。另外若该访问请求对应的hash值存在于可信用户表中,则确定该待匹配用户为可信用户,需通过老化时间判断该可信用户是否老化,若老化,则删除可信用户表中该可信用户所对应的信息,同时将访问请求逐条匹配waf防护规则。可信用户表与可信用户访问频率表中均采用访问请求对应的指纹值作为该访问请求的唯一标识,其中可信用户表中配置老化时间以判断可信用户是否老化,可信用户访问频率表中配置访问频率和访问数据量,将可信请求访问次数、访问数据量进行累加统计,得到各可信请求在一定时间段内的访问频率以及访问请求的总访问数据量,当该可信请求的访问频率或者总访问数据量达到一定阈值,则将该可信请求的hash值配置上老化时间后标记为一个可信用户。
在具体的实施例中,还包括:若访问请求与任一条waf防护规则匹配成功,则生成报警提示信息并发送给待匹配用户。
具体的,访问请求逐条匹配waf防护规则,若访问请求与任一条waf防护规则匹配成功,则拦截该条访问请求,并给待匹配用户发出报警提示信息;若访问请求与所有waf防护规则均未匹配成功,则放行该条访问请求,同时判断该访问请求的hash值是否存在于可信用户访问频率表中,若存在,则根据该访问请求的访问频率或访问数据量确定待匹配用户是否为可信用户,若为可信用户,则将该访问请求的hash值配置老化时间添加至可信用户表中,在waf防护过程中同时通过自学习对可信用户表进行维护。
在具体的实施例中,结合访问请求的访问频率或者访问数据量确定待匹配用户是否标记为可信用户,具体包括:若访问请求与所有waf防护规则均未匹配成功,则判断访问请求对应的指纹值是否存在于可信用户访问频率表中,若不存在,则将访问请求对应的指纹值及其访问信息添加至可信用户访问频率表中;若存在,则将访问请求的访问频率加一,并累加访问请求的总访问数据量,响应于确定访问请求的访问频率大于访问频率阈值,或者确定访问请求的总访问数据量大于数据量阈值,则将待匹配用户标记为可信用户,将访问请求对应的指纹值配置上老化时间添加至可信用户表中。
具体的,若该访问请求的hash值存在于可信用户访问频率表中,则将该请求的访问频率加1,同时累加该访问请求的总访问数据量,判断该请求的访问频率是否大于访问频率阈值,或者判断该访问请求的总访问数据量是否大于数据量阈值,若两者均不大于,则结束,若某一项大于阈值,则将访问请求对应的指纹值配置上老化时间添加至可信用户表中。
在具体的实施例中,将访问请求对应的指纹值配置上老化时间添加至可信用户表中,具体包括:判断可信用户表是否已满,若可信用户表已满,则判断可信用户表是否存在老化数据,若存在,则清理老化数据,若不存在,则随机删除可信用户表中老化时间最小的数据;
从可信用户访问频率表中删除访问请求对应指纹值所对应的数据,并将访问请求对应的指纹值与老化时间加入可信用户表中。
具体的,判断可信用户表是否已满,若可信用户表已满,则判断可信用户表是否有老化数据可清理,若有,则清理老化数据,而后从可信用户访问频率表中删除该条信息,同时将该访问请求的hash值配置上老化时间加入可信用户表中,若无老化数据可清理,则随机删除可信用户表中老化时间最小的一条数据,再从可信用户访问频率表中删除该条信息,同时将该访问请求的hash值配置上老化时间加入可信用户表中;若可信用户表没满,则从可信用户访问频率表中删除该条信息,同时将该访问请求的hash值配置上老化时间加入可信用户表中。此步骤是为了避免可信用户表与可信用户访问频率表均存储相同数据,避免存两份,避免存在数据不一致等问题。同时,当加入可信用户表之后,可信用户访问频率表中的该条数据也没有存在的意义,因此删除该条信息。
在具体的实施例中,将访问请求对应的指纹值及其访问信息添加至可信用户访问频率表中,具体包括:
判断可信用户访问频率表是否已满,若可信用户访问频率表未满,则将访问请求对应的指纹值添加至可信用户访问频率表中,并将其访问频率置为1,累加访问请求的总访问数据量,若可信用户访问频率表已满,则将可信用户访问频率表中数据按先进先出顺序进行删除,将访问请求对应的指纹值加入在可信用户访问频率表的末尾,并将其访问频率置为1,累加访问请求的总访问数据量。
具体的,若该访问请求的hash值不存在于可信用户访问频率表中,判断访问频率表是否已满,若未满,则将该访问请求的hash值加入可信用户访问频率表中并将其访问频率置为1,同时累加该访问请求的访问数据量,若满,则将可信用户访问频率表中数据按先进先出顺序删除一条,并将该访问请求的hash值加入可信用户访问频率表的最后位置,同时将其访问频率置为1,同时累加该访问请求的总访问数据量,而后结束该流程。
本申请的实施例通过提取访问请求的来源IP、cookies、来源代理、目标IP、目标端口等特征信息,进行hash计算,获得hash值,该值即标记了一次可信请求。将可信请求的访问次数、访问数据量进行累加统计,得到各可信请求在一定时间段内的访问频率以及访问请求的总访问数据量,当该可信请求的访问频率或者总访问数据量达到一定阈值,则将该可信请求的hash值配置上老化时间后标记为一个可信用户。由此,waf系统自学习到了一个可信用户,由自学习得到的大量可信用户能够建立可信用户表。当进行访问请求匹配时,首先检测该访问请求的hash值是否存在于可信用户表中,若存在,则不进行waf防护规则的逐条匹配,直接放行,若不存在,才进行匹配waf防护规则,依据匹配结果进行拦截或自学习。可以有效降低waf防护规则的匹配次数,提高可信用户的识别效率。
以上步骤S1-S3并不仅仅代表步骤之间的顺序,而是步骤符号表示。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种基于自学习的waf可信用户识别装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
本申请实施例提供了一种基于自学习的waf可信用户识别装置,包括:
指纹计算模块1,被配置为获取待匹配用户的访问请求并提取其特征信息,根据特征信息进行指纹计算,得到对应的指纹值;
第一识别模块2,被配置为响应于确定可信用户表不为空,判断访问请求对应的指纹值是否存在于可信用户表中,响应于确定指纹值存在于可信用户表中,获取可信用户表中指纹值所对应的可信用户的老化时间,并根据老化时间判断可信用户是否老化,响应于确定可信用户未老化,则直接通过访问请求;
第二识别模块3,被配置为响应于确定可信用户表为空,或者响应于确定指纹值不存在于可信用户表中,或者响应于确定可信用户老化,则将访问请求与每条waf防护规则进行逐条匹配,若访问请求与任一条waf防护规则匹配成功,则拦截访问请求,若访问请求与所有waf防护规则均未匹配成功,则通过访问请求,结合访问请求的访问频率或者访问数据量确定待匹配用户是否标记为可信用户。
下面参考图5,其示出了适于用来实现本申请实施例的电子设备(例如图1所示的服务器或终端设备)的计算机装置500的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机装置500包括中央处理单元(CPU)501和图形处理器(GPU)502,其可以根据存储在只读存储器(ROM)503中的程序或者从存储部分509加载到随机访问存储器(RAM)504中的程序而执行各种适当的动作和处理。在RAM 504中,还存储有装置500操作所需的各种程序和数据。CPU 501、GPU502、ROM 503以及RAM 504通过总线505彼此相连。输入/输出(I/O)接口506也连接至总线505。
以下部件连接至I/O接口506:包括键盘、鼠标等的输入部分507;包括诸如、液晶显示器(LCD)等以及扬声器等的输出部分508;包括硬盘等的存储部分509;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分510。通信部分510经由诸如因特网的网络执行通信处理。驱动器511也可以根据需要连接至I/O接口506。可拆卸介质512,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器511上,以便于从其上读出的计算机程序根据需要被安装入存储部分509。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分510从网络上被下载和安装,和/或从可拆卸介质512被安装。在该计算机程序被中央处理单元(CPU)501和图形处理器(GPU)502执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的装置、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行装置、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行装置、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,也可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,该模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取待匹配用户的访问请求并提取其特征信息,根据特征信息进行指纹计算,得到对应的指纹值;响应于确定可信用户表不为空,判断访问请求对应的指纹值是否存在于可信用户表中,响应于确定指纹值存在于可信用户表中,获取可信用户表中指纹值所对应的可信用户的老化时间,并根据老化时间判断可信用户是否老化,响应于确定可信用户未老化,则直接通过访问请求;响应于确定可信用户表为空,或者响应于确定指纹值不存在于可信用户表中,或者响应于确定可信用户老化,则将访问请求与每条waf防护规则进行逐条匹配,若访问请求与任一条waf防护规则匹配成功,则拦截访问请求,若访问请求与所有waf防护规则均未匹配成功,则通过访问请求,结合访问请求的访问频率或者访问数据量确定待匹配用户是否标记为可信用户。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种基于自学习的waf可信用户识别方法,其特征在于,包括以下步骤:
获取待匹配用户的访问请求并提取其特征信息,根据所述特征信息进行指纹计算,得到对应的指纹值;
响应于确定可信用户表不为空,判断所述访问请求对应的指纹值是否存在于所述可信用户表中,响应于确定所述指纹值存在于所述可信用户表中,获取所述可信用户表中所述指纹值所对应的可信用户的老化时间,并根据所述老化时间判断所述可信用户是否老化,响应于确定所述可信用户未老化,则直接通过所述访问请求;
响应于确定所述可信用户表为空,或者响应于确定所述指纹值不存在于所述可信用户表中,或者响应于确定所述可信用户老化,则将所述访问请求与每条waf防护规则进行逐条匹配,若所述访问请求与任一条waf防护规则匹配成功,则拦截所述访问请求,若所述访问请求与所有waf防护规则均未匹配成功,则通过所述访问请求,结合所述访问请求的访问频率或者访问数据量确定所述待匹配用户是否标记为可信用户。
2.根据权利要求1所述的基于自学习的waf可信用户识别方法,其特征在于,还包括:
响应于确定所述可信用户老化,则删除所述可信用户表中所述可信用户所对应的信息。
3.根据权利要求1所述的基于自学习的waf可信用户识别方法,其特征在于,还包括:若所述访问请求与任一条waf防护规则匹配成功,则生成报警提示信息并发送给所述待匹配用户。
4.根据权利要求1所述的基于自学习的waf可信用户识别方法,其特征在于,所述结合所述访问请求的访问频率或者访问数据量确定所述待匹配用户是否标记为可信用户,具体包括:若所述访问请求与所有waf防护规则均未匹配成功,则判断所述访问请求对应的指纹值是否存在于可信用户访问频率表中,若不存在,则将所述访问请求对应的指纹值及其访问信息添加至所述可信用户访问频率表中;若存在,则将所述访问请求的访问频率加一,并累加所述访问请求的总访问数据量,响应于确定所述访问请求的访问频率大于访问频率阈值,或者确定所述访问请求的总访问数据量大于数据量阈值,则将所述待匹配用户标记为可信用户,将所述访问请求对应的指纹值配置上老化时间添加至所述可信用户表中。
5.根据权利要求4所述的基于自学习的waf可信用户识别方法,其特征在于,所述将所述访问请求对应的指纹值配置上老化时间添加至所述可信用户表中,具体包括:
判断所述可信用户表是否已满,若所述可信用户表已满,则判断所述可信用户表是否存在老化数据,若存在,则清理所述老化数据,若不存在,则随机删除所述可信用户表中老化时间最小的数据;
从所述可信用户访问频率表中删除访问请求对应指纹值所对应的数据,并将所述访问请求对应的指纹值与老化时间加入所述可信用户表中。
6.根据权利要求4所述的基于自学习的waf可信用户识别方法,其特征在于,所述将所述访问请求对应的指纹值及其访问信息添加至所述可信用户访问频率表中,具体包括:
判断所述可信用户访问频率表是否已满,若可信用户访问频率表未满,则将所述访问请求对应的指纹值添加至所述可信用户访问频率表中,并将其访问频率置为1,累加所述访问请求的总访问数据量,若所述可信用户访问频率表已满,则将所述可信用户访问频率表中数据按先进先出顺序进行删除,将所述访问请求对应的指纹值加入在所述可信用户访问频率表的末尾,并将其访问频率置为1,累加所述访问请求的总访问数据量。
7.根据权利要求1-6中任一项所述的基于自学习的waf可信用户识别方法,其特征在于,所述特征信息包括源IP、cookies、源用户代理、目标IP或目标端口号,所述指纹值包括hash值。
8.一种基于自学习的waf可信用户识别装置,其特征在于,包括:
指纹计算模块,被配置为获取待匹配用户的访问请求并提取其特征信息,根据所述特征信息进行指纹计算,得到对应的指纹值;
第一识别模块,被配置为响应于确定可信用户表不为空,判断所述访问请求对应的指纹值是否存在于所述可信用户表中,响应于确定所述指纹值存在于所述可信用户表中,获取所述可信用户表中所述指纹值所对应的可信用户的老化时间,并根据所述老化时间判断所述可信用户是否老化,响应于确定所述可信用户未老化,则直接通过所述访问请求;
第二识别模块,被配置为响应于确定所述可信用户表为空,或者响应于确定所述指纹值不存在于所述可信用户表中,或者响应于确定所述可信用户老化,则将所述访问请求与每条waf防护规则进行逐条匹配,若所述访问请求与任一条waf防护规则匹配成功,则拦截所述访问请求,若所述访问请求与所有waf防护规则均未匹配成功,则通过所述访问请求,结合所述访问请求的访问频率或者访问数据量确定所述待匹配用户是否标记为可信用户。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202311828572.4A 2023-12-27 基于自学习的waf可信用户识别方法、装置及可读介质 Pending CN118114249A (zh)

Publications (1)

Publication Number Publication Date
CN118114249A true CN118114249A (zh) 2024-05-31

Family

ID=

Similar Documents

Publication Publication Date Title
RU2680736C1 (ru) Сервер и способ для определения вредоносных файлов в сетевом трафике
US9356943B1 (en) Systems and methods for performing security analyses on network traffic in cloud-based environments
US8805995B1 (en) Capturing data relating to a threat
US10958657B2 (en) Utilizing transport layer security (TLS) fingerprints to determine agents and operating systems
US11444861B2 (en) Method and apparatus for detecting traffic
US8176556B1 (en) Methods and systems for tracing web-based attacks
US11019096B2 (en) Combining apparatus, combining method, and combining program
JP5715693B2 (ja) マルウェア検出に使用するカスタマイズされた信頼帯を作成するシステム及び方法
CN109150790B (zh) Web页面爬虫识别方法和装置
CN111049783A (zh) 一种网络攻击的检测方法、装置、设备及存储介质
WO2019018829A1 (en) MITIGATING IMPROVED CYBERSECURITY THREATS USING DEEP AND BEHAVIORAL ANALYTICS
CN115361450B (zh) 请求信息处理方法、装置、电子设备、介质和程序产品
CN116738369A (zh) 一种流量数据的分类方法、装置、设备及存储介质
WO2017028459A1 (zh) 程序监控方法和装置
CN118114249A (zh) 基于自学习的waf可信用户识别方法、装置及可读介质
CN115495740A (zh) 一种病毒检测方法和装置
CN116028917A (zh) 权限检测方法及装置、存储介质及电子设备
CN115314322A (zh) 基于流量的漏洞检测确认方法、装置、设备以及存储介质
CN113810342B (zh) 一种入侵检测方法、装置、设备、介质
CN109327453B (zh) 一种特定威胁的识别方法及电子设备
CN112989403B (zh) 一种数据库破坏的检测方法、装置、设备及存储介质
CN114629694B (zh) 一种分布式拒绝服务DDoS的检测方法及相关装置
CN111611585A (zh) 终端设备的监控方法、装置、电子设备和介质
RU2757330C1 (ru) Способ выявления несогласованного использования ресурсов вычислительного устройства пользователя
CN113676466B (zh) 一种网络安全检测的方法和装置

Legal Events

Date Code Title Description
PB01 Publication