CN116684132A - 网络层的cc攻击拦截方法、装置及服务器 - Google Patents
网络层的cc攻击拦截方法、装置及服务器 Download PDFInfo
- Publication number
- CN116684132A CN116684132A CN202310639740.9A CN202310639740A CN116684132A CN 116684132 A CN116684132 A CN 116684132A CN 202310639740 A CN202310639740 A CN 202310639740A CN 116684132 A CN116684132 A CN 116684132A
- Authority
- CN
- China
- Prior art keywords
- message
- target
- flow
- attack
- blacklist
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请的实施例提供了一种网络层的CC攻击拦截方法、装置及服务器,涉及通信技术领域。该方法包括:接收报文,从该报文中提取出五元组,并根据提取的五元组确定出该报文对应的目标数据流的目标流标识;判断目标流标识是否在攻击流表中,攻击流表中包括基于数据流的历史信息确定出的与第二黑名单匹配上的数据流的流标识,第二黑名单中包括至少一个域名及该域名对应的IP黑名单;若目标流标识在攻击流表中,则在网络层对该目标数据流进行拦截。如此,可解决网络间误拦截的问题,并且该方式是在网络层实现,拦截高效快捷。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种网络层的CC攻击拦截方法、装置及服务器。
背景技术
在CC攻击(Challenge Collapsar)识别的拦截处理上,通常采用在网络层基于全局性的黑名单(即IP黑名单)进行识别拦截这种方式。而当该方式应用于CDN(ContentDelivery Network,内容分发网络)等资源高度复用的业务场景下,容易造成误拦截,且极难发现。比如,应用A和应用B在同时对外提供服务,而A此时受到了来自IP 1的攻击,若在网络层拦截,则IP 1访问应用B也受阻。
发明内容
本申请实施例提供了一种网络层的CC攻击拦截方法、装置、服务器及可读存储介质,其能够解决网络间误拦截的问题,并且该方式是在网络层实现,拦截高效快捷。
本申请的实施例可以这样实现:
第一方面,本申请实施例提供一种网络层的CC攻击拦截方法,所述方法包括:
接收报文,从所述报文中提取出五元组,并根据提取的五元组确定出所述报文对应的目标数据流的目标流标识;
判断所述目标流标识是否在攻击流表中,其中,所述攻击流表中包括基于数据流的历史信息确定出的与第二黑名单匹配上的数据流的流标识,所述第二黑名单中包括至少一个域名及该域名对应的IP黑名单;
若所述目标流标识在所述攻击流表中,则在网络层对该目标数据流进行拦截。
第二方面,本申请实施例提供一种网络层的CC攻击拦截装置,所述装置包括:
提取模块,用于接收报文,从所述报文中提取出五元组,并根据提取的五元组确定出所述报文对应的目标数据流的目标流标识;
处理模块,用于判断所述目标流标识是否在攻击流表中,其中,所述攻击流表中包括基于数据流的历史信息确定出的与第二黑名单匹配上的数据流的流标识,所述第二黑名单中包括至少一个域名及该域名对应的IP黑名单;
所述处理模块,还用于在所述目标流标识在所述攻击流表时,在网络层对该目标数据流进行拦截。
第三方面,本申请实施例提供一种服务器,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式所述的网络层的CC攻击拦截方法。
第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式所述的网络层的CC攻击拦截方法。
本申请实施例提供的网络层的CC攻击拦截方法、装置、服务器及可读存储介质,在接收到报文后,根据从该报文中提取的五元组确定出该报文对应的目标数据流的目标流标识;然后,判断该目标流标识是否存在于攻击流表中,该攻击流表中包括基于数据流的历史信息确定出的与第二黑名单匹配上的数据流的流标识,该第二黑名单中包括至少一个域名及该域名对应的IP黑名单;若在,则在网络层对该目标数据流进行拦截。如此,可解决网络间误拦截的问题,并且该方式是在网络层实现,拦截高效快捷。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的服务器的方框示意图;
图2为本申请实施例提供的网络层的CC攻击拦截方法的流程示意图之一;
图3为本申请实施例提供的网络层的CC攻击拦截方法的流程示意图之二;
图4为本申请实施例提供的网络层的CC攻击拦截方法的流程示意图之三;
图5为本申请实施例提供的网络层的CC攻击拦截方法的流程示意图之四;
图6为图2中步骤S200包括的子步骤的流程示意图;
图7为本申请实施例提供的网络层的CC攻击拦截装置的方框示意图。
图标:100-服务器;110-存储器;120-处理器;130-通信单元;200-网络层的CC攻击拦截装置;210-提取模块;220-处理模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请发明人经研究发现,在CC攻击识别的拦截处理上,可以采用黑白名单这种方式。例如,CC攻击到来后,可通过CC识别模块提取攻击源及攻击目的,并开始触发防御机制进行攻击已知,防御机制可以为黑白名单。若是利用网络层的黑白名单进行攻击识别,即根据网络层的黑白名单所包括的IP地址及攻击源(即源IP地址)确定是否是攻击,这种方式虽然高效、实现简洁、防御效果极好,但缺点也明显,就是在CDN等资源高度复用的业务场景下,容易造成误拦,且极难发现,即全局性的黑白名单会导致误拦截。若是利用应用层的黑白名单,即根据应用层的黑白名单中包括的域名及与域名对应的IP地址、提取的攻击源及攻击目标(即域名)进行攻击识别,这种方式虽然识别准确、不存在跨站误拦的情况,但是不能充分利用网络层的优势。网络层的优势在于能操作数据包,且成本低廉。
针对以上情况,本申请实施例提供了一种网络层的CC攻击拦截方法、装置、服务器及可读存储介质,其能够解决网络间误拦截的问题,并且该方式是在网络层实现,拦截高效快捷。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,图1为本申请实施例提供的服务器100的方框示意图。所述服务器100可以是,但不限于,智能手机、电脑、服务器等。所述服务器100可以包括存储器110、处理器120及通信单元130。所述存储器110、处理器120以及通信单元130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。比如,存储器110中存储有网络层的CC攻击拦截装置200,所述网络层的CC攻击拦截装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块。所述处理器120通过运行存储在存储器110内的软件程序以及模块,如本申请实施例中的网络层的CC攻击拦截装置200,从而执行各种功能应用以及数据处理,即实现本申请实施例中的CC攻击拦截方法。
通信单元130用于通过网络建立所述服务器100与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
应当理解的是,图1所示的结构仅为服务器100的结构示意图,所述服务器100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参照图2,图2为本申请实施例提供的网络层的CC攻击拦截方法的流程示意图之一。所述方法可应用于上述服务器100。下面对网络层的CC攻击拦截方法的具体流程进行详细阐述。在本实施例中,所述方法可以包括步骤S110、步骤S190~步骤S200。
步骤S110,接收报文,从所述报文中提取出五元组,并根据提取的五元组确定出所述报文对应的目标数据流的目标流标识。
在本实施例中,服务器可以接收请求设备发送的报文。在接收到报文后,可对所述报文进行解析,以提取所述报文的五元组。其中,所述五元组包括:源IP地址、源端口、目的IP地址、目的端口和传输层协议,五元组可用于标识一个数据流的唯一性。然后,可根据提取出的五元组确定出所述报文对应的目标数据流的目标流标识。可选地,可以直接将提取的五元组作为所述目标流标识,也可以根据该五元组计算出一个hash值作为所述目标流标识,还可以采用其他方式基于五元组确定出目标流标识。其他数据流的流标识的确定方式与所述目标数据流的确定方式相同。
步骤S190,判断所述目标流标识是否在攻击流表中。
所述服务器中可以存储有攻击流表,所述攻击流表中包括基于数据流的历史信息确定出的与第二黑名单匹配上的数据流的流标识,所述第二黑名单中包括至少一个域名及该域名对应的IP黑名单。即,所述攻击流表中存储有被认定为是攻击流的数据流的流标识。其中,所述第二黑名单可以是基于各服务设置的CC黑名单汇总得到的黑名单,该第二黑名单用于实现基于服务的拦截,而不是基于IP的拦截,以避免跨网站误拦截。所述攻击流表的具体获得方式,在此不进行具体限定,具体可以结合实际需求确定。
所述数据流的历史信息包括数据流对应的源IP地址及要访问的域名,若一数据流的源IP地址和要访问的域名与第二黑名单匹配上,则将该数据流的流标识保存在所述攻击表中。比如,假设数据流1的对应的源IP地址IP1及要访问的域名A,若所述第二黑名单中包括域名A且该域名A对应的IP黑名单中包括IP地址IP1,则可以认为该数据流1的源IP地址IP1及要访问的域名A与所述第二黑名单匹配上,进而将该数据流1的流标识存储在所述攻击流表中。
在获得所述目标流标识后,可检查所述攻击流表。若所述目标流标识不存在于所述攻击流表中,则可以认为该目标数据流不是攻击流,此时可不对该报文进行拦截,可通过该报文,如此即完成了对步骤S110接收到的报文的处理。针对通过的报文,后续可进行其他处理流程,在此不进行具体限定。
若所述目标流标识存在于所述攻击流表中,则可以确定所述目标数据流为攻击流,在此情况下,可执行步骤S200。
步骤S200,在网络层对该目标数据流进行拦截。
在本实施例中,在所述目标数据流为攻击流的情况下,可利用任意方式对该目标数据流进行拦截,具体拦截方式可以结合实际需求确定,在此不进行具体限定。在拦截后,则完成了对步骤S110接收到的报文的处理。针对新接收到的报文,可重复执行上述步骤S110、步骤S190~步骤S200。
在本实施例中,结合正确性的强诉求及网络层的高效,在获得报文后,根据该报文对应的目标数据流的目标流标识及基于包括域名及域名对应的IP黑名单确定出的攻击流表中包括的流标识,确定是否在网络层对该报文进行拦截。如此,可解决网络间误拦截的问题,并且该方式是在网络层实现,拦截高效快捷。
请参照图3,图3为本申请实施例提供的网络层的CC攻击拦截方法的流程示意图之二。在本实施例中,可选地,在本实施例中,在步骤S110~步骤S190之间,所述方法还可以包括步骤S120。
步骤S120,判断提取出的源IP地址是否在第一黑名单中。
在本实施例中,所述服务器中还包括所述第一黑名单,所述第一黑名单中包括所述域名对应的IP黑名单,即所述第一黑名单为所述第二黑明单中的各域名对应的IP黑名单的并集。比如,所述第二黑名单中包括:域名A、对应IP地址IP1~IP3;域名B、对应IP地址IP4~IP6,则第一黑名单中包括IP1~IP6。在接收到报文后,可判断该报文的源IP地址是否在所述第一黑名单中,若在则表示该报文可能为攻击报文,该报文对应的目标数据流疑似为攻击流。
若从报文中提取出的源IP地址不在所述第一黑名单中,则可以通过该报文,如此即完成了对步骤S110接收到的报文的处理。若从报文中提取出的源IP地址在所述第一黑名单中,则可以执行步骤S190,以进一步判断是否对该报文进行拦截。如此,通过首先进行无域名分别的IP名单匹配,可减少结合域名进行判断的次数。
在本实施例中,作为一种可能的实现方式,如图4所示,所述服务器可在接收到报文后,基于该报文确定出该报文对应的数据流的信息以作为该数据流的历史信息,然后结合该历史信息确定是否将该数据流的流标识添加到所述攻击流表中,以便在再次接收到该数据流的报文时可结合攻击流表进行处理。
请参照图4,图4为本申请实施例提供的网络层的CC攻击拦截方法的流程示意图之三。在本实施例中,在步骤S120~步骤S190之间,所述方法还可以包括步骤S150~步骤S180。
步骤S150,判断所述报文中是否包括有效载荷payload。
在本实施例中,在从报文中提取出的源IP地址在所述第一黑名单中时,可判断该报文中是否包括payload。Payload表示记载着信息的那部分数据。若所述报文中不包括payload,则通过该报文,如此即完成了对步骤S110接收到的报文的处理。若所述报文中包括payload,则执行步骤S160。
步骤S160,判断所述目标流标识是否存在于检查流表中。
在本实施例中,所述检查流表中包括与所述第一黑名单匹配上的数据流的流标识,也即包括疑似攻击流的流标识。所述检查流表中的流标识的获取方式具体可以结合实际需求确定。若所述目标流标识不存在于所述检查流表中,则可以执行步骤S190,即结合攻击流表进行是否拦截的判断。若所述目标流标识在所述检查流表中,则执行步骤S170及步骤S180。
步骤S170,从所述报文中提取出目标域名,从所述检查流表中删除所述目标流标识,并将所述目标域名及源IP地址和所述第二黑名单进行匹配。
步骤S180,在所述目标域名及源IP地址和所述第二黑名单中匹配上时,将所述目标流标识添加至所述攻击流表中,并对所述报文进行拦截。
在本实施例中,可针对该报文的payload进行上层协议匹配,以确定所述报文使用的目标协议,然后根据所述目标协议对应的域名提取方式提取出所述目标域名。比如,针对TCP报文的payload进行分析,以确定该TCP报文的上层协议是HTTP协议还是TLS协议,然后根据确定出的协议对应的域名提取方式提取出所述目标域名,其中HTTP提取host,TLS提取SNI,host及SNI表示要访问的域名。
可选地,在执行域名提取动作之后,可判断是否提取到完整的目标域名。若未能从所述报文中提取出完整的所述目标域名,则可以在所述检查流表中更新所述目标流标识的状态为通过,以在接收到所述目标数据流的新报文时结合所述报文进行所述目标域名提取,即结合多个报文提取出完整的目标域名,并通过该报文,以完成对步骤S110接收到的报文的处理。也即,在针对一个报文无法提取出完整的目标域名时,通过该报文,后续可结合新接收到的报文进行完整目标域名的提取。
在获得完整的目标域名的情况下,可将该目标域名及该报文对应的源IP地址与所述第二黑名单进行匹配,并在所述检查流表中删除所述目标流标识,以使得所述检查流表占用空间小,对数据包处理速度的影响小。若匹配上,则说明该报文对应的目标数据流为攻击流,可将该目标数据流的目标流标识添加至所述攻击流表中,并拦截该报文。若未匹配上,则说明该报文对应的目标数据流不是攻击流,此时则不需要将所述目标数据流的目标流标识添加到所述攻击表中。
其中,可选地,在步骤S180中,对报文的拦截方式可以为:丢弃所述报文,并释放所述目标数据流对应的连接,如此则完成了对步骤S110接收到的报文的处理。即,在确定目标域名及该报文对应的源IP地址与所述第二黑名单匹配上时,可将步骤S110中接收到的报文丢弃,该方法对应的程序可向服务器产生一个释放连接报文rst以使服务器释放所述目标数据流对应的连接,从而节省所述服务器的资源。
基于应用层的黑白名单进行拦截的方式,应用层是连接顺利建立后,再去匹配黑白名单,对应用层的压力非常大,应用层的关闭并不能压制攻击。而本实施例中,在目标域名及该报文对应的源IP地址与所述第二黑名单匹配上时,服务器在网络层断开了该目标数据流对应的连接,可减小应用层的压力。
在本实施例中,基于域名、源IP地址和第二黑名单向攻击流表中添加流标识,可以是一个数据流传输报文的前期、中期等进行,具体可以结合实际需求确定。
作为一种可能的实现方式,为降低攻击造成的影响,如图5所示,可以在一个数据流传输报文的前期就判断是否将该数据流的流标识添加到所述攻击流表中。请参照图5,图5为本申请实施例提供的网络层的CC攻击拦截方法的流程示意图之四。在本实施例中,在步骤S120与步骤S150之间,所述方法还可以包括步骤S130。
步骤S130,判断所述报文中是否包括连接创建阶段标志。
在本实施例中,可对所述报文进行解析,以判断该报文中是否包括了连接创建阶段标志。所述连接创建阶段标志,用于表示当前处于连接创建阶段。比如,若该报文为TCP报文,则可以判断该报文是否包括SYN标志。
若所述报文中包括所述连接创建阶段标志,则可以执行步骤S140。
步骤S140,将所述目标流标识添加至所述检查流表中,并通过所述报文。
在步骤S110中接收到的报文的源IP地址匹配上第一黑名单、且包括连接创建阶段标志时,则表示该报文对应的目标连接(即报文对应的目标数据流所对应的连接)处于建立阶段,即此时为目标数据流传输报文的前期,且该目标数据流疑似为攻击流,此时可将该目标数据流的目标流标识添加到检查流表中,以便后续结合新接收到的该目标数据流对应报文中的域名判断是否将目标流标识添加到攻击流表。还可以通过该报文,以便能建立目标连接,从而后续结合新接收到的该目标数据流对应报文中的域名判断是否将目标流标识添加到攻击流表。如此,则完成了对步骤S110接收到的报文的处理。
若所述目标流标识不在所述检查流表中,则可以执行步骤S150。
通过步骤S110~步骤S180,即可以在一个数据流传输报文的前期确定是否将该数据流的流标识添加到所述攻击流表中。
作为一种可能的实现方式,可通过图6方式对目标数据流进行拦截。请参照图6,图6为图2中步骤S200包括的子步骤的流程示意图。在本实施例中,步骤S200可以包括子步骤S201~子步骤S203。
子步骤S201,判断所述目标数据流对应的已攻击时长是否大于等于第一预设时长。
若所述已攻击时长大于等于所述第一预设时长,则执行子步骤S202。
若所述已攻击时长小于所述第一预设时长,则执行子步骤S203。
子步骤S202,丢弃所述报文,并向所述报文对应的请求设备发送释放连接报文以及将所述攻击流表中的目标流标识删除。
子步骤S203,丢弃所述报文。
在本实施例中,所述已攻击时长根据将所述目标流标识添加至所述攻击流表中时所拦截的报文对应的时间信息计算得到,所述时间信息为报文的接收时间或被拦截的时间。所述已攻击时长可以表示将所述目标流标识添加至所述攻击流表中时所拦截的报文的接收时间或该报文被拦截的时间,与当前接收到的属于所述目标数据流的报文的接收时间之差,或者是与针对当前接收到的属于所述目标数据流的报文进行已攻击时长计算时的时间之差。
可选地,可以利用第一计时器获得已攻击时长。所述第一计时器可以是从将所述目标流标识添加至所述攻击流表中时所拦截的报文的拦截时间或接收时间开始计时的计时器,也可以是用于记录将所述目标流标识添加至所述攻击流表中时所拦截的报文的拦截时间或接收时间的计时器。
所述第一预设时长可以结合实际需求确定,比如,1s。在将所述目标流标识添加至所述攻击流表中时,将该目标数据流标识对应的接收到的报文丢弃、且服务器释放了该目标数据流对应的连接,之后请求设备则会进行报文重传。例如,在报文为TCP报文时,则请求设备会基于TCP协议的重传机制进行报文重传。当服务器接收到重传的报文后,若当前的时间与释放目标数据流对应的连接时丢弃的报文的接收时间或丢弃时间小于第一预设时长,则可以仅丢弃接收到的重传报文,然后请求设备会继续报文重传。若不小于,即大于等于,则可以丢弃接收到的重传报文,并向请求设备发送释放连接报文RST报文。如此,可以在压制CC发送速率的同时,大大降低了服务器对应CC攻击的资源消耗(只对时间进行更新判断的代价远低于数据包的构造和发送)。
比如,针对所述目标数据流,基于该目标数据流的报文a1将该目标数据流的目标流标识添加到所述攻击流表中,还丢弃了报文a1,并释放了目标数据流对应的连接,其中,接收到报文a1的时间为t11、丢弃该报文a1的时间为t12;假设之后又接收到该目标数据流的报文a2,接收到报文a2的时间为t21、基于报文a2执行基于已攻击时长进行判断的时间为t22,则可以判断t21-t11或者t22-t12是否大于等于第一预设时长;若小于,则仅丢弃报文a2。依次类推,若之后又接收到该目标数据流的报文a3,接收到报文a3的时间为t31、基于报文a2执行基于已攻击时长进行判断的时间为t32,则可以判断t31-t11或者t32-t12是否大于等于第一预设时长;若小于,则仅丢弃报文a3;若大于等于,则丢弃报文a3,并向请求设备发送释放连接报文。如此,可以利用协议栈的特性压制攻击,能在协议层面抑制CC攻击的发起量。
其中,可选地,在利用第一计时器获得所述已攻击时长的方式中,还可以针对该第一计时器设置有第二计时器。所述第二计时器可以是随着所述第一计时器的使用而时长变大的计时器,即所述第二计时器用于记录所述第一计时器的使用时长。可以将所述第二计时器的时长与第二预设时长进行比较,该第二预设时长可以大于或等于第一预设时长,具体可结合实际需求设置。若第二计时器的时长不大于所述第二预设时长,则可以不对所述第一计时器做处理;若第二计时器的时长大于所述第二预设时长,则可以关闭所述第一计时器,以避免在所述第一计时器对应的请求设备直接停止发送与所述目标数据流对应的报文后导致第一计时器一直存在于服务器中而浪费服务器的资源。还可以在所述已攻击时长大于等于所述第一预设时长时,关闭所述第一计时器。
本申请实施例提供的CC压制手段(即上述的拦截方式),可利用TCP协议窗口的慢启动及延迟应答,实际服务器上的连接已断开,但让请求设备以为连接还在,从而占用请求设备连接和压制请求设备的发送速率。
可选地,在本实施例中,所使用的阻断策略可以不仅包括上述CC压制手段,还可以包括其他处理,具体可以由实际需求确定。比如,阻断策略中还包括记录,在此设置下,则可以进行日志记录,比如,记录的内容有:记录的时间、攻击源、攻击目标及次数等。
可选地,可以针对每个接收到的报文,基于图5所示的步骤S120~步骤S200进行分析处理。也可以在接收到一个报文时,通过一定方式判断最近一段时间内是否已针对该报文所属的数据流进行了与第二黑名单的匹配,若已进行过,则可以仅执行步骤S110、步骤S190~步骤S200,或者执行步骤S110~步骤S120、步骤S190~步骤S200,并在该报文所对应的数据流的流标识不在所述攻击流表中通过该报文;若未进行过,则可以基于图5所示的步骤S120~步骤S200进行分析处理。可以理解的是,上述仅为举例说明,具体可以结合实际需求对图5所示的步骤S120~步骤S200进行适应性调整。其中,图5所示步骤可以均为网络层执行的步骤;基于域名和IP地址进行关于第二黑名单的匹配,可以是在用户态执行的步骤。
在本实施例中,当流量进入服务器后,可先进行无域名分别的IP名单匹配,然后可对数据包进行过滤并进行访问的域名的提取,之后进行基于域名和IP的名单匹配(即进行CC攻击对象匹配),进而再进行阻断策略的应用。本申请提供的上述网络层的CC拦截方法,结合正确性的强诉求以及网络层的高效,通过在网络层构建黑名单的基础上加入对域名的提取,以及利用协议栈的特性,对CC拦截进行了有效压制,并且不会出现跨站误拦截的情况。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种网络层的CC攻击拦截装置200的实现方式,可选地,该网络层的CC攻击拦截装置200可以采用上述图1所示的服务器100的器件结构。进一步地,请参照图7,图7为本申请实施例提供的网络层的CC攻击拦截装置200的方框示意图。需要说明的是,本实施例所提供的网络层的CC攻击拦截装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。所述网络层的CC攻击拦截装置200可以包括:提取模块210及处理模块220。
所述提取模块210,用于接收报文,从所述报文中提取出五元组,并根据提取的五元组确定出所述报文对应的目标数据流的目标流标识。
所述处理模块220,用于判断所述目标流标识是否在攻击流表中。其中,所述攻击流表中包括基于数据流的历史信息确定出的与第二黑名单匹配上的数据流的流标识,所述第二黑名单中包括至少一个域名及该域名对应的IP黑名单。
所述处理模块220,还用于在所述目标流标识在所述攻击流表时,在网络层对该目标数据流进行拦截。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图1所示的存储器110中或固化于服务器100的操作系统(Operating System,OS)中,并可由图1中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。
本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的网络层的CC攻击拦截方法。
综上所述,本申请实施例提供一种网络层的CC攻击拦截方法、装置、服务器及可读存储介质,在接收到报文后,根据从该报文中提取的五元组确定出该报文对应的目标数据流的目标流标识;然后,判断该目标流标识是否存在于攻击流表中,该攻击流表中包括基于数据流的历史信息确定出的与第二黑名单匹配上的数据流的流标识,该第二黑名单中包括至少一个域名及该域名对应的IP黑名单;若在,则在网络层对该目标数据流进行拦截。如此,可解决网络间误拦截的问题,并且该方式是在网络层实现,拦截高效快捷。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的可选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种网络层的CC攻击拦截方法,其特征在于,所述方法包括:
接收报文,从所述报文中提取出五元组,并根据提取的五元组确定出所述报文对应的目标数据流的目标流标识;
判断所述目标流标识是否在攻击流表中,其中,所述攻击流表中包括基于数据流的历史信息确定出的与第二黑名单匹配上的数据流的流标识,所述第二黑名单中包括至少一个域名及该域名对应的IP黑名单;
若所述目标流标识在所述攻击流表中,则在网络层对该目标数据流进行拦截。
2.根据权利要求1所述的方法,其特征在于,在所述判断所述目标流标识是否在攻击流表中之前,所述方法还包括:
判断提取出的源IP地址是否在第一黑名单中,其中,所述第一黑名单中包括所述域名对应的IP黑名单;
若所述提取出的源IP地址在所述第一黑名单中,则执行判断所述目标流标识是否在攻击流表中的步骤。
3.根据权利要求2所述的方法,其特征在于,在所述源IP地址在所述第一黑名单内之后,所述方法还包括:
判断所述报文中是否包括有效载荷payload;
若包括,则判断所述目标流标识是否存在于检查流表中,其中,所述检查流表中包括与所述第一黑名单匹配上的数据流的流标识;
若所述目标流标识在所述检查流表中,则从所述报文中提取出目标域名,从所述检查流表中删除所述目标流标识,并将所述目标域名及源IP地址和所述第二黑名单进行匹配;
在所述目标域名及源IP地址和所述第二黑名单中匹配上时,将所述目标流标识添加至所述攻击流表中,并对所述报文进行拦截;
若所述目标流标识不在所述检查流表中,则执行判断所述目标流标识是否在攻击流表中的步骤。
4.根据权利要求3所述的方法,其特征在于,所述对所述报文进行拦截,包括:
丢弃所述报文,并释放所述目标数据流对应的连接。
5.根据权利要求3所述的方法,其特征在于,所述从所述报文中提取出目标域名,包括:
确定所述报文使用的目标协议;
根据所述目标协议对应的域名提取方式提取出所述目标域名。
6.根据权利要求3所述的方法,其特征在于,在所述判断所述报文中是否包括数据包之前,所述方法还包括:
判断所述报文中是否包括连接创建阶段标志;
在所述报文中包括所述连接创建阶段标志时,将所述目标流标识添加至所述检查流表中,并通过所述报文;
在所述报文中不包括所述连接创建阶段标志时,执行判断所述报文中是否包括payload的步骤。
7.根据权利要求3-6中任意一项所述的方法,其特征在于,所述若所述目标流标识在所述攻击流表中,则在网络层对该目标数据流进行拦截,包括:
判断所述目标数据流对应的已攻击时长是否大于等于第一预设时长,其中,所述已攻击时长根据将所述目标流标识添加至所述攻击流表中时所拦截的报文对应的时间信息计算得到,所述时间信息为报文的接收时间或被拦截的时间;
若所述已攻击时长小于所述第一预设时长,则丢弃所述报文;
若所述已攻击时长大于等于所述第一预设时长,则丢弃所述报文,并向所述报文对应的请求设备发送释放连接报文以及将所述攻击流表中的目标流标识删除。
8.一种网络层的CC攻击拦截装置,其特征在于,所述装置包括:
提取模块,用于接收报文,从所述报文中提取出五元组,并根据提取的五元组确定出所述报文对应的目标数据流的目标流标识;
处理模块,用于判断所述目标流标识是否在攻击流表中,其中,所述攻击流表中包括基于数据流的历史信息确定出的与第二黑名单匹配上的数据流的流标识,所述第二黑名单中包括至少一个域名及该域名对应的IP黑名单;
所述处理模块,还用于在所述目标流标识在所述攻击流表时,在网络层对该目标数据流进行拦截。
9.一种服务器,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-7中任意一项所述的网络层的CC攻击拦截方法。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任意一项所述的网络层的CC攻击拦截方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310639740.9A CN116684132A (zh) | 2023-05-31 | 2023-05-31 | 网络层的cc攻击拦截方法、装置及服务器 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310639740.9A CN116684132A (zh) | 2023-05-31 | 2023-05-31 | 网络层的cc攻击拦截方法、装置及服务器 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN116684132A true CN116684132A (zh) | 2023-09-01 |
Family
ID=87783044
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310639740.9A Pending CN116684132A (zh) | 2023-05-31 | 2023-05-31 | 网络层的cc攻击拦截方法、装置及服务器 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116684132A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025092514A1 (zh) * | 2023-10-31 | 2025-05-08 | 华为技术有限公司 | 一种攻击防御方法及装置 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017143897A1 (zh) * | 2016-02-26 | 2017-08-31 | 华为技术有限公司 | 一种攻击处理方法、设备及系统 |
| CN111327615A (zh) * | 2020-02-21 | 2020-06-23 | 浙江德迅网络安全技术有限公司 | 一种cc攻击防护方法及其系统 |
| CN113242240A (zh) * | 2021-05-10 | 2021-08-10 | 北京交通大学 | 一种可检测多种类应用层DDoS攻击的方法和装置 |
| CN113890746A (zh) * | 2021-08-16 | 2022-01-04 | 曙光信息产业(北京)有限公司 | 攻击流量识别方法、装置、设备以及存储介质 |
-
2023
- 2023-05-31 CN CN202310639740.9A patent/CN116684132A/zh active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017143897A1 (zh) * | 2016-02-26 | 2017-08-31 | 华为技术有限公司 | 一种攻击处理方法、设备及系统 |
| CN111327615A (zh) * | 2020-02-21 | 2020-06-23 | 浙江德迅网络安全技术有限公司 | 一种cc攻击防护方法及其系统 |
| CN113242240A (zh) * | 2021-05-10 | 2021-08-10 | 北京交通大学 | 一种可检测多种类应用层DDoS攻击的方法和装置 |
| CN113890746A (zh) * | 2021-08-16 | 2022-01-04 | 曙光信息产业(北京)有限公司 | 攻击流量识别方法、装置、设备以及存储介质 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025092514A1 (zh) * | 2023-10-31 | 2025-05-08 | 华为技术有限公司 | 一种攻击防御方法及装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102594623B (zh) | 防火墙的数据检测方法及装置 | |
| CN109194680B (zh) | 一种网络攻击识别方法、装置及设备 | |
| CN110519265B (zh) | 一种防御攻击的方法及装置 | |
| EP3720100A1 (en) | Service request processing method and device | |
| US10498618B2 (en) | Attributing network address translation device processed traffic to individual hosts | |
| CN112369115B (zh) | 用于实现业务管理的方法和节点 | |
| CN101656677A (zh) | 一种报文分流处理方法及装置 | |
| CN110278152B (zh) | 一种建立快速转发表的方法及装置 | |
| EP3556130B1 (fr) | Procédé de surveillance d'un réseau de télécommunications mis en oeuvre par un point d'accès | |
| CN105323259A (zh) | 一种防止同步包攻击的方法和装置 | |
| JP2007200323A (ja) | Sipベースのアプリケーションを保護する方法 | |
| CN101227287B (zh) | 一种数据报文处理方法及数据报文处理装置 | |
| US12238128B2 (en) | Data processing method and apparatus | |
| WO2023179656A1 (zh) | 一种SRv6报文处理方法、装置、通信设备和存储介质 | |
| CN102271086B (zh) | 发送报文的方法和装置 | |
| CN116684132A (zh) | 网络层的cc攻击拦截方法、装置及服务器 | |
| CN105516200B (zh) | 云系统安全处理方法和装置 | |
| CN110830984B (zh) | 服务质量加速请求消息路由方法、装置、设备、存储介质 | |
| CN110198290B (zh) | 一种信息处理方法、设备、装置及存储介质 | |
| CN104735000A (zh) | OpenFlow信令控制方法及装置 | |
| CN108989271B (zh) | 一种家庭网关端口防攻击的方法和装置 | |
| CN106453350B (zh) | 一种防攻击的方法及装置 | |
| CN111404866A (zh) | 跨域联动防护系统、方法、装置、介质和设备 | |
| WO2024001557A1 (zh) | 业务识别方法、系统、装置、存储介质及程序产品 | |
| CN111431942B (zh) | 一种cc攻击的检测方法、装置及网络设备 |
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 |