CN114640504A - Cc攻击防护方法、装置、设备和存储介质 - Google Patents
Cc攻击防护方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114640504A CN114640504A CN202210172858.0A CN202210172858A CN114640504A CN 114640504 A CN114640504 A CN 114640504A CN 202210172858 A CN202210172858 A CN 202210172858A CN 114640504 A CN114640504 A CN 114640504A
- Authority
- CN
- China
- Prior art keywords
- access
- access data
- current
- domain
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012795 verification Methods 0.000 claims abstract description 60
- 238000012545 processing Methods 0.000 claims description 18
- 230000009471 action Effects 0.000 claims description 16
- 230000000903 blocking effect Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 7
- 238000010200 validation analysis Methods 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 3
- 208000000044 Amnesia Diseases 0.000 abstract 1
- 208000026139 Memory disease Diseases 0.000 abstract 1
- 230000006984 memory degeneration Effects 0.000 abstract 1
- 208000023060 memory loss Diseases 0.000 abstract 1
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002265 prevention Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- 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/1458—Denial of Service
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
本公开提供一种CC攻击防护方法、装置、设备和存储介质,涉及云计算领域,所述方法包括:获取当前域对应的当前哈希分组中的第一访问数据,所述第一访问数据包括第一时间段内访问当前域的用户的客户端地址和访问次数,所述第一访问数据由原始访问数据经一致性哈希运算后被分配到所述当前哈希分组中;根据所述第一访问数据在所述访问当前域的用户中选取满足设定条件的目标用户,其中,所述设定条件包括:访问次数排序前N,且访问次数大于等于预设的第一阈值,N为自然数,且N≥1;根据设定的验证规则生成防护指令,以针对所述目标用户的客户端地址进行攻击防护。本公开的技术方案可以以较小的服务器内存损耗进行CC攻击防护。
Description
技术领域
本公开涉及云计算技术领域,尤其涉及一种CC攻击防护方法、装置、电子设备和非暂态计算机可读存储介质。
背景技术
现有的云安全防护技术中的CC攻击防护技术很多依赖于基于时间窗口的IP(Internet Protocol,网络互联协议)地址计数统计,即需要统计每一个时间窗口内所有访问该网站的用户的客户端IP地址的访问次数。大型网站的一个时间窗口内访问的客户端IP地址数量非常多,而作为提供云平台的CC攻击防护产品的云厂商,不仅需要接入大量的网站,还需要同时对大量网站做客户端IP地址进行计数统计,对于服务器资源是非常大的消耗。
将所有的IP地址计数数据设置在一个计数表的方案并不适用于云平台的CC攻击防护产品,如何减少服务器内存资源的消耗是进行IP地址计数统计的亟需解决的关键技术问题。
发明内容
本公开提供一种CC攻击防护方法、装置、电子设备和非暂态计算机可读存储介质,用以解决现有技术中进行CC攻击防护时服务器内存消耗较大的问题,减少内存消耗。
本公开提供一种CC攻击防护方法,包括:获取当前域对应的当前哈希分组中的第一访问数据,其中,所述第一访问数据包括第一时间段内访问当前域的用户的客户端地址和访问次数,所述第一访问数据由原始访问数据经一致性哈希运算后被分配到所述当前哈希分组中,所述原始访问数据包括所述第一时间段内访问各个域的用户的客户端地址和访问次数;根据所述第一访问数据在所述访问当前域的用户中选取满足设定条件的目标用户,其中,所述设定条件包括:访问次数排序前N,且访问次数大于等于预设的第一阈值,N为自然数,且N≥1;根据设定的验证规则生成防护指令,以针对所述目标用户的客户端地址进行攻击防护。
根据本公开提供的一种CC攻击防护方法,所述根据所述第一访问数据在所述访问当前域的用户中选取满足设定条件的目标用户,包括:根据所述第一访问数据在所述访问当前域的目标资源的用户中选取满足设定条件的目标用户。
根据本公开提供的一种CC攻击防护方法,所述根据设定的验证规则生成防护指令,包括:若缓存中不存在所述目标用户的客户端地址对应的验证码规则,则生成验证码规则并发送给所述缓存;若所述缓存中存在所述目标用户的客户端地址对应的验证码规则,则生成封禁规则并发送给所述缓存。
根据本公开提供的一种CC攻击防护方法,所述获取当前域对应的当前哈希分组中的第一访问数据之前,所述方法还包括:按照设定的筛选标准对网络防火墙输出的日志数据中的用户对各个域的访问动作进行数据统计,得到所述原始访问数据,其中,所述日志数据经由kafka集群转发。
根据本公开提供的一种CC攻击防护方法,所述得到所述原始访问数据之后,所述方法还包括:对所述原始访问数据进行一致性哈希运算,得到哈希结果;将所述哈希结果按照访问域的不同分配到不同的哈希分组中。
根据本公开提供的一种CC攻击防护方法,所述按照设定的筛选标准对网络防火墙输出的日志数据中的用户对各个域的访问动作进行数据统计,包括:在当前用户不在设定的特殊名单中时,对所述当前用户的访问动作进行数据统计。
根据本公开提供的一种CC攻击防护方法,所述根据设定的验证规则生成防护指令之后,所述方法还包括:若所述防护指令为所述验证码规则,则向所述目标用户发送携带有验证码的验证页面,并根据所述目标用户返回的验证信息确定是否允许所述目标用户访问所述当前域;若所述防护指令为所述封禁规则,则拦截所述目标用户的访问。
本公开提供一种CC攻击防护装置,所述装置包括:获取单元,用于获取当前域对应的当前哈希分组中的第一访问数据,其中,所述第一访问数据包括第一时间段内访问当前域的用户的客户端地址和访问次数,所述第一访问数据由原始访问数据经一致性哈希运算后被分配到所述当前哈希分组中,所述原始访问数据包括所述第一时间段内访问各个域的用户的客户端地址和访问次数;选取单元,用于根据所述第一访问数据在所述访问当前域的用户中选取满足设定条件的目标用户,其中,所述设定条件包括:访问次数排序前N,且访问次数大于等于预设的第一阈值,N为自然数,且N≥1;生成单元,用于根据设定的验证规则生成防护指令,以针对所述目标用户的客户端地址进行攻击防护。
根据本公开提供的一种CC攻击防护装置,所述选取单元,还用于根据所述第一访问数据在所述访问当前域的目标资源的用户中选取满足设定条件的目标用户。
根据本公开提供的一种CC攻击防护装置,所述生成单元,还用于在缓存中不存在所述目标用户的客户端地址对应的验证码规则时,生成验证码规则并发送给所述缓存;在所述缓存中存在所述目标用户的客户端地址对应的验证码规则时,生成封禁规则并发送给所述缓存。
根据本公开提供的一种CC攻击防护装置,所述装置还包括统计单元,用于:按照设定的筛选标准对网络防火墙输出的日志数据中的用户对各个域的访问动作进行数据统计,得到所述原始访问数据,其中,所述日志数据经由kafka集群转发。
根据本公开提供的一种CC攻击防护装置,所述装置还包括哈希处理单元,用于对所述原始访问数据进行一致性哈希运算,得到哈希结果;将所述哈希结果按照访问域的不同分配到不同的哈希分组中。
根据本公开提供的一种CC攻击防护装置,所述统计单元还用于:在当前用户不在设定的特殊名单中时,对所述当前用户的访问动作进行数据统计。
根据本公开提供的一种CC攻击防护装置,所述装置还包括防护单元,用于:在所述防护指令为所述验证码规则时,向所述目标用户发送携带有验证码的验证页面,并根据所述目标用户返回的验证信息确定是否允许所述目标用户访问所述目标域;在所述防护指令为所述封禁规则时,拦截所述目标用户的访问。
本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述CC攻击防护方法的步骤。
本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述CC攻击防护方法的步骤。
本公开提供的CC攻击防护方法、装置、电子设备和非暂态计算机可读存储介质,通过将原始访问数据进行哈希处理后分配到不同哈希分组中,并在当前域对应的当前哈希分组中,选取访问次数最高且超过第一阈值的N个用户的客户端地址作为攻击防护目标,可以在实现CC攻击防护的同时,减轻服务器内存在统计攻击防护的数据的过程中的存储压力。
附图说明
为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开提供的CC攻击防护方法的流程示意图之一;
图2是本公开提供的生成防护指令的过程的流程示意图;
图3是本公开提供的CC攻击防护方法的流程示意图之二;
图4是本公开提供的CC攻击防护装置的结构示意图;
图5是本公开提供的电子设备的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合本公开中的附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
在本公开一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开一个或多个实施例。在本公开一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本公开一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
CC攻击(Challenge Collapsar Attack,CC)是针对网络服务器或应用程序的攻击,利用获取信息的标准的GET/POST请求,如请求涉及数据库操作的URI(UniversalResource Identifier,统一资源标识符)或其他消耗系统资源的URI,造成服务器内存资源耗尽,无法响应正常请求。其中,GET和POST是HTTP(HyperText Transfer Protocol,超文本传输协议)请求的两种基本方法。
在实际的CC防护场景中,并不需要严格地统计所有IP地址准确的访问频次,实际上只需要访问频次最高的若干IP地址的访问频次,即可显著地达到防护CC攻击的效果。在相关技术中,计算频次最高的若干个IP地址的技术方案中占用服务器内存资源较大。
为解决该问题,本公开实施例提供一种CC攻击防护方法、装置、电子设备和非暂态计算机可读介质。
下面结合附图对本公开示例实施方式进行详细说明。
如图1所示的是本公开实施例的CC攻击防护方法的流程图。本公开实施例提供的方法可以由任意具备计算机处理能力的电子设备执行,例如终端设备和/或服务器。如图1所示,该CC攻击防护方法包括:
步骤102,获取当前域对应的当前哈希分组中的第一访问数据,第一访问数据包括第一时间段内访问当前域的用户的客户端地址和访问次数,第一访问数据由原始访问数据经一致性哈希运算后被分配到当前哈希分组中,原始访问数据包括第一时间段内访问各个域的用户的客户端地址和访问次数。
具体地,哈希分组即哈希桶,可以认为一个是过滤器,可以理解为一个盛放不同key链表的容器,也可以称为桶,每个桶中盛放一个链表。当数据匹配这个过滤器的规则时,数据就会被添加到该哈希分组中。当前哈希分组中的第一访问数据匹配访问目标为当前域的规则,因此被分配到当前哈希分组中。客户端地址指的是客户端的IP地址。第一时间段是一个时间窗口,通过统计该时间窗口内的访问数据,可以获得该时间窗口内用户对指定域的访问次数。在一致性哈希运算中,每个节点都有随机分配的ID。在将内容映射到节点时,可以使用内容的关键字和节点的ID进行一致性哈希运算并获得键值。一致性哈希要求键值和节点ID处于同一值域。在一致性哈希算法中,根据键值存储内容时,内容将被存储到具有与其键值最接近的ID的节点上。
步骤104,根据第一访问数据在访问当前域的用户中选取满足设定条件的目标用户,其中,所述设定条件包括:访问次数排序前N,且访问次数大于等于预设的第一阈值,N为自然数,且N≥1。
具体地,可以先在第一访问数据中选取访问次数由高到低排序前N的用户,再判断这些用户的访问次数是否超过第一阈值,最终得到访问次数超过第一阈值的目标用户。还可以先选取访问次数超过第一阈值的用户,再选取这些用户中全部或者排名前N的目标用户。
步骤106,根据设定的验证规则生成防护指令,以针对目标用户的客户端地址进行攻击防护。
具体地,验证规则是判断缓存中是否存在验证码规则,并根据判断结果进行对应的下一步攻击防护处理的规则。防护指令可以发送给当前处理器的防护模块,例如网络防火墙即防火墙模块,以使得防护模块根据该防护指令进行防护处理,也可以发送给当前处理器外部的防护模块,以进行防护处理。
FSS(Filtered-Space Saving,节约过滤空间)算法是一种只消耗最小常数内存来精确评估流中最频繁的N个值的数据结构和算法。其是一种数据结构和算法组合,用于在使用恒定的最小内存占用的同时,精确估计流中出现的最频繁的N个值。FSS算法通过将传入值散列到哈希分组中来工作,其中每个哈希分组都有一个已经添加的值集合。如果传入元素已经存在于给定哈希分组中,则其频率递增。如果元素不存在,则只要满足一些特定的可配置条件,就会添加该元素。
在流数据处理过程中,计算topN的明显方法是简单地保存值及其关联频率的计数表,这对于流是不实用的。采用改进的FSS算法,可以减少数据的保存量。具体地,在本公开实施例的技术方案中,通过在IP地址访问计数阶段引入改造后的FSS算法,达到消耗较小内存即可统计出大量网站一个时间窗口内访问频次最高的TopN个IP地址的目的。
在步骤102之前,可以按照设定的筛选标准对网络防火墙输出的日志数据中的用户对各个域的访问动作进行数据统计,得到原始访问数据,其中,日志数据经由kafka集群转发。
具体地,设定的筛选标准可以为用户是否为特殊名单用户,例如,白名单和黑名单用户。在当前用户不在设定的特殊名单中时,对当前用户的访问动作进行数据统计。
按照筛选标准对访问动作进行计数统计,可以有针对性地使用IP地址黑白名单技术拦截可以用户。
在步骤106中,如图2所示,生成防护指令的过程包括以下步骤:
步骤201,判断缓存中是否存在目标用户的客户端地址对应的验证码规则。若是,执行步骤202,若否,执行步骤203。
步骤202,生成封禁规则并发送给缓存。
步骤203,生成验证码规则并发送给缓存。
如图3所示的实施例中,CC防护攻击方案包括步骤301至步骤308。以下对各个步骤进行详细分析:
步骤301,输出网站访问日志,即防火墙模块输出当前防护网站的访问日志,访问日志的主要相关字段如表1所示,输出为本地文件。
表1防火墙模块输出日志相关字段
步骤302,转发访问日志至kafka。即rsyslog模块转发防护墙模块输出的访问日志到kafka模块。
rsyslog为一个日志管理系统,记录过去某个时间发生的事件以及对事件级别进行定义并记录到指定位置。rsyslog是syslog的升级版本,日志格式较为简单。
syslog可以用于处理大型的系统的日志需求,并且可以把输入到日志转换到各个数据系统上。
kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。这些动作流数据可以包括网页浏览、搜索和其他用户的行动,其通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。
步骤303,缓存访问日志,即kafka模块将访问日志缓存到kafka集群中,供消费者使用。
步骤304,消费访问日志,统计基于目标域的topN的访问IP地址。
具体地,IP访问计数统计数模块从kafka消费网站访问日志,每一条日志即为一次访问请求。得到访问日志后,按照设定的时间窗口统计每个域当前访问周期内所有用户的访问计数,所有客户的访问计数包括正常的访问计数和通过验证码的访问计数。
在用户不为白名单用户、不为黑名单用户、用户采取攻击的措施为notice(注意)且延时为空时,将该用户对对应域的访问计数加一。
此外,还可以统计上述时间窗口内访问每个域的每个资源的用户的访问次数。
在本公开实施例中,可以取N=128。在上述时间窗口对应的当前访问周期结束时,选取访问当前域的访问计数由高至低排名前128的用户的客户端地址。
步骤305,筛选超过网站指定访问阈值的IP地址。
具体地,IP访问计数统计数模块在步骤304中选取的128个客户端地址中选取访问次数超过预定义的访问频次阈值的目标用户。
在步骤304和步骤305中,可以根据第一访问数据在访问当前域的用户中选取满足设定条件的目标用户,即仅根据IP地址选取目标用户,也可以根据第一访问数据仅在访问当前域的目标资源的用户中选取满足设定条件的目标用户,即根据IP地址和uri选取目标用户。
具体的,目标资源可以为目标域的IP地址下的资源,例如,目标域的IP地址下的数据库中或者硬盘的文件、数据,且并不局限于此。根据uri可以确定目标资源具体为哪一个资源。
步骤306,根据redis是否已有规则,下发验证码规则或封禁规则到redis,并设置自动过期时间。
具体地,redis是一个开源的内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。若redis中该域没有这些客户端地址的验证码规则,则IP访问计数统计数模块下发这些客户端地址访问该域的验证码规则;如果redis中已有这些客户端地址的验证码规则,则删除验证码规则,改为封禁客户端地址访问该域的规则。
步骤307,缓存验证码规则或封禁规则。
具体地,redis模块作为缓存,存储将客户端地址的验证码规则或封禁规则。
步骤308,在规则有效期内,针对特定IP地址后续对特定网站的访问,返回验证码页面或拦截所有访问。
具体地,防火墙模块根据缓存中的验证码规则或封禁规则对后续的客户端地址对应用户的访问请求进行处理。若redis不存在相应的验证码规则,则针对IP地址对当前域的访问返回验证码页面;若redis存在响应的验证码规则,则针对IP地址对当前域的访问直接封禁访问。
在本公开实施例中,IP访问计数统计数模块执行的步骤可以为如图2所示的步骤。防火墙模块执行的步骤为:若防护指令为验证码规则,则向目标用户发送携带有验证码的验证页面,并根据目标用户返回的验证信息确定是否允许目标用户访问当前域;若防护指令为封禁规则,则拦截目标用户的访问。
同理,在步骤304中,可以基于目标域和目标资源选取访问次数排序前128个客户端用户,并在步骤306和步骤308中执行相似的访问规则下发逻辑。
在本公开实施例中,IP访问计数统计模块可以分为两个集群,即IPCounterL1,IPCounterL2。
在步骤304中,IPCounterL1可以对原始访问数据进行一致性哈希运算,得到哈希结果;将哈希结果按照访问域的不同分配到不同的哈希分组中。
具体地,IPCounterL1统计各个域的所有访问请求,然后将统计结果编码,按照域使用一致性哈希算法,发送编码后的统计结果到指定的IPCounterL2,由IPCounterL2对指定域的访问统计结果做全局聚合。
IPCounterL1和IPCounterL2统计访问计数时,涉及到的函数包括:TopKStat、HostRemoteInfo、HostRemoteUriInfo、Insert、GobEncode()、GobDecode、Keys()、Estimate。其中,TopKStat用于对当前域的某个时间窗口对应的访问计数进行统计。HostRemoteInfo用于基于host的IP地址进行访问计数。HostRemoteUriInfo用于基于host+uri的IP地址进行访问计数。Insert用于将指定对象插入列表的指定位置。GobEncode()用于进行数据编码。GobDecode用于进行数据解码。Keys()用于以列表形式返回字典中所有的键。Estimate用于估算访问计数值。
具体地,实现本公开实施例的CC攻击防护方案的具体步骤如下四步:
第一步,针对当前host(域)的每个时间窗口,IPCounterL1创建TopKStat,每一个host的来自某IP地址的n次访问,调用Insert(IP,n)插入到HostRemoteInfo,每一个host来自某IP地址访问URI的n次请求,调用Insert(IP+uri,n)插入到HostRemoteUriInfo。其中,URI在这里指代访问的IP地址下的资源名称。
第二步,当前时间窗口结束后,调用GobEncode对当前host的统计结果编码,将编码结果发送至IPCounterL2
第三步,IPCounterL2调用GobDecode解码IPCounterL1的统计结果,调用Keys()获取前128个IP地址或IP地址下的资源,然后调用Estimate(IP)或Estimate(IP+uri)获取对应的访问计数值n,再调用Insert(IP,n)或Insert(IP+uri,n)合并数据。
步骤4:当前时间窗口结束后,调用Keys()获取前128个IP地址或IP地址下的资源,然后调用Estimate(IP)或Estimate(IP+uri)获取对应的访问计数值n,评估当前值n是否超过预定义阈值,如果超过预定义阈值,则下发相应规则到redis。
本公开实施例的技术方案通过在IP访问计数阶段引入改造后的FSS算法,达到消耗较小内存,即可统计出大量网站一个时间窗口内访问频次最高的N个IP地址的目的。
本公开提供的CC攻击防护方法,通过将原始访问数据进行哈希处理后分配到不同哈希分组中,在当前域对应的当前哈希分组中,选取访问次数最高且超过第一阈值的N个用户的客户端地址作为攻击防护目标,从而可以在实现CC攻击防护的同时,减轻了统计攻击防护的数据的过程中服务器内存的存储压力。
下面对本公开提供的CC攻击防护装置进行描述,下文描述的CC攻击防护装置与上文描述的CC攻击防护方法可相互对应参照。
如图4所示,本公开实施例的CC攻击防护装置包括:
获取单元402,用于获取当前域对应的当前哈希分组中的第一访问数据,第一访问数据包括第一时间段内访问当前域的用户的客户端地址和访问次数,第一访问数据由原始访问数据经一致性哈希运算后被分配到当前哈希分组中,原始访问数据包括第一时间段内访问各个域的用户的客户端地址和访问次数。
选取单元404,用于根据第一访问数据在访问当前域的用户中选取满足设定条件的目标用户,其中,所述设定条件包括:访问次数排序前N,且访问次数大于等于预设的第一阈值,N为自然数,且N≥1。
生成单元406,用于根据设定的验证规则生成防护指令,以针对目标用户的客户端地址进行攻击防护。
在本公开实施例的技术方案中,通过在IP地址访问计数阶段引入改造后的FSS算法,达到消耗较小内存即可统计出大量网站一个时间窗口内访问频次最高的TopN个IP地址的目的。
在本公开实施例中,选取单元,还可以用于根据第一访问数据在访问当前域的目标资源的用户中选取满足设定条件的目标用户。
在本公开实施例中,生成单元,还可以用于在缓存中不存在目标用户的客户端地址对应的验证码规则时,生成验证码规则并发送给缓存;在缓存中存在目标用户的客户端地址对应的验证码规则时,生成封禁规则并发送给缓存。
在本公开实施例中,装置还可以包括统计单元,用于:按照设定的筛选标准对网络防火墙输出的日志数据中的用户对各个域的访问动作进行数据统计,得到原始访问数据,其中,日志数据经由kafka集群转发。
在本公开实施例中,装置还可以包括哈希处理单元,用于对原始访问数据进行一致性哈希运算,得到哈希结果;将哈希结果按照访问域的不同分配到不同的哈希分组中。
在本公开实施例中,统计单元还可以用于:在当前用户不在设定的特殊名单中时,对当前用户的访问动作进行数据统计。
在本公开实施例中,装置还可以包括防护单元,用于:在防护指令为验证码规则时,向目标用户发送携带有验证码的验证页面,并根据目标用户返回的验证信息确定是否允许目标用户访问当前域;在防护指令为封禁规则时,拦截目标用户的访问。
由于本公开的示例实施例的CC攻击防护装置的各个功能模块与上述CC攻击防护方法的示例实施例的步骤对应,因此对于本公开装置实施例中未披露的细节,请参照本公开上述的CC攻击防护方法的实施例。
本公开提供的CC攻击防护装置,通过将原始访问数据进行哈希处理后分配到不同哈希分组中,在当前域对应的当前哈希分组中,选取访问次数最高且超过第一阈值的N个用户的客户端地址作为攻击防护目标,从而可以在实现CC攻击防护的同时,减轻了统计攻击防护的数据的过程中服务器内存的存储压力。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行CC攻击防护方法,该方法包括:获取当前域对应的当前哈希分组中的第一访问数据,所述第一访问数据包括第一时间段内访问当前域的用户的客户端地址和访问次数,所述第一访问数据由原始访问数据经一致性哈希运算后被分配到所述当前哈希分组中,所述原始访问数据包括所述第一时间段内访问各个域的用户的客户端地址和访问次数;根据所述第一访问数据在所述访问当前域的用户中选取满足设定条件的目标用户,其中,所述设定条件包括:访问次数排序前N,且访问次数大于等于预设的第一阈值,N为自然数,且N≥1;根据设定的验证规则生成防护指令,以针对所述目标用户的客户端地址进行攻击防护。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本公开还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的CC攻击防护方法,该方法包括:获取当前域对应的当前哈希分组中的第一访问数据,所述第一访问数据包括第一时间段内访问当前域的用户的客户端地址和访问次数,所述第一访问数据由原始访问数据经一致性哈希运算后被分配到所述当前哈希分组中,所述原始访问数据包括所述第一时间段内访问各个域的用户的客户端地址和访问次数;根据所述第一访问数据在所述访问当前域的用户中选取满足设定条件的目标用户,其中,所述设定条件包括:访问次数排序前N,且访问次数大于等于预设的第一阈值,N为自然数,且N≥1;根据设定的验证规则生成防护指令,以针对所述目标用户的客户端地址进行攻击防护。
又一方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的CC攻击防护方法,该方法包括:获取当前域对应的当前哈希分组中的第一访问数据,所述第一访问数据包括第一时间段内访问当前域的用户的客户端地址和访问次数,所述第一访问数据由原始访问数据经一致性哈希运算后被分配到所述当前哈希分组中,所述原始访问数据包括所述第一时间段内访问各个域的用户的客户端地址和访问次数;根据所述第一访问数据在所述访问当前域的用户中选取满足设定条件的目标用户,其中,所述设定条件包括:访问次数排序前N,且访问次数大于等于预设的第一阈值,N为自然数,且N≥1;根据设定的验证规则生成防护指令,以针对所述目标用户的客户端地址进行攻击防护。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。
Claims (10)
1.一种CC攻击防护方法,其特征在于,所述方法包括:
获取当前域对应的当前哈希分组中的第一访问数据,其中,所述第一访问数据包括第一时间段内访问当前域的用户的客户端地址和访问次数,所述第一访问数据由原始访问数据经一致性哈希运算后被分配到所述当前哈希分组中,所述原始访问数据包括所述第一时间段内访问各个域的用户的客户端地址和访问次数;
根据所述第一访问数据在所述访问当前域的用户中选取满足设定条件的目标用户,其中,所述设定条件包括:访问次数排序前N,且访问次数大于等于预设的第一阈值,N为自然数,且N≥1;
根据设定的验证规则生成防护指令,以针对所述目标用户的客户端地址进行攻击防护。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一访问数据在所述访问当前域的用户中选取满足设定条件的目标用户,包括:
根据所述第一访问数据在所述访问当前域的目标资源的用户中选取满足设定条件的目标用户。
3.根据权利要求1所述的方法,其特征在于,所述根据设定的验证规则生成防护指令,包括:
若缓存中不存在所述目标用户的客户端地址对应的验证码规则,则生成验证码规则并发送给所述缓存;
若所述缓存中存在所述目标用户的客户端地址对应的验证码规则,则生成封禁规则并发送给所述缓存。
4.根据权利要求1所述的方法,其特征在于,所述获取当前域对应的当前哈希分组中的第一访问数据之前,所述方法还包括:
按照设定的筛选标准对网络防火墙输出的日志数据中的用户对各个域的访问动作进行数据统计,得到所述原始访问数据,其中,所述日志数据经由kafka集群转发。
5.根据权利要求4所述的方法,其特征在于,所述得到所述原始访问数据之后,所述方法还包括:
对所述原始访问数据进行一致性哈希运算,得到哈希结果;
将所述哈希结果按照访问域的不同分配到不同的哈希分组中。
6.根据权利要求4所述的方法,其特征在于,所述按照设定的筛选标准对网络防火墙输出的日志数据中的用户对各个域的访问动作进行数据统计,包括:
在当前用户不在设定的特殊名单中时,对所述当前用户的访问动作进行数据统计。
7.根据权利要求3所述的方法,其特征在于,所述根据设定的验证规则生成防护指令之后,所述方法还包括:
若所述防护指令为所述验证码规则,则向所述目标用户发送携带有验证码的验证页面,并根据所述目标用户返回的验证信息确定是否允许所述目标用户访问所述当前域;
若所述防护指令为所述封禁规则,则拦截所述目标用户的访问。
8.一种CC攻击防护装置,其特征在于,所述装置包括:
获取单元,用于获取当前域对应的当前哈希分组中的第一访问数据,其中,所述第一访问数据包括第一时间段内访问当前域的用户的客户端地址和访问次数,所述第一访问数据由原始访问数据经一致性哈希运算后被分配到所述当前哈希分组中,所述原始访问数据包括所述第一时间段内访问各个域的用户的客户端地址和访问次数;
选取单元,用于根据所述第一访问数据在所述访问当前域的用户中选取满足设定条件的目标用户,其中,所述设定条件包括:访问次数排序前N,且访问次数大于等于预设的第一阈值,N为自然数,且N≥1;
生成单元,用于根据设定的验证规则生成防护指令,以针对所述目标用户的客户端地址进行攻击防护。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210172858.0A CN114640504B (zh) | 2022-02-24 | 2022-02-24 | Cc攻击防护方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210172858.0A CN114640504B (zh) | 2022-02-24 | 2022-02-24 | Cc攻击防护方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114640504A true CN114640504A (zh) | 2022-06-17 |
CN114640504B CN114640504B (zh) | 2024-02-06 |
Family
ID=81948854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210172858.0A Active CN114640504B (zh) | 2022-02-24 | 2022-02-24 | Cc攻击防护方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114640504B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116467354A (zh) * | 2023-06-15 | 2023-07-21 | 本原数据(北京)信息技术有限公司 | 数据库的查询方法和装置、计算机设备、存储介质 |
CN116760649A (zh) * | 2023-08-23 | 2023-09-15 | 智联信通科技股份有限公司 | 基于大数据的数据安全保护及预警方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070136331A1 (en) * | 2005-11-28 | 2007-06-14 | Nec Laboratories America | Storage-efficient and collision-free hash-based packet processing architecture and method |
CN103179132A (zh) * | 2013-04-09 | 2013-06-26 | 中国信息安全测评中心 | 一种检测和防御cc攻击的方法及装置 |
CN103916379A (zh) * | 2013-12-04 | 2014-07-09 | 哈尔滨安天科技股份有限公司 | 一种基于高频统计的cc攻击识别方法及系统 |
CN105553974A (zh) * | 2015-12-14 | 2016-05-04 | 中国电子信息产业集团有限公司第六研究所 | 一种http慢速攻击的防范方法 |
US20160173526A1 (en) * | 2014-12-10 | 2016-06-16 | NxLabs Limited | Method and System for Protecting Against Distributed Denial of Service Attacks |
CN106789849A (zh) * | 2015-11-24 | 2017-05-31 | 阿里巴巴集团控股有限公司 | Cc攻击识别方法、节点及系统 |
DE102016107647A1 (de) * | 2016-03-08 | 2017-09-14 | Viktor Mraz | Verfahren, Speichermedium und System zur Absicherung/Überwachung eines Netzwerkes |
CN108055241A (zh) * | 2017-11-15 | 2018-05-18 | 滨州市工商行政管理局 | 一种cc攻击的防御方法及系统 |
EP3331210A1 (en) * | 2016-12-05 | 2018-06-06 | Institute for Imformation Industry | Apparatus, method, and non-transitory computer-readable storage medium for network attack pattern determination |
CN108462672A (zh) * | 2017-02-20 | 2018-08-28 | 沪江教育科技(上海)股份有限公司 | 一种应对网络攻击的认证保护方法及系统 |
CN109729094A (zh) * | 2019-01-24 | 2019-05-07 | 中国平安人寿保险股份有限公司 | 恶意攻击检测方法、系统、计算机装置及可读存储介质 |
CN110995881A (zh) * | 2019-11-29 | 2020-04-10 | 南京亚信智网科技有限公司 | 一种域名存储方法及装置 |
CN111291367A (zh) * | 2018-12-06 | 2020-06-16 | 北京京东尚科信息技术有限公司 | 访问控制方法及系统、电子设备、存储介质 |
-
2022
- 2022-02-24 CN CN202210172858.0A patent/CN114640504B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070136331A1 (en) * | 2005-11-28 | 2007-06-14 | Nec Laboratories America | Storage-efficient and collision-free hash-based packet processing architecture and method |
CN103179132A (zh) * | 2013-04-09 | 2013-06-26 | 中国信息安全测评中心 | 一种检测和防御cc攻击的方法及装置 |
CN103916379A (zh) * | 2013-12-04 | 2014-07-09 | 哈尔滨安天科技股份有限公司 | 一种基于高频统计的cc攻击识别方法及系统 |
US20160173526A1 (en) * | 2014-12-10 | 2016-06-16 | NxLabs Limited | Method and System for Protecting Against Distributed Denial of Service Attacks |
CN106789849A (zh) * | 2015-11-24 | 2017-05-31 | 阿里巴巴集团控股有限公司 | Cc攻击识别方法、节点及系统 |
CN105553974A (zh) * | 2015-12-14 | 2016-05-04 | 中国电子信息产业集团有限公司第六研究所 | 一种http慢速攻击的防范方法 |
DE102016107647A1 (de) * | 2016-03-08 | 2017-09-14 | Viktor Mraz | Verfahren, Speichermedium und System zur Absicherung/Überwachung eines Netzwerkes |
EP3331210A1 (en) * | 2016-12-05 | 2018-06-06 | Institute for Imformation Industry | Apparatus, method, and non-transitory computer-readable storage medium for network attack pattern determination |
CN108462672A (zh) * | 2017-02-20 | 2018-08-28 | 沪江教育科技(上海)股份有限公司 | 一种应对网络攻击的认证保护方法及系统 |
CN108055241A (zh) * | 2017-11-15 | 2018-05-18 | 滨州市工商行政管理局 | 一种cc攻击的防御方法及系统 |
CN111291367A (zh) * | 2018-12-06 | 2020-06-16 | 北京京东尚科信息技术有限公司 | 访问控制方法及系统、电子设备、存储介质 |
CN109729094A (zh) * | 2019-01-24 | 2019-05-07 | 中国平安人寿保险股份有限公司 | 恶意攻击检测方法、系统、计算机装置及可读存储介质 |
CN110995881A (zh) * | 2019-11-29 | 2020-04-10 | 南京亚信智网科技有限公司 | 一种域名存储方法及装置 |
Non-Patent Citations (1)
Title |
---|
王林汝;姬艳;: "基于城域网HTTP日志的WebShell检测方法研究", 江苏通信, no. 01 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116467354A (zh) * | 2023-06-15 | 2023-07-21 | 本原数据(北京)信息技术有限公司 | 数据库的查询方法和装置、计算机设备、存储介质 |
CN116467354B (zh) * | 2023-06-15 | 2023-09-12 | 本原数据(北京)信息技术有限公司 | 数据库的查询方法和装置、计算机设备、存储介质 |
CN116760649A (zh) * | 2023-08-23 | 2023-09-15 | 智联信通科技股份有限公司 | 基于大数据的数据安全保护及预警方法 |
CN116760649B (zh) * | 2023-08-23 | 2023-10-24 | 智联信通科技股份有限公司 | 基于大数据的数据安全保护及预警方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114640504B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018176874A1 (zh) | 一种dns的评价方法和装置 | |
WO2018121331A1 (zh) | 攻击请求的确定方法、装置及服务器 | |
EP3092569B1 (en) | Cyber security adaptive analytics threat monitoring system and method | |
CN114640504B (zh) | Cc攻击防护方法、装置、设备和存储介质 | |
US9930005B2 (en) | Method, device and system for processing DNS cache information | |
CN107341395B (zh) | 一种拦截爬虫的方法 | |
US10122722B2 (en) | Resource classification using resource requests | |
WO2021244473A1 (zh) | 频率控制方法及装置 | |
WO2015024476A1 (en) | A method, server, and computer program product for managing ip address attributions | |
CN111740868A (zh) | 告警数据的处理方法和装置及存储介质 | |
CN112668005A (zh) | webshell文件的检测方法及装置 | |
CN114168847A (zh) | 数据查询的方法、装置、电子设备及存储介质 | |
US8010526B1 (en) | Instance counting and ranking | |
CN112839005B (zh) | Dns域名异常访问监控方法及装置 | |
US7533414B1 (en) | Detecting system abuse | |
CN111291367A (zh) | 访问控制方法及系统、电子设备、存储介质 | |
CN108809909B (zh) | 数据处理方法及数据处理装置 | |
CN112929347B (zh) | 一种限频方法、装置、设备及介质 | |
CN112019546B (zh) | 一种防护策略调整方法、系统、设备及计算机存储介质 | |
CN111683041B (zh) | 一种数据库关联访问方法 | |
CN116418893A (zh) | 一种数据管理的方法及相应装置 | |
CN110336826B (zh) | 一种接口参数类型的获取方法、装置、设备及存储介质 | |
CN113839940A (zh) | 基于url模式树的防御方法、装置、电子设备和可读存储介质 | |
CN113821410A (zh) | 一种日志处理方法和装置 | |
CN113726673A (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 |