CN114079572A - 网络攻击的防御方法、cp设备及up设备 - Google Patents

网络攻击的防御方法、cp设备及up设备 Download PDF

Info

Publication number
CN114079572A
CN114079572A CN202010803044.3A CN202010803044A CN114079572A CN 114079572 A CN114079572 A CN 114079572A CN 202010803044 A CN202010803044 A CN 202010803044A CN 114079572 A CN114079572 A CN 114079572A
Authority
CN
China
Prior art keywords
message
watermark
packet
attack
dialing
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
Application number
CN202010803044.3A
Other languages
English (en)
Inventor
余舟毅
花荣荣
彭涛
王晓凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010803044.3A priority Critical patent/CN114079572A/zh
Priority to PCT/CN2021/099503 priority patent/WO2022033157A1/zh
Publication of CN114079572A publication Critical patent/CN114079572A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

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)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种网络攻击的防御方法、CP设备及UP设备,属于通信技术领域。本申请公开的方法应用在CP和UP分离的通信系统中,该方法包括:CP设备响应于拨号报文的接收速率满足异常条件,CP设备生成第一控制消息,第一控制消息用于指示UP设备在向CP设备发送拨号报文时携带水印;CP设备向UP设备发送第一控制消息;CP设备根据水印,在报文流中识别攻击报文;CP设备丢弃攻击报文。该方法能够有效地抵御网络攻击,保障了CP设备的安全性。

Description

网络攻击的防御方法、CP设备及UP设备
技术领域
本申请涉及通信技术领域,特别涉及一种网络攻击的防御方法、CP设备及UP设备。
背景技术
随着软件定义网络(software defined network,SDN)技术和网络功能虚拟化(network functions virtualization,NFV)技术的发展,数据通信网络由传统的以网络为核心的架构向以数据中心为核心的网络架构演进。传统的网络设备也从专业化朝着通用化演进。有鉴于此,控制面和用户面分离(control plane and user plane disaggregated,CU分离)技术应运而生,成为本领域的研究热点。CU分离是指控制面(control plane,CP)和用户面(user plane,UP)解耦的网络架构。在采用CU分离架构时,CP和UP位于不同硬件设备上,或者CP和UP位于同一个硬件设备上且功能分离。时下,CU分离架构成为很多通信系统演进的下一跳,得到了主流厂商、运营商和标准组织的认可。
时下,CP设备受到网络攻击的风险很大,影响了CP设备的安全性。
发明内容
本申请实施例提供了一种网络攻击的防御方法、CP设备及UP设备,有助于保障CP设备的安全性。所述技术方案如下:
第一方面,提供了一种网络攻击的防御方法,该方法应用在CP和UP分离的通信系统中,以该方法从CP设备一侧的角度描述,CP设备响应于拨号报文的接收速率满足异常条件,所述CP设备生成第一控制消息,所述第一控制消息用于指示所述UP设备在向所述CP设备发送拨号报文时携带水印;所述CP设备向所述UP设备发送所述第一控制消息;所述CP设备根据所述水印,在报文流中识别攻击报文;所述CP设备丢弃所述攻击报文。
通过第一方面的方法,CP设备在发现拨号报文的接收速率异常时,认为正在遭受网络攻击,那么在这种情况下,CP设备会生成并向UP设备下发控制消息,以便通过控制消息通知UP设备在上送拨号报文时携带水印,实现CP控制UP使能水印打开的功能。由于攻击者难以知晓CP设备与UP设备之间协商的水印,攻击者也就无法构造包含水印的攻击报文,因此CP设备后续收到报文流时,能够依据报文是否包括水印,判别报文究竟是攻击者上送的攻击报文还是UP设备上送的正常报文,进而将攻击报文丢弃。由于攻击报文被CP设备丢弃,也就避免了攻击报文的处理动作消耗CP设备的处理资源。由此可见,该方法能够有效地抵御网络攻击,保障了CP设备的安全性。
可选地,所述水印包括第一虚拟扩展局域网网络标识符(VXLAN networkidentifier,VNI),所述报文流包括第一报文,所述CP设备根据所述水印,在报文流中识别攻击报文,包括:所述CP设备根据所述第一报文包括所述第一VNI确定所述第一报文为非攻击报文。
通过这种可选方式,CP设备根据第一VNI确定攻击报文的动作能通过复用虚拟扩展局域网(Virtual Extensible Local Area Network,VXLAN)转发流程中对收到的VXLAN报文中的VNI校验的流程实现。由于CP设备能复用已有的处理逻辑来实现网络攻击的防御能力,节约了CP设备为了新增防御能力而新增的计算性能开销。由此可见,这种实现防御网络攻击的方案开销小,实用性高。
可选地,所述水印包括第一随机数,所述报文流包括第二报文,所述CP设备根据所述水印,在报文流中识别攻击报文,包括:所述CP设备根据所述第二报文包括所述第一随机数确定所述第二报文为非攻击报文。
通过这种可选方式,由于攻击者难以知晓CP设备向UP设备下发的第一随机数,也就无法构造包含第一随机数的攻击报文。因此,CP设备能够依据报文是否包含第一随机数,有效地区分报文是攻击者上送的攻击报文还是非攻击报文(例如UP设备上送的正常报文),从而有效防御攻击者的网络攻击。
可选地,所述水印包括第一时间戳,所述第一时间戳用于指示所述CP设备与所述UP设备之间同步的时间点,所述报文流包括第三报文,所述CP设备根据所述水印,在报文流中识别攻击报文,包括:所述CP设备根据所述第三报文包括所述第一时间戳确定所述第三报文为非攻击报文。
通过这种可选方式,一方面,由于攻击者难以知晓CP设备与UP设备同步的时间点,也就无法构造包含同步的时间点对应的第一时间戳的攻击报文。因此,CP设备能够依据报文是否包含第一时间戳,有效地区分报文是攻击者上送的攻击报文还是非攻击报文(例如UP设备上送的正常报文),从而有效防御攻击者的网络攻击。另一方面,能够复用CP设备与UP设备之间的时间同步机制,从而降低了实现复杂度。
可选地,所述水印包括第一消息认证码,所述报文流包括第四报文,所述CP设备根据所述水印,在报文流中识别攻击报文,包括:所述CP设备根据所述第四报文包括所述第一消息认证码确定所述第四报文为非攻击报文。
通过这种可选方式,由于CP设备与UP设备将消息认证码作为验证报文使用的水印,而消息认证码需要通过哈希运算得到,安全性高,难以伪造,因此抵御网络攻击的能力强。
可选地,所述第一控制消息包括所述水印;或者,所述第一控制消息包括所述水印对应的水印类型信息;或者,所述第一控制消息包括生成所述水印相关的参数。
可选地,所述第一控制消息为转控分离协议(control plane and user planeseparated protocol,CUSP)报文,所述CUSP报文包括水印类型长度值(type lengthvalue,TLV),所述水印TLV为携带所述水印或所述参数的TLV。
通过这种可选方式,由于CP设备通过CUSP向UP设备下发水印,能够复用CP设备以及UP设备实现CUSP通信的相关架构,提高本技术方案的可用性。
可选地,所述第一控制消息为包转发控制协议(Packet Forwarding ControlProtocol,PFCP)消息,所述PFCP消息包括水印信息元素(information element,IE),所述水印IE为携带所述水印或所述参数的IE。
通过这种可选方式,由于CP设备通过PFCP向UP设备下发水印,能够复用CP设备以及UP设备实现PFCP通信的相关架构,提高本技术方案的可用性。
可选地,所述第一控制消息为PFCP节点消息;或者,所述第一控制消息为PFCP会话消息。
可选地,所述报文流包括第五报文,所述CP设备根据所述水印,在报文流中识别攻击报文,包括:所述CP设备根据所述第五报文不包括所述水印确定所述第五报文为攻击报文。
可选地,所述CP设备向所述UP设备发送所述第一控制消息之后,所述方法还包括:
响应于拨号报文的接收速率满足正常条件,所述CP设备生成第二控制消息,所述第二控制消息用于指示所述UP设备在向所述CP设备发送拨号报文时取消携带水印;
所述CP设备向所述UP设备发送所述第二控制消息。
通过这种可选方式,CP设备在发现拨号报文的接收速率正常时,确认网络攻击停止,那么在这种情况下,CP设备会生成并向UP设备下发控制消息,从而通过控制消息通知UP设备在上送拨号报文时取消携带水印,从而支持CP控制UP关闭水印的功能。
可选地,所述通信系统为宽带网络网关(broadband network gateway,BNG)系统或者宽带远程接入服务器(virtual broadband remote access server,BRAS)系统。
第二方面,提供了一种网络攻击的防御方法,该方法应用在CP和UP分离的通信系统中,以该方法从UP设备一侧的角度描述,所述UP设备从所述CP设备接收第一控制消息,所述第一控制消息用于指示所述UP设备在向所述CP设备发送拨号报文时携带水印;所述UP设备根据所述第一控制消息,在拨号报文中携带所述水印;所述UP设备向所述CP设备发送包括所述水印的拨号报文。
通过第二方面的方法,UP设备通过在接收到CP设备下发的控制消息的情况下,在拨号报文中携带水印,向CP设备上送包含水印的拨号报文,有助于CP设备依据报文是否包括水印,有效区分报文究竟是攻击者上送的攻击报文还是UP设备上送的正常报文,进而将攻击报文丢弃。由此可见,该方法能够有效地抵御网络攻击,保障了CP设备的安全性。
可选地,所述水印包括第一虚拟扩展局域网网络标识符VNI。
可选地,所述水印包括第一随机数。
可选地,所述水印包括第一时间戳。
可选地,所述水印包括第一消息认证码。
可选地,所述第一控制消息包括所述水印;或者,所述第一控制消息包括所述水印对应的水印类型信息;或者,所述第一控制消息包括生成所述水印相关的参数。
可选地,所述第一控制消息为控制与转发分离协议CUSP报文,所述CUSP报文包括水印类型长度值TLV,所述水印TLV为携带所述水印或所述参数的TLV。
可选地,所述第一控制消息为包转发控制协议PFCP消息,所述PFCP消息包括水印信息元素IE,所述水印IE为携带所述水印或所述参数的IE。
可选地,所述第一控制消息为PFCP节点消息;或者,所述第一控制消息为PFCP会话消息。
可选地,所述通信系统为宽带网络网关BNG系统或者宽带远程接入服务器BRAS系统。
可选地,所述UP设备根据所述第一控制消息,在拨号报文中携带所述水印之后,所述方法还包括:
所述UP设备从所述CP设备接收第二控制消息,所述第二控制消息用于指示所述UP设备在向所述CP设备发送拨号报文时取消携带水印;
所述UP设备根据所述第二控制消息,向所述CP设备发送不包括水印的拨号报文。
第三方面,提供了一种CP设备,该CP设备具有实现上述第一方面或第一方面任一种可选方式中对应的功能。该CP设备包括至少一个单元,至少一个单元用于实现上述第一方面或第一方面任一种可选方式所提供的方法。
在一个示例中,CP设备中的单元通过软件实现,CP设备中的单元是程序模块。在另一个示例中,CP设备中的单元通过硬件或固件实现。第三方面提供的CP设备的具体细节可参见上述第一方面或第一方面任一种可选方式,此处不再赘述。
第四方面,提供了一种UP设备,该UP设备具有实现上述第二方面或第二方面任一种可选方式中对应的功能。该UP设备包括至少一个单元,至少一个单元用于实现上述第二方面或第二方面任一种可选方式所提供的方法。
在一个示例中,UP设备中的单元通过软件实现,UP设备中的单元是程序模块。在另一个示例中,UP设备中的单元通过硬件或固件实现。第四方面提供的UP设备的具体细节可参见上述第二方面或第二方面任一种可选方式,此处不再赘述。
第五方面,提供了一种CP设备,该CP设备包括处理器和通信接口,该处理器用于执行指令,使得该CP设备执行上述第一方面或第一方面任一种可选方式所提供的方法,所述通信接口用于接收或发送报文。第五方面提供的CP设备的具体细节可参见上述第一方面或第一方面任一种可选方式,此处不再赘述。
第六方面,提供了一种UP设备,该UP设备包括处理器和通信接口,该处理器用于执行指令,使得该UP设备执行上述第二方面或第二方面任一种可选方式所提供的方法,所述通信接口用于接收或发送报文。第六方面提供的UP设备的具体细节可参见上述第二方面或第二方面任一种可选方式,此处不再赘述。
第七方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令由处理器读取以使CP设备执行上述第一方面或第一方面任一种可选方式所提供的方法。
第八方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令由处理器读取以使UP设备执行上述第二方面或第二方面任一种可选方式所提供的方法。
第九方面,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。CP设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该CP设备执行上述第一方面或第一方面任一种可选方式所提供的方法。
第十方面,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。UP设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该UP设备执行上述第二方面或第二方面任一种可选方式所提供的方法。
第十一方面,提供了一种芯片,当该芯片在CP设备上运行时,使得CP设备执行上述第一方面或第一方面任一种可选方式所提供的方法。
第十二方面,提供了一种芯片,当该芯片在UP设备上运行时,使得UP设备执行上述第二方面或第二方面任一种可选方式所提供的方法。
第十三方面,提供一种CP设备,所述CP设备包括:主控板和接口板,进一步,还可以包括交换网板。所述CP设备用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,所述CP设备包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的单元。
第十四方面,提供一种UP设备,所述UP设备包括:主控板和接口板,进一步,还可以包括交换网板。所述UP设备用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,所述UP设备包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的单元。
第十五方面,提供了一种CP和UP分离的通信系统,该通信系统包括CP设备以及UP设备。例如,该通信系统包括上述第三方面、第五方面、第十三方面中任一项提供的CP设备,并且该通信系统包括上述第四方面、第六方面、第十四方面中任一项提供的UP设备。
附图说明
图1是本申请实施例提供的一种CU分离系统的架构示意图;
图2是本申请实施例提供的一种CU分离的BNG系统的工作原理示意图;
图3是本申请实施例提供的一种通信系统的结构示意图;
图4是本申请实施例提供的一种CP设备内部的功能架构图;
图5是本申请实施例提供的一种网络攻击的防御方法的流程图;
图6是本申请实施例提供的一种CP设备与UP设备防御网络攻击的示意图;
图7是本申请实施例提供的一种包括水印的拨号报文的格式示意图;
图8是本申请实施例提供的一种包括水印的拨号报文的格式示意图;
图9是本申请实施例提供的一种包括水印的拨号报文的格式示意图;
图10是本申请实施例提供的一种包括水印的拨号报文的格式示意图;
图11是本申请实施例提供的一种CP设备400的结构示意图;
图12是本申请实施例提供的一种UP设备500的结构示意图;
图13是本申请实施例提供的一种设备600的结构示意图;
图14是本申请实施例提供的一种设备700的结构示意图;
图15是本申请实施例提供的一种通信系统800的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面先对本申请实施例涉及的一些术语相关概念进行介绍。
(1)CU分离
CU分离是指CP和UP解耦的网络架构。CU分离包括而不限于下述实现方式A和实现方式B。
实现方式A、控制面和转发面位于不同硬件设备上。
在采用实现方式A时,CP设备和UP设备是两个单独且不同的设备。可选地,CP设备与UP设备分布式在不同的地点。例如,CP设备位于云端的数据中心,UP设备根据需求部署在网络中合适的位置。通过这种方式,使得控制面和转发面的部署更加灵活。
实现方式B、控制面和转发面位于同一个硬件设备上且功能分离。
在采用实现方式B时,CP设备的物理实体和UP设备的物理实体为同一个设备。例如,CP设备与UP设备运行在同一个主机、同一个服务器或同一个终端中。
在一个示例中,CP设备和UP设备均通过虚拟化技术实现。CP设备例如称为虚拟CP(virtual CP,vCP),UP设备例如称为虚拟UP(virtual UP,vUP)。例如,CP设备为虚拟机,UP设备为虚拟路由器或虚拟交换机。在一个示例中,CP设备和UP设备均是基于通用的物理服务器结合NFV技术实现的,CP设备和UP设备是两个不同的虚拟网络功能(virtualizednetwork function,VNF)。例如,CP设备和UP设备均是通过X86服务器虚拟化出的网元。
在另一个示例中,CP设备通过虚拟化技术实现,UP设备通过传统的网络设备实现。UP设备例如称为物理UP(physical UP,pUP)。
本实施例对通信系统中CP设备与UP设备之间的数量关系不做限定。在一个示例中,CP设备与UP设备是一对多的关系,即,一个CP设备用于控制多个UP设备。在另一个示例中,CP设备与UP设备是一一对应的关系,即,一个CP设备用于控制一个UP设备。
本实施例对通信系统中UP设备的数量不做限定。可选地,CU分离的通信系统包括多个UP设备。可选地,CU分离的通信系统中多个UP设备分布在不同的地点。可选地,CU分离的通信系统中多个UP设备基于分布式架构协同分担转发任务。
值得说明的一点是,“CU分离”可以具有不同的名称。例如,不同标准、同一标准的不同版本、不同厂商、不同应用场景对“CU分离”可以具有不同的称呼。例如,术语CU分离”有时也可以被称为“控制和转发分离”、“转控分离”、“控制面和用户面分离”、“控制和用户分离”等。
值得说明的一点是,“CP”可以具有不同的名称。例如,不同标准、同一标准的不同版本、不同厂商、不同应用场景对“CP”可以具有不同的称呼。例如,术语“CP”有时也可以被称为“CP功能(CP function,CPF)”或“CP面”。本文中“CP”、“CPF”和“CP面”可互换使用。术语“CP设备”是指实现了CP功能的任意设备。
值得说明的一点是,“UP”可以具有不同的名称。例如,不同标准、同一标准的不同版本、不同厂商、不同应用场景对“UP”可以具有不同的称呼。例如,术语“UP”有时也可以被称为“UP功能(UP function,UPF)”或“UP面”。本文中“UP”、“UPF”和“UP面”可互换使用。术语“UP设备”是指实现了UP功能的任意设备。
(2)宽带网络网关(broadband network gateway,BNG)
BNG是一种运营商用于宽带接入的电信网元设备,用于承担将用户设备接入宽带网络的功能。BNG主要负责接入认证以及互联网协议(internet protocol,IP)地址分配。
(3)CU分离的BNG系统
传统的BNG一般是在路由器上叠加用户管理功能来实现的。而随着各种互联网业务的层出不穷,对BNG支持的用户的会话数量要求不断提高、对用户接入带宽不断提高、尤其对BNG系统对外提供业务开放、可编程的能力的要求越来越高。有鉴于这些需求,对基于SDN或NFV的架构,对传统的BNG设备进行控制与转发的解耦以及软件与硬件的解耦,从而形成CU分离的BNG系统。具体地,参见附图1,附图1是对CU分离的BNG系统的架构的举例说明。CU分离的BNG系统将多台BNG设备上的用户管理功能抽取出来并且集中,形成CP设备,BNG设备上保留路由功能及转发功能,形成UP设备。
CU分离的BNG系统在保持BNG原有的功能的基础上,具备CU分离的架构带来的优势。例如,CU分离的BNG系统能够具备多个UP设备,由CP设备调度多个UP设备处理流量的转发任务,CP设备为多个UP设备分配资源,因此与单机实现BNG系统的方式相比,CU分离架构下BNG系统的设备的利用率和可靠性都能得到大幅的提升。时下,CU分离的BNG系统已成为BNG演进的下一跳,得到了BNG主流厂商、运营商和标准组织的全面认可。例如,互联网工程任务组(Internet Engineering Task Force,IETF)组的请求评论(request forcomments,RFC,一系列以编号排定的文件)中的RFC 8772定义了CU分离的BNG系统的架构和CP设备与UP设备之间的控制接口,宽带论坛(Boardband Forum,BBF)在TR-384定义了CU分离的BNG系统的基本架构,在TR-459中定义了CU分离的BNG系统的模块功能定义及接口定义等。
值得说明的一点是,本申请实施例中“CU分离的BNG系统”可以具有不同的名称。例如,不同标准、同一标准的不同版本、不同厂商、不同应用场景对“CU分离的BNG系统”可以具有不同的称呼。例如,术语“CU分离的BNG系统”有时也可以被称为“分离的BNG系统(disaggregated BNG,DBNG)”,相应地,CU分离的BNG系统中的CP设备可以被称为DBNG-CP,CU分离的BNG系统中的UP设备可以被称为DBNG-UP。又如,术语“CU分离的BNG系统”有时也可以被称为“虚拟宽带网络网关(virtual BNG,vBNG)控制面和用户面分离的系统(controlplane and user plane disaggregated system,CU系统)”,即“vBNG CU系统”,相应地,CU分离的BNG系统中的CP设备可以被称为vBNG-CP,CU分离的BNG系统中的UP设备可以被称为vBNG-UP。又如,术语“CU分离的BNG系统”有时也可以被称为“虚拟宽带远程接入服务器(virtual broadband remote access server,vBRAS)CU系统”,即“vBRAS CU系统”,相应地,CU分离的BNG系统中的CP设备可以被称为vBRAS-CP,CU分离的BNG系统中的UP设备可以被称为vBRAS-UP。本文中“DBNG”、“vBNG CU系统”和“vBRAS CU系统”可互换使用。
请参考附图2,CU分离的BNG系统的工作原理如附图2所示,包括以下S101至S107。
S101、将BNG业务集中在CP设备上进行配置,将路由业务在UP设备上进行配置。CP设备将BNG的部分配置信息通过管理接口(management interface,Mi)接口下发到UP设备。
S102、家庭终端发起拨号,原始拨号报文传输至UP设备。UP设备将原始拨号报文按照控制报文重定向接口(control packet redirect interface,CPRi)接口对应的封装格式封装后,将封装后的拨号报文上送到CP设备进行处理。CP设备根据拨号报文生成回应报文,通过CPRi接口将回应报文发送给UP设备。UP设备对回应报文解封装后,回应用户。
其中,家庭终端例如是客户前置设备(customer premise equipment,CPE)。原始拨号报文例如是以太网承载点到点协议(point-to-point protocol over ethernet,PPPoE)报文或动态主机配置协议(dynamic host configuration protocol,DHCP)报文。PPPoE拨号报文例如是PPPOE主动发现启动(PPPOE Active Discovery Initiation,PADI)。DHCP拨号报文例如是DHCP发现(DHCP discover)报文。
S103、在拨号过程中,CP设备与远程用户拨号认证服务(remote authenticationdial in user service,RADIUS)服务器交互,对用户进行认证授权。
S104、用户拨号成功后,CP设备向UP设备通过及状态控制接口(state controlinterface,SCi)接口下发用户转发表项。
S105、CP设备用SCi接口控制UP设备向核心路由器(core router,CR)发布路由。
S106、用户访问因特网。
S107、在用户上线后,CP设备向RADIUS服务器发送计费报文。可选地,RADIUS服务器下发授权变更(change of authorization,COA)指令,调整用户的服务级别协议(service level agreement,SLA)。
下面介绍本申请实施例提供的系统架构。
参见附图3,本申请实施例提供了一种通信系统200,通信系统200是对CP和UP分离的通信系统的举例说明。通信系统200包括CP设备210、UP设备220、运行和维护(operationand maintenance,OM)230、RADIUS服务器240、DHCP服务器250以及CP设备211。CP设备210、UP设备220、OM230、RADIUS服务器240、DHCP服务器250、CP设备211中的不同网元之间通过无线网络或有线网络相连。
CP设备210与UP设备220之间具有三种接口,这三种接口分别是CPRi接口、Mi接口以及SCi接口。
CPRi接口用于将UP设备220接收到的原始拨号报文上送至CP设备210。例如,在附图3所示的应用场景中,在CPE发起拨号以接入网络的过程中,CPE发送的原始拨号报文(如PPPoE报文或DHCP报文)会传输至UP设备220。UP设备220接收原始拨号报文,按照CPRi接口对应的报文封装格式对原始拨号报文进行封装后,UP设备220通过CPRi接口将封装后的拨号报文发送至CP设备210。CPRi接口通过UP设备220与CP设备210之间的隧道实现。例如,CPRi接口通过基于用户数据报协议(User Datagram Protocol,UDP)的隧道实现,CPRi接口对应的报文封装格式为向原始拨号报文封装该基于UDP的隧道对应的隧道头。在一个示例中,基于UDP的隧道为基于虚拟扩展局域网(Virtual Extensible Local Area Network,VXLAN)的通用协议封装(generic protocol encapsulation,GPE)隧道,向原始拨号报文封装的隧道头包括VXLAN头和GPE扩展头。在另一个示例中,基于UDP的隧道为通用无线分组业务(general packet radio service,GPRS)隧道协议控制面部分(GPRS tunnelingprotocol(GTP)control plane,GTP-C)隧道,向原始拨号报文封装的隧道头包括GTP-C头和网络服务头(network service header,NSH)。
SCi接口的功能包括CP设备向UP设备下发流表、UP设备向CP设备上送状态信息等。在本申请的一些实施例中,SCi接口用于供CP设备向UP设备下发控制消息,从而指示UP设备在通过CPRi接口向CP设备上送拨号报文时携带水印。在一个示例中,SCi接口采用转控分离协议(control plane and user plane separated protocol,CUSP)实现。在另一个示例中,SCi接口采用包转发控制协议(Packet Forwarding Control Protocol,PFCP)实现。
Mi接口用于供CP设备向UP设备下发配置信息。Mi接口例如采用网络配置(NetworkConfiguration,NETCONF)协议实现。
此外,如附图3所示,CP设备210与OM230例如通过简单网络管理协议(SimpleNetwork Management Protocol,SNMP)或NETCONF通信。CP设备210与RADIUS服务器240例如通过RADIUS协议通信。CP设备210与DHCP服务器250例如通过DHCP通信。CP设备210与CP设备211例如通过数据备份消息进行数据同步。在一个示例中,CP设备211与CP设备210例如基于负载分担机制协同进行拨号处理;在另一个示例中,CP设备210为主用设备,CP设备211为CP设备210的备用设备。
以上对通信系统200的整体结构进行了举例介绍,以下对通信系统200中CP设备210进行具体介绍。
CP设备210的功能包括:支持对UP设备220的管理功能,例如包括UP设备220的加入、退出以及UP设备220的接口资源上报;支持处理UP设备220上送的用户的PPPoE拨号报文或DHCP拨号报文,对用户进行接入;支持与RADIUS服务器240通信,对用户进行认证、授权和计费;支持为用户分配IP地址;支持为UP设备220下发转发表项,用于UP设备220转发用户流量。
在一个示例中,CP设备210是一个VNF网元,CP设备210部署在NFV基础设施(NFVinfrastructure,NFVI)环境中。例如,CP设备210是一个软件,CP设备210运行在X86服务器上。例如,CP设备210是一个分布式软件,CP设备210的不同功能模块分布在不同硬件设备上。
例如,参见附图4,附图4是对CP设备210内部的功能架构的举例说明。CP设备210包括多个拨号处理模块2201以及输入输出(input output,IO)/负载均衡(load balance,LB)模块2202。其中,多个拨号处理模块2201例如分布在不同硬件设备上。IO/LB模块2202用于与UP设备通信。并且,IO/LB模块2202将接收到的拨号报文负载分担到多个拨号处理模块2201上。通过采用附图4所示的架构,一方面,由于能协同多个硬件设备的算力进行拨号处理,从而有效保障通信系统200处理用户上线的性能,另一方面,当需要进行扩容时,可通过向CP设备210增加更多的拨号处理模块2201实现,使得通信系统200符合VNF的弹性扩容要求。
以上示例性介绍了系统架构,以下结合上文描述的系统架构对本申请的一些实施例适于的应用场景进行举例介绍。
在以上描述的系统架构中,CP设备210作为通信系统200的控制面,CP设备210需要提供安全功能,从而保障通信系统200的系统安全和业务安全。由于CP设备210与UP设备220之间通过CPRi接口、Mi接口、SCi接口等接口建立的通道一般都是带内通信通道,需要跨越城域网甚至是核心网,从而存在安全风险。因此,CP设备210需要采用安全防护手段,防御来自CP设备210与UP设备220之间通道的网络攻击。
分布式拒绝服务攻击(distributed denial of service attack,DDoS)作为一种典型的攻击服务器的方式,正是CP设备210面临的主要威胁之一。DDoS攻击的主要手段是同步序列编号(Synchronize Sequence Numbers,SYN)泛洪攻击(SYN flood)。在CP设备210与UP设备220之间的三种接口中,SCi接口和Mi接口都是基于传输控制协议(TransmissionControl Protocol,TCP)的接口,而且SCi接口和Mi接口都具备加密能力,可通过DDoS防护(anti-DDoS)设备防御对CP设备210的SCi接口和Mi接口的攻击,因此防御DDoS攻击的实现难度相对较小,而CPRi接口防御DDoS攻击的实现难度相对较大。
具体地,在UP设备220上送拨号报文(例如PPPoE拨号的PADI报文和DHCP拨号的DHCP发现报文)过程中,攻击者可能截获UP上送的PADI报文或DHCP发现报文。攻击者对这类拨号报文中的媒体访问控制(media access control,MAC)地址或虚拟局域网(virtualLAN,VLAN)号进行跳变,构造大量的攻击报文,并按照CPRi接口的报文封装格式,将封装后的大量攻击报文直接发送到CP设备210,不再经过UP设备220,从而发起重放攻击。大量的攻击报文进入至CP设备210后,容易导致正常上线用户的拨号报文被淹没,并且大量的攻击报文会导致CP设备210建立大量的无效状态机,导致CP设备210的CPU利用率高,内存消耗大,从而造成拒绝服务(denial of service,DoS)效果。因此,CP设备210如何防御来自CPRi接口的DDoS重放攻击是本领域亟需满足的需求。
然而,由于需要通过拨号的后续过程才能判断PADI报文或DHCP发现报文是否是攻击报文,也就是将只发送PADI报文或DHCP发现报文而不发送后续拨号报文的用户判定为攻击者,因此,一般的防火墙或anti-DDoS系统难以识别攻击报文,需要基于CP设备210防御攻击报文。而对于CP设备210来说,由于CPRi接口的实现方式是VXLAN-GPE或者GTP-C,这两种实现方式都基于UDP,CP设备210无法使用TCP密钥链(TCP keychain)等技术对通过CPRi接口收到的报文中的源IP地址进行校验。而拨号报文(如PPPoE拨号的PADI报文和DHCP拨号的DHCP发现报文中),源MAC地址是拨号用户的MAC地址,CP设备210无法确定源MAC地址是否合法,也就无法单纯依据源MAC地址区分攻击报文和正常上线报文。由此可见,CP设备210如何识别来自CPRi接口的攻击报文是本领域的技术难点之一。
在一些情况下,采用限速的手段防御利用PADI报文或DHCP发现报文发起的重放攻击。具体地,CP设备210在IO/LB模块2202上采用令牌桶技术,对用户按照MAC地址进行分组。然后,CP设备210对每组上送到拨号处理模块2201的拨号报文的速率进行承诺访问速率(committed access rate,CAR)。当攻击发生时,IO/LB模块2202根据源MAC地址进行哈希运算,将收到的拨号报文进行分组,每组对应一个令牌桶,根据令牌的速率来限制上送到拨号处理模块2201的拨号报文速率,超过令牌速率的报文将被随机丢弃。这样,拨号处理模块2201就不会由于上送的报文数量太大超过处理性能而挂死。
但是,在采用上述方式时,由于分组的数量是有限的,会出现攻击报文的MAC地址和正常报文的MAC地址被划分至同一个分组中的情况。由于令牌桶技术对同一个分组中的报文是随机进行丢弃的,导致正常报文也可能被CP设备210丢弃,导致正常用户无法上线。另外,即使采用限速的手段,CP设备210还是需要处理很多攻击报文,浪费了CP设备210的处理资源。
有鉴于以上应用场景存在的需求,本申请的一些实施例中,提供了一种CP设备和UP设备220联动防御DDoS攻击的方法,CP设备通过从SCi接口下发控制消息,通知UP设备220在通过CPRi接口上送的拨号报文中携带水印,使得CP设备能够根据水印有效的区分攻击报文和正常报文,使得重放者的攻击报文能够被丢弃,用户通过UP设备220上送的正常报文能够被处理。通过该方法,不仅能够保证正常用户的上线,而且能够节省CP的计算资源。此外,一些实施例对CP设备与UP设备220之间的SCi接口进行了扩展,提供了如何扩展标准IETFRFC 8772定义的CUSP报文格式以及BBF TR-459定义的PFCP的报文格式来实现控制消息,使得CP设备能够利用扩展的报文格式控制UP设备220使用水印或者关闭水印。此外,一些实施例对CP设备与UP设备220之间的CPRi接口进行了扩展,提供了如何扩展VXLAN-GPE的报文格式来携带各种类型的水印。
下面,通过方法300对本实施例提供的技术方案进行具体介绍。
参见附图5,附图5是本申请实施例提供的一种网络攻击的防御方法300的流程图。方法300的交互主体包括CP设备以及UP设备。
在一个示例中,方法300中的CP设备为附图3所示的通信系统200中的CP设备210或CP设备211,方法300中的CP设备为附图3所示的通信系统200中的UP设备220。
在一个示例中,方法300中的CP设备是CP和UP分离的BNG系统中的CP设备,例如是vBNG系统中的CP或者DBNG-CP。方法300中的UP设备是CP和UP分离的BNG系统中的UP设备,例如是vBNG系统中的UP或者DBNG-UP。在一个示例中,方法300中的CP设备是CP和UP分离的BRAS系统中的CP设备。方法300中的UP设备是CP和UP分离的BRAS系统中的UP设备。
在另一个示例中,方法300中的CP设备和UP设备采用BNG系统之外的其他CU分离系统实现。例如,方法300中的CP设备是其他CU分离的有线接入系统或无线接入系统中控制面所在的设备,方法300中的UP设备是其他CU分离的有线接入系统或无线接入系统中转发面所在的设备。例如,方法300中的CP设备和UP设备采用CU分离的4G核心网(EPC)系统或者CU分离的5G核心网(5GC)系统实现。例如,采用CU分离的服务网关(serving gateway,S-GW)中的CP实现CP设备。又如,采用CU分离的分组数据网网关(PDN gateway,PGW)中的CP实现CP设备。又如,采用移动性管理功能(access and mobility management function,AMF)网元实现CP设备。又如,采用会话管理功能(session management function,SMF)网元实现CP设备。又如,采用WT-456固定、移动融合的通信系统中的接入网关功能(access gatewayfunction,AGF)网元实现CP设备。
在一个示例中,方法300由通用中央处理器(central processing unit,CPU)处理,或者由CPU和网络处理器(network processer,NP)共同处理,或者由CPU、网络处理器(network processer,NP)、物理接口卡(ph10sical interface card,PIC)中两个或两个以上的硬件共同处理,也可以不用NP或PIC,而使用其他适合用于报文转发的处理器,方法300不做限制。例如,CP执行方法300中在报文携带水印、根据水印识别攻击报文对应的处理工作,NP和PIC承担方法300发送报文或接收报文对应的处理工作。
示例性地,方法300包括步骤S301至步骤S315。
S301、攻击者向CP设备发送跳变后的拨号报文。
在拨号报文从UP设备通过网络传输至CP设备的过程中,攻击者在网络中捕获UP设备上送的拨号报文,对拨号报文中的参数(例如源MAC地址、VLAN号等)进行跳变,发送跳变后的拨号报文,进行攻击。
S303、响应于拨号报文的接收速率满足异常条件,CP设备生成第一控制消息,第一控制消息用于指示UP设备在向CP设备发送拨号报文时携带水印。
异常条件用于检测拨号报文的接收速率是否异常。在一个示例中,满足异常条件为接收速率超过速率阈值的时长达到预设时长。
在一个示例中,CP设备对拨号报文进行测速。具体地,CP设备测量拨号报文的接收速率,如果接收速率超过速率阈值的时长达到预设时长,CP设备确定接收速率满足异常条件,则执行S303。例如,CP设备通过CAR对拨号报文进行限速,如果发现拨号报文的接收速率超过CAR值则进行计时,当记录的时长超过预设时长后,确定接收速率满足异常条件。
在一个示例中,该拨号报文包括上述攻击者向CP设备发送的拨号报文,也包括与CP设备相连的UP设备发送的拨号报文。
S304、CP设备向UP设备发送第一控制消息。
由于拨号报文接收速率满足异常条件的情况很大概率上是由于发生网络攻击引起的,因此如果拨号报文的接收速率满足异常条件,CP设备则可以确定受到了网络攻击。在这种情况下,CP设备会生成第一控制消息。由于第一控制消息指明了在上送拨号报文时携带水印,CP设备通过将第一控制消息下发给UP设备,从而通知UP设备在拨号报文中携带水印。因此,UP设备后续上送给CP设备的拨号报文会包含水印,从而支持了CP设备控制UP设备使能水印的功能。
水印用于CP设备校验其接收到的拨号报文的合法性。水印的作用类似于表明UP设备身份的标识。水印的具体取值是CP设备与UP设备之间通过传递第一控制消息协商的。如果向CP设备上送的报文不包括水印或者包括水印但水印不正确,表明向CP设备上送的报文不是来自于UP设备,那么报文不会通过CP设备的校验,报文会被CP设备识别为攻击报文。
CP设备与UP设备使用哪种数据作为水印包括多种实现方式,以下通过水印类型a至水印类型d举例说明。
水印类型a、使用调整后的虚拟扩展局域网网络标识符(VXLAN networkidentifier,VNI)作为水印。
具体而言,UP设备与CP设备之间存在VXLAN隧道,UP设备在上送拨号报文时,会向原始拨号报文添加包含VNI的VXLAN头,以便添加VXLAN头的拨号报文进入VXLAN隧道后利用VXLAN头转发。当需要利用水印防御攻击时,CP设备会通知UP设备调整VXLAN头中VNI的取值,使得UP设备上送的拨号报文中VXLAN头的VNI从原来的VNI改变为调整后的VNI,以便CP设备利用调整后的VNI对上送的拨号报文进行校验。
其中,VNI是一种类似于VLAN ID的用户标识,一个VNI代表了一个租户,VXLAN报文封装时会给VNI分配了24比特的长度空间,使其可以支持海量租户的隔离。
水印类型b、使用随机数作为水印。
在采用水印类型b时,CP设备与UP设备会使用随机数作为拨号报文的水印。具体地,CP设备会通知UP设备在上送拨号报文时携带随机数,使得UP设备向CP设备上送的拨号报文包括随机数,以便CP设备利用随机数对上送的拨号报文进行校验。
水印类型c、使用时间戳作为水印。
在采用水印类型c时,CP设备与UP设备使用时间戳作为拨号报文的水印。具体而言,CP设备与UP设备会进行时间同步,当需要利用水印防御攻击时,CP设备通过指示UP设备在上送拨号报文时携带时间戳,使得UP设备上送的拨号报文中包含时间戳,以便CP设备利用时间戳是否对应于同步时间点对上送的拨号报文进行校验。例如,CP设备与UP设备基于网络时间协议(Network Time Protocol,NTP)协议进行时间同步,CP设备和UP设备均将NTP校时服务器作为时钟源,CP设备和UP设备均从NTP校时服务器接收当前时间点,从而保证UP设备与CP设备之间的时间同步。
水印类型d、使用消息认证码作为水印。
消息认证码例如是拨号报文中至少一个参数的哈希值。例如,消息认证码是拨号报文中IP头、MAC帧头、UDP头等报文头中参数的哈希值。例如,消息认证码是拨号报文中源MAC地址和目的MAC地址的哈希值。又如,消息认证码是拨号报文中源MAC地址、目的MAC地址、源IP地址以及目的IP地址的哈希值。又如,消息认证码是拨号报文中源MAC地址、目的MAC地址、源IP地址、目的IP地址以及UDP头的哈希值。消息认证码例如根据哈希函数进行哈希运算得到。
以上通过水印类型a至水印类型d对水印的几种类型进行了举例说明。本实施例并不限定CP设备与UP设备使用水印类型a至水印类型d中哪种类型的水印。在一个示例中,CP设备根据攻击的强度选择具体的水印类型。例如,当CP设备遭受的攻击强度强时,选择水印类型d,也就是采用消息认证码的方式作为CP设备和UP设备防御攻击所利用的水印,从而达到最好的防御效果。例如,当CP设备遭受的攻击强度弱时,选择水印类型a,也就是采用调整VNI的方式作为CP设备和UP设备防御攻击所利用的水印,从而减少CP设备和UP设备的性能开销。
本实施例对第一控制消息的具体内容不做限定。在一个示例中,第一控制消息包括水印。换句话说,CP设备将水印本身携带在第一控制消息中,下发给UP设备。在另一个示例中,第一控制消息包括水印对应的水印类型信息。在另一个示例中,第一控制消息包括生成水印相关的参数。例如,CP设备将水印格式、水印类型、水印在拨号报文中携带的位置、水印的位数、生成水印的输入参数的名称中的至少一项携带在第一控制消息中,下发给UP设备。以下结合上述水印类型a至水印类型d,通过下述情况a至情况d对第一控制消息的内容举例说明。
情况a、在采用调整后的VNI作为水印时第一控制消息的内容。
具体地,CP设备获得第一VNI,将第一VNI携带在第一控制消息中,使得第一控制消息包括第一VNI。第一VNI是指调整后的VNI。第一VNI与UP设备原来上送拨号报文时使用的VNI不同。其中,本实施例对CP设备如何获得第一VNI不做限定。在一个示例中,CP设备根据配置预留一段VNI,CP设备从预留的一段VNI中选择一个未被占用的VNI,作为第一VNI。在另一个示例中,CP设备将第一VNI对应的水印类型信息携带在第一控制消息中,使得第一控制消息包括第一VNI对应的水印类型信息。第一VNI对应的水印类型信息表示水印类型为VNI。
情况b、在采用随机数作为水印时第一控制消息的内容。
例如,第一控制消息包括第一随机数。具体地,CP设备获得第一随机数,将第一随机数携带在第一控制消息中。本实施例对CP设备如何获得第一随机数不做限定。在一个示例中,CP设备通过随机数生成算法进行计算,从而生成第一随机数。在另一个示例中,CP设备从其他设备接收第一随机数。在另一个示例中,CP设备将第一随机数对应的水印类型信息携带在第一控制消息中,使得第一控制消息包括第一随机数对应的水印类型信息。第一随机数对应的水印类型信息表示水印类型为随机数。
在一个示例中,在同一个CP设备控制多个UP设备的情况下,CP设备会为每个UP设备分别生成对应的随机数,将每个随机数分别下发给对应的UP设备。可选地,CP设备为不同UP设备生成不同的随机数,向不同UP设备下发不同的随机数。例如,CP设备控制的UP设备包括第一UP设备,CP设备将第一UP设备对应的第一随机数携带在第一控制消息中,向第一UP设备发送第一控制消息。通过这种方式,有助于CP设备利用不同随机数对不同UP设备的拨号报文进行校验。
在一个示例中,在同一个UP设备上的多个接口均接入CP设备的情况下,CP设备会为UP设备的每个接口分别生成对应的随机数,将接口与随机数之间的对应关系下发给UP设备。可选地,CP设备为UP设备的不同接口生成不同的随机数。例如,UP设备通过第一接口接入CP设备,CP设备将第一接口对应的第一随机数携带在第一控制消息中,向第一UP设备发送第一控制消息,从而向第一UP设备指明通过第一接口上送拨号报文时携带第一随机数。通过这种方式,有助于CP设备利用不同随机数对同一个UP设备上不同接口的拨号报文进行校验。
情况c、在采用时间戳作为水印时第一控制消息的内容。
在一个示例中,第一控制消息包括第一时间戳。具体地,CP设备根据与UP设备之间的时间同步机制,获得同步时间点对应的第一时间戳,将第一时间戳携带在第一控制消息中。在另一个示例中,CP设备将第一时间戳对应的水印类型信息携带在第一控制消息中,使得第一控制消息包括第一时间戳对应的水印类型信息。第一时间戳对应的水印类型信息表示水印类型为时间戳。
在另一个示例中,第一控制消息不包括第一时间戳本身,而包括能够标识第一时间戳的任意信息。例如,第一控制消息包括一个比特的标志(flag)字段,当该flag字段置位时,指示UP设备在向CP设备发送拨号报文时携带第一时间戳。
情况d、在采用消息认证码作为水印时第一控制消息的内容。
在一个示例中,第一控制消息包括消息验证码的格式。例如,消息验证码的格式用于指示UP设备通过对拨号报文的哪一部分进行哈希运算以获得第一消息验证码。又如,消息验证码的格式用于指示生成第一消息验证码所使用的哈希算法。第一控制消息中消息验证码的格式例如通过数字、字母或字符串表示。在另一个示例中,CP设备将第一消息验证码对应的水印类型信息携带在第一控制消息中,使得第一控制消息包括第一消息验证码对应的水印类型信息。第一消息验证码对应的水印类型信息表示水印类型为消息验证码。
以消息验证码的格式通过数字表示为例,CP设备与UP设备例如约定不同的数字表示消息验证码的不同格式,例如,消息验证码的格式通过0表示时,指示UP设备通过对拨号报文中源MAC地址和目的MAC地址这2种信息进行哈希运算以获得第一消息验证码。当消息验证码的格式通过1表示时,指示UP设备通过对拨号报文中源MAC地址、目的MAC地址、源IP地址以及目的IP地址这四种信息进行哈希运算以获得第一消息验证码。当消息验证码的格式通过2表示时,指示UP设备通过对拨号报文中源MAC地址、目的MAC地址、源IP地址、目的IP地址以及UDP头这五种信息进行哈希运算以获得第一消息验证码。
在另一个示例中,第一控制消息不包括消息验证码的格式,而是包括能够标识第一消息验证码的任意信息。例如,CP设备与UP设备预先协商消息验证码的格式,比如在CP设备与UP设备握手阶段就协商消息验证码的格式,或者CP设备与UP设备预先配置消息验证码的格式,CP设备在第一控制消息中使用一个比特的标志字段指示UP设备在向CP设备发送拨号报文时携带第一消息验证码,当该flag字段置位时,指示UP设备在向CP设备发送拨号报文时携带第一消息验证码。
在一个示例中,CP设备与UP设备之间具有SCi接口,CP设备通过SCi接口向UP设备发送第一控制消息。在采用这种方式时,第一控制消息也称SCi消息。在一个示例中,对实现SCi接口的通信协议进行扩展,新增一种新类型的SCi消息,该新类型的SCi消息用于指示UP设备在向CP设备发送拨号报文时携带水印,该新类型的SCi消息是第一控制消息。
如何扩展SCi接口的通信协议来实现第一控制消息包括多种实现方式,以下通过扩展方式一和扩展方式二举例说明。
扩展方式一、扩展CUSP。
IETF RFC 8772规定CP设备与UP设备之间使用CUSP实现SCi接口。本申请的一些实施例中,扩展了新类型的CUSP报文。新类型的CUSP报文用于指示UP设备在向CP设备发送拨号报文时携带水印,新类型的CUSP报文为第一控制消息。具体地,作为第一控制消息的CUSP报文包括类型字段。CUSP报文中类型字段包括类型值。该类型值标识CUSP报文指示UP设备在向CP设备发送拨号报文时携带水印。在一个示例中,该类型值为RFC 8772中表2(table2)的控制消息(control messages)的类型。
例如,参见下表1,表1是对作为第一控制消息的CUSP报文的举例说明。表1中的类型为9,表明该控制消息为要求UP的拨号报文携带水印的报文,其对应的控制消息名称可以为水印开始,其中,还包括希望携带的水印类型信息。如:当其值为CRPI_WATERPRINT_VNI时,则表明希望UP发送拨号报文时,携带VNI水印信息;当其值为CRPI_WATERPRINT_RANDOM时,则表明希望UP发送拨号报文时,携带随机数水印信息;当其值为CRPI_WATERPRINT_TIMESTAMP时,则表明希望UP发送拨号报文时,携带时间戳水印信息;当其值为CRPI_WATERPRINT_MAC时,则表明希望UP发送拨号报文时,携带消息验证码水印信息。可选的,该控制消息中还包括具体的水印值或生成相关水印的相关参数的信息,如UP上送的拨号报文中需要携带的水印包括的VNI值、随机数值、时间戳值、或者消息验证码的值的信息。当UP设备接收到CP设备发送的控制消息后,可以根据预先配置的或预先约定的信息发送对应的水印信息,如:发送默认的VNI值、按照预先约定的规则生成随机数、携带时间戳、按照默认的规则发送消息验证码;也可以从该控制消息中获取对应的值,携带在拨号报文中,发送给CP设备;还可以根据该控制消息携带的参数,生成水印,携带在拨号报文中,发送给CP设备。
表1
Figure BDA0002628085460000161
在另一个示例中,可以在CUSP报文中新增TLV来携带水印或生成水印相关的参数。在一个示例中,这些TLV的type部分的值可以用来指示这个TLV对应的水印类型,即需要UP设备携带的水印的类型。例如,CUSP报文包括水印TLV,水印TLV为携带水印的TLV;或者,水印TLV为携带水印对应的水印类型信息的TLV;或者,水印TLV为携带生成水印相关的参数的TLV,该水印TLV的type值可以为例如901,表明其为水印TLV。
本实施例对水印TLV的类型不做限定。在一个示例中,水印TLV是新类型的TLV,水印TLV包括新申请的类型值,该类型值标识水印TLV携带水印或生成水印相关的参数。在另一个示例中,水印TLV是已有类型的TLV。例如,在使用调整后的VNI作为水印时,复用VXLAN标准中用于携带VNI的TLV,作为本实施例中的水印TLV。水印TLV包括VNI水印TLV、随机数水印TLV、时间戳水印TLV、消息验证码水印TLV中的至少一项,以下通过(1)至(4)分别对这几种水印TLV举例说明。
(1)VNI水印TLV。
VNI水印TLV包括第一VNI。VNI水印TLV的type部分的值例如用来指示这个TLV对应的水印类型是VNI。例如,VNI水印TLV包括VNI字段,VNI字段包括第一VNI。VNI水印TLV也可称为CRPI_WATERPRINT_VNI(CRPI_水印_VNI)。例如,参见下表2,表2是对VNI水印TLV的格式的举例说明。表2中的VNI为第一VNI。VNI水印TLV例如占4个字节。其中,VNI在VNI水印TLV中例如占3个字节,比如说占第2个字节至第4个字节。VNI水印TLV的第1个字节例如全部置为0以进行补齐。
表2
Figure BDA0002628085460000162
(2)随机数水印TLV。
随机数水印TLV包括第一随机数。随机数水印TLV的type部分的值例如用来指示这个TLV对应的水印类型是随机数。随机数水印TLV也可称为CRPI_WATERPRINT_RANDOM(CRPI_水印_随机数)。例如,随机数水印TLV包括随机数字段,随机数字段包括第一随机数。例如,参见下表3,表3是对随机数水印TLV的格式的举例说明,表3中的随机数为第一随机数。随机数例如占2个字节。
表3
Figure BDA0002628085460000171
(3)时间戳水印TLV。
时间戳水印TLV包括第一时间戳。时间戳水印TLV的type部分的值例如用来指示这个TLV对应的水印类型是时间戳。时间戳水印TLV也可称为CRPI_WATERPRINT_TIMESTAMP(CRPI_水印_时间戳)。例如,时间戳水印TLV包括时间戳字段,时间戳字段包括第一时间戳。例如,参见下表4,表4是对时间戳水印TLV的格式的举例说明,表4中的时间戳为第一时间戳。时间戳例如占1个字节。
表4
Figure BDA0002628085460000172
(4)消息验证码水印TLV。
消息验证码水印TLV包括消息验证码的格式。消息验证码水印TLV的type部分的值例如用来指示这个TLV对应的水印类型是消息验证码。消息验证码水印TLV也可称为CRPI_WATERPRINT_MAC(CRPI_水印_消息验证码)。例如,消息验证码水印TLV包括消息验证码格式字段。当消息验证码格式字段取值为0时,指示UP设备通过对拨号报文中源MAC地址和目的MAC地址进行哈希运算以获得第一消息验证码。当消息验证码格式字段取值为1时,指示UP设备通过对拨号报文中源MAC地址、目的MAC地址、源IP地址以及目的IP地址进行哈希运算以获得第一消息验证码。当消息验证码格式字段取值为2时,指示UP设备通过对拨号报文中源MAC地址、目的MAC地址、源IP地址、目的IP地址以及UDP头进行哈希运算以获得第一消息验证码。例如,参见下表5,表5是对消息验证码水印TLV的格式的举例说明,表5中的消息验证码格式为消息验证码格式字段。消息验证码格式字段例如在消息验证码水印TLV中占1个字节。
表5
Figure BDA0002628085460000181
扩展方式二、扩展PFCP。
为了便于理解,下面先简单介绍PFCP,再介绍具体如何对PFCP扩展来实现第一控制消息。
PFCP是第三代合作伙伴计划(3rd Generation Partnership Project,3GPP)定义的一种承载在UDP之上的协议。PFCP基于第五代移动通信技术(5th generation mobilenetworks或5th generation wireless systems、5th-Generation,5G)业务定义了一套抽象的UP模型,基于此模型定义了CP与UP之间的节点消息、会话消息和一系列的信息元素(information element,IE)。PFCP将UP设备称为UPF,将CP设备称作CPF,将CP设备与UP设备之间的连接称为PFCP联盟(PFCP association)。PFCP消息分为PFCP节点消息(PFCP noderelated messages)以及PFCP会话消息(PFCP session related messages)。PFCP消息包括PFCP消息头(PFCP message header)和IE这两个部分。PFCP消息头包括消息类型(messagetype)、消息长度(message length)等字段。IE采用TLV的封装格式。IE分为分组IE(groupedIE)以及嵌入式IE(embedded IE)。嵌入式IE是最小单位的IE。一个分组IE可选地包含多个嵌入式IE。BBF TR-459规定,CP设备与UP设备之间SCi接口使用PFCP实现。
在一个示例中,CP设备使用PFCP消息中的IE携带水印或者生成水印相关的参数。例如,作为第一控制消息的PFCP消息包括水印IE,水印IE为携带水印的IE;或者,水印IE为携带水印对应的水印类型信息的IE;或者,水印IE为携带生成水印相关参数的IE。水印IE携带的水印类型信息例如是水印IE中type部分的值。例如,VNI水印IE的type部分的值用来指示这个IE对应的水印类型是VNI。例如,随机数水印IE的type部分的值用来指示这个IE对应的水印类型是随机数。例如,时间戳水印IE的type部分的值用来指示这个IE对应的水印类型是时间戳。例如,消息验证码水印IE的type部分的值用来指示这个IE对应的水印类型是消息验证码。在一个示例中,水印IE为分组IE。在另一个示例中,水印IE为嵌入式IE。例如,参见下表6,表6是对水印IE的介绍。
表6
IE P 条件/注释 IE类型
水印IE C 当CP被DDoS攻击时该IE包含水印。 水印
其中,表6中的C表示conditional,表示水印IE是在满足条件时携带的,该条件为CP设备被可能被DDoS攻击。在本实施例中,CP设备检测到拨号报文的接收速率异常时,会确定满足携带水印IE的条件。
请参考下表7,表7是对水印IE的格式的举例说明。在表7中,类型(type)字段包括水印IE的类型。类型字段占2个字节。类型字段中的类型值例如是10进制的取值。长度(length)字段包括水印IE的长度。长度字段中的长度例如不包括类型字段和长度字段的4字节。厂家ID(enterprise ID)字段包括厂家号。厂家ID字段是水印IE的可选字段。水印类型(water print type)字段、水印参数(water print para)字段属于水印IE中的数据部分或者水印IE的子IE。
表7
Figure BDA0002628085460000191
表7中类型字段的定义如下表8所示。在表8中,7/1表示一个字节(类型字段)的第1个比特;7/2表示一个字节(类型字段)的第2个比特;7/3表示一个字节(类型字段)的第3个比特;7/4表示一个字节(类型字段)的第4个比特;7/5表示一个字节(类型字段)的第5个比特。水印参数0至水印参数3这四种水印参数的定义与扩展方式一描述的VNI水印TLV、随机数水印TLV、时间戳水印TLV、消息验证码水印TLV这4类水印TLV的定义相同或类似。
表8
Figure BDA0002628085460000192
如何使用PFCP消息携带水印IE包括多种方式。在一个示例中,使用PFCP节点消息携带水印IE。换句话说,第一控制消息为PFCP节点消息。在另一个示例中,使用PFCP会话消息携带水印IE。换句话说,第一控制消息为PFCP会话消息。
在一个示例中,扩展新类型的PFCP消息,使用新类型的PFCP消息携带水印IE。该新类型的PFCP消息用于指示UP设备在向CP设备发送拨号报文时携带水印,该新类型的PFCP消息为本实施例提供的第一控制消息。其中,作为第一控制消息的PFCP消息包括类型字段。PFCP消息中类型字段包括类型值。该类型值标识PFCP消息指示UP设备在向CP设备发送拨号报文时携带水印。
其中,在通过扩展新类型的PFCP消息实现第一控制消息的情况下,本实施例对扩展PFCP节点消息还是扩展PFCP会话消息不做限定。例如,新增一种PFCP节点消息,比如在16至49之间新申请一个类型值,通过这种新类型的PFCP节点消息携带水印IE,CP设备通过向UP设备发送这种新类型的PFCP节点消息,实现水印下发的功能。又如,新增一种PFCP会话消息,比如在58至99之间新申请一个类型值,通过这种新类型的PFCP会话消息携带水印IE,CP设备通过向UP设备发送这种新类型的PFCP会话消息,实现水印下发的功能。
在另一个示例中,复用已有的PFCP消息携带水印IE,该已有的PFCP消息携带水印IE,能够指示UP设备在向CP设备发送拨号报文时携带水印,该已有的PFCP消息也是本实施例提供的第一控制消息。例如,复用PFCP更新会话请求(PFCP Session ModificationRequest)携带水印IE,该携带了水印IE的PFCP更新会话请求为本实施例提供的第一控制消息。其中,PFCP更新会话请求是一种PFCP会话消息,PFCP更新会话请求的消息类型值是52。例如,在PFCP更新会话请求中更新转发参数(Update Forwarding Parameters)IE中增加下表9所示的IE。
表9
Figure BDA0002628085460000201
其中,表9中的P表示Preferance(优先级)。表9中的C表示Conditional,表示水印IE是在满足条件时携带的,该条件为CP被DDoS攻击。在本实施例中,CP检测到拨号报文的接收速率异常时,会确定满足携带水印IE的条件。
S305、UP设备从CP设备接收第一控制消息,第一控制消息用于指示UP设备在向CP设备发送拨号报文时携带水印。
S307、UP设备根据第一控制消息,在拨号报文中携带水印。
UP设备发送的拨号报文例如包括原始拨号报文和水印。在一个示例中,该原始拨号报文是由用户设备发送的,在另一个示例中,该原始拨号报文也可以是与用户设备相连的接入设备发送的。原始拨号报文会传输至UP设备,UP设备接收到原始拨号报文时,根据CP设备下发的第一控制消息,获得水印;UP设备将获得的水印与原始拨号报文进行封装,得到包括水印的拨号报文,从而将水印携带在拨号报文中,使得UP设备上送的拨号报文中增加了水印。
以下重点通过用户设备发送原始拨号报文的方式介绍UP设备发送的拨号报文的相关内容。
拨号的方式包括而不限于PPPoE拨号或DHCP拨号。在采用PPPoE拨号的情况下,用户设备发送的原始拨号报文为PPPoE拨号报文。在采用DHCP拨号的情况下,用户设备发送的原始拨号报文为DHCP拨号报文。
PPPoE拨号报文例如是PADI报文。参见下表10,表10是对PADI报文格式的举例说明。
表10
Figure BDA0002628085460000211
表10所示的PADI报文中每个字段的含义如下表11所示。
表11
Figure BDA0002628085460000212
参见下表12,表12是对DHCP拨号报文格式的举例说明。表12中括号内的数字表示字段的长度,例如报文类型(1)表报文类型字段的长度是1字节,事务ID(4)表示事务ID字段的长度是4字节。
表12
Figure BDA0002628085460000213
Figure BDA0002628085460000221
上表12所示的DHCP拨号报文中每个字段的含义如下表13所示。
表13
Figure BDA0002628085460000222
Figure BDA0002628085460000231
DHCP拨号报文的第一个报文为DHCP发现报文。具体地,在DFCP拨号过程中,当DHCP客户端请求地址时,并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送请求报文,这个报文称为DHCP发现报文。DHCP发现报文用于发现网络中的DHCP服务器,所有收到DHCP发现报文的DHCP服务器都会发送回应报文,DHCP客户端据此能知道网络中存在的DHCP服务器的位置。参见下表14,表14是对DHCP发现报文格式的举例说明。表14所示的DHCP拨号报文中每个字段的含义如上表13所示。
表14
Figure BDA0002628085460000232
Figure BDA0002628085460000241
以上示例性介绍了拨号报文的格式,以下,介绍UP设备如何在拨号报文中添加水印。
例如,在采用水印类型a的情况下,UP设备从第一控制消息获得第一VNI;或者,UP设备获得预先约定的第一VNI,或者,UP设备根据第一控制消息中携带的参数生成第一VNI。UP设备采用这三种方式中任一种方式获得第一VNI后,UP设备在拨号报文中携带第一VNI,使得UP设备上送的拨号报文中的VNI从原来的VNI变为调整后的VNI。
例如,在采用水印类型b的情况下,UP设备从第一控制消息获得第一随机数;或者,UP设备获得预先约定的第一随机数,或者,UP设备根据第一控制消息中携带的参数生成第一随机数。UP设备采用这三种方式中任一种方式获得第一随机数后,UP设备在拨号报文中携带第一随机数,使得UP设备上送的拨号报文中增加了CP设备下发的随机数。
例如,在采用水印类型c的情况下,UP设备根据UP设备与CP设备之间的时间同步机制,确定第一时间戳,第一时间戳用于指示UP设备与CP设备之间同步的时间点。UP设备在拨号报文中携带第一时间戳,使得UP设备上送的拨号报文增加了同步时间点对应的时间戳。可选地,第一时间戳的精度为秒级。例如,UP设备与CP设备之间同步的时间点是2020年7月20日17点43分5秒,第一时间戳是20200720174305。
或者,UP设备生成第一时间戳,在拨号报文中携带生成的第一时间戳。在一个示例中,第一控制消息携带时间戳格式,UP设备根据该时间戳格式生成第一时间戳。通过这种方式,CP设备与UP设备通过传输第一控制消息,约定时间戳格式,从而按照预先约定的时间戳格式增加水印。时间戳格式例如为时间戳的精度、时间戳的位数等。
本实施例并不限定第一时间戳是否是一个完整时间戳。可选地,第一时间戳是一个完整时间戳包含的一部分。例如,第一时间戳是一个完整时间戳中的小时、分钟和秒。例如,一个完整的时间戳是20200720174305,第一时间戳是170510。
例如,在采用水印类型d的情况下,UP设备对拨号报文中至少一个参数进行哈希运算,获得第一消息认证码;UP设备在拨号报文中携带第一消息认证码,使得UP设备上送的拨号报文中增加了消息认证码。具体地,UP设备根据第一控制消息获得消息验证码的格式;或者,UP设备获得预先约定的消息验证码的格式。UP设备采用这两种方式中任一种方式确定消息验证码的格式后,按照消息验证码的格式对拨号报文中至少一个参数进行哈希运算。例如,如果第一控制消息中消息验证码的格式为1,含义是消息验证码的格式是拨号报文中源MAC地址和目的MAC地址的哈希值,那么UP设备对拨号报文中源MAC地址和目的MAC地址这2种信息进行哈希运算,将得到的哈希值作为第一消息验证码。
S308、UP设备向CP设备发送包括水印的拨号报文。
UP设备如何上送拨号报文包括多种方式。在一个示例中,UP设备与CP设备之间建立有基于UDP的隧道,UP设备通过该基于UDP的隧道发送包括水印的拨号报文,该包括水印的拨号报文为UDP报文。
例如,参见附图6,附图6中的(a)是对UP设备、CP设备与攻击者形成的网络架构的举例说明。附图6中的(b)是对水印功能关闭时UP设备上送的拨号报文的格式的举例说明。附图6中的(c)是对攻击者上送的拨号报文的格式的举例说明。附图6中的(d)是对水印功能开启时UP设备上送的拨号报文的格式的举例说明。具体地,当水印功能关闭时,UP设备会在用户设备发送的原始拨号报文的基础上封装基于UDP的隧道头,再上送包括基于UDP的隧道头的拨号报文。因此,如附图6中的(b)所示,UP设备上送的拨号报文包括两个部分,分别是基于UDP的隧道头和用户设备发送的原始拨号报文。攻击者捕获UP设备上送CP设备的拨号报文后,攻击者对拨号报文中的MAC地址或VLAN号进行跳变,得到跳变拨号报文。攻击者同样通过基于UDP的隧道发送跳变拨号报文。因此,如附图6中的(c)所示,攻击者上送的拨号报文包括两个部分,分别是基于UDP的隧道头和跳变拨号报文。攻击者通过发送跳变拨号报文发起重放攻击后,CP设备发现拨号报文的速率超过速率阈值的时长超过一定时间,则通过向UP设备下发控制消息指示UP设备增加水印。UP设备接收到控制消息后,开启水印功能,UP设备在用户设备发送的原始拨号报文的基础上封装基于UDP的隧道头以及水印,再上送包括基于UDP的隧道头以及水印的拨号报文。因此,如附图6中的(d)所示,UP设备上送的拨号报文包括三个部分,分别是基于UDP的隧道头、水印字段和用户设备发送的原始拨号报文。
本实施例并不限定水印字段在拨号报文的携带位置。在一个示例中,参见附图6中的(d),水印字段的携带位置在基于UDP的隧道头和用户设备发送的原始拨号报文之间。例如,在采用水印类型b的情况下,附图6中的(d)所示的水印字段具体为随机数字段,该随机数字段携带第一随机数。又如,在采用水印类型c的情况下,附图6中的(d)所示的水印字段具体为时间戳字段,时间戳字段携带第一时间戳。又如,在采用水印类型d的情况下,附图6中的(d)所示的水印字段具体为消息认证码字段,消息认证码字段携带第一消息认证码。在另一个示例中,水印字段的携带位置在基于UDP的隧道头内。例如,在采用水印类型a的情况下,基于UDP的隧道头包括VXLAN头,水印字段具体为VNI字段,VNI字段携带第一VNI。包括第一VNI的VNI字段例如位于VXLAN头中。
在一个示例中,CP设备与UP设备之间具有CPRi接口,CP设备通过CPRi接口向UP设备发送包括水印的拨号报文。在采用这种方式时,包括水印的拨号报文也称CPRi消息或CPRi报文。CPRi接口的具体实现方式包括而不限于VXLAN GPE的方式以及GTP-C的方式,在采用不同的方式实现CPRi接口时,UP设备上送的拨号报文中水印的携带位置有所区别。下面通过情况A对采用VXLAN GPE的方式时UP设备如何在上送的拨号报文中携带水印举例说明,通过情况B对采用GTP-C的方式时UP设备如何在上送的拨号报文中携带水印举例说明。
情况A、采用VXLAN GPE的方式实现CPRi接口的情况。
在采用VXLAN GPE的方式实现CPRi接口时,附图6所示的基于UDP的隧道头具体为VXLAN GPE头,UP设备上送的包括水印的拨号报文具体为VXLAN GPE报文。参见附图7,附图7是对包括水印的拨号报文-VXLAN GPE报文的两种封装格式的举例说明。如附图7中的(a)所示,包括水印的拨号报文例如包括三个部分,分别是VXLAN GPE头、水印字段以及用户设备发送的原始拨号报文,水印字段位于VXLAN GPE头与用户设备发送的原始拨号报文之间;如附图7中的(b)所示,包括水印的拨号报文例如包括两个部分,分别是VXLAN GPE头以及用户设备发送的原始拨号报文,水印字段位于VXLAN GPE头中。
如附图7所示,VXLAN GPE头包括目的MAC地址(Destination MAC Address,DA)字段、源MAC地址(Source MAC Address,SA)字段、目的IP(Destination IP,DIP)字段、源IP(Source IP,SIP)字段、UDP头(UDP Header)、VXLAN头(VXLAN Header)、GPE扩展头。
例如,VXLAN头的格式参考下表15所示。VXLAN头包括VNI字段、保留(Reserved,R)字段以及I字段。其中,I字段例如是实例比特(instance bit,简称I比特或I字段或I标志),I字段用于标识VNI是否有效,当I字段取值为1时标识VNI有效;当I字段取值为0时标识VNI无效。保留字段包括作为保留的一个或多个比特位。VNI字段包括VNI。在本实施例中,VNI字段包括第一VNI。
表15
Figure BDA0002628085460000261
在一个示例中,参见下表16,VXLAN GPE头中VXLAN头还包括下一协议(NextProtocol)字段,应用在CP和UP分离的BNG系统时,下一协议字段的取值例如为0x7。在一个示例中,如表16所示,VXLAN GPE头中的VXLAN头还包括版本(version,Ver)字段,Ver字段表示VXLAN GPE的版本,初始值是0;VXLAN GPE头中VXLAN头还包括实例比特(instance bit,简称I比特或I字段或I标志),当I比特携带1时,表示VXLAN头包括的VNI是一个有效的VNI。VXLAN GPE头中VXLAN头还包括下一协议比特(Next Protocol Bit,简称P比特或下一协议标志),P比特用于标识下一协议字段的值有效。VXLAN GPE头中VXLAN头还包括广播未知单播组播流量比特(broadcast&unknown-unicast&multicast traffic bit,BUM trafficBit,简称B比特或B字段或B标志),B比特用于标识报文是一个广播报文或未知单播报文或组播报文(broadcast&unknown-unicast&multica,BUM)报文。VXLAN GPE头中VXLAN头还包括操作维护管理标志比特(operation administration and maintenance flag bit,OAMflag bit,简称O比特或O字段或O标志),O比特用于标识报文是一个OAM报文。
表16
Figure BDA0002628085460000262
GPE扩展头的格式例如参见下表17所示,GPE扩展头包括P字段、类型(Class)字段、端口信息(Port Info)字段。其中,P字段用于表示拨号的类别,拨号的类型例如是DHCP拨号或PPPoE拨号等。类型字段用于表示原始拨号报文的具体类别,例如,类型字段表示原始拨号报文是PADI报文。例如,类型字段表示原始拨号报文是DHCP发现报文。端口信息字段表示用户设备在UP设备上接入的接口信息。
表17
Figure BDA0002628085460000271
以上对UP设备上送的包括水印的VXLAN GPE报文的格式进行了整体介绍,以下结合水印类型a至水印类型d这几种具体的水印类型,对VXLAN GPE报文的格式进行举例说明。
例如,在采用水印类型a的情况下,UP设备上送的VXLAN GPE报文包括调整后的VNI(第一VNI)。参见附图7中的(b),第一VNI例如位于附图7中的(b)中的VXLAN头中。例如,参见表15,第一VNI位于表15所示的VXLAN头中,比如在表15中的VNI字段中;又如,参见表16,第一VNI位于表16所示的VXLAN头中,比如在表16中的VNI字段中。
例如,在采用水印类型b的情况下,UP设备上送的VXLAN GPE报文包括CP设备生成的随机数(第一随机数)。例如,参见附图8,附图8是对包括第一随机数的VXLAN GPE报文的举例说明。第一随机数例如位于附图8中的随机数字段中。附图8中每个字段的含义请参考上文的介绍。
例如,在采用水印类型c的情况下,UP设备上送的VXLAN GPE报文包括UP设备与CP设备之间同步时间点的时间戳(第一时间戳)。例如,参见附图9,附图9是对包括第一时间戳的VXLAN GPE报文的举例说明。第一时间戳例如位于附图9中的时间戳字段中。附图9中每个字段的含义请参考上文的介绍。
例如,在采用水印类型d的情况下,UP设备上送的VXLAN GPE报文包括对拨号报文中的参数进行哈希运算得到的消息认证码(第一消息认证码)。例如,参见附图10,附图10是对包括第一消息认证码的VXLAN GPE报文的举例说明。第一消息认证码例如位于附图10中的消息认证码字段中。附图10中每个字段的含义请参考上文的介绍。
情况B、采用GTP-C的方式实现CPRi接口的情况。
在采用GTP-C的方式实现CPRi接口时,UP设备上送的包括水印的拨号报文具体为GTP-C报文。例如,附图6中的(d)所示的基于UDP的隧道头具体包括GTP-C头和NSH头。例如,附图7、附图8、附图9以及附图10所示的四种包括水印的拨号报文中的VXLAN GPE头被替换为GTP-C头和NSH头。在一个示例中,使用GTP-C头中某个字段或者NSH头中某个字段携带水印。
S309、CP设备根据水印,在报文流中识别攻击报文。
报文流是指CP设备发送第一控制消息之后接收到的一系列报文。例如,报文流包括CP设备通过CPRi接口接收的报文。对于报文流中的一个报文,CP设备会根据水印对报文进行校验,从而识别报文是攻击者上送的攻击报文还是UP设备上送的正常报文。
CP设备如何识别攻击报文包括多种实现方式。在一个示例中,攻击者上送的攻击报文本身没有携带水印,在这种情况下,CP设备根据报文不包括水印,确定报文是攻击报文。以识别第五报文的过程为例,例如,报文流包括第五报文,CP设备根据第五报文不包括水印确定第五报文为攻击报文。在另一个示例中,攻击者上送的攻击报文携带水印但水印并不正确,在这种情况下,CP设备根据报文携带的水印并不是CP设备之前下发给UP设备的水印,确定报文是攻击报文。下面,结合上面描述的四种具体的水印类型,通过识别方式A至识别方式D对CP设备识别攻击报文的具体实现方式举例说明。
识别方式A、CP设备利用VNI识别攻击报文。
以识别方式A应用在识别第一报文为例,第一报文是指CP设备在下发第一VNI后接收到的报文流中的一个报文。如果第一报文不包括CP设备之前向UP设备下发的第一VNI,这表明第一报文并不是来自UP设备的报文,因此CP设备对第一报文校验不通过,CP设备确定第一报文为攻击报文。在一个示例中,CP设备将原来的VNI调整为第一VNI之后,在本地的表项中保存第一VNI;当CP设备收到第一报文时,从本地的表项中读取第一VNI,从而利用预先保存的第一VNI识别攻击报文。
在以下情况A-1和情况A-2下,CP设备均能够利用识别方式A发现收到的报文是攻击者上送的攻击报文。
情况A-1、攻击者上送的报文没有VNI。
例如,第一报文不包括VNI,CP设备根据第一报文不包括VNI确定第一报文为攻击报文。
情况A-2、攻击者上送的报文包含VNI而VNI不正确。
例如,CP设备从第一报文获得第二VNI;CP设备判断第二VNI与第一VNI是否相同;若第二VNI与第一VNI不同,CP设备确定第一报文为攻击报文。其中,第二VNI是指第一报文携带的VNI。例如,第一报文也是基于VXLAN隧道发送的,第二VNI是第一报文中VXLAN头中的VNI。
CP设备和UP设备通过采用识别方式A防御网络攻击,能够达到以下两个方面的效果。
一方面,由于攻击者难以知晓CP设备向UP设备下发的调整后的VNI(即第一VNI),也就无法构造包含调整后的VNI的攻击报文。因此,CP设备能够依据报文是否包含调整后的VNI,区分报文是攻击者上送的攻击报文还是UP设备上送的正常报文,从而有效防御攻击者的网络攻击。
另一方面,在利用VNI实现防御网络攻击的功能时,能够复用CP设备与UP设备基于VXLAN通信时涉及的诸多流程。例如,CP设备根据第一VNI确定攻击报文的步骤可通过复用VXLAN中对收到的VXLAN报文中的VNI进行校验的流程实现,UP设备在报文中携带第一VNI的步骤可通过复用VXLAN中在发送的VXLAN报文携带VNI的流程实现。由于CP设备和UP设备能复用已有的处理逻辑来实现网络攻击的防御能力,节约了CP设备为了新增防御能力而新增的计算性能开销,也节约了UP设备为了新增防御能力而新增的转发性能开销。因此,这种实现防御网络攻击的方案开销小,实用性高。
本实施例对采用识别方式A时如何识别正常报文不做限定。在一个示例中,如果第一报文包括CP设备之前向UP设备下发的第一VNI,则对第一报文校验通过,CP设备确定第一报文为非攻击报文(例如正常报文)。在另一个示例中,CP设备不仅利用VNI,还利用VNI之外的其他特征识别报文时,如果第一报文包括CP设备之前向UP设备下发的第一VNI且第一报文的其他特征满足正常条件,CP设备确定第一报文为正常报文。
识别方式B、CP设备利用随机数识别攻击报文。
以识别方式B应用在识别第二报文为例,第二报文是指CP设备在下发第一随机数后接收到的报文流中的一个报文。如果第二报文不包括CP设备之前向UP设备下发的第一随机数,这表明第二报文并不是来自UP设备的报文,因此CP设备对第二报文校验不通过,CP设备确定第二报文为攻击报文。在一个示例中,CP设备生成第一随机数后,在本地的表项中保存第一随机数;当CP设备收到第二报文时,从本地的表项中读取第一随机数,从而利用预先保存的第一随机数识别攻击报文。
在以下情况B-1和情况B-2下,CP设备均能够利用识别方式B发现收到的报文是攻击者上送的攻击报文。
情况B-1、攻击者上送的报文没有随机数。
例如,第二报文不包括随机数,CP设备根据第二报文不包括随机数确定第二报文为攻击报文。
情况B-2、攻击者上送的报文包含随机数而随机数不正确。
例如,CP设备从第二报文获得第二随机数;CP设备判断第二随机数与第一随机数是否相同;若第二随机数与第一随机数不同,CP设备确定第二报文为攻击报文。其中,第二随机数是指第二报文携带的随机数。
本实施例对采用识别方式B时如何识别正常报文不做限定。在一个示例中,如果第二报文包括CP设备之前向UP设备下发的第一随机数,则对第二报文校验通过,CP设备确定第二报文为非攻击报文(例如正常报文)。在另一个示例中,CP设备不仅利用随机数,还利用随机数之外的其他特征识别报文时,如果第二报文包括CP设备之前向UP设备下发的第一随机数且第二报文的其他特征满足正常条件,CP设备确定第二报文为正常报文。
识别方式C、CP设备利用时间戳识别攻击报文。
以识别方式C应用在识别第三报文为例,第三报文是指CP设备在下发第一控制消息后接收到的报文流中的一个报文。如果第三报文不包括CP设备与UP设备之间同步的时间点对应的第一时间戳,这表明第三报文并不是来自UP设备的报文,因此CP设备对第三报文校验不通过,CP设备确定第三报文为攻击报文。
其中,CP设备如何获得第一时间戳包括多种方式。例如,由于CP设备与UP设备之间的时间是同步的,CP设备收到第三报文时,读取本地时间点对应的时间戳,作为第一时间戳。或者,CP设备收到第三报文时,采用算法对本地时间点对应的时间戳进行补偿,将补偿后的时间戳作为第一时间戳。
在以下情况C-1和情况C-2下,CP设备均能够利用识别方式C发现收到的报文是攻击者上送的攻击报文。
情况C-1、攻击者上送的报文没有时间戳。
例如,第三报文不包括时间戳,CP设备根据第三报文不包括时间戳确定第三报文为攻击报文。
情况C-2、攻击者上送的报文包含时间戳而时间戳不正确。
例如,CP设备从第三报文获得第二时间戳;CP设备对第二时间戳与第一时间戳进行比较;若第二时间戳与第一时间戳之间的时间差大于时间差阈值,CP设备确定第三报文为攻击报文。其中,第二时间戳是指第三报文携带的时间戳。
本实施例对采用识别方式C时如何识别正常报文不做限定。在一个示例中,如果第三报文包括第一时间戳,则对第三报文校验通过,CP设备确定第三报文为非攻击报文(例如正常报文)。在另一个示例中,如果第三报文包括的第二时间戳与第一时间戳之间的时间差小于时间差阈值,比如,第二时间戳与第一时间差之间的时间差属于正负1秒范围内,CP设备确定第三报文为正常报文。在另一个示例中,CP设备不仅利用时间戳,还利用时间戳之外的其他特征识别报文时,如果第三报文包括第一时间戳且第三报文的其他特征满足正常条件,CP设备确定第三报文为正常报文。
识别方式D、CP设备利用消息认证码识别攻击报文。
以识别方式D应用在识别第四报文为例,第四报文是指CP设备在下发第一控制消息后接收到的报文流中的一个报文。如果第四报文不包括第一消息认证码,这表明第四报文并不是来自UP设备的报文,因此CP设备对第四报文校验不通过,CP设备确定第四报文为攻击报文。例如,CP设备通过第一控制消息下发消息验证码的格式后,在本地的表项中保存消息验证码的格式;当CP设备收到第四报文时,从本地的表项中读取消息验证码的格式,按照预先保存的消息验证码的格式对拨号报文中至少一个参数进行哈希运算,得到第一消息认证码。
在以下情况D-1和情况D-2下,CP设备均能够利用识别方式D发现收到的报文是攻击者上送的攻击报文。
情况D-1、攻击者上送的报文没有消息认证码。
例如,第四报文不包括消息认证码,CP设备根据第四报文不包括消息认证码确定第四报文为攻击报文。
情况D-2、攻击者上送的报文包含消息认证码而消息认证码不正确。
例如,CP设备从第四报文获得第二消息认证码;CP设备判断第二消息认证码与第一消息认证码是否相同;若第二消息认证码与第一消息认证码不同,CP设备确定第四报文为攻击报文。其中,第二消息认证码是指第四报文携带的消息认证码。
本实施例对采用识别方式D时如何识别正常报文不做限定。在一个示例中,如果第四报文包括第一消息认证码,则对第四报文校验通过,CP设备确定第四报文为非攻击报文(例如正常报文)。在另一个示例中,CP设备不仅利用消息认证码,还利用消息认证码之外的其他特征识别报文时,如果第四报文包括第一消息认证码且第四报文的其他特征满足正常条件,CP设备确定第四报文为正常报文。
识别方式a至识别方式d能够采用任意方式结合。在一个示例中,仅采用识别方式a至识别方式d中的一种类型的水印防御攻击;在另一个示例中,同时采用识别方式a至识别方式d中的两种或两种以上类型的水印防御攻击。以识别方式a和识别方式b结合为例,CP设备生成并发送第一控制消息,第一控制消息用于指示UP设备在向CP设备发送拨号报文时携带第一VNI以及第一随机数;UP设备根据第一控制消息,在拨号报文中携带第一VNI以及第一随机数;UP设备向CP设备发送包括第一VNI以及第一随机数的拨号报文。CP设备接收到第一报文时,根据第一报文不包括第一VNI或者不包括第一随机数确定第一报文为攻击报文。CP设备根据第一报文包括第一VNI且包括第一随机数确定第一报文为正常报文。
在一个示例中,CP设备还根据水印判断攻击报文是否从UP设备上送。如果攻击报文从UP设备上送,CP设备对UP设备上的用户侧接口进行限速。其中,用户侧接口是指与接入网或者汇聚网相连的接口。用户侧接口是UP设备从用户设备接收原始拨号报文时使用的接口。例如,CP设备向UP设备发送第三控制消息,第三控制消息用于指示UP设备对用户侧接口进行限速。UP设备响应于第三控制消息,对通过用户侧接口接收的原始拨号报文进行限速。通过这种方式,在家庭终端中毒等场景下,通过对UP设备的用户侧接口进行限速,能够解决家庭终端疯狂向UP设备进行拨号的问题。
S310、CP设备丢弃攻击报文。
CP设备通过根据水印区分攻击报文和正常报文,对攻击报文进行丢弃,由于免去了CP设备为攻击报文回应拨号、进行认证等拨号处理的动作,因此节省了CP设备的计算资源,由于避免正常报文被令牌桶随机丢弃的情况,因此CP设备能够为正常报文执行拨号处理的动作,保证正常用户能够上线。
在一个示例中,CP设备联动指定的UP设备通过水印防御攻击。例如,CP设备对每个源IP地址的拨号报文分别进行测速,得到每个源IP地址的拨号报文对应的接收速率。如果第一源IP地址的拨号报文的接收速率满足异常条件,CP设备在CP设备关联的至少一个UP设备中,确定具有该第一源IP地址的第一UP设备,向第一UP设备发送第一控制消息。之后,第一UP设备在拨号报文中携带水印。CP设备根据水印,在IP地址为第一源IP地址的报文流中识别攻击报文。通过这种方式,由于攻击者发动攻击时经常仿冒UP设备的身份,即,攻击者使用与某个UP设备相同的源IP地址发送报文,因此如果第一源IP地址的拨号报文的接收速率满足异常条件,表明第一源IP地址的拨号报文被攻击者仿冒的可能性大,因此,CP设备通过联动指定的第一UP设备防御攻击,相对于要求系统中所有UP设备在上送拨号报文时都携带水印、CP设备对收到的所有报文流都使用水印校验的方式而言,网络攻击的防御功能更精确,开销更小。
S311、响应于拨号报文的接收速率满足正常条件,CP设备生成第二控制消息,第二控制消息用于指示UP设备在向CP设备发送拨号报文时取消携带水印。
如果拨号报文的接收速率满足正常条件,CP设备会确定网络攻击已经停止,则CP设备通过生成并下发第二控制消息,来指示UP设备上送拨号报文时取消携带水印,从而关闭通过水印防御攻击的功能,进而减小网络的开销和设备的压力。
例如,CP设备测量拨号报文的接收速率,如果接收速率超过速率阈值的时长小于预设时长,或者接收速率小于速率阈值的时长大于预设时长,或者拨号报文的接收速率低于速率阈值,则CP设备确定接收速率满足正常条件。
在一个示例中,对CUSP扩展来实现第二控制消息。具体地,扩展了新类型的CUSP报文。新类型的CUSP报文用于指示UP设备在向CP设备发送拨号报文时取消携带水印,新类型的CUSP报文为第二控制消息。具体地,作为第二控制消息的CUSP报文包括类型字段。CUSP报文中类型字段包括类型值。该类型值标识CUSP报文指示UP设备在向CP设备发送拨号报文时取消携带水印。在一个示例中,该类型值为RFC 8772中Table 2的控制消息(controlmessages)的类型。例如,参见下表18,表18是作为第二控制消息的CUSP报文的举例说明。表18中水印结束(waterprint_End)是对作为第二控制消息的CUSP报文的类型名称的举例说明。表18中的10是对作为第二控制消息的CUSP报文的类型值的举例说明。
表18
类型(type) 名称(name) 注释
10 水印结束 停止加水印
在一个示例中,对PFCP扩展来实现第二控制消息。例如,作为第二控制消息的PFCP消息包括水印IE。水印IE的格式请参考上表6、表7和表8的介绍。在一个示例中,第二控制消息为PFCP节点消息。在一个示例中,第二控制消息为PFCP会话消息。
S312、CP设备向UP设备发送第二控制消息。
S313、UP设备从CP设备接收第二控制消息。
S315、UP设备根据第二控制消息,向CP设备发送不包括水印的拨号报文。
S315中UP设备发送的拨号报文例如包括原始拨号报文而不包括水印。在一个示例中,该原始拨号报文是由用户设备发送的,在另一个示例中,该原始拨号报文也可以是与用户设备相连的接入设备发送的。原始拨号报文会传输至UP设备。由于第二控制消息指明了UP设备在向CP设备发送拨号报文时取消携带水印,因此UP设备接收到原始拨号报文时,根据CP设备下发的第二控制消息,会取消在拨号报文中携带水印,使得UP设备上送的拨号报文中不再包括水印。
本实施例提供的方法,CP设备通过在发现拨号报文的接收速率异常的情况下,向UP设备下发控制消息,从而通过控制消息通知UP设备在上送拨号报文时携带水印。由于UP设备上送的拨号报文包括水印,攻击者上送的攻击报文不包括水印,CP设备根据水印能够在收到的报文流中有效地识别出攻击报文,使得攻击报文能够被CP设备丢弃,从而有效地抵御了网络攻击,降低了CP设备受到网络攻击的风险,提高了CP设备以及该通信系统的安全性。
以上通过方法300示例性介绍了CP设备和UP设备参与的交互流程。以下介绍本申请实施例的CP设备和UP设备,下面描述的CP设备和UP设备分别具有上述方法300中CP设备和UP设备的任意功能。
附图11示出了上述实施例中所涉及的CP设备的一种可能的结构示意图。附图11所示的CP设备400例如实现方法300中CP设备的功能。
请参考附图11,CP设备400包括处理单元401和发送单元402。CP设备400中的各个单元全部或部分地通过软件、硬件、固件或者其任意组合来实现。CP设备400中的各个单元用于执行上述方法300中CP设备的相应功能。具体地,处理单元401用于支持CP设备400执行S303、S309和S310。发送单元402用于支持CP设备400执行S304。
在一个示例中,处理单元401以及发送单元402还用于支持CP设备400执行本文所描述的技术中CP设备执行的其它过程。例如,处理单元401还用于支持CP设备400执行S311。发送单元402还用于支持CP设备400执行S312。具体执行过程请参考方法300中相应步骤的详细描述,这里不再一一赘述。
本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可选地有另外的划分方式。
例如,在另一个示例中,CP设备400中各个单元集成在一个处理单元中。例如,CP设备400中各个单元集成在同一个芯片上。该芯片包括处理电路和与该处理电路内部连接通信的输入接口以及输出接口。处理单元401通过芯片中的处理电路实现。发送单元402通过芯片中的输出接口实现。例如,该芯片通过一个或多个现场可编程门阵列(英文全称:field-programmable gate array,英文简称:FPGA)、可编程逻辑器件(英文全称:programmable logic device,英文简称:PLD)、控制器、状态机、门逻辑、分立硬件部件、任何其它适合的电路、或者能够执行本申请通篇所描述的各种功能的电路的任意组合实现。
又如,在另一个示例中,CP设备400各个单元单独物理存在。在另一个示例中,CP设备400一部分单元单独物理存在,另一部分单元集成在一个单元中。例如,在一个示例中,处理单元401和发送单元402是同一个单元。在另一个示例中,处理单元401和发送单元402是不同的单元。在一个示例中,不同单元的集成采用硬件的形式实现,即,不同单元对应于同一个硬件。又如,不同单元的集成采用软件单元的形式实现。
在CP设备400中通过硬件实现的情况下,在一个示例中,CP设备400中处理单元401通过设备700中的处理器701或者处理器705中的至少一项实现。CP设备400中发送单元402通过设备700中的通信接口704实现。在另一个示例中,CP设备400中处理单元401通过设备600中的中央处理器611、接口板603上的中央处理器631、网络处理器632、接口板640上的中央处理器641或者网络处理器642中的至少一项实现。CP设备400中发送单元402通过设备600中的物理接口卡633或者物理接口卡643中的至少一项实现。
在CP设备400中通过软件实现的情况下,例如,CP设备400中各个单元为设备700中的处理器701或者处理器705读取存储器703中存储的程序代码后生成的软件;又如,CP设备400中各个单元为设备600中的中央处理器611、接口板603上的中央处理器631、网络处理器632、接口板640上的中央处理器641或者网络处理器642读取存储器612中存储的程序代码后生成的软件。例如,CP设备400为虚拟化设备。虚拟化设备包括而不限于虚拟机、容器、Pod中的至少一种。在一个示例中,CP设备400以虚拟机的形式,部署在硬件设备(如物理服务器)上。例如,基于通用的物理服务器结合网络功能虚拟化(Network FunctionsVirtualization,NFV)技术来实现CP设备400。采用虚拟机的方式实现时,CP设备400例如为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出CP设备400。在另一个示例中,CP设备400以容器(例如docker容器)的形式,部署在硬件设备上。例如,CP设备400执行上述方法实施例的流程被封装在镜像文件中,硬件设备通过运行镜像文件来创建CP设备400。在另一个示例中,CP设备400以Pod的形式,部署在硬件设备上。Pod包括多个容器,每个容器用于实现CP设备400中的一个或多个单元。
附图12示出了上述实施例中所涉及的UP设备的一种可能的结构示意图。附图12所示的UP设备500例如实现方法300中UP设备的功能。
请参考附图12,UP设备500包括接收单元501、处理单元502和发送单元503。UP设备500中的各个单元全部或部分地通过软件、硬件、固件或者其任意组合来实现。UP设备500中的各个单元用于执行上述方法300中UP设备的相应功能。具体地,接收单元501用于支持UP设备500执行S305。处理单元502用于支持UP设备500执行S307。发送单元503用于支持UP设备500执行S308。
在一个示例中,接收单元501、处理单元502或发送单元503还用于支持UP设备500执行本文所描述的技术中UP设备执行的其它过程。例如,接收单元501用于支持UP设备500执行方法300中UP设备执行的其他接收操作,如S313。发送单元503用于支持UP设备500执行方法300中UP设备执行的其他发送操作,如S315。具体执行过程请参考方法300中相应步骤的详细描述,这里不再一一赘述。
本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可选地有另外的划分方式。
在一个示例中,UP设备500中各个单元集成在一个处理单元中。例如,UP设备500中各个单元集成在同一个芯片上。该芯片包括处理电路和与该处理电路内部连接通信的输入接口以及输出接口。处理单元502通过芯片中的处理电路实现。接收单元501通过芯片中的输入接口实现。发送单元503通过芯片中的输出接口实现。例如,该芯片通过一个或多个现场可编程门阵列(英文全称:field-programmable gate array,英文简称:FPGA)、可编程逻辑器件(英文全称:programmable logic device,英文简称:PLD)、控制器、状态机、门逻辑、分立硬件部件、任何其它适合的电路、或者能够执行本申请通篇所描述的各种功能的电路的任意组合实现。
在另一个示例中,UP设备500各个单元单独物理存在。在另一个示例中,UP设备500一部分单元单独物理存在,另一部分单元集成在一个单元中。例如,在一个示例中,处理单元502和发送单元503是同一个单元。在另一个示例中,处理单元502和发送单元503是不同的单元。在一个示例中,不同单元的集成采用硬件的形式实现,即,不同单元对应于同一个硬件。又如,不同单元的集成采用软件单元的形式实现。
在UP设备500中通过硬件实现的情况下,在一个示例中,UP设备500中处理单元502通过设备700中的处理器701或者处理器705中的至少一项实现。UP设备500中接收单元501、发送单元503例如通过设备700中的通信接口704实现。在另一个示例中,UP设备500中处理单元502通过设备600中的中央处理器611、接口板603上的中央处理器631、网络处理器632、接口板640上的中央处理器641或者网络处理器642中的至少一项实现。UP设备500中接收单元501、发送单元503通过设备600中的物理接口卡633或者物理接口卡643中的至少一项实现。
在UP设备500中通过软件实现的情况下,例如,UP设备500中各个单元为设备700中的处理器701或者处理器705读取存储器703中存储的程序代码后生成的软件,又如,UP设备500中各个单元为设备600中的中央处理器611、接口板603上的中央处理器631、网络处理器632、接口板640上的中央处理器641或者网络处理器642读取存储器612中存储的程序代码后生成的软件。例如,UP设备500为虚拟化设备。虚拟化设备包括而不限于虚拟机、容器、Pod中的至少一种。在一个示例中,UP设备500以虚拟机的形式,部署在硬件设备(如物理服务器)上。例如,基于通用的物理服务器结合网络功能虚拟化(Network FunctionsVirtualization,NFV)技术来实现UP设备500。采用虚拟机的方式实现时,UP设备500例如为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出UP设备500。在另一个示例中,UP设备500以容器(例如docker容器)的形式,部署在硬件设备上。例如,UP设备500执行上述方法实施例的流程被封装在镜像文件中,硬件设备通过运行镜像文件来创建UP设备500。在另一个示例中,UP设备500以Pod的形式,部署在硬件设备上。Pod包括多个容器,每个容器用于实现UP设备500中的一个或多个单元。
以上通过CP设备400以及UP设备500,从逻辑功能的角度介绍了如何实现CP设备以及UP设备。以下通过设备600和设备700,从硬件的角度介绍如何实现CP设备或UP设备。附图13所示的设备600或者附图14所示的设备700是对CP设备或UP设备的硬件结构的举例说明。
设备600或者设备700对应于上述方法300中的CP设备或UP设备,设备600或者设备700中的各硬件、模块和上述其他操作和/或功能分别为了实现方法实施例中CP设备或UP设备所实施的各种步骤和方法,关于设备600或者设备700如何防御网络攻击的详细流程,具体细节可参见上述方法300,为了简洁,在此不再赘述。其中,方法300的各步骤通过设备600或者设备700处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块例如位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
参见附图13,附图13示出了本申请一个示例性实施例提供的设备的硬件结构示意图,设备600例如配置为方法300中的CP设备或UP设备。设备600包括:主控板610和接口板630。
主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(routeprocessor card),主控板610用于对设备600中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板610包括:中央处理器611和存储器612。
接口板630也称为线路接口单元卡(line processing unit,LPU)、线卡(linecard)或业务板。接口板630用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板630包括:中央处理器631、网络处理器632、转发表项存储器634和物理接口卡(physical interface card,PIC)633。
接口板630上的中央处理器631用于对接口板630进行控制管理并与主控板610上的中央处理器611进行通信。
网络处理器632用于实现报文的转发处理。网络处理器632的形态例如是转发芯片。具体而言,网络处理器632用于基于转发表项存储器634保存的转发表转发接收到的报文,如果报文的目的地址为设备600的地址,则将该报文上送至CPU(如中央处理器611)处理;如果报文的目的地址不是设备600的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
物理接口卡633用于实现物理层的对接功能,原始的流量由此进入接口板630,以及处理后的报文从该物理接口卡633发出。物理接口卡633也称为子卡,可安装在接口板630上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器632处理。在一个示例中,中央处理器也可执行网络处理器632的功能,比如基于通用CPU实现软件转发,从而物理接口卡633中不需要网络处理器632。
可选地,设备600包括多个接口板,例如设备600还包括接口板640,接口板640包括:中央处理器641、网络处理器642、转发表项存储器644和物理接口卡643。
可选地,设备600还包括交换网板620。交换网板620也例如称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板630的情况下,交换网板620用于完成各接口板之间的数据交换。例如,接口板630和接口板640之间例如通过交换网板620通信。
主控板610和接口板630耦合。例如。主控板610、接口板630和接口板640,以及交换网板620之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板610和接口板630之间建立进程间通信协议(inter-process communication,IPC)通道,主控板610和接口板630之间通过IPC通道进行通信。
在逻辑上,设备600包括控制面和转发面,控制面包括主控板610和中央处理器631,转发面包括执行转发的各个组件,比如转发表项存储器634、物理接口卡633和网络处理器632。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器632基于控制面下发的转发表对物理接口卡633收到的报文查表转发。控制面下发的转发表例如保存在转发表项存储器634中。在有些实施例中,控制面和转发面例如完全分离,不在同一设备上。
应理解,本申请实施例中接口板640上的操作与接口板630的操作一致,为了简洁,不再赘述。应理解,本实施例的设备600可对应于上述各个方法实施例中的CP设备或UP设备,该设备600中的主控板610、接口板630和/或640例如实现上述各个方法实施例中的CP设备或UP设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
值得说明的是,主控板可能有一块或多块,有多块的时候例如包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
参见附图14,附图14示出了本申请一个示例性实施例提供的设备700的结构示意图,该设备700例如配置为方法300中的CP设备或UP设备。该设备700可以是主机、服务器或个人计算机等。该设备700可以由一般性的总线体系结构来实现。
设备700包括至少一个处理器701、通信总线702、存储器703以及至少一个通信接口704。
处理器701例如是通用中央处理器(central processing unit,CPU)、网络处理器(network processer,NP)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(neural-network processing units,NPU)、数据处理单元(Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器701包括专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。PLD例如是复杂可编程逻辑器件(complexprogrammable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gatearray,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
通信总线702用于在上述组件之间传送信息。通信总线702可以分为地址总线、数据总线、控制总线等。为便于表示,附图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器703例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器703例如是独立存在,并通过通信总线702与处理器701相连接。存储器703也可以和处理器701集成在一起。
通信接口704使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口704包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合等。
在具体实现中,作为一种实施例,处理器701可以包括一个或多个CPU,如附图14中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,设备700可以包括多个处理器,如附图14中所示的处理器701和处理器705。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,设备700还可以包括输出设备和输入设备。输出设备和处理器701通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器701通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一个示例中,存储器703用于存储执行本申请方案的程序代码710,处理器701可以执行存储器703中存储的程序代码710。也即是,设备700可以通过处理器701以及存储器703中的程序代码710,来实现方法实施例提供的网络攻击的防御方法。
本申请实施例的设备700可对应于上述各个方法实施例中的CP设备或UP设备,并且,该设备700中的处理器701、通信接口704等可以实现上述各个方法实施例中的CP设备或UP设备所具有的功能和/或所实施的各种步骤和方法。为了简洁,在此不再赘述。
参见附图15,本申请实施例提供了一种通信系统800,系统800包括:CP设备801和UP设备802。可选的,CP设备801为如附图11所示的CP设备400或附图14所示的设备600或附图15所示的设备700,UP设备802为如附图12的UP设备500或附图14所示的设备600或附图15所示的设备700。
在一个示例中,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。CP设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该CP设备执行上述方法300中CP设备一侧的相关步骤。
在一个示例中,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。UP设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该UP设备执行上述方法300中UP设备一侧的相关步骤。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请中术语“第一”、“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种示例的范围的情况下,第一报文可以被称为第二报文,并且类似地,第二报文可以被称为第一报文。第一报文和第二报文都可以是报文,并且在某些情况下,可以是单独且不同的报文。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个报文是指两个或两个以上的报文。本文中术语“系统”和“网络”经常可互换使用。
还应理解,术语“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
以上描述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (24)

1.一种网络攻击的防御方法,其特征在于,应用于控制面CP和用户面UP分离的通信系统中的CP设备,所述通信系统包括所述CP设备以及UP设备,所述方法包括:
响应于拨号报文的接收速率满足异常条件,所述CP设备生成第一控制消息,所述第一控制消息用于指示所述UP设备在向所述CP设备发送拨号报文时携带水印;
所述CP设备向所述UP设备发送所述第一控制消息;
所述CP设备根据所述水印,在报文流中识别攻击报文;
所述CP设备丢弃所述攻击报文。
2.根据权利要求1所述的方法,其特征在于,所述水印包括第一虚拟扩展局域网网络标识符VNI,所述报文流包括第一报文,所述CP设备根据所述水印,在报文流中识别攻击报文,包括:
所述CP设备根据所述第一报文包括所述第一VNI确定所述第一报文为非攻击报文。
3.根据权利要求1所述的方法,其特征在于,所述水印包括第一随机数,所述报文流包括第二报文,所述CP设备根据所述水印,在报文流中识别攻击报文,包括:
所述CP设备根据所述第二报文包括所述第一随机数确定所述第二报文为非攻击报文。
4.根据权利要求1所述的方法,其特征在于,所述水印包括第一时间戳,所述第一时间戳用于指示所述CP设备与所述UP设备之间同步的时间点,所述报文流包括第三报文,所述CP设备根据所述水印,在报文流中识别攻击报文,包括:
所述CP设备根据所述第三报文包括所述第一时间戳确定所述第三报文为非攻击报文。
5.根据权利要求1所述的方法,其特征在于,所述水印包括第一消息认证码,所述报文流包括第四报文,所述CP设备根据所述水印,在报文流中识别攻击报文,包括:
所述CP设备根据所述第四报文包括所述第一消息认证码确定所述第四报文为非攻击报文。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一控制消息包括所述水印;或者,所述第一控制消息包括所述水印对应的水印类型信息;或者,所述第一控制消息包括生成所述水印相关的参数。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述第一控制消息为控制与转发分离协议CUSP报文,所述CUSP报文包括水印类型长度值TLV;
其中,所述水印TLV为携带所述水印的TLV;或者,所述水印TLV为携带所述水印对应的水印类型信息的TLV;或者,所述水印TLV为携带生成所述水印相关的参数的TLV。
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述第一控制消息为包转发控制协议PFCP消息,所述PFCP消息包括水印信息元素IE;
其中,所述水印IE为携带所述水印的IE;或者,所述水印IE为携带所述水印对应的水印类型信息的IE;或者,所述水印IE为携带生成所述水印相关的参数的IE。
9.根据权利要求8所述的方法,其特征在于,所述第一控制消息为PFCP节点消息;或者,所述第一控制消息为PFCP会话消息。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述报文流包括第五报文,所述CP设备根据所述水印,在报文流中识别攻击报文,包括:
所述CP设备根据所述第五报文不包括所述水印确定所述第五报文为攻击报文。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述CP设备向所述UP设备发送所述第一控制消息之后,所述方法还包括:
响应于拨号报文的接收速率满足正常条件,所述CP设备生成第二控制消息,所述第二控制消息用于指示所述UP设备在向所述CP设备发送拨号报文时取消携带水印;
所述CP设备向所述UP设备发送所述第二控制消息。
12.根据权利要求1至11中任一项所述的方法,其特征在于,所述通信系统为宽带网络网关BNG系统或者宽带远程接入服务器BRAS系统。
13.一种报文处理方法,其特征在于,应用于控制面CP和用户面UP分离的通信系统中的UP设备,所述通信系统包括CP设备以及所述UP设备,所述方法包括:
所述UP设备从所述CP设备接收第一控制消息,所述第一控制消息用于指示所述UP设备在向所述CP设备发送拨号报文时携带水印;
所述UP设备根据所述第一控制消息,在拨号报文中携带所述水印;
所述UP设备向所述CP设备发送包括所述水印的拨号报文。
14.根据权利要求13所述的方法,其特征在于,所述UP设备根据所述第一控制消息,在拨号报文中携带所述水印之后,所述方法还包括:
所述UP设备从所述CP设备接收第二控制消息,所述第二控制消息用于指示所述UP设备在向所述CP设备发送拨号报文时取消携带水印;
所述UP设备根据所述第二控制消息,向所述CP设备发送不包括水印的拨号报文。
15.一种控制面CP设备,其特征在于,所述CP设备位于CP和用户面UP分离的通信系统中,所述通信系统包括所述CP设备以及UP设备,所述CP设备包括:
处理单元,用于响应于拨号报文的接收速率满足异常条件,生成第一控制消息,所述第一控制消息用于指示所述UP设备在向所述CP设备发送拨号报文时携带水印;
发送单元,用于向所述UP设备发送所述第一控制消息;
所述处理单元,还用于根据所述水印,在报文流中识别攻击报文;
所述处理单元,还用于丢弃所述攻击报文。
16.根据权利要求15所述的CP设备,其特征在于,所述水印包括第一虚拟扩展局域网网络标识符VNI,所述报文流包括第一报文,所述处理单元,用于根据所述第一报文包括所述第一VNI确定所述第一报文为非攻击报文。
17.根据权利要求15所述的CP设备,其特征在于,所述水印包括第一随机数,所述报文流包括第二报文,所述处理单元,用于根据所述第二报文包括所述第一随机数确定所述第二报文为非攻击报文。
18.根据权利要求15所述的CP设备,其特征在于,所述水印包括第一时间戳,所述第一时间戳用于指示所述CP设备与所述UP设备之间同步的时间点,所述报文流包括第三报文,所述处理单元,用于根据所述第三报文包括所述第一时间戳确定所述第三报文为非攻击报文。
19.根据权利要求15所述的CP设备,其特征在于,所述水印包括第一消息认证码,所述报文流包括第四报文,所述处理单元,用于根据所述第四报文包括所述第一消息认证码确定所述第四报文为非攻击报文。
20.根据权利要求15至19中任一项所述的CP设备,其特征在于,所述处理单元,还用于响应于拨号报文的接收速率满足正常条件,生成第二控制消息,所述第二控制消息用于指示所述UP设备在向所述CP设备发送拨号报文时取消携带水印;
所述发送单元,还用于向所述UP设备发送所述第二控制消息。
21.根据权利要求15至20任一项所述的CP设备,其特征在于,所述报文流包括第五报文,所述处理单元,用于根据所述第五报文不包括所述水印确定所述第五报文为攻击报文。
22.一种用户面UP设备,其特征在于,所述UP设备位于控制面CP和UP分离的通信系统中,所述通信系统包括CP设备以及所述UP设备,所述UP设备包括:
接收单元,用于从所述CP设备接收第一控制消息,所述第一控制消息用于指示所述UP设备在向所述CP设备发送拨号报文时携带水印;
处理单元,用于根据所述第一控制消息,在拨号报文中携带水印;
发送单元,用于向所述CP设备发送包括所述水印的拨号报文。
23.根据权利要求22所述的UP设备,其特征在于,所述接收单元,还用于从所述CP设备接收第二控制消息,所述第二控制消息用于指示所述UP设备在向所述CP设备发送拨号报文时取消携带水印;
所述发送单元,还用于根据所述第二控制消息,向所述CP设备发送不包括水印的拨号报文。
24.一种控制面CP和用户面UP分离的通信系统,其特征在于,所述系统包括包括如权利要求15至21中任一项所述的CP设备以及如权利要求22至23中任一项所述的UP设备。
CN202010803044.3A 2020-08-11 2020-08-11 网络攻击的防御方法、cp设备及up设备 Pending CN114079572A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010803044.3A CN114079572A (zh) 2020-08-11 2020-08-11 网络攻击的防御方法、cp设备及up设备
PCT/CN2021/099503 WO2022033157A1 (zh) 2020-08-11 2021-06-10 网络攻击的防御方法、cp设备及up设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010803044.3A CN114079572A (zh) 2020-08-11 2020-08-11 网络攻击的防御方法、cp设备及up设备

Publications (1)

Publication Number Publication Date
CN114079572A true CN114079572A (zh) 2022-02-22

Family

ID=80246909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010803044.3A Pending CN114079572A (zh) 2020-08-11 2020-08-11 网络攻击的防御方法、cp设备及up设备

Country Status (2)

Country Link
CN (1) CN114079572A (zh)
WO (1) WO2022033157A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118158001A (zh) * 2024-05-11 2024-06-07 电子科技大学 一种双向源地址验证方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101965009A (zh) * 2009-07-22 2011-02-02 中兴通讯股份有限公司 一种网络侧无线链路控制层报文异常的处理方法及系统
CN109698760A (zh) * 2017-10-23 2019-04-30 华为技术有限公司 一种流量处理方法和用户面装置以及终端设备
WO2019088801A1 (ko) * 2017-11-06 2019-05-09 엘지전자 주식회사 무선 통신 시스템에서 사용자 데이터를 보호하기 위한 방법 및 이를 위한 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10250491B2 (en) * 2016-05-09 2019-04-02 Qualcomm Incorporated In-flow packet prioritization and data-dependent flexible QoS policy
CN108270690B (zh) * 2016-12-30 2021-12-24 北京华为数字技术有限公司 控制报文流量的方法和装置
CN110099027B (zh) * 2018-01-29 2021-09-28 腾讯科技(深圳)有限公司 业务报文的传输方法和装置、存储介质、电子装置
CN109005175B (zh) * 2018-08-07 2020-12-25 腾讯科技(深圳)有限公司 网络防护方法、装置、服务器及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101965009A (zh) * 2009-07-22 2011-02-02 中兴通讯股份有限公司 一种网络侧无线链路控制层报文异常的处理方法及系统
CN109698760A (zh) * 2017-10-23 2019-04-30 华为技术有限公司 一种流量处理方法和用户面装置以及终端设备
WO2019088801A1 (ko) * 2017-11-06 2019-05-09 엘지전자 주식회사 무선 통신 시스템에서 사용자 데이터를 보호하기 위한 방법 및 이를 위한 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Interface between the Control Plane and the User Plane Nodes; Stage 3 (Release 15)", 3GPP TS 29.244 V15.7.0, 19 September 2019 (2019-09-19), pages 4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118158001A (zh) * 2024-05-11 2024-06-07 电子科技大学 一种双向源地址验证方法

Also Published As

Publication number Publication date
WO2022033157A1 (zh) 2022-02-17

Similar Documents

Publication Publication Date Title
EP3494682B1 (en) Security-on-demand architecture
RU2269873C2 (ru) Беспроводное устройство инициализации
US7624181B2 (en) Techniques for authenticating a subscriber for an access network using DHCP
US8584215B2 (en) System and method for securing distributed exporting models in a network environment
JP2017529011A (ja) 通信ネットワークにおけるネットワークサービスファンクションのチェーン化
CN108270690B (zh) 控制报文流量的方法和装置
US20160352731A1 (en) Network access control at controller
TW201351191A (zh) 用於使用影子網路技術以識別、阻斷及/或延遲對一網路之攻擊的系統及方法
US11006319B2 (en) 5G fixed mobile convergence user plane encapsulation
US11340933B2 (en) Method and apparatus for secrets injection into containers for 5G network elements
CN107277058A (zh) 一种基于bfd协议的接口认证方法及系统
WO2021084309A1 (en) In-band protocol-based in-network computation offload framework
Ting et al. Guidelines for 5G end to end architecture and security issues
EP3932044B1 (en) Automatic distribution of dynamic host configuration protocol (dhcp) keys via link layer discovery protocol (lldp)
EP3297245A1 (en) Method, apparatus and system for collecting access control list
CN113852588B (zh) 报文处理方法,up设备和cp设备,通信系统和介质
ES2857723T3 (es) Soporte de calidad de servicio (QoS) para tráfico táctil
CN114513457A (zh) Bgp流规则路由的发布方法、网络设备及存储介质
CN114157600A (zh) 一种转发报文的方法、设备和系统
US20230122810A1 (en) Communication Method, UP Device, and CP Device
CN114079572A (zh) 网络攻击的防御方法、cp设备及up设备
CN114006854A (zh) 通信方法及网络设备
CN115834090A (zh) 通信方法及装置
CN115811767A (zh) 消息收发方法、信息获取及收发方法、及相关设备
EP4189571A1 (en) Method and apparatus for secrets injection into containers for 5g network elements

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