CN115955332A - 认证***的异常流量过滤方法、装置,及电子设备 - Google Patents
认证***的异常流量过滤方法、装置,及电子设备 Download PDFInfo
- Publication number
- CN115955332A CN115955332A CN202211527979.9A CN202211527979A CN115955332A CN 115955332 A CN115955332 A CN 115955332A CN 202211527979 A CN202211527979 A CN 202211527979A CN 115955332 A CN115955332 A CN 115955332A
- Authority
- CN
- China
- Prior art keywords
- access request
- binary tree
- authentication
- target
- message type
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种认证***的异常流量过滤方法及装置,属于通信技术领域。所述方法包括:响应于接收到对认证***的访问请求,获取访问请求携带的报文类型和目标用户标识;响应于报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对访问请求进行异常流量判断,得到判断结果;在判断结果指示访问请求为异常访问请求时,将访问请求作为异常流量过滤掉。本方法实现了基于二叉树记录用户对认证***的用户访问信息,并根据用户访问信息、访问请求的接收时间,以及针对用户访问信息预先配置的过滤判断阈值,判断当前访问请求识别异常流量进行过滤,从而有效减少频繁恶意访问认证***消耗认证***性能,保障认证***安全稳定运行。
Description
技术领域
本申请涉及通信技术领域,特别是涉及认证***的异常流量过滤方法、装置,及电子设备及计算机可读存储介质。
背景技术
电信运营商的宽带AAA认证***日常运营维护过程中,有时会出现用户拨号设备故障,导致频繁进行拨号,或者,出现恶意的频繁进行拨号,频繁进行上下线的情况,产生大量的流量,消耗后端认证***性能,影响认证***运行安全。为了保障认证***安全运行,需要对一些异常频繁访问流量进行过滤。
发明内容
本申请实施例提供一种认证***的异常流量过滤方法、装置,及电子设备,用于解决恶意的频繁拨号导致消耗认证***性能,影响认证***安全运行的问题。
第一方面,本申请实施例公开了一种认证***的异常流量过滤方法,所述方法包括:
响应于接收到对所述认证***的访问请求,获取所述访问请求携带的报文类型和目标用户标识;
响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果;
响应于所述判断结果指示所述访问请求为异常访问请求,将所述访问请求作为异常流量过滤掉;
响应于所述判断结果指示所述访问请求为正常访问请求,将所述访问请求作为正常流量进行处理。
可选的,所述响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果,包括:
响应于所述报文类型匹配预设报文类型,采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点;
响应于查找到所述目标二叉树节点,根据所述目标二叉树节点中记录的用户访问信息、第一过滤配置信息和所述报文类型中的一项或多项信息,对所述访问请求进行异常流量判断,得到判断结果;
响应于未查找到所述目标二叉树节点,根据所述报文类型和第二过滤配置信息,在所述目标二叉树中新建与所述目标用户标识匹配的二叉树节点,并得到指示所述访问请求为正常访问请求的判断结果。
可选的,所述预设报文类型包括:认证报文和结束报文,所述根据所述目标二叉树节点中记录的用户访问信息、第一过滤配置信息和所述报文类型中的一项或多项信息,对所述访问请求进行异常流量判断,得到判断结果,包括:
响应于所述报文类型为结束报文,更新所述目标二叉树节点中记录的所述下线时间为所述访问请求的接收时间,并得到指示所述访问请求为正常访问请求的判断结果;
响应于所述报文类型为认证报文,根据所述访问请求的接收时间、所述第一过滤配置信息和所述目标二叉树节点中记录的用户访问信息,对所述访问请求进行异常流量判断,得到判断结果。
可选的,所述第一过滤配置信息包括:周期内认证次数阈值、认证时间间隔阀值、周期时长阈值,所述用户访问信息包括:下线时间、开始认证时间和计数周期认证次数,
所述根据所述访问请求的接收时间、所述第一过滤配置信息和所述目标二叉树节点中记录的用户访问信息,对所述访问请求进行异常流量判断,得到判断结果,包括:
获取所述访问请求的接收时间与所述下线时间之间的时间间隔;
响应于所述时间间隔小于或等于所述认证时间间隔阀值,得到指示所述访问请求为异常访问请求的判断结果;
响应于所述时间间隔大于所述认证时间间隔阀值,根据所述访问请求的接收时间、所述开始认证时间、所述周期时长阈值、所述计数周期认证次数和所述周期内认证次数阈值,对所述访问请求的访问频度进行异常流量判断,得到判断结果。
可选的,所述根据所述访问请求的接收时间、所述开始认证时间、所述周期时长阈值、所述计数周期认证次数和所述周期内认证次数阈值,对所述访问请求的访问频度进行异常流量判断,得到判断结果,包括:
根据所述访问请求的接收时间和所述开始认证时间,获取当前周期时长;
响应于所述当前周期时长大于所述周期时长阈值,更新记录所述计数周期认证次数,得到指示所述访问请求为正常访问请求的判断结果;
响应于所述当前周期时长小于或等于所述周期时长阈值,且所述计数周期认证次数大于或等于所述周期内认证次数阈值,得到指示所述访问请求为异常访问请求的判断结果;
响应于所述当前周期时长小于或等于所述周期时长阈值,且所述计数周期认证次数小于所述周期内认证次数阈值,更新记录所述计数周期认证次数,得到指示所述访问请求为正常访问请求的判断结果。
可选的,所述第二过滤配置信息包括:节点数量上限阈值,所述根据所述报文类型和第二过滤配置信息,在所述目标二叉树中新建与所述目标用户标识匹配的二叉树节点,包括:
获取所述目标二叉树的节点数量;
响应于所述节点数量小于所述节点数量上限阈值,根据所述报文类型新建与所述目标用户标识匹配的待***二叉树节点,并根据所述目标二叉树的二叉树节点中记录的用户标识与所述目标用户标识的大小关系,将所述待***二叉树节点***所述目标二叉树;
响应于所述节点数量大于或等于所述节点数量上限阈值,将所述目标二叉树作为备份二叉树,并通过新建二叉树更新所述目标二叉树,根据所述报文类型在更新的所述目标二叉树中创建根节点,作为与所述目标用户标识匹配的二叉树节点。
可选的,所述第二过滤配置信息包括:节点数量缓冲阈值,所述将所述目标二叉树作为备份二叉树之后,还包括:
响应于所述节点数量大于或等于所述节点数量缓冲阈值,删除所述备份二叉树,其中,所述节点数量缓冲阈值小于所述节点数量上限阈值。
可选的,所述响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果的步骤中,所述采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点之前,还包括:
响应于所述报文类型匹配预设报文类型,判断记录用户访问信息的目标二叉树是否为空;
响应于所述目标二叉树为空,得到指示所述访问请求为正常访问请求的判断结果,并根据所述报文类型在所述目标二叉树中创建根节点,以及将创建的所述根节点作为与所述目标用户标识匹配的二叉树节点;
响应于所述目标二叉树非空,跳转至执行所述采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点的步骤。
第二方面,本申请实施例公开了一种认证***的异常流量过滤装置,所述装置包括:
报文类型和用户标识获取模块,用于响应于接收到对所述认证***的访问请求,获取所述访问请求携带的报文类型和目标用户标识;
异常流量判断模块,用于响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果;
流量过滤处理模块,用于响应于所述判断结果指示所述访问请求为异常访问请求,将所述访问请求作为异常流量过滤掉;
所述流量过滤处理模块,还用于响应于所述判断结果指示所述访问请求为正常访问请求,将所述访问请求作为正常流量进行处理。
可选的,所述异常流量判断模块,进一步用于:
响应于所述报文类型匹配预设报文类型,采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点;
响应于查找到所述目标二叉树节点,根据所述目标二叉树节点中记录的用户访问信息、第一过滤配置信息和所述报文类型中的一项或多项信息,对所述访问请求进行异常流量判断,得到判断结果;
响应于未查找到所述目标二叉树节点,根据所述报文类型和第二过滤配置信息,在所述目标二叉树中新建与所述目标用户标识匹配的二叉树节点,并得到指示所述访问请求为正常访问请求的判断结果。
可选的,所述预设报文类型包括:认证报文和结束报文,所述根据所述目标二叉树节点中记录的用户访问信息、第一过滤配置信息和所述报文类型中的一项或多项信息,对所述访问请求进行异常流量判断,得到判断结果,包括:
响应于所述报文类型为结束报文,更新所述目标二叉树节点中记录的所述下线时间为所述访问请求的接收时间,并得到指示所述访问请求为正常访问请求的判断结果;
响应于所述报文类型为认证报文,根据所述访问请求的接收时间、所述第一过滤配置信息和所述目标二叉树节点中记录的用户访问信息,对所述访问请求进行异常流量判断,得到判断结果。
可选的,所述第一过滤配置信息包括:周期内认证次数阈值、认证时间间隔阀值、周期时长阈值,所述用户访问信息包括:下线时间、开始认证时间和计数周期认证次数,
所述根据所述访问请求的接收时间、所述第一过滤配置信息和所述目标二叉树节点中记录的用户访问信息,对所述访问请求进行异常流量判断,得到判断结果,包括:
获取所述访问请求的接收时间与所述下线时间之间的时间间隔;
响应于所述时间间隔小于或等于所述认证时间间隔阀值,得到指示所述访问请求为异常访问请求的判断结果;
响应于所述时间间隔大于所述认证时间间隔阀值,根据所述访问请求的接收时间、所述开始认证时间、所述周期时长阈值、所述计数周期认证次数和所述周期内认证次数阈值,对所述访问请求的访问频度进行异常流量判断,得到判断结果。
可选的,所述根据所述访问请求的接收时间、所述开始认证时间、所述周期时长阈值、所述计数周期认证次数和所述周期内认证次数阈值,对所述访问请求的访问频度进行异常流量判断,得到判断结果,包括:
根据所述访问请求的接收时间和所述开始认证时间,获取当前周期时长;
响应于所述当前周期时长大于所述周期时长阈值,更新记录所述计数周期认证次数,得到指示所述访问请求为正常访问请求的判断结果;
响应于所述当前周期时长小于或等于所述周期时长阈值,且所述计数周期认证次数大于或等于所述周期内认证次数阈值,得到指示所述访问请求为异常访问请求的判断结果;
响应于所述当前周期时长小于或等于所述周期时长阈值,且所述计数周期认证次数小于所述周期内认证次数阈值,更新记录所述计数周期认证次数,得到指示所述访问请求为正常访问请求的判断结果。
可选的,所述第二过滤配置信息包括:节点数量上限阈值,所述根据所述报文类型和第二过滤配置信息,在所述目标二叉树中新建与所述目标用户标识匹配的二叉树节点,包括:
获取所述目标二叉树的节点数量;
响应于所述节点数量小于所述节点数量上限阈值,根据所述报文类型新建与所述目标用户标识匹配的待***二叉树节点,并根据所述目标二叉树的二叉树节点中记录的用户标识与所述目标用户标识的大小关系,将所述待***二叉树节点***所述目标二叉树;
响应于所述节点数量大于或等于所述节点数量上限阈值,将所述目标二叉树作为备份二叉树,并通过新建二叉树更新所述目标二叉树,根据所述报文类型在更新的所述目标二叉树中创建根节点,作为与所述目标用户标识匹配的二叉树节点。
可选的,所述第二过滤配置信息包括:节点数量缓冲阈值,所述将所述目标二叉树作为备份二叉树之后,还包括:
响应于所述节点数量大于或等于所述节点数量缓冲阈值,删除所述备份二叉树,其中,所述节点数量缓冲阈值小于所述节点数量上限阈值。
可选的,所述响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果的步骤中,所述采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点之前,还包括:
响应于所述报文类型匹配预设报文类型,判断记录用户访问信息的目标二叉树是否为空;
响应于所述目标二叉树为空,得到指示所述访问请求为正常访问请求的判断结果,并根据所述报文类型在所述目标二叉树中创建根节点,以及将创建的所述根节点作为与所述目标用户标识匹配的二叉树节点;
响应于所述目标二叉树非空,跳转至执行所述采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点的步骤。
第三方面,本申请实施例还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的认证***的异常流量过滤方法。
第四方面,本申请实施例公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时本申请实施例公开的认证***的异常流量过滤方法的步骤。
本申请实施例公开的认证***的异常流量过滤方法,通过响应于接收到对所述认证***的访问请求,获取所述访问请求携带的报文类型和目标用户标识;响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果;响应于所述判断结果指示所述访问请求为异常访问请求,将所述访问请求作为异常流量过滤掉;响应于所述判断结果指示所述访问请求为正常访问请求,将所述访问请求作为正常流量进行处理,实现了基于二叉树记录用户对认证***的用户访问信息,并根据用户访问信息与访问请求的接收时间,以及,针对用户访问信息预先配置的过滤判断阈值,判断当前访问请求是否为异常流量并根据判断结果对异常流量进行过滤,从而有效减少频繁恶意访问认证***消耗认证***性能,保障认证***安全稳定运行。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例公开的认证***的异常流量过滤方法的流程图;
图2是本申请实施例公开的认证***的异常流量过滤方法中流量过滤步骤流程图之一;
图3是本申请实施例公开的认证***的异常流量过滤方法中流量过滤步骤流程图之二;
图4是本申请实施例公开的认证***的异常流量过滤装置结构示意图;
图5示意性地示出了用于执行根据本申请的方法的电子设备的框图;以及
图6示意性地示出了用于保持或者携带实现根据本申请的方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,本申请实施例公开的一种认证***的异常流量过滤方法,包括:步骤110至步骤140。
步骤110,响应于接收到对所述认证***的访问请求,获取所述访问请求携带的报文类型和目标用户标识。
本申请的一些实施例中,可以在认证***中设置流量清洗模块,用于执行本申请实施例公开的一种认证***的异常流量过滤方法。当认证***中的认证服务接口接收到对所述认证***的访问请求时,首先将接收到访问请求定向到流量清洗模块,进行异常流量过滤,之后,流量清洗模块输出的过滤结果,执行后续操作。例如,如果该访问请求被判断为异常流量,则将被过滤掉,不会触发后续流程(如认证流程);如果该访问请求被判断为正常流量,则按照现有技术中的接收到访问请求的流程,启动后续流程。
可选的,所述访问请求中至少携带报文类型和目标用户标识。其中,所述报文类型包括但不限于:认证报文、结束报文、计费开始报文、计费中间报文。其中,所述认证报文为用于启动认证流程的报文,所述结束报文为用于指示用户下线的报文,所述计费开始报文为指示认证通过后对该用户账户开始执行计费操作的报文,所述计费中间报文为用于指示该用户账户处于计费过程中的报文。
可选的,所述目标用户标识可以为:发起认证的用户账户的账户标识、账户编号等唯一标识用户账户的信息。
步骤120,响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果。
本申请的实施例中,所述预设报文类型包括:认证报文和结束报文。即,只有接收到认证报文或者结束报文时,才执行异常力量判断相关的操作,如果接收到其他类型的报文,不执行异常流量判断。
下面结合图2,对响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果的具体实施方式进行举例说明。
如图2所示,所述响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果,包括:子步骤210、子步骤220、子步骤230和子步骤240。
子步骤210,响应于所述报文类型匹配预设报文类型,采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点。
本申请的实施例中,采用二叉树结构记录用户对认证***的访问信息,本申请实施例中记为“用户访问信息”。所述二叉树结构记录中还记录用户信息,例如,每个二叉树节点中记录有:用户标识、用户名、IP地址中的一项或多项信息。可选的,所述用户访问信息包括:下线时间、开始认证时间和计数周期认证次数。其中,下线时间用于表示相应二叉树节点中记录的用户标识所属用户的最近一次下线时间(如退出认证***的时间),所述开始认证时间用于表示相应二叉树节点中记录的用户标识所属用户最近一次认证通过的时间。
本申请的实施例中,当用户首次执行网络拨号,用户客户端通过调用认证***的认证服务接口提交访问请求,之后,认证服务接口将该访问请求输入至流量清洗模块进行异常流量过滤判断。如果,流量清洗模块判断该访问请求是正常流量,则将为该用户新建一个二叉树节点,并在该二叉树节点中记录该用户的用户标识,同时记录用户访问信息,如:将当前时间作为认证时间,同时初始化计数周期认证次数为1,并初始化下线时间为无效时间(例如,设置下线时间为无效值或空)。这样,对于每个通过认证***进行认证的用户,在目标二叉树节点中,都将记录该用户的用户标识和用户访问信息。
本申请的实施例中,可以采用用户账号或用户编号作为用户标识,在为某个用户标识新建目标二叉树的二叉树节点时,根据二叉树节点记录的用户标识的大小关系新建二叉树节点。例如,对于目标二叉树中的每个父节点,该父节点的左子节点记录的用户标识小于该父节点记录的用户标识,该父节点的右子节点记录的用户标识大于该父节点记录的用户标识。这样,在目标二叉树中查找某个用户标识对应的二叉树节点时,可以从目标二叉树的根节点起,根据待查找用户标识(如目标用户标识)与当前二叉树节点中记录的用户标识的大小关系,对目标二叉树的一个分支进行逐层比对,直至找到目标用户标识对应的二叉树节点,或者,已经比对完该分支的最后一个二叉树节点,即当前二叉树节点为叶子节点,仍未查找到目标用户标识对应的二叉树节点。
本申请的实施例中,将记录目标用户标识的二叉树节点记为“目标二叉树节点”。
本申请的一些实施例中,在所述报文类型为认证报文或结束报文的情况下,流量清洗模块执行二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点。例如,采用二叉树查找方法,自目标二叉树的根节点起,查找记录的用户标识与所述目标用户标识相同的二叉树节点。
子步骤220,判断是否查找到所述目标二叉树节点,若是,执行子步骤230,若否,执行子步骤240。
子步骤230,响应于查找到所述目标二叉树节点,根据所述目标二叉树节点中记录的用户访问信息、第一过滤配置信息和所述报文类型中的一项或多项信息,对所述访问请求进行异常流量判断,得到判断结果。
如果在目标二叉树中查找到与目标用户标识匹配的二叉树节点,说明目标用户标识之前完成了认证操作,或者,正在经历认证操作,则进一步根据查找到的二叉树节点中记录的目标用户标识所述用户的用户访问信息,以及,目标二叉树的第一过滤配置信息和所述报文类型中的一项或多项信息,对所述访问请求进行异常流量判断,得到判断结果。
其中,所述第一过滤配置信息包括:周期内认证次数阈值、认证时间间隔阀值、周期时长阈值。其中,所述周期内认证次数阈值用于指示一个异常流量过滤周期内允许用户发起的访问请求的最大次数;认证时间间隔阀值用于指示统一用户相邻两次正常认证请求之间的最小时间间隔;所述周期时长阈值用于指示一个异常流量过滤周期的时长。
所述第一过滤配置信息为根据认证***的性能需求设置的对访问请求的限制。例如,如果认证***认为用户在30秒内超过5次认证就拒绝其认证请求,则可以设置周期时长阈值为30秒,设置周期内认证次数阈值为5。再例如,如果认证***认为用户刚刚下线,5秒内再次提交认证就拒绝其认证请求,则可以设置认证时间间隔阀值为5秒。
流量清洗模块通过将目标二叉树节点中实时更新的用户访问信息和第一过滤配置信息,按照预设规则进行比对判断,确定所述放请求是否为异常访问。
如前所述,所述预设报文类型包括:认证报文和结束报文,相应的,本申请的一些实施例中,所述根据所述目标二叉树节点中记录的用户访问信息、第一过滤配置信息和所述报文类型中的一项或多项信息,对所述访问请求进行异常流量判断,得到判断结果,包括:所述根据所述目标二叉树节点中记录的用户访问信息、第一过滤配置信息和所述报文类型中的一项或多项信息,对所述访问请求进行异常流量判断,得到判断结果,包括:响应于所述报文类型为结束报文,更新所述目标二叉树节点中记录的所述下线时间为所述访问请求的接收时间,并得到指示所述访问请求为正常访问请求的判断结果;响应于所述报文类型为认证报文,根据所述访问请求的接收时间、所述第一过滤配置信息和所述目标二叉树节点中记录的用户访问信息,对所述访问请求进行异常流量判断,得到判断结果。
具体举例而言,当所述访问请求为基于用户的下线操作产生的访问请求时,所述访问请求中携带结束报文,流量清洗模块确定访问请求中携带的报文类型为结束报文之后,将得到指示所述访问请求为正常访问请求的判断结果。同时,流量清洗模块将目标二叉树节点中记录的下线时间修改为所述访问请求的接收时间。
当所述访问请求为基于用户的拨号操作产生的访问请求时,所述访问请求中携带认证报文,流量清洗模块确定访问请求中携带的报文类型为认证报文之后,需要将该访问请求的接收时间,与目标二叉树节点中记录的用户访问信息进行比较,并结合第一过滤配置信息,判断所述访问请求是否为被抑制用户的访问请求。
下面结合用户访问信息、第一过滤配置信息的具体内容,进一步阐述根据所述访问请求的接收时间、所述第一过滤配置信息和所述目标二叉树节点中记录的用户访问信息,对所述访问请求进行异常流量判断的具体实施方式。
如前所述,所述第一过滤配置信息包括:周期内认证次数阈值、认证时间间隔阀值、周期时长阈值,所述用户访问信息包括:下线时间、开始认证时间和计数周期认证次数,可选的,所述根据所述访问请求的接收时间、所述第一过滤配置信息和所述目标二叉树节点中记录的用户访问信息,对所述访问请求进行异常流量判断,得到判断结果,包括:获取所述访问请求的接收时间与所述下线时间之间的时间间隔;响应于所述时间间隔小于或等于所述认证时间间隔阀值,得到指示所述访问请求为异常访问请求的判断结果;响应于所述时间间隔大于所述认证时间间隔阀值,根据所述访问请求的接收时间、所述开始认证时间、所述周期时长阈值、所述计数周期认证次数和所述周期内认证次数阈值,对所述访问请求的访问频度进行异常流量判断,得到判断结果。
首先,用目标二叉树节点中记录的下线时间减去所述访问请求的接收时间,得到该用户的当前访问距离最近一次下线的时间间隔。
进一步的,如果所述时间间隔小于或等于第一过滤配置信息中配置的认证时间间隔阀值,则流量清洗模块认为当前访问请求为用户频繁上线、下线产生的为异常流量,流量清洗模块得到指示所述访问请求为异常访问请求的判断结果,并输出该判断结果。
如果所述时间间隔大于第一过滤配置信息中配置的认证时间间隔阀值,则流量清洗模块还需要根据周期内的访问次数,进行异常流量过滤。
本申请的一些实施例中,所述根据所述访问请求的接收时间、所述开始认证时间、所述周期时长阈值、所述计数周期认证次数和所述周期内认证次数阈值,对所述访问请求的访问频度进行异常流量判断,得到判断结果,包括:根据所述访问请求的接收时间和所述开始认证时间,获取当前周期时长;响应于所述当前周期时长大于所述周期时长阈值,更新记录所述计数周期认证次数,得到指示所述访问请求为正常访问请求的判断结果;响应于所述当前周期时长小于或等于所述周期时长阈值,且所述计数周期认证次数大于或等于所述周期内认证次数阈值,得到指示所述访问请求为异常访问请求的判断结果;响应于所述当前周期时长小于或等于所述周期时长阈值,且所述计数周期认证次数小于所述周期内认证次数阈值,更新记录所述计数周期认证次数,得到指示所述访问请求为正常访问请求的判断结果。
在进行访问频度判断时,首先用目标二叉树节点中记录开始认证时间减去所述访问请求的接收时间,得到当前周期时长。如果当前周期时长超过了第一过滤配置信息中设置的周期时长阈值,则对用户在一个监控周期内的访问频度进行重新计数,即将目标二叉树节点中记录的计数周期认证次数设置为1。
如果当前周期时长没有超过第一过滤配置信息中设置的周期时长阈值,则进一步判断在当前监控周期内,该用户发起的认证次数是否超过预设的周期内认证次数阈值。如果在当前监控周期内该用户发起的认证次数超过了预设的周期内认证次数阈值(即计数周期认证次数大于或等于所述周期内认证次数阈值),则认为该用户存在频繁认证的行为,可以得到指示所述访问请求为异常访问请求的判断结果。如果在当前监控周期内该用户发起的认证次数未超过预设的周期内认证次数阈值(即计数周期认证次数小于所述周期内认证次数阈值),则认为当前用户的访问请求为正常认证行为,可以得到指示所述访问请求为正常访问请求的判断结果。同时,对该用户在当前监控周期内的认证次数(即目标二叉树节点中记录的计数周期认证次数)加1,更新记录计数周期认证次数。
子步骤240,响应于未查找到所述目标二叉树节点,根据所述报文类型和第二过滤配置信息,在所述目标二叉树中新建与所述目标用户标识匹配的二叉树节点,并得到指示所述访问请求为正常访问请求的判断结果。
如果在目标二叉树中未查找到目标二叉树节点,则可以认为该目标用户标识所属用户是首次或者是在很长一段时间以来首次在认证***进行认证,此时,可以得到指示所述访问请求为正常访问请求的判断结果。
同时,在这种情况下,为了后续对该用户对认证***的访问请求进行流量过滤,需要在目标二叉树中新建一个二叉树结点,用于记录该目标用户标识所属用户的用户标识和用户访问信息。
本申请的一些实施例中,所述根据所述报文类型和第二过滤配置信息,在所述目标二叉树中新建与所述目标用户标识匹配的二叉树节点,包括:子步骤S1、子步骤S2和子步骤S3。
子步骤S1,获取所述目标二叉树的节点数量。
其中,所述第二过滤配置信息为预先配置的二叉树的阐述。可选的,所述第二过滤配置信息包括:节点数量上限阈值,用于限制目标二叉树中包含的二叉树节点的最大数量。通过配置节点数量上限阈值,并在新建二叉树节点时,判断二叉树当前已有二叉树节点数量是否达到该节点数量上限阈值,可以控制二叉树的大小,避免二叉树占用更多的存储空间,也可以减少查找二叉树消耗的运算资源。
在新建二叉树节点时,首先需要获取二叉树的当前已有二叉树节点数量。本申请的一些实施例中,可以采用单独的全局变量存储二叉树当前已有二叉树节点数量。本申请实施例中,对获取所述目标二叉树的节点数量的具体实施方式不做限定。
子步骤S2,响应于所述节点数量小于所述节点数量上限阈值,根据所述报文类型新建与所述目标用户标识匹配的待***二叉树节点,并根据所述目标二叉树的二叉树节点中记录的用户标识与所述目标用户标识的大小关系,将所述待***二叉树节点***所述目标二叉树。
如果所述节点数量小于所述节点数量上限阈值,即目标二叉树当前已有二叉树节点数量未达到设置的上限,则新建一个目标二叉树的节点,并在新建的节点中记录所述目标用户标识所属用户的用户访问信息。在二叉树中新建节点的具体实施方式参见前文描述,此处不再赘述。
在新建的节点中记录用户访问信息时,当报文类型为认证报文时,可以将所述访问请求的接收时间作为目标用户标识所属用户的开始认证时间,并将周期内认证次数设置为1;当报文类型为结束报文时,可以将所述访问请求的接收时间作为目标用户标识所属用户的下线时间,并将周期内认证次数设置为1。本申请的一些实施例中,可以将所述访问请求的接收时间作为目标用户标识所属用户的开始认证时间,记录在新建的节点中。
子步骤S3,响应于所述节点数量大于或等于所述节点数量上限阈值,将所述目标二叉树作为备份二叉树,并通过新建二叉树更新所述目标二叉树,根据所述报文类型在更新的所述目标二叉树中创建根节点,作为与所述目标用户标识匹配的二叉树节点。
如果所述节点数量大于或等于所述节点数量上限阈值,即目标二叉树当前已有二叉树节点数量已经达到设置的上限,则需要将所述目标二叉树作为备份二叉树,并新建一个二叉树,作为目标二叉树。具体举例而言,首先,将当前目标二叉树标记为备份二叉树,之后,重新实例化二叉树,作为目标二叉树,并创建新建的目标二叉树的根节点,在根节点中记录目标用户标识所属用户的用户访问信息。
本申请的实施例中,通过备份二叉树,可以在暂时保存正在与认征***进行交互的用户的用户访问数据,以提升流量清洗的准确性。
在创建根节点时,根据所述报文类型初始化该根节点中记录的用户访问信息。例如,当报文类型为结束报文时,可以将所述访问请求的接收时间作为目标用户标识所属用户的下线时间。本申请的一些实施例中,可以将根节点中的记录的周期内认证次数设置为0,并将开始认证时间设置为所述接收时间或者设置为早于所述接收时间预设时长的时间值。再例如,当报文类型为认证报文时,可以将所述访问请求的接收时间作为目标用户标识所属用户的开始认证时间,并将根节点中的记录的周期内认证次数设置为1。
备份二叉树会占用认证***的内存,为了节约存储资源,需要及时对内存进行回收。
本申请的一些实施例中,所述第二过滤配置信息还包括:节点数量缓冲阈值,所述将所述目标二叉树作为备份二叉树之后,还包括:响应于所述节点数量大于或等于所述节点数量缓冲阈值,删除所述备份二叉树,其中,所述节点数量缓冲阈值小于所述节点数量上限阈值。其中,所述节点数量缓冲阈值可以根据用户流量统计数据确定。例如,可以将节点数量缓冲阈值设置为1000,即当新建的目标二叉树中的二叉树节点数量大于户等于1000时,删除备份二叉树,执行内存回收。
本申请的一些实施例中,响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果的步骤中,所述采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点之前,还包括:子步骤200和子步骤201。
子步骤200,响应于所述报文类型匹配预设报文类型,判断记录用户访问信息的目标二叉树是否为空,若是,执行子步骤201,若否,执行跳转至执行子步骤210。
子步骤201,响应于所述目标二叉树为空,得到指示所述访问请求为正常访问请求的判断结果,并根据所述报文类型在所述目标二叉树中创建根节点,以及将创建的所述根节点作为与所述目标用户标识匹配的二叉树节点。
如果目标二叉树为空,则目标二叉树中没有记录任何用户的用户访问信息,可以认为,目标用户标识所属用户为首次访问认证***,从而得到指示所述访问请求为正常访问请求的判断结果。在这种情况下,需要在目标二叉树中创建根节点,并根据报文类型设置根节点中记录的用户访问信息。
根据报文类型创建根节点的具体实施方式参见前文所述,此处不再赘述。
响应于所述目标二叉树非空,跳转至执行所述采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点的步骤。
如果目标二叉树非空,则采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点,并根据查找结果执行子步骤230或子步骤240。
步骤130,响应于所述判断结果指示所述访问请求为异常访问请求,将所述访问请求作为异常流量过滤掉。
经过前述步骤对访问请求进行过滤判断,得到判断结果之后,进一步的,根据判断结果执行访问请求的过滤操作。
例如,当前述步骤得到的判断结果指示所述访问请求为被抑制用户的访问请求(例如,为某一用户在下线后立刻发起的访问请求,或者,为某一用户在指定时长内发起了若干访问请求),则将所述访问请求作为异常流量过滤掉。
步骤140,响应于所述判断结果指示所述访问请求为正常访问请求,将所述访问请求作为正常流量进行处理。
如果当前述步骤得到的判断结果指示所述访问请求不是被抑制用户的访问请求,则将所述访问请求作为正常流量进行处理,进行后续认证处理。
本申请实施例中还公开的认证***的异常流量过滤方法,通过响应于接收到对所述认证***的访问请求,获取所述访问请求携带的报文类型和目标用户标识;响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果;响应于所述判断结果指示所述访问请求为异常访问请求,将所述访问请求作为异常流量过滤掉;响应于所述判断结果指示所述访问请求为正常访问请求,将所述访问请求作为正常流量进行处理,实现了基于二叉树记录用户对认证***的用户访问信息,并根据用户访问信息与访问请求的接收时间,以及,针对用户访问信息预先配置的过滤判断阈值,判断当前访问请求是否为异常流量并根据判断结果对异常流量进行过滤,从而有效减少频繁恶意访问认证***消耗认证***性能,保障认证***安全稳定运行。
相应的,本申请实施例还公开了一种认证***的异常流量过滤装置,如图4所示,所述装置包括:
报文类型和用户标识获取模块410,用于响应于接收到对所述认证***的访问请求,获取所述访问请求携带的报文类型和目标用户标识;
异常流量判断模块420,用于响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果;
流量过滤处理模块430,用于响应于所述判断结果指示所述访问请求为异常访问请求,将所述访问请求作为异常流量过滤掉;
所述流量过滤处理模块430,还用于响应于所述判断结果指示所述访问请求为正常访问请求,将所述访问请求作为正常流量进行处理。
本申请的一些实施例中,所述异常流量判断模块420,进一步用于:
响应于所述报文类型匹配预设报文类型,采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点;
响应于查找到所述目标二叉树节点,根据所述目标二叉树节点中记录的用户访问信息、第一过滤配置信息和所述报文类型中的一项或多项信息,对所述访问请求进行异常流量判断,得到判断结果;
响应于未查找到所述目标二叉树节点,根据所述报文类型和第二过滤配置信息,在所述目标二叉树中新建与所述目标用户标识匹配的二叉树节点,并得到指示所述访问请求为正常访问请求的判断结果。
本申请的一些实施例中,所述预设报文类型包括:认证报文和结束报文,所述根据所述目标二叉树节点中记录的用户访问信息、第一过滤配置信息和所述报文类型中的一项或多项信息,对所述访问请求进行异常流量判断,得到判断结果,包括:
响应于所述报文类型为结束报文,更新所述目标二叉树节点中记录的所述下线时间为所述访问请求的接收时间,并得到指示所述访问请求为正常访问请求的判断结果;
响应于所述报文类型为认证报文,根据所述访问请求的接收时间、所述第一过滤配置信息和所述目标二叉树节点中记录的用户访问信息,对所述访问请求进行异常流量判断,得到判断结果。
本申请的一些实施例中,所述第一过滤配置信息包括:周期内认证次数阈值、认证时间间隔阀值、周期时长阈值,所述用户访问信息包括:下线时间、开始认证时间和计数周期认证次数,
所述根据所述访问请求的接收时间、所述第一过滤配置信息和所述目标二叉树节点中记录的用户访问信息,对所述访问请求进行异常流量判断,得到判断结果,包括:
获取所述访问请求的接收时间与所述下线时间之间的时间间隔;
响应于所述时间间隔小于或等于所述认证时间间隔阀值,得到指示所述访问请求为异常访问请求的判断结果;
响应于所述时间间隔大于所述认证时间间隔阀值,根据所述访问请求的接收时间、所述开始认证时间、所述周期时长阈值、所述计数周期认证次数和所述周期内认证次数阈值,对所述访问请求的访问频度进行异常流量判断,得到判断结果。
本申请的一些实施例中,所述根据所述访问请求的接收时间、所述开始认证时间、所述周期时长阈值、所述计数周期认证次数和所述周期内认证次数阈值,对所述访问请求的访问频度进行异常流量判断,得到判断结果,包括:
根据所述访问请求的接收时间和所述开始认证时间,获取当前周期时长;
响应于所述当前周期时长大于所述周期时长阈值,更新记录所述计数周期认证次数,得到指示所述访问请求为正常访问请求的判断结果;
响应于所述当前周期时长小于或等于所述周期时长阈值,且所述计数周期认证次数大于或等于所述周期内认证次数阈值,得到指示所述访问请求为异常访问请求的判断结果;
响应于所述当前周期时长小于或等于所述周期时长阈值,且所述计数周期认证次数小于所述周期内认证次数阈值,更新记录所述计数周期认证次数,得到指示所述访问请求为正常访问请求的判断结果。
本申请的一些实施例中,所述第二过滤配置信息包括:节点数量上限阈值,所述根据所述报文类型和第二过滤配置信息,在所述目标二叉树中新建与所述目标用户标识匹配的二叉树节点,包括:
获取所述目标二叉树的节点数量;
响应于所述节点数量小于所述节点数量上限阈值,根据所述报文类型新建与所述目标用户标识匹配的待***二叉树节点,并根据所述目标二叉树的二叉树节点中记录的用户标识与所述目标用户标识的大小关系,将所述待***二叉树节点***所述目标二叉树;
响应于所述节点数量大于或等于所述节点数量上限阈值,将所述目标二叉树作为备份二叉树,并通过新建二叉树更新所述目标二叉树,根据所述报文类型在更新的所述目标二叉树中创建根节点,作为与所述目标用户标识匹配的二叉树节点。
本申请的一些实施例中,所述第二过滤配置信息包括:节点数量缓冲阈值,所述将所述目标二叉树作为备份二叉树之后,还包括:
响应于所述节点数量大于或等于所述节点数量缓冲阈值,删除所述备份二叉树,其中,所述节点数量缓冲阈值小于所述节点数量上限阈值。
可选的,所述响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果的步骤中,所述采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点之前,还包括:
响应于所述报文类型匹配预设报文类型,判断记录用户访问信息的目标二叉树是否为空;
响应于所述目标二叉树为空,得到指示所述访问请求为正常访问请求的判断结果,并根据所述报文类型在所述目标二叉树中创建根节点,以及将创建的所述根节点作为与所述目标用户标识匹配的二叉树节点;
响应于所述目标二叉树非空,跳转至执行所述采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点的步骤。
本申请实施例公开的认证***的异常流量过滤装置,用于实现本申请实施例中所述的认证***的异常流量过滤方法,装置的各模块的具体实施方式不再赘述,可参见方法实施例相应步骤的具体实施方式。
本申请实施例公开的一种认证***的异常流量过滤装置,通过响应于接收到对所述认证***的访问请求,获取所述访问请求携带的报文类型和目标用户标识;响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果;响应于所述判断结果指示所述访问请求为异常访问请求,将所述访问请求作为异常流量过滤掉;响应于所述判断结果指示所述访问请求为正常访问请求,将所述访问请求作为正常流量进行处理,实现了基于二叉树记录用户对认证***的用户访问信息,并根据用户访问信息与访问请求的接收时间,以及针对用户访问信息预先配置的过滤判断阈值,判断当前访问请求是否为异常流量并根据判断结果对异常流量进行过滤,从而有效减少频繁恶意访问认证***消耗认证***性能,保障认证***安全稳定运行。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请提供的一种认证***的异常流量过滤方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其一种核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的电子设备中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图5示出了可以实现根据本申请的方法的电子设备。所述电子设备可以为PC机、移动终端、个人数字助理、平板电脑等。该电子设备传统上包括处理器510和存储器520及存储在所述存储器520上并可在处理器510上运行的程序代码530,所述处理器510执行所述程序代码530时实现上述实施例中所述的方法。所述存储器520可以为计算机程序产品或者计算机可读介质。存储器520可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器520具有用于执行上述方法中的任何方法步骤的计算机程序的程序代码530的存储空间5201。例如,用于程序代码530的存储空间5201可以包括分别用于实现上面的方法中的各种步骤的各个计算机程序。所述程序代码530为计算机可读代码。这些计算机程序可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。所述计算机程序包括计算机可读代码,当所述计算机可读代码在电子设备上运行时,导致所述电子设备执行根据上述实施例的方法。
本申请实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的认证***的异常流量过滤方法的步骤。
这样的计算机程序产品可以为计算机可读存储介质,该计算机可读存储介质可以具有与图5所示的电子设备中的存储器520类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩存储在所述计算机可读存储介质中。所述计算机可读存储介质通常为如参考图6所述的便携式或者固定存储单元。通常,存储单元包括计算机可读代码530’,所述计算机可读代码530’为由处理器读取的代码,这些代码被处理器执行时,实现上面所描述的方法中的各个步骤。
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本申请的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (11)
1.一种认证***的异常流量过滤方法,其特征在于,所述方法包括:
响应于接收到对所述认证***的访问请求,获取所述访问请求携带的报文类型和目标用户标识;
响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果;
响应于所述判断结果指示所述访问请求为异常访问请求,将所述访问请求作为异常流量过滤掉;
响应于所述判断结果指示所述访问请求为正常访问请求,将所述访问请求作为正常流量进行处理。
2.根据权利要求1所述的方法,其特征在于,所述响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果,包括:
响应于所述报文类型匹配预设报文类型,采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点;
响应于查找到所述目标二叉树节点,根据所述目标二叉树节点中记录的用户访问信息、第一过滤配置信息和所述报文类型中的一项或多项信息,对所述访问请求进行异常流量判断,得到判断结果;
响应于未查找到所述目标二叉树节点,根据所述报文类型和第二过滤配置信息,在所述目标二叉树中新建与所述目标用户标识匹配的二叉树节点,并得到指示所述访问请求为正常访问请求的判断结果。
3.根据权利要求2所述的方法,其特征在于,所述预设报文类型包括:认证报文和结束报文,所述根据所述目标二叉树节点中记录的用户访问信息、第一过滤配置信息和所述报文类型中的一项或多项信息,对所述访问请求进行异常流量判断,得到判断结果,包括:
响应于所述报文类型为结束报文,更新所述目标二叉树节点中记录的所述下线时间为所述访问请求的接收时间,并得到指示所述访问请求为正常访问请求的判断结果;
响应于所述报文类型为认证报文,根据所述访问请求的接收时间、所述第一过滤配置信息和所述目标二叉树节点中记录的用户访问信息,对所述访问请求进行异常流量判断,得到判断结果。
4.根据权利要求3所述的方法,其特征在于,所述第一过滤配置信息包括:周期内认证次数阈值、认证时间间隔阀值、周期时长阈值,所述用户访问信息包括:下线时间、开始认证时间和计数周期认证次数,
所述根据所述访问请求的接收时间、所述第一过滤配置信息和所述目标二叉树节点中记录的用户访问信息,对所述访问请求进行异常流量判断,得到判断结果,包括:
获取所述访问请求的接收时间与所述下线时间之间的时间间隔;
响应于所述时间间隔小于或等于所述认证时间间隔阀值,得到指示所述访问请求为异常访问请求的判断结果;
响应于所述时间间隔大于所述认证时间间隔阀值,根据所述访问请求的接收时间、所述开始认证时间、所述周期时长阈值、所述计数周期认证次数和所述周期内认证次数阈值,对所述访问请求的访问频度进行异常流量判断,得到判断结果。
5.根据权利要求4所述的方法,其特征在于,所述根据所述访问请求的接收时间、所述开始认证时间、所述周期时长阈值、所述计数周期认证次数和所述周期内认证次数阈值,对所述访问请求的访问频度进行异常流量判断,得到判断结果,包括:
根据所述访问请求的接收时间和所述开始认证时间,获取当前周期时长;
响应于所述当前周期时长大于所述周期时长阈值,更新记录所述计数周期认证次数,得到指示所述访问请求为正常访问请求的判断结果;
响应于所述当前周期时长小于或等于所述周期时长阈值,且所述计数周期认证次数大于或等于所述周期内认证次数阈值,得到指示所述访问请求为异常访问请求的判断结果;
响应于所述当前周期时长小于或等于所述周期时长阈值,且所述计数周期认证次数小于所述周期内认证次数阈值,更新记录所述计数周期认证次数,得到指示所述访问请求为正常访问请求的判断结果。
6.根据权利要求2所述的方法,其特征在于,所述第二过滤配置信息包括:节点数量上限阈值,所述根据所述报文类型和第二过滤配置信息,在所述目标二叉树中新建与所述目标用户标识匹配的二叉树节点,包括:
获取所述目标二叉树的节点数量;
响应于所述节点数量小于所述节点数量上限阈值,根据所述报文类型新建与所述目标用户标识匹配的待***二叉树节点,并根据所述目标二叉树的二叉树节点中记录的用户标识与所述目标用户标识的大小关系,将所述待***二叉树节点***所述目标二叉树;
响应于所述节点数量大于或等于所述节点数量上限阈值,将所述目标二叉树作为备份二叉树,并通过新建二叉树更新所述目标二叉树,根据所述报文类型在更新的所述目标二叉树中创建根节点,作为与所述目标用户标识匹配的二叉树节点。
7.根据权利要求6所述的方法,其特征在于,所述第二过滤配置信息包括:节点数量缓冲阈值,所述将所述目标二叉树作为备份二叉树之后,还包括:
响应于所述节点数量大于或等于所述节点数量缓冲阈值,删除所述备份二叉树,其中,所述节点数量缓冲阈值小于所述节点数量上限阈值。
8.根据权利要求2所述的方法,其特征在于,所述采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点之前,还包括:
响应于所述报文类型匹配预设报文类型,判断记录用户访问信息的目标二叉树是否为空;
响应于所述目标二叉树为空,得到指示所述访问请求为正常访问请求的判断结果,并根据所述报文类型在所述目标二叉树中创建根节点,以及将创建的所述根节点作为与所述目标用户标识匹配的二叉树节点;
响应于所述目标二叉树非空,跳转至执行所述采用二叉树查找算法,在所述目标二叉树中查找所述目标用户标识匹配的目标二叉树节点的步骤。
9.一种认证***的异常流量过滤装置,其特征在于,所述装置包括:
报文类型和用户标识获取模块,用于响应于接收到对所述认证***的访问请求,获取所述访问请求携带的报文类型和目标用户标识;
异常流量判断模块,用于响应于所述报文类型匹配预设报文类型,基于记录用户访问信息的目标二叉树,对所述访问请求进行异常流量判断,得到判断结果;
流量过滤处理模块,用于响应于所述判断结果指示所述访问请求为异常访问请求,将所述访问请求作为异常流量过滤掉;
所述流量过滤处理模块,还用于响应于所述判断结果指示所述访问请求为正常访问请求,将所述访问请求作为正常流量进行处理。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的程序代码,其特征在于,所述处理器执行所述程序代码时实现权利要求1至8任意一项所述的认证***的异常流量过滤方法。
11.一种计算机可读存储介质,其上存储有程序代码,其特征在于,该程序代码被处理器执行时实现权利要求1至8任意一项所述的认证***的异常流量过滤方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211527979.9A CN115955332A (zh) | 2022-12-01 | 2022-12-01 | 认证***的异常流量过滤方法、装置,及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211527979.9A CN115955332A (zh) | 2022-12-01 | 2022-12-01 | 认证***的异常流量过滤方法、装置,及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115955332A true CN115955332A (zh) | 2023-04-11 |
Family
ID=87295853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211527979.9A Pending CN115955332A (zh) | 2022-12-01 | 2022-12-01 | 认证***的异常流量过滤方法、装置,及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115955332A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116980182A (zh) * | 2023-06-21 | 2023-10-31 | 杭州明实科技有限公司 | 异常请求检测方法、装置和电子设备 |
CN117806905A (zh) * | 2023-12-25 | 2024-04-02 | 湖北安博通科技有限公司 | 一种内存异常检测方法与*** |
-
2022
- 2022-12-01 CN CN202211527979.9A patent/CN115955332A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116980182A (zh) * | 2023-06-21 | 2023-10-31 | 杭州明实科技有限公司 | 异常请求检测方法、装置和电子设备 |
CN116980182B (zh) * | 2023-06-21 | 2024-02-27 | 杭州明实科技有限公司 | 异常请求检测方法、装置和电子设备 |
CN117806905A (zh) * | 2023-12-25 | 2024-04-02 | 湖北安博通科技有限公司 | 一种内存异常检测方法与*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115955332A (zh) | 认证***的异常流量过滤方法、装置,及电子设备 | |
CN108737333B (zh) | 一种数据检测方法以及装置 | |
CN110401662B (zh) | 一种工控设备指纹识别方法、存储介质 | |
CN109359263B (zh) | 一种用户行为特征提取方法及*** | |
CN111597388B (zh) | 基于分布式***的样本采集方法、装置、设备及介质 | |
CN114647698A (zh) | 数据同步方法、装置及计算机存储介质 | |
US9641595B2 (en) | System management apparatus, system management method, and storage medium | |
CN114650187B (zh) | 一种异常访问检测方法、装置、电子设备及存储介质 | |
CN113489702A (zh) | 接口限流方法、装置和电子设备 | |
CN109547427A (zh) | 黑名单用户识别方法、装置、计算机设备及存储介质 | |
US10764237B2 (en) | System and method for maintaining coherence of association across a network address change or reassignment | |
CN112286559A (zh) | 一种车载智能终端的升级方法及装置 | |
CN116633766A (zh) | 故障处理方法、装置、电子设备及存储介质 | |
CN111949363A (zh) | 业务访问的管理方法、计算机设备、存储介质及*** | |
CN113691631B (zh) | 一种数据清理的方法、装置及电子设备 | |
CN111654398B (zh) | 一种更新配置的方法、装置、计算机设备及可读存储介质 | |
CN106803830B (zh) | 识别上网终端的方法、装置和***、及uim卡 | |
CN111191234B (zh) | 一种病毒信息检测的方法及装置 | |
CN111371818B (zh) | 一种数据请求的验证方法、装置及设备 | |
CN109327433B (zh) | 基于运行场景分析的威胁感知方法及*** | |
CN108683716B (zh) | 基于大数据的业务逻辑学习、防护方法及学习、防护装置 | |
CN107864127B (zh) | 一种应用程序的识别方法及装置 | |
CN112148724A (zh) | 一种设备标识处理方法、***、计算机设备及可读存储介质 | |
CN106878040B (zh) | 一种记录加载方法和装置 | |
CN116781389B (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 |