CN113746788A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN113746788A CN113746788A CN202010480846.5A CN202010480846A CN113746788A CN 113746788 A CN113746788 A CN 113746788A CN 202010480846 A CN202010480846 A CN 202010480846A CN 113746788 A CN113746788 A CN 113746788A
- Authority
- CN
- China
- Prior art keywords
- port number
- data packet
- packet
- source
- address
- 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
-
- 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
-
- 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
-
- 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/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
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
Abstract
本申请公开了一种数据处理方法及装置,涉及通信领域,解决了如何在防御DRDoS攻击时,快速地区别合法流量和非法流量的问题。网络设备接收到来自反射设备的第一数据包后,根据传输层协议号和第一源端口号确定该第一数据包是一个来自反射设备的流量,第一数据包包括目的端口号,该目的端口号就是网络设备向反射设备发送数据包时,将第二源端口号替换后的第三源端口号,从目的端口号中提取验证码,验证验证码,若第三数据包通过验证,表示第三数据包合法,用第二源端口号替换目的端口号,转发第四数据包;若未通过验证,表示第三数据包不合法,丢弃第三数据包,从而可以过滤掉大量伪造的攻击流量。
Description
技术领域
本申请涉及通信领域,尤其涉及一种数据处理方法及装置。
背景技术
目前,分布式反射拒绝服务(Distributed Reflection Denial of Service,DRDoS)攻击依然是破坏网络可用性,造成网络安全问题的一个主要因素。传统技术中,通常采用黑洞技术或流量清洗技术防御DRDoS攻击。但是,网络设备采用黑洞技术将非法流量和合法流量均导向黑洞,无法区分合法流量和非法流量。虽然,网络设备采用流量清洗技术可以区分合法流量和非法流量,但是区分合法流量和非法流量的时延较长。因此,如何在防御DRDoS攻击时,快速地区别合法流量和非法流量是一个亟待解决的问题。
发明内容
本申请提供一种数据处理方法及装置,解决了如何在防御DRDoS攻击时,快速地区别合法流量和非法流量的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供了一种数据处理方法,该方法可应用于网络设备,或者该方法可应用于可以支持网络设备实现该方法的通信装置,例如该通信装置包括芯片系统,方法包括:网络设备接收到第一数据包后,根据传输层协议号和第一端口号确定该第一数据包是一个来自反射设备的流量,从目的端口字段提取第一验证码,并根据密钥和待认证信息生成第二验证码,根据第一验证码和第二验证码确定第一数据包是否合法。若第一数据包合法,网络设备向受保护设备转发第一数据包。或者,网络设备用第二源端口号替换目的端口号,得到第二数据包;向受保护设备转发第二数据包。若第一数据包不合法,表示第一数据包不合法,丢弃第一数据包,从而可以过滤掉大量伪造的攻击流量。其中,第一数据包包括传输层协议号、第一源端口号和目的端口号。反射设备为发送DRDoS攻击的设备,例如,反射设备为域名系统设备、网络时间协议设备或简单网络管理协议设备。待认证信息包括源互联网协议(Internet Protocol,IP)地址,源IP地址为反射设备的IP地址。
本申请实施例提供的数据处理方法,利用数据包中传输层头部包括的端口字段携带验证码,在网络设备接收到来自反射设备的数据包后,通过验证验证码对合法数据包和非法数据包进行识别,只有合法数据包才会被转发,能够应对大部分的反射类型的拒绝服务攻击。相对于黑洞技术,本申请实施例提供的数据处理方法能够确保合法流量被转发,避免合法流量被黑洞丢弃,网络设备过滤大部分的DRDoS攻击流量。相对于流量清洗技术,本申请实施例提供的数据处理方法能够降低深层协议解析带来的处理合法流量的延迟。另外,由于可验证标识可以内嵌在目的端口字段中,使得网络设备不需要处理应用层数据,可以直接在传输层进行过滤,降低防御DRDoS攻击的成本,不依赖于跨域协作。
在一种可能的设计中,根据传输层协议号和第一源端口号确定第一数据包是一个来自反射设备的流量,包括:确定反射型协议端口特征集合包括第一源端口号和传输层协议号,且传输层协议号是用户数据报协议(User Data Protocol,UDP)号或传输控制协议(Transfer Control Protocol,TCP)号,则第一数据包是一个来自反射设备的流量。
在另一种可能的设计中,待认证信息还包括第一数据包包含的目的IP地址、第一源端口号和传输层协议号中至少一个。目的IP地址为受保护设备的IP地址,受保护设备为遭受DRDoS攻击的设备。
可选的,待认证信息还包括端口索引和时间参数中至少一个,端口索引用于标识一个应用。
在另一种可能的设计中,目的端口号还包括端口索引。
在另一种可能的设计中,在用第二源端口号替换目的端口号之前,方法还包括:确定合法流表包括第一数据包的五元组,从合法流表中获取第一数据包的五元组对应的第二源端口号,第一数据包的五元组用于唯一标识一条网络流量,第一数据包的五元组包括源IP地址、目的IP地址、传输层协议号、第一源端口号和目的端口号。
第二方面,本申请提供了一种数据处理方法,该方法可应用于网络设备,或者该方法可应用于可以支持网络设备实现该方法的通信装置,例如该通信装置包括芯片系统,方法包括:网络设备接收第一数据包后,根据传输层协议号和目的端口号确定第一数据包是一个发往反射设备的流量,便用第二源端口号替换第一源端口号,得到第二数据包,发送第二数据包。其中,第一数据包包括传输层协议号、第一源端口号和目的端口号。第二源端口号包括验证码,验证码是根据密钥和待认证信息确定的,待认证信息包括目的IP地址,目的IP地址为反射设备的IP地址。
本申请实施例提供的数据处理方法,利用数据包中传输层头部包括的端口字段携带验证码,以便于在网络设备接收到来自反射设备的数据包后,通过验证验证码对合法数据包和非法数据包进行识别,只有合法数据包才会被转发,能够应对大部分的反射类型的拒绝服务攻击。
在一种可能的设计中,根据传输层协议号和目的端口号确定第一数据包是一个发往反射设备的流量,包括:确定反射型协议端口特征集合包括目的端口号和传输层协议号,且传输层协议号是UDP号或TCP号,则第一数据包是一个发往反射设备的流量。
在另一种可能的设计中,待认证信息还包括第一数据包包含的源IP地址、目的端口号和传输层协议号中至少一个,和/或,第一端口索引和时间参数中至少一个;源IP地址为源设备的IP地址,源设备为遭受DRDoS攻击的受保护设备,第一端口索引用于标识一个应用。
在另一种可能的设计中,第二源端口号还包括第一端口索引。
在另一种可能的设计中,在用第二源端口号替换第一源端口号之前,方法还包括:确定合法流表包括第一数据包的五元组,从合法流表中获取第一数据包的五元组对应的第二源端口号,第一数据包的五元组用于唯一标识一条网络流量,第一数据包的五元组包括源IP地址、目的IP地址、传输层协议号、第一源端口号和目的端口号。
在另一种可能的设计中,若合法流表不包括第一数据包的五元组,方法还包括:判断合法流表是否包括第一数据包中除第一源端口号的四元组;若合法流表不包括第一数据包中除第一源端口号的四元组,生成第一端口索引;若合法流表包括第一数据包的除第一源端口号的四元组,更新四元组对应的第二端口索引,得到第一端口索引。
第三方面,本申请提供了一种数据处理方法,该方法可应用于网络设备,或者该方法可应用于可以支持网络设备实现该方法的通信装置,例如该通信装置包括芯片系统,方法包括:网络设备接收第一数据包后,根据传输层协议号和第一端口号确定该第一数据包是一个来自反射设备的流量。用第二源端口号替换第一数据包包含的目的端口号,得到第二数据包;向受保护设备转发第二数据包。其中,第一数据包包括传输层协议号、第一源端口号和目的端口号,目的端口号包括验证码。
第四方面,本申请提供了一种数据处理方法,该方法可应用于网络设备,或者该方法可应用于可以支持网络设备实现该方法的通信装置,例如该通信装置包括芯片系统,方法包括:网络设备接收到第一数据包后,从第一数据包包含的目的端口字段中提取第一验证码,并根据密钥和待认证信息生成第二验证码,根据第一验证码和第二验证码确定第一数据包是否合法。若第一数据包合法,网络设备向受保护设备转发第一数据包。或者,网络设备用第二源端口号替换目的端口号,得到第二数据包;向受保护设备转发第二数据包。若第一数据包不合法,表示第一数据包不合法,丢弃第一数据包,从而可以过滤掉大量伪造的攻击流量。其中,反射设备为发送DRDoS攻击的设备。待认证信息包括第一数据包包含的源IP地址,源IP地址为反射设备的IP地址。
第五方面,本申请提供了一种数据处理方法,该方法可应用于网络设备,或者该方法可应用于可以支持网络设备实现该方法的通信装置,例如该通信装置包括芯片系统,方法包括:网络设备接收第一数据包后,用第二源端口号替换第一数据包包含的第一源端口号,得到第二数据包,发送第二数据包。其中,第二源端口号包括验证码,验证码是根据密钥和待认证信息确定的,待认证信息包括第一数据包包含的目的IP地址,目的IP地址为反射设备的IP地址。
第六方面,本申请提供了一种数据处理方法,该方法可应用于网络设备,或者该方法可应用于可以支持网络设备实现该方法的通信装置,例如该通信装置包括芯片系统,方法包括:网络设备接收到第一数据包后,用第二源端口号替换第一数据包包含的目的端口号,得到第二数据包;向受保护设备转发第二数据包。其中,第一数据包包括传输层协议号、第一源端口号和目的端口号,目的端口号包括验证码。
第七方面,本申请实施例还提供了一种通信装置,有益效果可以参见第一方面的描述此处不再赘述。所述通信装置具有实现上述第一方面或第四方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述通信装置包括:接收单元、处理单元和发送单元。接收单元,用于接收第一数据包,第一数据包包括传输层协议号、第一源端口号和目的端口号,目的端口号包括第一验证码。处理单元,用于根据传输层协议号和第一源端口号确定第一数据包是一个来自反射设备的流量。处理单元,还用于根据密钥和待认证信息生成第二验证码,待认证信息包括第一数据包包含的源IP地址,源IP地址为反射设备的IP地址。处理单元,还用于根据第一验证码和第二验证码确定第一数据包是否合法。处理单元,还用于用第二源端口号替换目的端口号,得到第二数据包。发送单元,用于向受保护设备转发第一数据包或第二数据包,第二数据包包括第二源端口号。这些单元可以执行上述第一方面或第四方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第八方面,本申请实施例还提供了一种通信装置,有益效果可以参见第二方面的描述此处不再赘述。所述通信装置具有实现上述第二方面或第五方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,该通信装置包括:接收单元、处理单元和发送单元。接收单元,用于接收第一数据包,第一数据包包括传输层协议号、第一源端口号和目的端口号。处理单元,用于根据传输层协议号和目的端口号确定第一数据包是一个发往反射设备的流量。处理单元,还用于用第二源端口号替换第一源端口号,得到第二数据包,第二源端口号包括验证码,验证码是根据密钥和待认证信息确定的,待认证信息包括第一数据包包含的目的IP地址,目的IP地址为反射设备的IP地址。发送单元,用于发送第二数据包。这些模块可以执行上述第二方面或第五方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第九方面,本申请实施例还提供了一种通信装置,有益效果可以参见第三方面的描述此处不再赘述。所述通信装置具有实现上述第三方面或第六方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,该通信装置包括:接收单元、处理单元和发送单元。接收单元,用于接收第一数据包;处理单元,用于根据传输层协议号和第一端口号确定该第一数据包是一个来自反射设备的流量;处理单元,还用于用第二源端口号替换目的端口号,得到第二数据包。发送单元,用于向受保护设备转发第二数据包。其中,第一数据包包括传输层协议号、第一源端口号和目的端口号,目的端口号包括第一验证码。这些模块可以执行上述第三方面或第六方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第十方面,提供了一种通信装置,该通信装置可以为上述方法实施例中的网络设备,或者为设置在网络设备中的芯片。该通信装置包括接口电路以及处理器,可选的,还包括存储器。其中,该存储器用于存储计算机程序或指令,处理器与存储器、接口电路耦合,当处理器执行所述计算机程序或指令时,使通信装置执行上述方法实施例中由网络设备所执行的方法。
第十一方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码并运行时,使得上述第一方面至第六方面中由网络设备执行的方法被执行。
第十二方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于实现上述各方面的方法中网络设备的功能。在一种可能的设计中,所述芯片系统还包括存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
第十三方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当该计算机程序被运行时,实现上述第一方面至第六方面中由网络设备执行的方法。
本申请中,网络设备和数据处理装置的名字对设备本身不构成限定,在实际实现中,这些设备可以以其他名称出现。只要各个设备的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
附图说明
图1为现有技术提供的一种DRDoS攻击示例图;
图2为本申请一实施例提供的通信系统的架构示例图;
图3为本申请一实施例提供的数据处理方法的流程图;
图4为本申请一实施例提供的数据处理方法的流程图;
图5为本申请一实施例提供的IPv4数据包的结构示意图;
图6为本申请一实施例提供的源端口号的结构示意图;
图7为本申请一实施例提供的数据处理方法的流程图;
图8为本申请一实施例提供的数据处理方法的流程图;
图9为本申请一实施例提供的数据处理方法的流程图;
图10为本申请一实施例提供的数据处理方法的流程图;
图11为本申请一实施例提供的数据处理方法的流程图;
图12为本申请一实施例提供的数据处理装置的结构示意图;
图13为本申请一实施例提供的数据处理装置的结构示意图。
具体实施方式
本申请说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍:
分布式反射拒绝服务(Distributed Reflection Denial of Service,DRDoS)攻击与分布式拒绝服务(Distributed Denial of Service,DDoS)攻击的不同之处在于,在攻击之前攻击者不需要占领大量的受控设备,攻击者只用很少的资源向受控设备发送源互联网协议(Internet Protocol,IP)地址为受保护设备的IP地址的数据包,受控设备对受保护设备做出大量回应,从而成功攻击受保护设备。
图1为本申请实施例提供的一种DRDoS攻击原理示意图。受控设备指由攻击设备直接控制的设备。攻击设备在得知受保护设备(比如服务器)的IP地址之后,即可控制多个受控设备以受保护设备的IP地址IPVIC作为源IP地址,将反射设备的IP地址IPn作为目的地址,将伪造了源地址的数据包发向反射设备,即向大量分布式部署的反射设备发送服务请求。每个反射设备在接收到来自受控设备的服务请求之后,即可向受保护设备发送用于攻击受保护设备的数据包。通过发送少量的攻击流量请求给分布式可利用的反射设备,被利用的反射设备将流量放大到几十倍甚至十几万倍返回给受保护设备,大量被放大的反射流量汇聚到受保护设备,致使受保护设备资源耗尽,不能向正常用户提供服务,形成DRDOS攻击。然而,受保护设备在受到DRDOS攻击的过程中,由反射设备向受保护设备发送的数据包,不仅包括用于攻击受保护设备的数据包,还可能包括并非用于攻击受保护设备的合法数据包,比如反射设备对来自受保护设备的服务请求进行响应以发出的响应数据包、反射设备主动发出的、用于请求受保护设备向其提供特定服务的请求数据包。
所谓受保护设备可以理解为是攻击者可能攻击的设备,例如,在本申请的实施例中受保护设备可以是应用服务器、路由器或物联网(Internet of Things,IoT)中的设备等,本申请对此不作限定。例如,IoT设备可以是消防报警设备等。如果消防报警设备遭受攻击,使其不能感应火灾进行报警,从而使其无法往外发送报警消息,带来严重的安全威胁。在下文中,以受保护设备是应用服务器进行举例说明。
黑客往往会选择那些响应包远大于请求包的服务来利用,这样才可以以较小的流量换取更大的流量,获得几倍甚至几十倍的放大效果。一般来说,反射设备包括但不限于域名系统(Domain Name System,DNS)服务器、网络时间协议(Network Time Protocol,NTP)服务器、简单服务发现协议(Simple Service Discovery Protocol,SSDP)服务器、简单网络管理协议(SNMP,simple network management protocol)服务器、轻量目录访问协议(LDAP,lightweight directory access protocol)服务器、Chargen服务器和Memcached服务器等。
由于DRDos攻击成本很低,攻击能力很强,如Memcached服务器的反射放大能力很强(放大十几万倍,单次攻击流量达到1.94Tbps[5万倍]),DNS服务器和NTP服务器均能将流量放大几十倍,使得DRDoS攻击手段赋予了攻击者四两拨千斤的能力,因此,DRDoS是大部分DRDoS攻击黑市中引导服务(booter service)惯用的手段。
由于被反射的攻击流量中的源地址是真实的,当前解决方案没有办法使受保护设备前侧的网络设备具备在网络层或传输层快速区分反射型攻击流量和合法流量的能力。
下面将结合附图对本申请实施例的实施方式进行详细描述。
图2示出的是可以应用于本申请实施例的通信系统的架构示例图。如图2所示,该通信系统包括至少一个终端201、互联网络和数据中心。互联网络可以是互联网服务提供商(Internet Service Provider,ISP)网络。ISP可以是指向广大用户综合提供互联网接入业务、信息业务和增值业务的电信运营商。互联网络包括至少一个网络设备(如:网络设备202和网络设备203)。在本文中,网络设备可以是路由器、交换机、负载均衡器或专用防火墙。例如,网络设备202是部署在电信运营商网络靠近数据中心的网络设备。网络设备203是部署在数据中心的出口处的网络设备。比如,网络设备203是云数据中心中的出口路由器,也可以是云数据中心的高防中心与运营商网络相连的链路上的网络设备。互联网络还包括反射设备204,反射设备204为容易被黑客利用发送DRDoS攻击的设备。所述数据中心包括至少一个应用服务器205。多个应用服务器可以是独立的不同的物理设备,也可以是将多个应用服务器的功能集成在同一个物理设备上(如:云服务提供商管辖范围内的多个应用服务器),还可以是一个物理设备上集成了部分应用服务器的功能。每个应用服务器上可以运行一个或多个服务(如:游戏服务)。服务也可称为应用。每个服务可以部署在多个应用服务器上,由多个应用服务器支持运行。终端201通过无线或有线的方式与网络设备相连。网络设备将通过无线或有线方式连接。网络设备通过无线或有线方式与应用服务器205连接。终端可以是固定位置的,也可以是可移动的。图2只是示意图,该通信系统中还可以包括其它设备,如还可以包括无线中继设备和无线回传设备,在图2中未画出。本申请的实施例对该通信系统中包括的终端、网络设备和应用服务器的数量不做限定。
其中,终端(Terminal)201也可以称为终端设备、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端401可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(Virtual Reality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制(industrialcontrol)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remotemedical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对终端所采用的具体技术和具体设备形态不做限定。
终端201与应用服务器205之间通过发送数据包传输数据。数据包包括五元组。五元组能够区分不同会话,并且对应的会话是唯一的。五元组包括源IP地址、目的IP地址、传输层协议号、源端口号和目的端口号。例如,IP地址为192.168.1.1的设备通过端口10000,利用TCP,与IP地址为121.14.88.76,且端口为80的设备进行连接,传输数据。TCP的协议号为6。五元组为192.168.1.1 10000 6 121.14.88.76 80。
应理解,传输层协议号为TCP的协议号或UDP的协议号。UDP的协议号为17。
网络设备(如网络设备203或网络设备202)接收到来自应用服务器205的数据包时,通过传输层协议和目的端口号判断该数据包是否是发往反射设备204的数据包,如果是发往反射设备204的数据包,则用第二源端口号替换数据包包含的第一源端口号,即用第二源端口号替换指示应用服务器205运行的应用的端口号,第二源端口号中嵌入验证码。验证码的生成算法中,绑定了数据包的头部信息,例如,源IP地址和目的IP地址。
进而,网络设备(如网络设备203或网络设备202)接收到发往应用服务器205的数据包时,通过传输层协议和第一源端口号判断该数据包是否是一个来自反射设备204的数据包。如果是来自反射设备204的数据包,则从该数据包中提取出待认证信息,以及从目的端口号中提取第一验证码,利用密钥和待认证信息生成第二验证码,根据第二验证码和第一验证码确定该数据包是否合法。例如,若第二验证码与第一验证码相同,确定该数据包合法;若第二验证码与第一验证码不同,确定该数据包不合法,丢弃数据包。待认证信息包括源IP地址和目的IP地址等。
由于应用服务器205的端口号已替换为第二源端口号,在网络设备接收到发往应用服务器205的数据包时,为了避免网络设备无法将数据包传输至应用服务器205,将第二源端口号替换为应用服务器205的端口号。
需要说明的是,端口号指示应用层的协议,也可以指示应用程序的某个线程。端口号主要用于指示处理上层应用的数据的进程或者线程。在本申请中,网络设备接收到发往反射设备的第一数据包后,用第二源端口号替换第一数据包包含的第一源端口号,替换后的第二源端口号不指示处理上层应用的数据的进程或者线程,而是表示携带了验证码的信息。可选的,第二源端口号还包括端口索引,端口索引用于区分不同的服务,具体指示一个服务,即应用服务器205与反射设备204支持运行的服务。
进而,以便于网络设备接收到来自反射设备的第二数据包后,从第二数据包包含的目的端口号中提取验证码,验证第二数据包是否合法,若第二数据包合法,转发第二数据包;若第二数据包不合法,丢弃第二数据包。应理解,第二数据包为第一数据包的响应数据包,第二数据包中目的端口字段填充的内容就是第一数据包中源端口字段填充的内容,即第二数据包包含的目的端口号与第一数据包包含的第二源端口号相同。
接下来,对本申请提供的数据处理方法进行详细说明。图3为本申请一实施例提供的数据处理方法流程图,这里以网络设备203传输反射设备204与应用服务器205之间的第一服务的数据为例进行说明。如图3所示,该方法可以包括:
S301、应用服务器205向网络设备203发送第一数据包,第一数据包包括传输层协议号、第一源端口号和第一目的端口号。
S302、网络设备203接收来自应用服务器205的第一数据包。
在这里,传输层协议号为UDP号或TCP号。第一源端口号指示应用服务器205中处理第一服务的数据的进程或线程。第一目的端口号指示反射设备204中处理第一服务的数据的进程或线程。
S303、网络设备203根据传输层协议号和第一目的端口号确定第一数据包是一个发往反射设备204的流量。
网络设备203接收到第一数据包后,从第一数据包的包头中提取传输层协议号和第一目的端口号,判断反射型协议端口特征集合是否包括第一目的端口号和传输层协议号,以便确定第一数据包是否一个发往反射设备204的流量。
具体的,如图4所示,S303包括以下详细步骤。
S3031、网络设备203判断传输层协议号是否是UDP号或TCP号。
若网络设备203确定传输层协议号是UDP号或TCP号,执行S3032;若网络设备203确定传输层协议号不是UDP号或TCP号,则表示第一数据包不是一个发往反射设备204的流量,执行S306。
S3032、网络设备203判断反射型协议端口特征集合是否包括第一目的端口号。
若网络设备203确定反射型协议端口特征集合包括第一目的端口号,则表示第一数据包是一个发往反射设备204的流量,执行S304;若网络设备203确定反射型协议端口特征集合不包括第一目的端口号,则表示第一数据包不是一个发往反射设备204的流量,执行S306。反射型协议端口特征集合包含的传输层协议号和端口号指示的设备是可发送DRDoS攻击的设备。
在一些实施例中,网络设备203可以维护一个协议端口号关系。所谓协议端口号关系可以是指传输层协议和端口号的对应关系。协议端口号关系可以以表格的形式呈现。网络设备203可以存储有协议端口号关系表,协议端口号关系表包括至少一个传输层协议和端口号的对应关系。示例的,如表1所示,呈现了协议端口号对应关系。
表1
传输层协议 | 端口号 |
UDP | 53 |
UDP | 123 |
UDP | 1900 |
需要说明的是,表1只是以表格的形式示意协议端口号关系在存储设备中的存储形式,并不是对协议端口号关系在存储设备中的存储形式的限定,当然,协议端口号关系在存储设备中的存储形式还可以以其他的形式存储,本申请实施例对此不做限定。
S304、网络设备203用第二源端口号替换第一源端口号,得到第二数据包。
第二源端口号包括第一验证码。可理解的,第二源端口号设置于第一数据包中的源端口字段。对于网络设备203接收到来自反射设备204的数据包,该数据包是第一服务的流量时,第二源端口号设置于数据包中的目的端口字段。从而,以便于网络设备203根据第二源端口号包括的第一验证码验证来自反射设备204的数据包是否合法。因此,第二源端口号可以认为是一个可验证标识,并不是指示处理上层应用的数据的进程或者线程。
示例的,图5示为IPv4数据包的结构示例图。如图5中的(a)所示,IPv4数据包包括基本首部和数据部分。数据部分可以称为有效载荷(payload)或净负荷。IPv4的基本首部也可以称为IPv4的头部。IPV4头部可以依次包括如下各个字段:版本号、头部长度、服务类型、数据包总长度、重组标识、标志、段偏移量、生存时间、协议代码、头部校验和、源IP地址、目的IP地址和可选项。
如图5中的(b)所示,为TCP数据包的结构示例图。TCP数据包包含于IP数据包的数据部分内。TCP数据包包括TCP首部和TCP数据包的数据部分。TCP首部包括源端口(sourceport)、目的端口(destination port)、序列号(sequence number)、确认号(acknowledgment number)、数据偏移(header length)、保留(resv)、紧急(UGR)、确认(ACK)、推送(PSH)、复位(RST)、同步(SYN)、终止(FIN)、窗口(window size)、检验和(checksum)、紧急指针(urgent pointer)和选项(options)。关于TCP数据包的各字段具体解释可以参考现有技术的阐述,不予赘述。
第一数据包包括的第一源端口号设置于源端口字段,网络设备203用第二源端口号替换第一源端口号后,源端口字段包括第二源端口号。
在一种可能的设计中,第二源端口号还包括第一端口索引(portindex)。第一端口索引用于标识应用服务器205运行的第一服务。示例的,第二源端口号满足如下公式(1)。
SrcLoc′=PID||code (1)
其中,SrcLoc′表示第二源端口号。PID表示第一端口索引。code表示第一验证码。||表示连接符。
如图6所示,为本申请实施例提供的第一数据包中第二源端口号的组成示意图。其中,第一端口索引占源端口字段中前4比特(bit),第一验证码占源端口字段后12bit。
其中,第一验证码是根据密钥和待认证信息确定的。待认证信息包括第一数据包包含的第一目的IP地址,第一目的IP地址为反射设备204的IP地址。
可选的,待认证信息还包括第一数据包包含的第一源IP地址、第一目的端口号和传输层协议号中至少一个。第一源IP地址为应用服务器205的IP地址,应用服务器205为遭受DRDoS攻击的设备。
例如,第一验证码是根据密钥、第一目的IP地址和第一源IP地址确定的。可理解的,网络设备203利用密钥对第一目的IP地址和第一源IP地址加密得到第一验证码。第一验证码满足如下公式(2)。
code=Fkey(IPR,IPS) (2)
其中,code表示第一验证码。IPR表示第一目的IP地址。IPS表示第一源IP地址。
又如,第一验证码是根据密钥、第一目的IP地址、第一源IP地址和第一目的端口号确定的。可理解的,网络设备203利用密钥对第一目的IP地址、第一源IP地址和第一目的端口号加密得到第一验证码。
又如,第一验证码是根据密钥、第一目的IP地址、第一源IP地址、第一目的端口号和传输层协议号确定的。可理解的,网络设备203利用密钥对第一目的IP地址、第一源IP地址、第一目的端口号和传输层协议号加密得到第一验证码。
可选的,待认证信息还包括第一端口索引和时间参数中至少一个。时间参数可以是指接收第一数据包的时刻,时间参数可以是一个较粗粒度的时间单位。
可理解的,如果待认证信息包括时间参数,网络设备203接收来自应用服务器205的数据包的时刻和接收来自反射设备204的数据包的时刻相同。
又如,第一验证码是根据密钥、第一目的IP地址、第一源IP地址和第一端口索引确定的。可理解的,网络设备203利用密钥对第一目的IP地址、第一源IP地址和第一端口索引加密得到第一验证码。
第一验证码满足如下公式(3)。
code=Fkey(IPR,IPS,PID) (3)
其中,code表示第一验证码。IPR表示第一目的IP地址。IPS表示第一源IP地址。
F()表示一种密码算法。密码算法是使用带密钥的哈希算法,例如,与密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code,HMAC)。密码算法是基于对称分组密码的杂凑算法。key是密钥。code可以是密码算法的输出结果的部分。例如,密码算法输出结果的12bit的部分。
S305、网络设备203向反射设备204发送第二数据包。
S306、网络设备203转发第一数据包。
在一些实施例中,如图7所示,在用第二源端口号替换第一源端口号,即S304之前,网络设备203先获取第一端口索引,具体的以下详细步骤。
S307、网络设备203判断合法流表是否包括第一数据包的五元组。
网络设备203为每个服务维护一个服务端口对应关系。所谓服务端口对应关系可以是指端口索引、与该端口索引对应的五元组和新源端口号的对应关系。服务端口对应关系可以以表格的形式呈现。新源端口是指示上述包括第一验证码的第二源端口号。网络设备203可以存储有合法流表,合法流表包括至少一个服务端口对应关系。示例的,如表2所示,呈现了服务端口对应关系。
表2
由表2可知,不同的序号表示不同的服务的流量信息。例如,序号1表示的流量1的信息。序号2表示的流量2的信息。序号3表示的流量3的信息。
由流量1的信息可知,IP地址为192.168.1.1的设备通过端口10000,利用TCP,与IP地址为121.14.88.76,且端口为80的设备进行连接,传输数据。TCP的协议号为6。五元组为192.168.1.1 10000 6 121.14.88.76 80。
由流量2的信息可知,序号2表示的第二条记录可知,IP地址为192.168.1.1的设备通过端口5000,利用TCP,与IP地址为121.14.88.76,且端口为80的设备进行连接,传输数据。五元组为192.168.1.1 5000 6 121.14.88.76 80。
由流量3的信息可知,序号3表示的第三条记录可知,IP地址为192.168.1.1的设备通过端口3000,利用TCP,与IP地址为121.14.88.76,且端口为100的设备进行连接,传输数据。五元组为192.168.1.1 3000 6 121.14.88.76 100。
由于流量1的信息和流量2的信息中仅源端口号不同,即流量1的信息和流量2的信息包括相同的四元组,表示流量1和流量2是同一个源设备向同一个目的设备发送的不同服务的流量。
端口索引用于区分不同的服务的流量。源IP地址、目的IP地址、传输层协议和目的端口号相同的情况下,可以使用不同的端口索引区分不同的流。端口索引的初始值为1,从而避免新源端口号落入常用端口号0-4096区间。
需要说明的是,表2只是以表格的形式示意服务端口对应关系在存储设备中的存储形式,并不是对服务端口对应关系在存储设备中的存储形式的限定,当然,服务端口对应关系在存储设备中的存储形式还可以以其他的形式存储,本申请实施例对此不做限定。
若合法流表包括第一数据包的五元组,表示网络设备203已向反射设备204发送过数据,网络设备203存储有第一数据包的五元组信息,执行S308;若合法流表不包括第一数据包的五元组,表示网络设备203未向反射设备204发送过数据,执行S309。所述第一数据包的五元组用于唯一标识第一服务的网络流量。所述第一数据包的五元组包括第一源IP地址、第一目的IP地址、传输层协议号、第一源端口号和第一目的端口号。
S308、网络设备203从合法流表中获取第一数据包的五元组对应的第二源端口号。
例如,第一数据包的五元组包括流量1的信息,第二源端口号为23101。
S309、网络设备203判断合法流表是否包括第一数据包中除第一源端口号的四元组。
若合法流表不包括第一数据包中除第一源端口号的四元组,表示网络设备203未向反射设备204发送过数据,执行S310;若合法流表包括第一数据包的除第一源端口号的四元组,表示网络设备203向反射设备204发送过数据,但是网络设备203未向反射设备204发送过第一服务的数据,执行S311。
S310、网络设备203生成第一端口索引。
可理解的,网络设备203在合法流表新增一条记录,设置第一数据包的五元组,并设置第一端口索引为1。执行S312。
S311、网络设备203更新四元组对应的第二端口索引,得到第一端口索引。
可理解的,第二端口索引用于指示网络设备203向反射设备204发送的非第一服务的数据,为了区分第一服务和其他服务,可以更新第二端口索引得到第一端口索引。例如,网络设备203在合法流表新增一条记录,设置第一数据包的五元组,并设置第一端口索引为第二端口索引加1。执行S312。
S312、网络设备203根据密钥和待认证信息生成第一验证码,以及根据第一验证码生成第二源端口号。
关于生成第一验证码和第二源端口号具体方法可以参考上述S304的阐述,不予赘述。
进一步的,网络设备203接收到来自反射设备204的数据包后,可以根据第一验证码验证接收到的数据包的合法性,从而过滤非法流量。如图8所示,具体的参考以下S313至S318的详述。
S313、网络设备203接收第三数据包,第三数据包包括传输层协议号、第三源端口号和第二目的端口号。
S314、网络设备203根据传输层协议号和第三源端口号确定第三数据包是一个来自反射设备204的流量。
通常,源端口号指示源设备处理服务的数据的进程或线程。目的端口号指示目的设备处理服务的数据的进程或线程。在这里,第三源端口号指示反射设备204中处理第一服务的数据的进程或线程。
应理解,由于网络设备203向反射设备204发送第二数据包时,用第二源端口号替换第一源端口号。此时,第二源端口号设置于第三数据包中的目的端口字段,即第二目的端口号可以理解为第二源端口号。第二目的端口号包括第一验证码。
可选的,第一验证码为该第三数据包包括的目的端口字段中的一个组成部分。例如,第二目的端口号还包括第一端口索引。第二目的端口号的组成可参考图6所示,其中,第一端口索引占目的端口字段中前4bit,第一验证码占目的端口字段后12bit。
网络设备203接收到第三数据包后,从第三数据包的包头中提取传输层协议号和第三源端口号,判断反射型协议端口特征集合是否包括第三源端口号和传输层协议号,以便确定第三数据包是否一个来自反射设备204的流量。
具体的,如图9所示,步骤S314包括以下详细步骤。
S3141、网络设备203判断传输层协议号是否是UDP号或TCP号。
若网络设备203确定传输层协议号是UDP号或TCP号,执行S3142;若网络设备203确定传输层协议号不是UDP号或TCP号,则表示第三数据包不是一个来自反射设备204的流量,执行S319。
S3142、网络设备203判断反射型协议端口特征集合是否包括第三源端口号。
若网络设备203确定反射型协议端口特征集合包括第三源端口号,则表示第三数据包是一个来自反射设备204的流量,执行S315;若网络设备203确定反射型协议端口特征集合不包括第三源端口号,则表示第三数据包不是一个来自反射设备204的流量,执行S319。关于反射型协议端口特征集合的解释可以参考上述S302的阐述,不予赘述。
需要说明的是,若第三数据包不是一个来自反射设备204的流量,第二目的端口号指示应用服务器205运行的第一服务的进程或线程,即应用服务器205通过该第二目的端口号指示的端口接收第一服务的数据。
若第三数据包是一个来自反射设备204的流量,第二目的端口号包括第一验证码。第二目的端口号并非指示应用服务器205运行的第一服务的进程或线程,而是一个可验证的标识,用于区分合法流量和非法流量。
S315、网络设备203根据密钥和待认证信息生成第二验证码。
待认证信息包括第二源IP地址,第二源IP地址为反射设备204的IP地址。
可选的,待认证信息还包括第三数据包包含的第二目的IP地址、第三源端口号和传输层协议号中至少一个。第二目的IP地址为应用服务器205的IP地址。
可选的,待认证信息还包括第一端口索引和时间参数中至少一个。
网络设备203可以从第二目的端口号中获取第一端口索引,即获取第二目的端口号中前4比特的数据,即第一端口索引。或者,网络设备203可以从合法流表中获取第三数据包的五元组对应的第一端口索引。
需要说明的是,生成第二验证码的方法与生成第一验证码的方法相同,这样才能保证第一验证码和第二验证码相同。生成第二验证码的具体方式可以参考上述S303中生成第一验证码的阐述,不予赘述。
S316、网络设备203根据第一验证码和第二验证码确定第三数据包是否合法。
网络设备203可以从第二目的端口号中获取第一验证码,即获取第二目的端口号中后12比特的数据,即第一验证码。
具体的,网络设备203可以比较第一验证码和第二验证码,如果第一验证码和第二验证码相同,确定第三数据包合法;如果第一验证码和第二验证码不同,确定第三数据包不合法。
若第三数据包合法,执行S317;若第三数据包不合法,丢弃第三数据包。
可理解的,如果第三数据包是来自反射设备204的非法数据包,由于攻击者无法获取到第一验证码,第二目的端口号并不包括第一验证码,或者,第一验证码并不是反射设备204通过接收来自网络设备203的第二数据包得到的,可能是攻击者自创的。此时,网络设备203生成的第二验证码与第一验证码不同,从而通过验证传输层的目的端口字段的值,过滤大部分非法流量。
S317、网络设备203用第一源端口号替换第二目的端口号,得到第四数据包。
可理解的,网络设备203用第一源端口号替换第二源端口号,得到第四数据包。
示例的,假设反射设备204的IP地址为121.14.88.76,应用服务器205的IP地址为192.168.1.1,应用服务器205发送并接收第一服务的数据的端口为10000,反射设备204发送并接收第一服务的数据的端口为80。应用服务器205向反射设备204发送的第一数据包包括的五元组中,第一源IP地址为192.168.1.1,第一目的IP地址为121.14.88.76,传输层协议TCP,第一源端口号为10000,第一目的端口号为80。网络设备203用第二源端口号替换第一源端口号后,源端口字段设置为23101,得到第二数据包。
网络设备203接收到的第三数据包包括的五元组中,第二源IP地址为反射设备204的IP地址,即121.14.88.76,第二目的IP地址为应用服务器205的IP地址,即192.168.1.1,传输层协议TCP,第二源端口号为反射设备204发送第一服务的数据的出端口为80,第二目的端口号为第二源端口号,即23101。网络设备203用第一源端口号替换第二目的端口号后,目的端口字段设置为10000,得到第四数据包。
S318、网络设备203向应用服务器205转发第四数据包。
S319、网络设备203转发第三数据包。
在一些实施例中,如图10所示,在用第一源端口号替换第二源端口号,即S317之前,网络设备203先获取第一源端口号,具体的以下详细步骤。
S320、网络设备203确定合法流表包括第三数据包的五元组,从合法流表中获取第三数据包的五元组对应的第一源端口号。
可理解的,网络设备203在向反射设备204发送第二数据包前,已经在合法流表中生成了反射设备204与应用服务器205之间进行第一服务的数据交互的五元组信息。其中,该条记录还包括第一端口索引,以及用于替换第一源端口号的第二源端口号,因此,网络设备203可以根据第一数据包的五元组获取对应的第一源端口号。
需要说明的是,第三数据包中的第二源IP地址为第一数据包中的第一目的IP地址,第二源IP地址对应合法流表中记录的目的IP。
第三数据包中的第二目的IP地址为第一数据包中的第一源IP地址,第二目的IP地址对应合法流表中记录的源IP。
第三数据包中的传输层协议号和第一数据包中的传输层协议号均对应合法流表中记录的传输层协议号。
第三数据包中的第三源端口号为第一数据包中的第一目的端口号,第三源端口号对应合法流表中记录的目的端口号。
第三数据包中的第二目的端口号为替换第一数据包中的第一源端口号后的第二源端口号,第二目的端口号对应合法流表中记录的新源端口号。
网络设备203可以根据第三数据包包含的五元组,即第二源IP地址、第二目的IP地址、传输层协议号、第三源端口号和第二目的端口号,从合法流表中获取第三数据包的五元组对应的第一源端口号,即合法流表中第三数据包的五元组对应的新源端口号,用合法流表中的新源端口号替换第三数据包中的第二目的端口号,得到第四数据包。
此时,若第三数据包合法,执行S320,再执行S317。
上述在源端口号中嵌入验证码的功能,以及利用在端口字段中的内容验证数据包是否合法的功能,可以在一个网络设备(如:网络设备202或网络设备203)中实现,也可以在不同的网络设备中实现。图11本申请一实施例提供的数据处理方法流程图,这里以反射设备204与应用服务器205之间传输第一服务的数据,网络设备203对来自应用服务器205的数据包中的源端口号进行替换,网络设备202对发往应用服务器205的数据包进行验证为例进行说明。如图11所示,该方法可以包括:
S1101、应用服务器205向网络设备203发送第一数据包,第一数据包包括传输层协议号、第一源端口号和第一目的端口号。
S1102、网络设备203接收来自应用服务器205的第一数据包。
S1103、网络设备203根据传输层协议号和第一目的端口号确定第一数据包是一个发往反射设备204的流量。
S1104、网络设备203用第二源端口号替换第一源端口号,得到第二数据包。
S1105、网络设备203向反射设备204发送第二数据包。
S1101至S1105的具体解释可以参考上述S301至S305的阐述,不予赘述。
S1106、网络设备202接收第三数据包,第三数据包包括传输层协议号、第三源端口号和第二目的端口号,第二目的端口号包括第一验证码。
S1107、网络设备202根据传输层协议号和第三源端口号确定第三数据包是一个来自反射设备204的流量。
S1108、网络设备202根据密钥和待认证信息生成第二验证码。
网络设备203将用于生成第一验证码的密钥共享给网络设备202,以便于网络设备202根据共享的密钥和待认证信息生成第二验证码。
S1109、网络设备202根据第一验证码和第二验证码确定第三数据包是否合法。
若第三数据包合法,执行S1110;若第三数据包不合法,丢弃第三数据包。
S1106至S1109的具体解释可以参考上述S313至S316的阐述,不予赘述。
S1110、网络设备202转发第三数据包。
S1111、网络设备203接收第三数据包。
S1112、网络设备203根据传输层协议号和第三源端口号确定第三数据包是一个来自反射设备204的流量。
S1113、网络设备203确定合法流表包括第三数据包的五元组,从合法流表中获取第三数据包的五元组对应的第一源端口号。
S1114、网络设备203用第一源端口号替换第二目的端口号,得到第四数据包。
S1112至S1114的具体解释可以参考上述S314、S320和S317的阐述,不予赘述。
S1115、网络设备203向应用服务器205转发第四数据包。
本申请实施例提供的数据处理方法,利用数据包中传输层头部包括的端口字段携带可验证标记,在网络设备接收到来自反射设备的数据包后,通过验证可验证标记对合法数据包和非法数据包进行识别,只有合法数据包才会被转发,能够应对大部分的反射类型的拒绝服务攻击。相对于黑洞技术,本申请实施例提供的数据处理方法能够确保合法流量被转发,避免合法流量被黑洞丢弃,网络设备过滤大部分的DRDoS攻击流量。相对于流量清洗技术,本申请实施例提供的数据处理方法能够降低深层协议解析带来的处理合法流量的延迟。另外,由于可验证标识可以内嵌在目的端口字段中,使得网络设备不需要处理应用层数据,可以直接在传输层进行过滤,降低防御DRDoS攻击的成本,不依赖于跨域协作。
可以理解的是,为了实现上述实施例中功能,网络设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
图12和图13为本申请的实施例提供的可能的数据处理装置的结构示意图。这些数据处理装置可以用于实现上述方法实施例中网络设备的功能,因此也能实现上述方法实施例所具备的有益效果。在本申请的实施例中,该数据处理装置可以是如图2所示的网络设备202或网络设备203,还可以是应用于网络设备的模块(如芯片)。
如图12所示,数据处理装置1200包括接收单元1210、处理单元1220和发送单元1230。数据处理装置1200用于实现上述图3、图4、图7、图8、图9、图10或图11中所示的方法实施例中网络设备的功能。
当数据处理装置1200用于实现图3所示的方法实施例中网络设备203的功能时:接收单元1210用于执行S302;处理单元1220用于执行S303和S304;发送单元1230用于执行S305。
当数据处理装置1200用于实现图4所示的方法实施例中网络设备203的功能时:接收单元1210用于执行S302;处理单元1220用于执行S3031、S3032和S304;发送单元1230用于执行S305和S306。
当数据处理装置1200用于实现图7所示的方法实施例中网络设备203的功能时:接收单元1210用于执行S302;处理单元1220用于执行S3031、S3032和S304,以及S307至S312;发送单元1230用于执行S305和S306。
当数据处理装置1200用于实现图8所示的方法实施例中网络设备203的功能时:接收单元1210用于执行S302和S313;处理单元1220用于执行S3031、S3032和S304,以及S307至S312,以及S314至S317;发送单元1230用于执行S305、S306和S318。
当数据处理装置1200用于实现图9所示的方法实施例中网络设备203的功能时:接收单元1210用于执行S302和S313;处理单元1220用于执行S3031、S3032和S304,以及S307至S312,以及S3141、S3142至S317;发送单元1230用于执行S305、S306、S318和S319。
当数据处理装置1200用于实现图10所示的方法实施例中网络设备203的功能时:接收单元1210用于执行S302和S313;处理单元1220用于执行S3031、S3032和S304,以及S307至S312,以及S3141、S3142至S317,以及S320;发送单元1230用于执行S305、S306、S318和S319。
当数据处理装置1200用于实现图11所示的方法实施例中网络设备203的功能时:接收单元1210用于执行S1102和S1111;处理单元1220用于执行S1103、S1104、S1112、S1113和S1114;发送单元1230用于执行S1105和S1115。
当数据处理装置1200用于实现图11所示的方法实施例中网络设备202的功能时:接收单元1210用于执行S1106;处理单元1220用于执行S1107至S1109;发送单元1230用于执行S1110。
有关上述接收单元1210、处理单元1220和发送单元1230更详细的描述可以直接参考图3、图4、图7、图8、图9、图10或图11所示的方法实施例中相关描述直接得到,这里不加赘述。
如图13所示,数据处理装置1300包括处理器1310和接口电路1320。处理器1310和接口电路1320之间相互耦合。可以理解的是,接口电路1320可以为收发器或输入输出接口。可选的,数据处理装置1300还可以包括存储器1330,用于存储处理器1310执行的指令或存储处理器1310运行指令所需要的输入数据或存储处理器1310运行指令后产生的数据。
当数据处理装置1300用于实现图3、图4、图7、图8、图9、图10或图11所示的方法时,处理器1310用于执行上述处理单元1220的功能,接口电路1320用于执行上述接收单元1210和发送单元1230的功能。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系;在本申请的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
Claims (29)
1.一种数据处理方法,其特征在于,包括:
接收第一数据包,所述第一数据包包括传输层协议号、第一源端口号和目的端口号,所述目的端口号包括第一验证码;
根据所述传输层协议号和所述第一源端口号确定所述第一数据包是一个来自反射设备的流量,所述反射设备为发送分布式反射拒绝服务DRDoS攻击的设备;
根据密钥和待认证信息生成第二验证码,所述待认证信息包括所述第一数据包包含的源互联网协议IP地址,所述源IP地址为所述反射设备的IP地址;
根据所述第一验证码和所述第二验证码确定所述第一数据包是否合法。
2.根据权利要求1所述的方法,其特征在于,根据所述传输层协议号和所述第一源端口号确定所述第一数据包是一个来自反射设备的流量,包括:
确定反射型协议端口特征集合包括所述第一源端口号和所述传输层协议号,且所述传输层协议号是用户数据报协议UDP号或传输控制协议TCP号,则所述第一数据包是一个来自所述反射设备的流量。
3.根据权利要求1或2所述的方法,其特征在于,所述待认证信息还包括所述第一数据包包含的目的IP地址、所述第一源端口号和所述传输层协议号中至少一个,和/或,端口索引和时间参数中至少一个;所述目的IP地址为受保护设备的IP地址,所述受保护设备为遭受DRDoS攻击的设备,所述端口索引用于标识一个应用。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述目的端口号还包括端口索引。
5.根据权利要求1-4中任一项所述的方法,其特征在于,若所述第一数据包合法,所述方法还包括:
向受保护设备转发所述第一数据包。
6.根据权利要求1-4中任一项所述的方法,其特征在于,若所述第一数据包合法,所述方法还包括:
用第二源端口号替换所述目的端口号,得到第二数据包;
向受保护设备转发所述第二数据包。
7.根据权利要求6所述的方法,其特征在于,在所述用第二源端口号替换所述目的端口号之前,所述方法还包括:
确定合法流表包括所述第一数据包的五元组,从所述合法流表中获取所述第一数据包的五元组对应的所述第二源端口号,所述第一数据包的五元组用于唯一标识一条网络流量,所述第一数据包的五元组包括所述源IP地址、目的IP地址、所述传输层协议号、所述第一源端口号和所述目的端口号。
8.一种数据处理方法,其特征在于,包括:
接收第一数据包,所述第一数据包包括传输层协议号、第一源端口号和目的端口号;
根据所述传输层协议号和所述目的端口号确定所述第一数据包是一个发往反射设备的流量,所述反射设备为发送分布式反射拒绝服务DRDoS攻击的设备;
用第二源端口号替换所述第一源端口号,得到第二数据包,所述第二源端口号包括验证码,所述验证码是根据密钥和待认证信息确定的,所述待认证信息包括所述第一数据包包含的目的互联网协议IP地址,所述目的IP地址为所述反射设备的IP地址;
发送所述第二数据包。
9.根据权利要求8所述的方法,其特征在于,根据所述传输层协议号和所述目的端口号确定所述第一数据包是一个发往反射设备的流量,包括:
确定反射型协议端口特征集合包括所述目的端口号和所述传输层协议号,且所述传输层协议号是用户数据报协议UDP号或传输控制协议TCP号,则所述第一数据包是一个发往所述反射设备的流量。
10.根据权利要求8或9所述的方法,其特征在于,所述待认证信息还包括所述第一数据包包含的源IP地址、所述目的端口号和所述传输层协议号中至少一个,和/或,第一端口索引和时间参数中至少一个;所述源IP地址为源设备的IP地址,所述源设备为遭受DRDoS攻击的受保护设备,所述第一端口索引用于标识一个应用。
11.根据权利要求8-10中任一项所述的方法,其特征在于,所述第二源端口号还包括第一端口索引。
12.根据权利要求8-11中任一项所述的方法,其特征在于,在所述用第二源端口号替换所述第一源端口号之前,所述方法还包括:
确定合法流表包括所述第一数据包的五元组,从所述合法流表中获取所述第一数据包的五元组对应的所述第二源端口号,所述第一数据包的五元组用于唯一标识一条网络流量,所述第一数据包的五元组包括源IP地址、所述目的IP地址、所述传输层协议号、所述第一源端口号和所述目的端口号。
13.根据权利要求12所述的方法,其特征在于,若所述合法流表不包括所述第一数据包的五元组,所述方法还包括:
判断所述合法流表是否包括所述第一数据包中除所述第一源端口号的四元组;
若所述合法流表不包括所述第一数据包中除所述第一源端口号的四元组,生成第一端口索引;
若所述合法流表包括所述第一数据包的除所述第一源端口号的四元组,更新所述四元组对应的第二端口索引,得到第一端口索引。
14.根据权利要求1-13中任一项所述的方法,其特征在于,所述反射设备为域名系统设备、网络时间协议设备或简单网络管理协议设备。
15.一种数据处理装置,其特征在于,包括:
接收单元,用于接收第一数据包,所述第一数据包包括传输层协议号、第一源端口号和目的端口号,所述目的端口号包括第一验证码;
处理单元,用于根据所述传输层协议号和所述第一源端口号确定所述第一数据包是一个来自反射设备的流量,所述反射设备为发送分布式反射拒绝服务DRDoS攻击的设备;
所述处理单元,还用于根据密钥和待认证信息生成第二验证码,所述待认证信息包括所述第一数据包包含的源互联网协议IP地址,所述源IP地址为所述反射设备的IP地址;
所述处理单元,还用于根据所述第一验证码和所述第二验证码确定所述第一数据包是否合法。
16.根据权利要求15所述的装置,其特征在于,所述处理单元具体用于:
确定反射型协议端口特征集合包括所述第一源端口号和所述传输层协议号,且所述传输层协议号是用户数据报协议UDP号或传输控制协议TCP号,则所述第一数据包是一个来自所述反射设备的流量。
17.根据权利要求15或16所述的装置,其特征在于,所述待认证信息还包括所述第一数据包包含的目的IP地址、所述第一源端口号和所述传输层协议号中至少一个,和/或,端口索引和时间参数中至少一个;所述目的IP地址为受保护设备的IP地址,所述受保护设备为遭受DRDoS攻击的设备,所述端口索引用于标识一个应用。
18.根据权利要求15-17中任一项所述的装置,其特征在于,所述目的端口号还包括端口索引。
19.根据权利要求15-18中任一项所述的装置,其特征在于,所述装置还包括发送单元,其中,若所述第一数据包合法,
所述发送单元,用于向受保护设备转发所述第一数据包。
20.根据权利要求15-18中任一项所述的装置,其特征在于,
所述处理单元,还用于用第二源端口号替换所述目的端口号,得到第二数据包;
所述装置还包括发送单元,其中,若所述第一数据包合法,
所述发送单元,用于向受保护设备转发所述第二数据包。
21.根据权利要求20所述的装置,其特征在于,
所述处理单元,还用于确定合法流表包括所述第一数据包的五元组,从所述合法流表中获取所述第一数据包的五元组对应的所述第二源端口号,所述第一数据包的五元组用于唯一标识一条网络流量,所述第一数据包的五元组包括所述源IP地址、目的IP地址、所述传输层协议号、所述第一源端口号和所述目的端口号。
22.一种数据处理装置,其特征在于,包括:
接收单元,用于接收第一数据包,所述第一数据包包括传输层协议号、第一源端口号和目的端口号;
处理单元,用于根据所述传输层协议号和所述目的端口号确定所述第一数据包是一个发往反射设备的流量,所述反射设备为发送分布式反射拒绝服务DRDoS攻击的设备;
所述处理单元,还用于用第二源端口号替换所述第一源端口号,得到第二数据包,所述第二源端口号包括验证码,所述验证码是根据密钥和待认证信息确定的,所述待认证信息包括所述第一数据包包含的目的互联网协议IP地址,所述目的IP地址为所述反射设备的IP地址;
发送单元,用于发送所述第二数据包。
23.根据权利要求22所述的装置,其特征在于,所述处理单元具体用于:
确定反射型协议端口特征集合包括所述目的端口号和所述传输层协议号,且所述传输层协议号是用户数据报协议UDP号或传输控制协议TCP号,则所述第一数据包是一个发往所述反射设备的流量。
24.根据权利要求22或23所述的装置,其特征在于,所述待认证信息还包括所述第一数据包包含的源IP地址、所述目的端口号和所述传输层协议号中至少一个,和/或,第一端口索引和时间参数中至少一个;所述源IP地址为源设备的IP地址,所述源设备为遭受DRDoS攻击的受保护设备,所述第一端口索引用于标识一个应用。
25.根据权利要求22-24中任一项所述的装置,其特征在于,所述第二源端口号还包括第一端口索引。
26.根据权利要求22-25中任一项所述的装置,其特征在于,
所述处理单元,还用于确定合法流表包括所述第一数据包的五元组,从所述合法流表中获取所述第一数据包的五元组对应的所述第二源端口号,所述第一数据包的五元组用于唯一标识一条网络流量,所述第一数据包的五元组包括源IP地址、所述目的IP地址、所述传输层协议号、所述第一源端口号和所述目的端口号。
27.根据权利要求26所述的装置,其特征在于,若所述合法流表不包括所述第一数据包的五元组,所述处理单元,还用于:
判断所述合法流表是否包括所述第一数据包中除所述第一源端口号的四元组;
若所述合法流表不包括所述第一数据包中除所述第一源端口号的四元组,生成第一端口索引;
若所述合法流表包括所述第一数据包的除所述第一源端口号的四元组,更新所述四元组对应的第二端口索引,得到第一端口索引。
28.一种数据处理装置,其特征在于,包括:至少一个处理器、存储器和总线,其中,所述存储器用于存储计算机程序,使得所述计算机程序被所述至少一个处理器执行时实现如权利要求1-7中任一项所述的数据处理方法,或者如权利要求8-14中任一项所述的数据处理方法。
29.一种计算机可读存储介质,其特征在于,包括:计算机软件指令;
当所述计算机软件指令在计算机设备或内置在计算机设备的芯片中运行时,使得所述计算机设备执行如权利要求1-7中任一项所述的数据处理方法,或者如权利要求8-14中任一项所述的数据处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010480846.5A CN113746788A (zh) | 2020-05-30 | 2020-05-30 | 一种数据处理方法及装置 |
PCT/CN2021/096986 WO2021244449A1 (zh) | 2020-05-30 | 2021-05-28 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010480846.5A CN113746788A (zh) | 2020-05-30 | 2020-05-30 | 一种数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113746788A true CN113746788A (zh) | 2021-12-03 |
Family
ID=78727760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010480846.5A Pending CN113746788A (zh) | 2020-05-30 | 2020-05-30 | 一种数据处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113746788A (zh) |
WO (1) | WO2021244449A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115175177A (zh) * | 2022-06-16 | 2022-10-11 | 烽火通信科技股份有限公司 | 一种报文传输方法及装置 |
CN115379027A (zh) * | 2022-04-27 | 2022-11-22 | 国家计算机网络与信息安全管理中心 | Dns报文解析改进方法、装置、改进设备及存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726930A (zh) * | 2022-03-30 | 2022-07-08 | 深信服科技股份有限公司 | 一种数据包跟踪方法、系统、装置及可读存储介质 |
CN116866055B (zh) * | 2023-07-26 | 2024-02-27 | 中科驭数(北京)科技有限公司 | 数据泛洪攻击的防御方法、装置、设备及介质 |
CN117240599B (zh) * | 2023-11-07 | 2024-02-20 | 国家工业信息安全发展研究中心 | 安全防护方法、装置、设备、网络及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281336A (zh) * | 2013-06-19 | 2013-09-04 | 上海众恒信息产业股份有限公司 | 网络入侵检测方法 |
CN104883362A (zh) * | 2015-05-11 | 2015-09-02 | 北京交通大学 | 异常访问行为控制方法及装置 |
KR102462830B1 (ko) * | 2016-03-02 | 2022-11-04 | 한국전자통신연구원 | 플로우 정보를 이용한 분산 반사 서비스 거부 공격 검출 장치 및 방법 |
CN107786521B (zh) * | 2016-08-30 | 2021-10-19 | 中兴通讯股份有限公司 | 防御分布式反射拒绝服务攻击的方法、装置及交换机 |
-
2020
- 2020-05-30 CN CN202010480846.5A patent/CN113746788A/zh active Pending
-
2021
- 2021-05-28 WO PCT/CN2021/096986 patent/WO2021244449A1/zh active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115379027A (zh) * | 2022-04-27 | 2022-11-22 | 国家计算机网络与信息安全管理中心 | Dns报文解析改进方法、装置、改进设备及存储介质 |
CN115379027B (zh) * | 2022-04-27 | 2023-08-01 | 国家计算机网络与信息安全管理中心 | Dns报文解析改进方法、装置、改进设备及存储介质 |
CN115175177A (zh) * | 2022-06-16 | 2022-10-11 | 烽火通信科技股份有限公司 | 一种报文传输方法及装置 |
CN115175177B (zh) * | 2022-06-16 | 2024-04-16 | 烽火通信科技股份有限公司 | 一种报文传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021244449A1 (zh) | 2021-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113746788A (zh) | 一种数据处理方法及装置 | |
CN101009607B (zh) | 用于检测并防止网络环境中的洪流攻击的系统和方法 | |
US20170359344A1 (en) | Network-visitability detection control | |
US10419411B2 (en) | Network-visitability detection | |
US20200344208A1 (en) | Method and apparatus for processing service request | |
TW201644238A (zh) | 用於服務-使用者平面方法的使用網路符記的高效策略實施 | |
US20090144818A1 (en) | System and method for using variable security tag location in network communications | |
Ellard et al. | Rebound: Decoy routing on asymmetric routes via error messages | |
US11223946B2 (en) | Guaranteeing authenticity and integrity in signaling exchange between mobile networks | |
WO2018138006A1 (en) | Guaranteeing authenticity and integrity in signalling exchange between mobile networks | |
CN107154917B (zh) | 数据传输方法及服务器 | |
CN117280656A (zh) | 用于隐藏网络功能实例标识符的方法、系统和计算机可读介质 | |
CN105516062A (zh) | 一种实现L2TP over IPsec接入的方法 | |
US20220174085A1 (en) | Data Processing Method and Apparatus | |
Wu | Analysis of the WireGuard protocol | |
US20190068762A1 (en) | Packet Parsing Method and Device | |
CN113904809A (zh) | 一种通信方法、装置、电子设备及存储介质 | |
CN113904807B (zh) | 一种源地址认证的方法、装置、电子设备及存储介质 | |
Cao et al. | 0-rtt attack and defense of quic protocol | |
CN107135190B (zh) | 基于传输层安全连接的数据流量归属识别方法及装置 | |
CN113055357B (zh) | 单包验证通信链路可信的方法、装置、计算设备及存储介质 | |
Schulz et al. | d 2 Deleting Diaspora: Practical attacks for profile discovery and deletion | |
RU2686023C1 (ru) | Способ защиты вычислительных сетей | |
CN107395764B (zh) | 在不同数据域内的设备间进行数据交换的方法及系统 | |
Vanhoef | A security analysis of the wpa-tkip and tls security protocols |
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 |