CN116506182A - Ip分片报文的安全防护方法及装置 - Google Patents
Ip分片报文的安全防护方法及装置 Download PDFInfo
- Publication number
- CN116506182A CN116506182A CN202310476524.7A CN202310476524A CN116506182A CN 116506182 A CN116506182 A CN 116506182A CN 202310476524 A CN202310476524 A CN 202310476524A CN 116506182 A CN116506182 A CN 116506182A
- Authority
- CN
- China
- Prior art keywords
- fragment
- message
- information
- header
- linked list
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 239000012634 fragment Substances 0.000 claims abstract description 298
- 238000013467 fragmentation Methods 0.000 claims description 42
- 238000006062 fragmentation reaction Methods 0.000 claims description 42
- 230000006798 recombination Effects 0.000 claims description 9
- 238000005215 recombination Methods 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 2
- 230000008521 reorganization Effects 0.000 abstract description 16
- 230000006870 function Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 7
- 206010001488 Aggression Diseases 0.000 description 5
- 230000016571 aggressive behavior Effects 0.000 description 5
- 208000012761 aggressive behavior Diseases 0.000 description 5
- 230000007123 defense Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000004083 survival effect Effects 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012423 maintenance Methods 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
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- 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)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种IP分片报文的安全防护方法及装置。该方法包括:发送端为待发送的IP分片报文分别设置报文头;将设置报文头的IP分片报文分别发送至接收端;接收端获取所述IP分片报文;基于所述IP分片报文的报文头更新分片链表;根据所述分片链表提取所述IP分片报文的五元组信息;根据所述五元组信息对所述IP分片报文进行安全防护。本申请涉及的IP分片报文的安全防护方法及装置,能够实现防护分片攻击的目的,不需要强制等待虚拟重组完成再完成转发,而是只要首片到达,即可完成转发,提高安全防护效率。
Description
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种IP分片报文的安全防护方法及装置。
背景技术
在网络安全硬件子市场中,防火墙是体量最大的单品,具有最广泛的应用场景。即便是今日在云化大潮下,防火墙依然占有体量第一的首要位置。防火墙大量的部署在网络边界,随着互联网越来越繁荣,网络应用的类型和数量大大增加,上网人数急剧增多,带宽也大大增加,与此同时,网络应用也变得日益复杂起来,边界的安全防护功能越来越复杂,往往需要FW、IPS、WAF、审计、清洗设备集合组成边界安全防护,多个安全设备串行在边界以实现多种安全防护业务,但此种部署对网络的维护和故障率带来了非常大的挑战,在此种大环境下,下一代防火墙应运而生,下一代墙可实现基础网络设备的路由交换功能的同时,继承了传统防火墙功能,又新增了丰富的应用层防护功能,实现了在边界只部署一台下一代防火墙即可实现丰富安全防护功能的边界安全池。
随着网络的蓬勃发展,各类型网络协议和各类型网络功能的日益增多,数据量也是与日俱增多,多媒体流、视频监控流、超大帧业务等网络报文也在出现在越来越多的网络中,网络设备的MTU值一般依然沿用默认1500,但这些报文往往以大包的形式传输,网络设备会将其分片然后转发,所以网络中会存在不同种类的分片报文,网络设备为了适应该情况,网络设备普遍均支持分片报文的转发,同时,由于IP分片报文的特殊性,网络设备都是将分片报文优先虚拟重组,待所有分片到达完成虚拟重组后,按照首片的数据进行继续转发。下一代防火墙设备现已大量部署在网络边界,可以实现对攻击性行为进行防御的目的,网络黑客利用分片虚拟重组转发的特性,将攻击性行为数据隐藏在分片的中间片或尾片以达到绕过下一代防火墙设备安全防御的业务进而攻击内网,下一代防火墙设备针对此种分片攻击报文(ip分片藏攻击)需要一种新的转发方式以实现对该类型攻击的防御。
在所述背景技术部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本申请提供一种IP分片报文的安全防护方法及装置,能够实现防护分片攻击的目的,不需要强制等待虚拟重组完成再完成转发,而是只要首片到达,即可完成转发,提高安全防护效率。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请的一方面,提出一种IP分片报文的安全防护方法,该方法包括:发送端为待发送的IP分片报文分别设置报文头;将设置报文头的IP分片报文分别发送至接收端;接收端获取所述IP分片报文;基于所述IP分片报文的报文头更新分片链表;根据所述分片链表提取所述IP分片报文的五元组信息;根据所述五元组信息对所述IP分片报文进行安全防护。
在本申请的一种示例性实施例中,发送端为待发送的IP分片报文分别设置报文头,包括:发送端为待发送的IP分片报文的首片设置四层头及预留位信息、是否允许分片信息、是否还有后续分片信息;发送端为待发送的IP分片报文的中间片设置是否允许分片信息、是否还有后续分片信息;发送端为待发送的IP分片报文的尾片设置四层头及预留位信息、是否允许分片信息、是否还有后续分片信息。
在本申请的一种示例性实施例中,接收端获取所述IP分片报文之前,还包括:接收端基于HASH表结构建立分片链表;分片链表中每一个key均为双向链表;所述双向链表的每个节点储存一个分片组信息。
在本申请的一种示例性实施例中,基于所述IP分片报文的报文头更新分片链表,包括:基于所述IP分片报文的报文头确定所述IP分片报文的位置顺序;根据所述位置顺序为所述IP分片报文建立分片组信息;通过所述分片组信息更新所述分片链表。
在本申请的一种示例性实施例中,根据所述位置顺序为所述IP分片报文建立分片组信息,包括:在所述IP分片报文为首片且不存在对应的分片组信息时,创建分片组信息;由所述IP分片报文的报文头中提取五元组信息;将所述五元组信息储存在分片组信息中。
在本申请的一种示例性实施例中,根据所述位置顺序为所述IP分片报文建立分片组信息,还包括:在所述IP分片报文为首片且存在对应的分片组信息时,由所述IP分片报文的报文头中提取五元组信息;基于所述五元组信息更新所述创建分片组信息。
在本申请的一种示例性实施例中,根据所述位置顺序为所述IP分片报文建立分片组信息,包括:在所述IP分片报文不为首片时,由所述IP分片报文的报文头中提取五元组信息;基于所述五元组信息在分片链表中进行匹配;在未匹配到一致信息时,创建分片组信息。
在本申请的一种示例性实施例中,根据所述位置顺序为所述IP分片报文建立分片组信息,还包括:在匹配到一致信息时,确定分片组信息中是否有五元组信息;在已有五元组信息时,将所述IP分片报文进行转发;在未有五元组信息时,将所述IP分片报文储存在虚拟分片重组段。
在本申请的一种示例性实施例中,根据所述五元组信息对所述IP分片报文进行安全防护,包括:根据所述五元组信息对所述IP分片报文进行路由交换、报文过滤、安全检测。
根据本申请的一方面,提出一种IP分片报文的安全防护装置,该装置包括:设置模块,用于发送端为待发送的IP分片报文分别设置报文头;发送模块,用于将设置报文头的IP分片报文分别发送至接收端;获取模块,用于接收端获取所述IP分片报文;更新模块,用于基于所述IP分片报文的报文头更新分片链表;提取模块,用于根据所述分片链表提取所述IP分片报文的五元组信息;防护模块,用于根据所述五元组信息对所述IP分片报文进行安全防护。
根据本申请的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本申请的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本申请的IP分片报文的安全防护方法及装置,通过发送端为待发送的IP分片报文分别设置报文头;将设置报文头的IP分片报文分别发送至接收端;接收端获取所述IP分片报文;基于所述IP分片报文的报文头更新分片链表;根据所述分片链表提取所述IP分片报文的五元组信息;根据所述五元组信息对所述IP分片报文进行安全防护的方式,能够实现防护分片攻击的目的,不需要强制等待虚拟重组完成再完成转发,而是只要首片到达,即可完成转发,提高安全防护效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中的IP分片报文的安全防护方法的示意图。
图2是根据一示例性实施例示出的一种IP分片报文的安全防护方法的流程图。
图3是根据一示例性实施例示出的一种IP分片报文的安全防护方法的示意图。
图4是根据一示例性实施例示出的一种IP分片报文的安全防护方法的示意图。
图5是根据另一示例性实施例示出的一种IP分片报文的安全防护方法的流程图。
图6是根据一示例性实施例示出的一种IP分片报文的安全防护方法的示意图。
图7是根据一示例性实施例示出的一种IP分片报文的安全防护装置的框图。
图8是根据一示例性实施例示出的一种电子设备的框图。
图9是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
本申请涉及的技术缩略语解释如下:
下一代墙设备:是一款可以全面应对应用层威胁的高性能防火墙。在传统防火墙基础功能(包过滤、NAT转换、协议状态检查、VPN等)之上,新增了对应用层攻击行为的安全防护功能,此处攻击行为为宏观范畴,可细化为多项安全业务,例如攻击防御、漏洞防护、病毒防护、SQL注入、跨站脚本等等。下一代防火墙是综合了多种业务功能的产品,支持传统路由交换特性及传统防火墙特性的同时,也支持丰富的应用层安全防护功能。本文中将下一代防火墙功能主要分为三大部分:路由交换(二三层转发)、FW功能(包过滤、NAT、协议状态检查等)和安全防护功能(攻击防御、漏洞防护、病毒防护、SQL注入等)。
OSI协议:也可称为网络七层协议,为开放式互连信息系统提供了一种功能结构的框架,它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。本发明主要针对ip分片报文,方案主要涉及网络层ip协议,传输层的tcp和udp报文。
网络层ip协议头:也可称ip数据包报头、三层头。ip分为固定头部和可变头部,固定长度为20字节(1字节=8bit),第48~63bit表示了分片相关特性。标志段占3bit,分别为R/DF/MF,分别代表预留位/是否允许分片/是否还有后续分片,片偏移占13位,代表了该分片报文相对于首包的偏移。即ip头的标志flag字段和偏移offset字段可识别报文是否为分片,若是分片则可识别在何位置。
传输层TCP协议头:tcp协议头由多个字段,协议头长度含选项字段的长度,可通过头部长度字段获取协议头长度,其他字段暂不赘述,待发明方案涉及时再详细讲述。
传输层UDP协议头:UDP协议头一共8个字节(每字节8bit),分为4个字段,分别为源端口号、目的端口号、总长度、校验和,每个字段占16bit。源端口号为主机应用程序使用的端口号,目的端口号为目的主机应用程序使用的端口号,总长度为udp协议头长度+udp数据的字节长度,校验和为检验报文传输过程中是否有错。
MTU:最大传输单元(Maximum Transmission Unit,MTU),网络中允许传输的最大帧长(字节为单位)。报文到达网络设备,当报文帧长大于设备MTU值时(最大帧长从ip协议头之后开始计算),可认为该报文对于网络设备为大包,网络设备则根据MTU值将报文分为多片进行发送。当前,网络拓扑中,网络设备MTU默认值为1500。
IP分片报文:当报文到达网络设备,且报文ip数据长度(ip协议头之后开始计算)大于网络设备MTU值时,报文会分为多片发出,且报文ID(标示字段)相同,同一ID的分片报文为一组分片,本文称为分片组。
IP分片报文转发:下一代墙设备对报文的转发主要依赖会话的方式进行转发,而会话的创建需要五元组(源目ip、源目端口号、协议号),且报文匹配会话也依赖五元组完整,由于IP分片报文的特殊性(只有首片含有四层头信息),下一代防火墙设备对分片报文转发的处理方式为:分片虚拟重组-转发处理-安全防御-分片发送,根据首片携带的完整头部信息做转发及攻击防御业务。
虚拟分片重组:下一代墙设备需要对报文的数据内容均要做匹配的动作,所以设备本身对其他转发流程的性能要求是很高的,否则,会严重影响到安全防护的处理能力。分片报文的转发如果首先将分片组的报文重组为一个完整的大包,最终再拆包进行分片发送,这样会极大的消耗设备的转发性能,所以普遍使用虚拟重组技术,即将中间片和尾片均挂在首片报文上,而不是通过剥头拼接的方式重组为完成报文,虚拟重组完成后(首片中间片尾片均已重组),继续向后转发,后续业务通过匹配首片的内容进行转发。
分片攻击报文:由于分片报文依赖虚拟分片重组的方式进行转发,后续的转发和攻击防御业务均按照首片数据内容,网络黑客利用此种机制,将攻击性行为数据隐藏在中间片或尾片,或者将攻击性行为数据隐藏在大包的后半段(大包经过网络设备大概率会被分片),以达到使用分片报文中隐藏攻击性行为透过下一代防火墙设备的安全防护业务,进而实现攻击内网的目的。
本案申请人通过研究整理之后发现,在现有技术中,分配报文的转发过程可如图1所示。
(1)分片报文虚拟重组,如果未完成重组,则转发过程停止,等待重组完成,重组完成,则继续向后转发。
(2)根据分片组的首片,取五元组,查询会话。如果未查到会话,则走新建流程,根据五元组建立会话,然后依据首片做路由交换业务找到出接口信息,并保存在会话中,再后,依据首片处理FW业务功能,并将报文过滤、状态检查的结果保存在会话中,最后做安全业务功能,安全业务有很多个,且每个业务是否需要处理需匹配报文体征,依据首片的五元组判断是否需要做安全防护业务,并把安全业务标记保存在会话中,之后做安全业务处理,若安全业务不通过,则做丢包处理,若安全业务均通过,则执行发包动作;如果查到会话,则继续执行后续步骤。
(3)查询会话信息中FW功能的查询结果。若结果为不通过,则丢包结束转发流程;若结果为通过,则继续执行后续步骤。
(4)一次查询会话信息中的安全业务标记,并执行对应的安全防护业务,若存在安全防护业务不通过,则丢包结束转发,若安全防护业务均通过,则继续后续步骤。
(5)查询会话中出口信息,找到出口。继续执行后续步骤。
(6)分片发包流程,首片按照上述步的转发过程进行发包,中间片和尾片参照首片的转发结果进行发包。
由于现有技术中的分片报文的转发需要虚拟重组,而转发过程主要依赖首片完整的五元组信息,安全防护业务无法对中间片和尾片进行防护检测,这样就给了黑客可乘之机,将攻击性数据隐藏在中间片或尾片以达到透过防护业务攻击内网的目的。
有鉴于现有技术中的技术缺陷,本申请提出了一种IP分片报文的安全防护方法,可防护中间片或尾片隐藏攻击性数据的分片攻击报文。由于现有方案转发过程均依赖首片特征,且中间片和尾片五元组特征不完整无法匹配会话,所以中间片或尾片隐藏攻击性数据的分片攻击无法做到防护,下面借助具体的实施例对本申请的内容进行详细描述。
图2是根据一示例性实施例示出的一种IP分片报文的安全防护方法的流程图。IP分片报文的安全防护方法20至少包括步骤S202至S208。
如图2所示,在S202中,发送端为待发送的IP分片报文分别设置报文头。发送端可为待发送的IP分片报文的首片设置四层头及预留位信息、是否允许分片信息、是否还有后续分片信息;发送端还可为待发送的IP分片报文的中间片设置是否允许分片信息、是否还有后续分片信息;发送端还可为待发送的IP分片报文的尾片设置四层头及预留位信息、是否允许分片信息、是否还有后续分片信息。
在一个具体的实施例中,IP分片报文可设置如下:
首片含4层头,中间片、尾片无四层头,即首片携带了完整报文头信息;MF标记为“more fragment”,即仍有后续分片,尾片MF=0,首片和中间片为1;offset代表离首片的偏移,首片offset=0,中间片和尾片offset非0。可看出,每一片均有其特征。
首片(第一片):含有四层头(TCP/UDP头)、DF=0、MF=1、offset=0;
中间片:无四层头、DF=0、MF=1、offset=偏移;
尾片(最后一片):无四层头、DF=0、MF=0、offset=偏移。
在S204中,将设置报文头的IP分片报文分别发送至接收端。
在一个实施例中,还包括:接收端基于HASH表结构建立分片链表;分片链表中每一个key均为双向链表;所述双向链表的每个节点储存一个分片组信息。
分片链表存储结构可为HASH表结构,也可称为HASH资源池,分片链表存储三要素信息,可包括:源ip、目的ip和报文id,三要素设定的根据为同一个分片组的分片报文共同特征为源ip、目的ip和报文id。HASH线性表每一个KEY均为一个双向链表,链表的每个节点存储一个分片组的信息,分片组信息中包含完整的五元组信息。
更具体的,如图3所示,分片链表中储存SIP(源IP)、DIP(目的IP)、ID(报文ID)、DEEP信息(哈希深度)。Key值为:上述信息的哈希值生成。更具体的,HASH表的hash函数为SIP(源IP)、DIP(目的IP)、ID(报文ID)每8位取异或,获得的异或值对DEEP信息(哈希深度)取余。
分片链表对应的HASH表的主要结构可参考图4。其中,key值如上文所述,是由SIP、DIP、ID、DEEP的哈希值组成。由多个分片组信息组成了分片链表,分片组的数量由deep值确定。
在每个分片组中,包括多个分片组节点。多个分片组节点生成了双向链表结构。每个分片组节点均储存SIP(源IP)、DIP(目的IP)、ID(报文ID)、SPORT(源端口号)、DPORT(目的端口号),还储存该分片组节点对应的PRO(协议号)、报文ID、创建时间等。在乱序的情况下,分片组节点中还可能储存虚拟分片重组信息等。
在S206中,接收端获取所述IP分片报文。
在S208中,基于所述IP分片报文的报文头更新分片链表。可基于所述IP分片报文的报文头确定所述IP分片报文的位置顺序;根据所述位置顺序为所述IP分片报文建立分片组信息;通过所述分片组信息更新所述分片链表。
“基于所述IP分片报文的报文头更新分片链表”的详细内容在图5,图6对应的实施例中进行详细描述。
在一个实施例中,还可设定分片组节点存活时间time_live,每个分片组重组完成后,对应的分片组节点资源已无用,所以要定时的回收删除表项,定时的检测分片组存在时间,当前时间记为time_now,当time_now-time_create>time_live时,删除表项。
在S210中,根据所述分片链表提取所述IP分片报文的五元组信息。
在S212中,根据所述五元组信息对所述IP分片报文进行安全防护。根据所述五元组信息对所述IP分片报文进行路由交换、报文过滤、安全检测。
本申请中,使用分片链表替代了虚拟重组机制,实现了不再重组之后才可转发,而是每一片报文均可正常转发。
根据本申请的IP分片报文的安全防护方法,通过发送端为待发送的IP分片报文分别设置报文头;将设置报文头的IP分片报文分别发送至接收端;接收端获取所述IP分片报文;基于所述IP分片报文的报文头更新分片链表;根据所述分片链表提取所述IP分片报文的五元组信息;根据所述五元组信息对所述IP分片报文进行安全防护的方式,能够实现防护分片攻击的目的,不需要强制等待虚拟重组完成再完成转发,而是只要首片到达,即可完成转发,提高安全防护效率。
应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请的原理不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
图5是根据另一示例性实施例示出的一种IP分片报文的安全防护方法的流程图。图5所示的流程50是对图2所示的流程中S208“基于所述IP分片报文的报文头更新分片链表”的详细描述。
如图5所示,在S502中,基于所述IP分片报文的报文头确定所述IP分片报文的位置顺序。
在S504中,在所述IP分片报文为首片且不存在对应的分片组信息时,创建分片组信息。如图6所示,经过分片链表之后中间片和尾片均携带了五元组信息,可正常完成路由交换、FW功能、安全防护功能。
当分片组第一片报文到达时(首片,或乱序的其他片),创建分片组节点,并保存分片组节点创建时间time_create。
设定分片组节点存活时间time_live,每个分片组重组完成后,对应的分片组节点资源已无用,所以要定时的回收删除表项,定时的检测分片组存在时间,可将当前时间记为time_now,当time_now-time_create>time_live时,删除表项。
还可通过报文头中的DF、MF、offset值确定该报文是否为首片,将上述信息和分片链表中的信息进行对比,以确定是否已经有其他分组节点储存在分片链表中。
在S506中,由所述IP分片报文的报文头中提取五元组信息,将所述五元组信息储存在分片组信息中。
如图6所示,首片到达时,查询分片组节点:如果未查到,则此时为首片先到,创建分片组节点,保存五元组信息,保存创建时间time_create。
在S508中,在所述IP分片报文为首片且存在对应的分片组信息时,由所述IP分片报文的报文头中提取五元组信息。
在S510中,基于所述五元组信息更新所述创建分片组信息。在能够查到分片组节点时,可证明此时分片组存在乱序,其他片先到达,则按照首片信息更新分片组的五元组信息,虚拟分片重组中存储的其他片报文携带五元组信息分片向后转发。
在S512中,在所述IP分片报文不为首片时,由所述IP分片报文的报文头中提取五元组信息。
在S514中,基于所述五元组信息在分片链表中进行匹配。更具体的,在未匹配到一致信息时,创建分片组信息。在匹配到一致信息时,确定分片组信息中是否有五元组信息;在已有五元组信息时,将所述IP分片报文进行转发;在未有五元组信息时,将所述IP分片报文储存在虚拟分片重组段。
如图6所示,其他片(中间片或尾片)到达时,查询分片组节点,如果未查到,则此时分片组存在乱序,在这种情况下,仍旧先创建分片组节点,并保存分片组节点创建时间time_create,将分片报文保存在虚拟分片重组段。如果查到分片组节点,查询分片组节点是否已有五元组信息(即首片是否已到达),若已有五元组信息,分片报文则携带五元组信息向后转发,否则将分片报文存储在虚拟分片重组段。
在上述接收报文的过程中,定时检测分片组创建的时间,在存活时间大于time-live时,将该分片组节点删除。
经过上述步骤,在分片组节点创建完成之后,首片或者中间片、尾片报文均可以继续向后转发,后续安全防护装置对正常对每个报文进行安全防护检测。
本申请的IP分片报文的安全防护方法,基本原理是,新增加一个基于源ip+目的ip+报文id的新表,此表中记录下此分片组的五元组信息,当中间片和尾片到达时无需重组直接查表找到对应的分片组信息,之后携带完整五元组信息直接向后转发,可实现中间片及尾片均可如首片一样,均匹配到会话实现安全业务防护。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本申请提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图7是根据一示例性实施例示出的一种IP分片报文的安全防护装置的框图。如图7所示,IP分片报文的安全防护装置70包括:设置模块702,发送模块704,获取模块706,更新模块708,提取模块710,防护模块712。
设置模块702用于发送端为待发送的IP分片报文分别设置报文头;
发送模块704用于将设置报文头的IP分片报文分别发送至接收端;
获取模块706用于接收端获取所述IP分片报文;
更新模块708用于基于所述IP分片报文的报文头更新分片链表;
提取模块710用于根据所述分片链表提取所述IP分片报文的五元组信息;
防护模块712用于根据所述五元组信息对所述IP分片报文进行安全防护。
根据本申请的IP分片报文的安全防护装置,通过发送端为待发送的IP分片报文分别设置报文头;将设置报文头的IP分片报文分别发送至接收端;接收端获取所述IP分片报文;基于所述IP分片报文的报文头更新分片链表;根据所述分片链表提取所述IP分片报文的五元组信息;根据所述五元组信息对所述IP分片报文进行安全防护的方式,能够实现防护分片攻击的目的,不需要强制等待虚拟重组完成再完成转发,而是只要首片到达,即可完成转发,提高安全防护效率。
图8是根据一示例性实施例示出的一种电子设备的框图。
下面参照图8来描述根据本申请的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:至少一个处理单元810、至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830、显示单元840等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书中描述的根据本申请各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图2,图5中所示的步骤。
所述存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
所述存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备800’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备800交互的设备通信,和/或该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器860可以通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图9所示,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本申请实施方式的上述方法。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:发送端为待发送的IP分片报文分别设置报文头;将设置报文头的IP分片报文分别发送至接收端;接收端获取所述IP分片报文;基于所述IP分片报文的报文头更新分片链表;根据所述分片链表提取所述IP分片报文的五元组信息;根据所述五元组信息对所述IP分片报文进行安全防护。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (10)
1.一种IP分片报文的安全防护方法,其特征在于,包括:
发送端为待发送的IP分片报文分别设置报文头;
将设置报文头的IP分片报文分别发送至接收端;
接收端获取所述IP分片报文;
基于所述IP分片报文的报文头更新分片链表;
根据所述分片链表提取所述IP分片报文的五元组信息;
根据所述五元组信息对所述IP分片报文进行安全防护。
2.如权利要求1所述的方法,其特征在于,发送端为待发送的IP分片报文分别设置报文头,包括:
发送端为待发送的IP分片报文的首片设置四层头及预留位信息、是否允许分片信息、是否还有后续分片信息;
发送端为待发送的IP分片报文的中间片设置是否允许分片信息、是否还有后续分片信息;
发送端为待发送的IP分片报文的尾片设置四层头及预留位信息、是否允许分片信息、是否还有后续分片信息。
3.如权利要求1所述的方法,其特征在于,接收端获取所述IP分片报文之前,还包括:
接收端基于HASH表结构建立分片链表;
分片链表中每一个key均为双向链表;
所述双向链表的每个节点储存一个分片组信息。
4.如权利要求1所述的方法,其特征在于,基于所述IP分片报文的报文头更新分片链表,包括:
基于所述IP分片报文的报文头确定所述IP分片报文的位置顺序;
根据所述位置顺序为所述IP分片报文建立分片组信息;
通过所述分片组信息更新所述分片链表。
5.如权利要求4所述的方法,其特征在于,根据所述位置顺序为所述IP分片报文建立分片组信息,包括:
在所述IP分片报文为首片且不存在对应的分片组信息时,创建分片组信息;
由所述IP分片报文的报文头中提取五元组信息;
将所述五元组信息储存在分片组信息中。
6.如权利要求5所述的方法,其特征在于,根据所述位置顺序为所述IP分片报文建立分片组信息,还包括:
在所述IP分片报文为首片且存在对应的分片组信息时,由所述IP分片报文的报文头中提取五元组信息;
基于所述五元组信息更新所述创建分片组信息。
7.如权利要求4所述的方法,其特征在于,根据所述位置顺序为所述IP分片报文建立分片组信息,包括:
在所述IP分片报文不为首片时,由所述IP分片报文的报文头中提取五元组信息;
基于所述五元组信息在分片链表中进行匹配;
在未匹配到一致信息时,创建分片组信息。
8.如权利要求7所述的方法,其特征在于,根据所述位置顺序为所述IP分片报文建立分片组信息,还包括:
在匹配到一致信息时,确定分片组信息中是否有五元组信息;
在已有五元组信息时,将所述IP分片报文进行转发;
在未有五元组信息时,将所述IP分片报文储存在虚拟分片重组段。
9.如权利要求1所述的方法,其特征在于,根据所述五元组信息对所述IP分片报文进行安全防护,包括:
根据所述五元组信息对所述IP分片报文进行路由交换、报文过滤、安全检测。
10.一种IP分片报文的安全防护装置,其特征在于,包括:
设置模块,用于发送端为待发送的IP分片报文分别设置报文头;
发送模块,用于将设置报文头的IP分片报文分别发送至接收端;
获取模块,用于接收端获取所述IP分片报文;
更新模块,用于基于所述IP分片报文的报文头更新分片链表;
提取模块,用于根据所述分片链表提取所述IP分片报文的五元组信息;
防护模块,用于根据所述五元组信息对所述IP分片报文进行安全防护。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310476524.7A CN116506182A (zh) | 2023-04-28 | 2023-04-28 | Ip分片报文的安全防护方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310476524.7A CN116506182A (zh) | 2023-04-28 | 2023-04-28 | Ip分片报文的安全防护方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116506182A true CN116506182A (zh) | 2023-07-28 |
Family
ID=87322581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310476524.7A Pending CN116506182A (zh) | 2023-04-28 | 2023-04-28 | Ip分片报文的安全防护方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116506182A (zh) |
-
2023
- 2023-04-28 CN CN202310476524.7A patent/CN116506182A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE49049E1 (en) | Service processing method, device and system | |
US9736115B2 (en) | Firewall packet filtering | |
JP4906504B2 (ja) | インテリジェント統合ネットワークセキュリティ装置 | |
US8134934B2 (en) | Tracking network-data flows | |
US7058821B1 (en) | System and method for detection of intrusion attacks on packets transmitted on a network | |
CN112311789B (zh) | 深度报文处理方法、装置、电子设备及存储介质 | |
US8559429B2 (en) | Sequential frame forwarding | |
US20150215285A1 (en) | Network traffic processing system | |
US10284460B1 (en) | Network packet tracing | |
US9544402B2 (en) | Multi-rule approach to encoding a group of rules | |
KR20140061359A (ko) | 앵커링된 패턴들 | |
JP7216120B2 (ja) | Bgpメッセージ送信方法、bgpメッセージ受信方法、及びデバイス | |
US20180302323A1 (en) | System and method to bypass the forwarding information base (fib) for interest packet forwarding in an information-centric networking (icn) environment | |
CN112953949B (zh) | 一种网络报文的报文头处理方法、装置、设备及存储介质 | |
JP6007595B2 (ja) | 伝送方法、装置及びプログラム | |
US20140040477A1 (en) | Connection mesh in mirroring asymmetric clustered multiprocessor systems | |
CN104702571A (zh) | 一种Xen虚拟化环境下网络数据的入侵检测方法 | |
US11165682B2 (en) | Session aware adaptive packet filtering | |
US8724473B2 (en) | Locating signatures in packets | |
CN116506182A (zh) | Ip分片报文的安全防护方法及装置 | |
US9912575B2 (en) | Routing network traffic packets through a shared inline tool | |
JP6718739B2 (ja) | 通信装置および通信方法 | |
US20080225754A1 (en) | Automatically discovering architectural roles of packet switching devices | |
WO2024002067A1 (zh) | 攻击溯源方法、装置、路由器、服务器及存储介质 | |
Achar et al. | Border gateway protocol performance and its protection against disturbed denial of service attack |
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 |