CN116318958A - 异常访问的检测方法、装置、存储介质和电子设备 - Google Patents
异常访问的检测方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN116318958A CN116318958A CN202310234959.0A CN202310234959A CN116318958A CN 116318958 A CN116318958 A CN 116318958A CN 202310234959 A CN202310234959 A CN 202310234959A CN 116318958 A CN116318958 A CN 116318958A
- Authority
- CN
- China
- Prior art keywords
- token bucket
- token
- target
- access
- exhaustion
- 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
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 67
- 238000001514 detection method Methods 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 claims abstract description 49
- 230000004044 response Effects 0.000 claims abstract description 21
- 230000000737 periodic effect Effects 0.000 claims abstract description 9
- 239000013589 supplement Substances 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 208000012260 Accidental injury Diseases 0.000 description 2
- 230000009193 crawling Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 229940070527 tourmaline Drugs 0.000 description 2
- 229910052613 tourmaline Inorganic materials 0.000 description 2
- 239000011032 tourmaline Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- 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
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种异常访问的检测方法、装置、存储介质和电子设备。在周期循环的每个滑动时间窗内,基于目标IP的访问流量使第一令牌桶和第二令牌桶中至少一个令牌桶的令牌耗尽时,获取目标IP在滑动时间窗内对第一令牌桶的第一耗尽次数、以及对第二令牌桶的第二耗尽次数;第一令牌桶和第二令牌桶中的令牌响应于目标IP的访问而逐次消耗,第一令牌桶以第一令牌发放速率补充令牌,第二令牌桶以不同于第一令牌发放速率的第二令牌发放速率补充令牌,且第一令牌桶和第二令牌桶均被配置为在令牌耗尽时自动执行令牌填满操作;基于第一耗尽次数和第二耗尽次数,检测目标IP的访问流量是否属于异常访问。该方法能够提高异常访问检测的准确性。
Description
技术领域
本公开实施例涉及一种异常访问的检测方法、装置、存储介质和电子设备。
背景技术
互联网技术蓬勃发展至今,琳琅满目的应用方便了我们的生活,同时也催生了一些灰色产业,如通过爬取数据、恶意攻击等方式,来获取不正当的利益。对单个IP在单位时间内的访问进行测算评估,是进行预警监控的一个重要的参考标准。
传统的令牌桶测算算法,是以一个恒定的速率往桶内放令牌,只要能从桶中获取到令牌,就被认为是合理的访问,但对于偶然的,有持续时间较短的正常高频请求,容易误伤,对于持续的不超过峰值尺寸的恶意流量也无法准确识别出来,因此,相关实现中异常访问检测的准确性比较低。
发明内容
有鉴于此,本申请提供一种异常访问的检测方法、装置、系统、存储介质和电子设备,能够提高异常访问检测的准确性。
为解决上述技术问题,本申请的技术方案是这样实现的:
在一个实施例中,提供了一种异常访问的检测方法,所述检测方法包括:
在周期循环的每个滑动时间窗内,基于目标IP的访问流量使第一令牌桶和第二令牌桶中至少一个令牌桶的令牌耗尽时,获取目标IP在所述滑动时间窗内对第一令牌桶的第一耗尽次数、以及对第二令牌桶的第二耗尽次数;其中,所述第一令牌桶和所述第二令牌桶中的令牌响应于所述目标IP的访问而逐次消耗,所述第一令牌桶以第一令牌发放速率补充令牌,所述第二令牌桶以不同于所述第一令牌发放速率的第二令牌发放速率补充令牌,且所述第一令牌桶和所述第二令牌桶均被配置为在令牌耗尽时自动执行令牌填满操作;
基于所述第一耗尽次数和所述第二耗尽次数,检测所述目标IP的访问流量是否属于异常访问。
其中,所述基于所述第一耗尽次数和所述第二耗尽次数,检测所述目标IP的访问流量是否属于异常访问,包括:
将所述第一耗尽次数和所述第二耗尽次数,与预先设定的流量区间进行匹配,其中,所述流量区间是根据所述第一令牌桶和所述第二令牌桶的令牌发放速率划分的;
基于所述第一耗尽次数和所述第二耗尽次数与所述流量区间的匹配结果,确定所述目标IP的访问流量是否属于异常访问。
其中,所述流量区间针对第一令牌桶和第二令牌桶分别设置;且通过预设次数实现。
其中,所述滑动时间窗为第一时间窗,和/或,第二时间窗;
所述第二时间窗为若干个连续的第一时间窗,且所述第一时间窗与所述第二时间窗对应的流量区间不同。
其中,所述方法进一步包括:
响应于所述目标IP对应的访问请求,基于所述目标IP分别从所述第一令牌桶和所述第二令牌桶中获取令牌;
响应于所述第一令牌桶中的令牌已耗尽,针对所述目标IP记录所述第一令牌桶耗尽令牌一次,以及耗尽时间;并执行所述第一令牌桶填满操作;
响应于所述第二令牌桶中的令牌已耗尽,针对所述目标IP记录所述第二令牌桶耗尽令牌一次,以及耗尽时间;并执行所述第二令牌桶填满操作。
其中,所述执行所述第二令牌桶填满操作之后,所述方法进一步包括:为所述目标IP分配所述第一令牌桶中的令牌;
所述执行所述第二令牌桶填满操作之后,所述方法进一步包括:为所述目标IP分配所述第二令牌桶中的令牌。
其中,所述方法进一步包括:
响应于检测到所述目标IP的访问流量属于异常访问,输出告警。
在一个实施例中,提供了一种异常访问的检测装置,所述检测装置包括:
获取单元,被配置为执行在周期循环的每个滑动时间窗内,基于目标IP的访问流量使第一令牌桶和第二令牌桶中至少一个令牌桶的令牌耗尽时,获取目标IP在所述滑动时间窗内对第一令牌桶的第一耗尽次数、以及对第二令牌桶的第二耗尽次数;其中,所述第一令牌桶和所述第二令牌桶中的令牌响应于所述目标IP的访问而逐次消耗,所述第一令牌桶以第一令牌发放速率补充令牌,所述第二令牌桶以不同于所述第一令牌发放速率的第二令牌发放速率补充令牌,且所述第一令牌桶和所述第二令牌桶均被配置为在令牌耗尽时自动执行令牌填满操作;
检测单元,被配置为执行基于所述第一耗尽次数和所述第二耗尽次数,检测所述目标IP的访问流量是否属于异常访问。
在另一个实施例中,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现异常访问的检测方法。
在另一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现异常访问的检测方法。
由上面的技术方案可见,上述实施例中通过两个不同速率的令牌桶的令牌桶耗尽情况,分别确定耗尽各令牌桶的令牌的耗尽次数,来检测滑动时间窗口内目标IP的访问流量是否属于异常访问;并且通过设置在令牌桶耗尽时执行自动填满操作,能实现在恒定时长上进行度量。该方案能够提高异常访问检测的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种访问请求的处理流程示意图;
图2为本申请实施例中一种异常访问的检测方法流程示意图;
图3为本申请实施例中另一种异常访问的检测方法流程示意图;
图4为本申请实施例中一种异常访问的检测装置结构示意图;
图5为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述目标的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
互联网技术蓬勃发展至今,琳琅满目的应用方便了我们的生活,同时也催生了一些灰色产业,如通过爬取数据、恶意攻击等方式,来获取不正当的利益。如何对单个IP在单位时间内的访问进行检测,以实现在避免误伤正常的高频访问请求的前提下,准确检测异常访问是亟待解决的技术问题。
基于上述需求,本申请提供一种异常访问的检测方法,通过两个不同速率的令牌桶的令牌桶耗尽情况,分别确定耗尽各令牌桶的令牌的耗尽次数,来检测滑动时间窗口内目标IP的访问流量是否属于异常访问;并且通过设置在令牌桶耗尽时执行自动填满操作,能实现在恒定时长上进行度量。该方案能够提高异常访问检测的准确性。
本申请实施例中在进行访问请求的处理的同时,进行异常访问的检测;并在这些处理过程之前给出本申请实现的基础,配置两个令牌桶,分别为第一令牌桶和第二令牌桶;其中,第一令牌桶以第一令牌发放速率补充令牌,第二令牌桶以不同于第一令牌发放速率的第二令牌发放速率补充令牌,且第一令牌桶和第二令牌桶均被配置为在令牌耗尽时自动执行令牌填满操作,相关技术实现时,通常就是按照令牌桶设置的补充令牌桶的速率进行令牌补充,而本申请实施例中针对令牌桶在按照补充令牌的速率进行令牌桶的令牌补充的原则下,还会在令牌桶耗尽的时候执行一次令牌桶填满操作,以实现在滑动时间窗口这一恒定时长上进行度量,具体实现如下:
针对第一令牌桶,设置第一令牌发放速率,以及第一令牌桶的最大容量;
针对第一令牌桶以第一令牌发放速率进行令牌补充,如每分钟按照第一令牌发放速率向第一令牌桶内放置N个令牌;N为不小于1的整数;当第一令牌桶中的令牌已达第一令牌的最大容量,则将超出的令牌丢弃;
针对访问请求从第一令牌桶中获取令牌的时候,每次获取一个令牌;在第一令牌桶耗尽时,执行第一令牌桶填满操作,并为该访问请求分配一个令牌。
针对第二令牌桶,设置第二令牌发放速率,以及第二令牌桶的最大容量;
针对第二令牌桶以第二令牌发放速率进行令牌补充,如每分钟按照第二令牌发放速率向第二令牌桶内放置M个令牌;M为不小于1的整数;当第二令牌桶中的令牌已达第二令牌的最大容量,则将超出的令牌丢弃;其中,由于第一令牌发放速率不等于第二令牌发送速率,因此,每分钟放入令牌桶的令牌的个数不相同,即M与N不相同。
针对访问请求从第二令牌桶中获取令牌的时候,每次获取一个令牌;在第二令牌桶耗尽时,执行第二令牌桶填满操作,并为该访问请求分配一个令牌。
这里第一令牌发放速率与第二令牌发放速率是不同的,谁大谁小不进行限制,这里以第一令牌发放速率小于第二令牌发放速率:
从第一令牌桶可以获取到令牌,说明该访问IP的请求速率小于第一令牌桶发放速率,或未超过第一令牌桶的最大容量;
如果第一令牌桶耗尽,而从第二令牌桶可以获取到令牌,说明该访问IP的请求速率大于第一令牌桶发送速率,且超过了第一令牌桶的最大容量,但请求速率小于第二令牌桶的发放速率,或未超过第二令牌桶的最大容量;
若第二令牌桶耗尽,则说明访问IP的请求速率大于第二令牌桶发放速率,且超过了第二令牌桶的最大容量。
下面结合附图,分别详细说明本申请实施例中实现访问请求的处理,以及异常访问的检测过程。
参见图1,图1为本申请实施例中一种访问请求的处理流程示意图。具体步骤为:
步骤101,响应于目标IP对应的访问请求,基于目标IP分别从第一令牌桶和第二令牌桶中获取令牌。
这里的目标IP是访问请求对应的访问IP,这里的目标IP可以是指定的访问IP,也可以是所有访问请求对应的访问IP,即用于检测的流量访问对应的IP。
在接收到访问请求时,基于访问请求的目标IP同时去第一令牌桶和第二令牌桶获取用于处理访问请求的令牌。
步骤102,响应于第一令牌桶中的令牌已耗尽,针对目标IP记录第一令牌桶耗尽令牌一次,以及耗尽时间;执行第一令牌桶填满操作;并为目标IP分配第一令牌桶中的令牌。执行步骤106。
这里每耗尽一次,记录一次,具体实现时可以一次一次记录,并记录耗尽时间;也可以按照滑动时间窗口进行次数加1的方式进行计数,都可以使得在统计每个滑动时间窗口中对应IP耗尽令牌的耗尽次数。
本申请实施例中在目标IP未获取令牌时,不是直接不给该目标IP分配令牌,而是等待第一令牌桶填满操作之后,为该目标IP分配一个令牌。
步骤103,响应于第二令牌桶中的令牌已耗尽,针对目标IP记录第二令牌桶耗尽令牌一次,以及耗尽时间;执行第二令牌桶填满操作,并为目标IP分配第二令牌桶中的令牌。执行步骤106
这里每耗尽一次,记录一次,具体实现时可以一次一次记录,并记录耗尽时间;也可以按照滑动时间窗口进行次数加1的方式进行计数,都可以使得在统计每个滑动时间窗口中对应IP耗尽令牌的耗尽次数。针对第一令牌桶和第二令牌桶分别记录次数即可。
本申请实施例中在目标IP未获取令牌时,不是直接不给该目标IP分配令牌,而是等待第二令牌桶填满操作之后,为该目标IP分配一个令牌。
步骤104,响应于第一令牌桶中的令牌未耗尽,为目标IP分配第一令牌桶中的令牌。执行步骤106。
步骤105,响应于第二令牌桶中的令牌未耗尽,为目标IP分配第二令牌桶中的令牌。
步骤106,基于从第一令牌桶中获取的令牌,以及第二令牌桶中获取的令牌对访问请求进行处理。
到此,实现了针对一个访问请求从第一令牌桶和第二令牌桶分别获取令牌,可以基于获取的两个令牌对访问请求进行后续处理。
本申请实施例中在获取令牌桶时,若令牌桶中的令牌耗尽时,记录针对每个目标IP耗尽的次数,以便在滑动时间窗口中检测异常访问的时候使用;并且无论是否耗尽令牌桶,两个令牌桶都会为该目标IP分配令牌,这样只通过目标IP对应的第一令牌桶耗尽次数和第二令牌桶耗尽次数来检测异常访问即可,不需要确定对没获取令牌的访问请求是否处理,以及是否有黑名单和白名单的设置,简化了检测异常访问的过程,并提高了处理效率。
参见图2,图2为本申请实施例中一种异常访问的检测方法流程示意图。具体步骤为:
步骤201,在周期循环的每个滑动时间窗内,基于目标IP的访问流量使第一令牌桶和第二令牌桶中至少一个令牌桶的令牌耗尽时,获取目标IP在滑动时间窗内对第一令牌桶的第一耗尽次数、以及对第二令牌桶的第二耗尽次数;其中,第一令牌桶和第二令牌桶中的令牌响应于目标IP的访问而逐次消耗,第一令牌桶以第一令牌发放速率补充令牌,第二令牌桶以不同于第一令牌发放速率的第二令牌发放速率补充令牌,且第一令牌桶和第二令牌桶均被配置为在令牌耗尽时自动执行令牌填满操作。
本申请实施例中在具体实现时,在每个滑动时间窗内,在第一令牌桶和第二令牌桶中至少一个令牌桶的令牌耗尽一次,针对耗尽令牌桶的流量的IP,触发一次耗尽次数的获取,进行一次异常访问检测。
步骤202,基于第一耗尽次数和第二耗尽次数,检测目标IP的访问流量是否属于异常访问。
本实施例中通过两个不同速率的令牌桶的令牌桶耗尽情况,分别确定耗尽各令牌桶的令牌的耗尽次数,来检测滑动时间窗口内目标IP的访问流量是否属于异常访问;并且通过设置在令牌桶耗尽时执行自动填满操作,能实现在恒定时长上进行度量。该方案能够提高异常访问检测的准确性。
在另一个实施例中,
该滑动时间窗为第一时间窗,和/或,第二时间窗;
第二时间窗为若干个连续的第一时间窗,且第一时间窗与第二时间窗对应的流量区间不同。
在具体实现时,可以使用单一长度的滑动窗,如第一时间窗,或第二时间窗,也可以使用第一时间窗和第二时间窗同时检测的方式。
参见图3,图3为本申请实施例中另一种异常访问的检测方法流程示意图。具体步骤为:
步骤301,在周期循环的每个滑动时间窗内,基于目标IP的访问流量使第一令牌桶和第二令牌桶中至少一个令牌桶的令牌耗尽时,获取目标IP在滑动时间窗内对第一令牌桶的第一耗尽次数、以及对第二令牌桶的第二耗尽次数;其中,第一令牌桶和第二令牌桶中的令牌响应于目标IP的访问而逐次消耗,第一令牌桶以第一令牌发放速率补充令牌,第二令牌桶以不同于第一令牌发放速率的第二令牌发放速率补充令牌,且第一令牌桶和第二令牌桶均被配置为在令牌耗尽时自动执行令牌填满操作。
本申请实施例中在具体实现时,在每个滑动时间窗内,在第一令牌桶和第二令牌桶中至少一个令牌桶的令牌耗尽一次,针对耗尽令牌桶的流量的IP,触发一次耗尽次数的获取,进行一次异常访问检测。在两个令牌桶基于同一次访问同时耗尽时,确定为一次令牌桶耗尽。
在访问请求耗尽第一令牌桶,和/或,第二令牌桶中的令牌时,会对应记录一次令牌桶耗尽次数,以及耗尽时间,获取滑动窗时间内的分别针对该目标IP记录的耗尽次数,以获取该目标IP对应的第一耗尽次数和第二耗尽次数。
步骤302,将第一耗尽次数和第二耗尽次数,与预先设定的流量区间进行匹配;其中,流量区间是根据第一令牌桶和第二令牌桶的令牌发放速率划分的。
第一耗尽次数用于表征目标IP对第一令牌桶的令牌消耗速率超出第一令牌发放速率,或第一令牌桶的最大容量的次数,第二耗尽次数用于表征目标IP对第二令牌桶的令牌消耗速率超出第二令牌发放速率,或第二令牌桶的最大容量的次数。
步骤303,基于第一耗尽次数和第二耗尽次数与流量区间的匹配结果,确定目标IP的访问流量是否属于异常访问。
通过步骤302和步骤303实现基于第一耗尽次数和第二耗尽次数,检测目标IP的访问流量是否属于异常访问。
步骤304,响应于检测到目标IP的访问流量属于异常访问,输出告警。
在输出告警后,如何处理本申请实施例中对此不进行限制,如可以是在预设时间内告警次数达到预设值等。
本实施例中通过两个不同速率的令牌桶的令牌桶耗尽情况,分别确定耗尽各令牌桶的令牌的耗尽次数,来检测滑动时间窗口内目标IP的访问流量是否属于异常访问;并且通过设置在令牌桶耗尽时执行自动填满操作,能实现在恒定时长上进行度量。该方案能够提高异常访问检测的准确性;并在检测出异常访问时,基于目标IP输出告警,以便相关人员或设备及时进行相关处理。
在另一个实施例中,
该滑动时间窗为第一时间窗,和/或,第二时间窗;
第二时间窗为若干个连续的第一时间窗,且第一时间窗与第二时间窗对应的流量区间不同。
在具体实现时,可以使用单一长度的滑动窗,如第一时间窗,或第二时间窗,也可以使用第一时间窗和第二时间窗同时检测的方式。
下面以滑动时间窗为第一时间窗和第二时间窗,且为每个时间窗配置对应的流量区间时,实现时间异常访问的检测为例:
第一时间窗对应第一流量区间,第二时间窗对应第二流量区间;
以第二时间窗的长度为60分钟,第一时间窗的长度为15分钟,即第二时间窗包含4个连续的第一时间窗为例;且第一流量区间和第二流量区间以次数划分;其中,针对第一流量区间为0到第一预设次数(针对第一令牌桶设置),以及0到第二预设次数(针对第二令牌桶设置);针对第二流量区间为0到第三预设次数(针对第一令牌桶设置),以及0到第四预设次数(针对第二令牌桶设置)。
开始检测,在每个15分钟对应的第一时间窗内,第一令牌桶,和/或,第二令牌桶被耗尽时,获取这个第一时间窗内记录的耗尽令牌桶的访问流量的目标IP对应的第一耗尽次数和第二耗尽次数;
流量区间的配置可以根据实际需要配置;也可以在使用过程中根据需要进行更新;具体实现时,可以通过预设次数实现时,下面以预设次数实现为例:
针对第一时间窗设置的第一流量区域为0到第一预设次数(针对第一令牌桶设置),以及0到第二预设次数(针对第二令牌桶设置);
当第一耗尽次数大于第一预设次数,和/或,第二耗尽次数大于第二预设次数时,确定对应目标IP的访问流量属于异常访问;
在第二时间窗内,第一令牌桶,和/或第二令牌桶被耗尽时,获取这个第二时间窗内记录的耗尽令牌桶的目标IP对应的第一耗尽次数和第二耗尽次数;
针对第二时间窗设置的第二流量区域为0到第三预设次数(针对第一令牌桶设置),以及0到第四预设次数(针对第二令牌桶设置);
当第一耗尽次数大于第三预设次数,和/或,第二耗尽次数大于第四预设次数时,确定对应目标IP的访问流量属于异常访问。
这里设置第一到第四预设次数时,第一预设次数可以为3,第二预设次数为0,第三预设次数为10,第四预设次数为3为例,但是具体实现时不进行预设次数的限制,但是通常会设置第三预设次数大于第一预设次数,第四预设次数大于第二预设次数。
至此,给出了基于两个滑动时间窗进行异常访问检测的具体实现。
本申请实施例中,通过设计两个不同速率(以第一令牌桶发放速率<第二令牌桶发送速率为例)的令牌桶的耗尽情况,可以将流量IP区分为“小于第一令牌桶发放速率/介于第一令牌桶发放速率和第二令牌桶发放速率之间/大于第二令牌桶发放速率”三个不同的区间,由于流量的速率具备瞬时性,上述三个区间靠第一令牌桶和第二令牌桶耗尽来判断仅能说明某段时间内IP的访问速率,要实现在恒定时长上进行度量,则需要在耗尽的时刻再次将桶内令牌填满,并在对应滑动时间窗口中计数,观察桶下次是否被耗尽令牌,这样就能获取到恒定时长及单位时间窗口两个不同维度内各自的“超过第一令牌桶发放的次数”和“超过第二令牌桶发放的次数”,通过识别“超过第一令牌桶发放的次数”和“超过第二令牌桶发放的次数”可以区分问题异常IP、需关注的IP。
在相关技术中对单独令牌桶实现的时候,由于缺少计数,一旦请求突破了第二令牌桶的发放速率,且耗尽第二令牌桶的最大容量,就会被双速双桶的令牌桶给划分到大于第二令牌桶发放速率的区间,无更细致指标,对于正常用户在活动时段偶尔超过第二令牌桶发放速率的访问,正常访问可能就会被误伤。
本申请实施例中具体实现时,不仅通过多个滑动窗口计数,避免正常业务访问被误伤;还在令牌桶中的令牌桶耗尽时执行填满操作,能够实现恒定时长上进行度量,以提高异常访问检测的效率和准确性。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
基于同样的发明构思,本申请实施例中还提供一种异常访问的检测装置。参见图4,图4为本申请实施例中一种异常访问的检测装置结构示意图。该异常访问的检测装置包括:
获取单元401,被配置为执行在周期循环的每个滑动时间窗内,基于目标IP的访问流量使第一令牌桶和第二令牌桶中至少一个令牌桶的令牌耗尽时,获取目标IP在滑动时间窗内对第一令牌桶的第一耗尽次数、以及对第二令牌桶的第二耗尽次数;其中,所述第一令牌桶和所述第二令牌桶中的令牌响应于所述目标IP的访问而逐次消耗,所述第一令牌桶以第一令牌发放速率补充令牌,所述第二令牌桶以不同于所述第一令牌发放速率的第二令牌发放速率补充令牌,且所述第一令牌桶和所述第二令牌桶均被配置为在令牌耗尽时自动执行令牌填满操作;
检测单元402,被配置为执行基于所述第一耗尽次数和所述第二耗尽次数,检测所述目标IP的访问流量是否属于异常访问。
在另一个实施例中,
检测单元402,被配置为执行基于所述第一耗尽次数和所述第二耗尽次数,检测所述目标IP的访问流量是否属于异常访问时,将所述第一耗尽次数和所述第二耗尽次数,与预先设定的流量区间进行匹配,其中,所述流量区间是根据所述第一令牌桶和所述第二令牌桶的令牌发放速率划分的;基于所述第一耗尽次数和所述第二耗尽次数与所述流量区间的匹配结果,确定所述目标IP的访问流量是否属于异常访问。
在另一个实施例中,所述流量区间针对第一令牌桶和第二令牌桶分别设置;且通过预设次数实现。
在另一个实施例中,所述滑动时间窗为第一时间窗,和/或,第二时间窗;
所述第二时间窗为若干个连续的第一时间窗,且所述第一时间窗与所述第二时间窗对应的流量区间不同。
在另一个实施例中,该装置进一步包括:记录单元403和处理单元404;
获取单元401,被配置为执行响应于所述目标IP对应的访问请求,基于所述目标IP分别从所述第一令牌桶和所述第二令牌桶中获取令牌;
记录单元403,被配置为执行响应于所述第一令牌桶中的令牌已耗尽,针对所述目标IP记录所述第一令牌桶耗尽令牌一次,以及耗尽时间;响应于所述第二令牌桶中的令牌已耗尽,针对所述目标IP记录所述第二令牌桶耗尽令牌一次,以及耗尽时间;
处理单元404,被配置为执行响应于所述第一令牌桶中的令牌已耗尽,执行所述第一令牌桶填满操作;响应于所述第二令牌桶中的令牌已耗尽,执行所述第二令牌桶填满操作。
在另一个实施例中,
处理单元404,被配置为执行所述第二令牌桶填满操作之后,为所述目标IP分配所述第一令牌桶中的令牌;执行所述第二令牌桶填满操作之后为所述目标IP分配所述第二令牌桶中的令牌。
在另一个实施例中,该装置进一步包括:输出单元405;
输出单元405,被配置为执行响应于检测到所述目标IP的访问流量属于异常访问,输出告警。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
在另一个实施例中,还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现异常访问的检测方法。
在另一个实施例中,还提供一种计算机可读存储介质,其上存储有计算机指令,指令被处理器执行时可实现异常访问的检测方法。
图5为本发明实施例提供的电子设备的实体结构示意图。如图5所示,该电子设备可以包括:处理器(Processor)510、通信接口(Communications Interface)520、存储器(Memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行如下方法:
在周期循环的每个滑动时间窗内,基于目标IP的访问流量使第一令牌桶和第二令牌桶中至少一个令牌桶的令牌耗尽时,获取目标IP在滑动时间窗内对第一令牌桶的第一耗尽次数、以及对第二令牌桶的第二耗尽次数;其中,第一令牌桶和第二令牌桶中的令牌响应于目标IP的访问而逐次消耗,第一令牌桶以第一令牌发放速率补充令牌,第二令牌桶以不同于第一令牌发放速率的第二令牌发放速率补充令牌,且第一令牌桶和第二令牌桶均被配置为在令牌耗尽时自动执行令牌填满操作;
基于第一耗尽次数和第二耗尽次数,检测目标IP的访问流量是否属于异常访问。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
本申请附图中的流程图和框图,示出了按照本申请公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标准的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本申请公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本申请中。特别地,在不脱离本申请精神和教导的情况下,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本申请公开的范围。
本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思路,并不用于限制本申请。对于本领域的技术人员来说,可以依据本发明的思路、精神和原则,在具体实施方式及应用范围上进行改变,其所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种异常访问的检测方法,其特征在于,所述检测方法包括:
在周期循环的每个滑动时间窗内,基于目标IP的访问流量使第一令牌桶和第二令牌桶中至少一个令牌桶的令牌耗尽时,获取目标IP在所述滑动时间窗内对第一令牌桶的第一耗尽次数、以及对第二令牌桶的第二耗尽次数;其中,所述第一令牌桶和所述第二令牌桶中的令牌响应于所述目标IP的访问而逐次消耗,所述第一令牌桶以第一令牌发放速率补充令牌,所述第二令牌桶以不同于所述第一令牌发放速率的第二令牌发放速率补充令牌,且所述第一令牌桶和所述第二令牌桶均被配置为在令牌耗尽时自动执行令牌填满操作;
基于所述第一耗尽次数和所述第二耗尽次数,检测所述目标IP的访问流量是否属于异常访问。
2.根据权利要求1所述的检测方法,其特征在于,所述基于所述第一耗尽次数和所述第二耗尽次数,检测所述目标IP的访问流量是否属于异常访问,包括:
将所述第一耗尽次数和所述第二耗尽次数,与预先设定的流量区间进行匹配,其中,所述流量区间是根据所述第一令牌桶和所述第二令牌桶的令牌发放速率划分的;
基于所述第一耗尽次数和所述第二耗尽次数与所述流量区间的匹配结果,确定所述目标IP的访问流量是否属于异常访问。
3.根据权利要求2所述的检测方法,其特征在于,所述流量区间针对第一令牌桶和第二令牌桶分别设置,且通过预设次数实现。
4.根据权利要求2所述的检测方法,其特征在于,所述滑动时间窗为第一时间窗,和/或,第二时间窗;
所述第二时间窗为若干个连续的第一时间窗,且所述第一时间窗与所述第二时间窗对应的流量区间不同。
5.根据权利要求1所述的检测方法,其特征在于,所述方法进一步包括:
响应于所述目标IP对应的访问请求,基于所述目标IP分别从所述第一令牌桶和所述第二令牌桶中获取令牌;
响应于所述第一令牌桶中的令牌已耗尽,针对所述目标IP记录所述第一令牌桶耗尽令牌一次,以及耗尽时间;并执行所述第一令牌桶填满操作;
响应于所述第二令牌桶中的令牌已耗尽,针对所述目标IP记录所述第二令牌桶耗尽令牌一次,以及耗尽时间;并执行所述第二令牌桶填满操作。
6.根据权利要求5所述的检测方法,其特征在于,所述执行所述第二令牌桶填满操作之后,所述方法进一步包括:为所述目标IP分配所述第一令牌桶中的令牌;
所述执行所述第二令牌桶填满操作之后,所述方法进一步包括:为所述目标IP分配所述第二令牌桶中的令牌。
7.根据权利要求1-6任一项所述的检测方法,其特征在于,所述方法进一步包括:
响应于检测到所述目标IP的访问流量属于异常访问,输出告警。
8.一种异常访问的检测装置,其特征在于,所述检测装置包括:
获取单元,被配置为执行在周期循环的每个滑动时间窗内,基于目标IP的访问流量使第一令牌桶和第二令牌桶中至少一个令牌桶的令牌耗尽时,获取目标IP在所述滑动时间窗内对第一令牌桶的第一耗尽次数、以及对第二令牌桶的第二耗尽次数;其中,所述第一令牌桶和所述第二令牌桶中的令牌响应于所述目标IP的访问而逐次消耗,所述第一令牌桶以第一令牌发放速率补充令牌,所述第二令牌桶以不同于所述第一令牌发放速率的第二令牌发放速率补充令牌,且所述第一令牌桶和所述第二令牌桶均被配置为在令牌耗尽时自动执行令牌填满操作;
检测单元,被配置为执行基于所述第一耗尽次数和所述第二耗尽次数,检测所述目标IP的访问流量是否属于异常访问。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310234959.0A CN116318958A (zh) | 2023-03-10 | 2023-03-10 | 异常访问的检测方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310234959.0A CN116318958A (zh) | 2023-03-10 | 2023-03-10 | 异常访问的检测方法、装置、存储介质和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116318958A true CN116318958A (zh) | 2023-06-23 |
Family
ID=86799044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310234959.0A Pending CN116318958A (zh) | 2023-03-10 | 2023-03-10 | 异常访问的检测方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116318958A (zh) |
-
2023
- 2023-03-10 CN CN202310234959.0A patent/CN116318958A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106411934B (zh) | DoS/DDoS攻击检测方法和装置 | |
CN101064963A (zh) | 一种信标无线个域网中中心节点与设备节点间的测距方法 | |
CN107402810B (zh) | 线程分配方法及装置 | |
CN1206880C (zh) | 通信系统 | |
CN116125300A (zh) | 一种电池包异常监测方法、装置、电子设备及存储介质 | |
CN116318958A (zh) | 异常访问的检测方法、装置、存储介质和电子设备 | |
CN112383498B (zh) | 低频时钟的补偿方法及装置、存储介质、终端 | |
CN116448219A (zh) | 油位异常检测方法、装置、设备及计算机可读存储介质 | |
CN110019054B (zh) | 日志去重方法和系统、内容分发网络系统 | |
CN111237209A (zh) | 水泵转轮稳定性监测方法、装置、电子设备和存储介质 | |
CA3004773C (en) | Detecting an error condition by monitoring a resource flow at a premises | |
CN102571277B (zh) | 序号检测消息的发送方法及装置 | |
CN114241734B (zh) | 一种浸水预警方法、装置、电子设备及存储介质 | |
RU2110159C1 (ru) | Способ оценки пропускной способности виртуальных каналов связи и устройство для его осуществления | |
CN115296904A (zh) | 域名反射攻击检测方法及装置、电子设备、存储介质 | |
CN112311599B (zh) | 云资源余量报警方法、装置及服务器 | |
CN115567448A (zh) | 流量控制方法、装置、设备、介质及程序产品 | |
CN102844743B (zh) | 测量直接存储器存取吞吐量 | |
CN112565163B (zh) | 一种检测加密等级降级行为的方法及装置 | |
CN113656886A (zh) | 基于双mcu脉冲采集的速度计算方法及装置 | |
CN109756905B (zh) | 一种物联网覆盖等级门限的调整方法、装置及设备 | |
CN114363010A (zh) | 一种服务器的apt攻击检测方法、装置、系统及存储介质 | |
CN108462595B (zh) | 账号处理系统及处置窗口期的确定方法、服务器 | |
CN112995060A (zh) | 一种基于硬件计数器的流量控制方法 | |
CN115277507B (zh) | Prb频谱利用率的计算方法、装置、设备和存储介质 |
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 |