本文转自:人民邮电报
基于服务的5G核心网架构。
检测原型设计图。
5G作为新一代移动通信技术,目标是为移动设备之间的通信提供更高的速率与容量,并可以通过网络切片功能依据业务场景实现网络功能的定制化,例如针对车联网场景需要提供低延迟传输,针对流媒体业务需要提供高带宽等。为了实现上述功能,5G核心网(5G Core,5GC)采用了服务化架构(Service Based Architecture,SBA)。SBA对网元进行了拆分,所有的网元又通过接口接入系统中,使得5GC的服务以比传统网元更精细的粒度运行,并且彼此松耦合,允许升级单个服务,而对其他服务的影响最小,进而使得5GC的配置、扩容与升级更加便利。相比4G网络,5GC的暴露面更大,因此5GC面临许多新的安全问题,其中,网元服务安全是5GC面临的新的安全威胁。5GC网元服务 3GPP TS 23.501将网元之间的交互集定义为服务。该规范将5G架构的定义分为两种表示方式:基于服务的表示方式和基于网元间交互的表示方式。基于服务的5G核心网架构中,Namf、Nausf、Nsmf等表示各个网元所展示的基于服务的接口,每个网元根据自身功能特性为5GC的正常运行提供服务。其中,AF的功能为应用功能、AMF的功能为接入和移动管理功能、AUSF的功能为认证服务功能、NEF的功能为网络开放功能、NRF的功能为网络存储库功能、NSSF的功能为网络切片选择功能、PCF的功能为控制策略功能、SMF的功能为会话管理功能、UDM的功能为统一数据管理功能、UPF的功能为用户平面功能、(R)AN的功能为接入网(基站)、UE的功能为终端。5GC网元服务安全风险 N1、N2、N4接口分别使用5GNAS协议、NGAP协议和PFCP协议进行通信。对这3个接口进行异常检测,需要从各自所采用的协议可能存在的风险与协议自身的规范和特性入手建立基线。 在5GC中,攻击者可以利用网元的漏洞攻陷某个网元,并从该网元对其他网元的开放接口发起请求,导致网元访问的序列出现异常。例如在UE注册的鉴权流程中,AMF先向AUSF发起鉴权请求,再由AUSF向UDM请求生成鉴权向量。而如果AMF被攻击者攻陷,可直接调用UDM生成鉴权向量的接口,窃取用户的鉴权信息。 又例如,NRF网元提供网络仓储功能,维护可用的NF实例及其支持的服务的NF配置文件。如果该网元存在漏洞,攻击者可以利用此漏洞注册恶意网元,将地址和URI都指向该恶意网元,那么攻击者可以利用该恶意网元与其他网元进行通信,导致网元调用逻辑出现异常。 5GC控制面网元利用API进行通信,攻击者可利用API的脆弱性,向网元发送恶意请求,以达到窃取数据、恶意注册/注销网元、使部分用户被拒绝服务等目的。5GC网元服务异常检测策略 异常检测所采用的基本检测技术是全流量分析,通过分析核心网运行过程中产生的流量数据进行异常行为的检测。攻击者在尚未摸清网元服务的工作方式之前,往往要进行攻击试探,试探过程中产生的流量与网元正常工作时产生的流量有较大差异时,是检测出攻击行为的最好时机。此外,攻击者在对网元服务进行攻击的过程中,也会产生异常流量。鉴于攻击试探与攻击行为发生过程中产生的流量与正常业务工作过程中产生流量的差异性,对5G全流量数据进行分析处理,建立检测基线,利用基线检测异常流量,进而定位攻击行为,可实现5G核心网中的网元服务异常检测。5GC网元服务异常检测原型 数据解析部分采用了Pyshark所提供的方法。tshark是wireshark下的解包工具,而Pyshark是针对tshark的Python封装器,利用Pyshark可以通过Python程序将数据包中各层的各个字段解析出来。 在数据包中,HEADER帧与DATA帧有时是分开的,由此会引发数据包的截断问题,即header与body不在同一数据帧中。那么在提取参数结构之前,首先需要解决参数的归属问题。使用http2 stream id与tcp stream id可以将同一请求的信息关联起来。 为解决高并发下的数据包归属问题,需要从解析后的数据集中提取用户信息。这里的用户信息主要是指用户设备在核心网中的身份标识,根据3GPP TS23.502,用户设备在核心网中的身份标识包括用户永久标识符(SUPI)、用户隐藏标识符(SUCI)、永久设备标识符(PEI)、5G全球唯一临时标识符(5G-GUTI)等。通过对已有数据集的分析处理,用户设备的身份标识主要包含在请求的URL中的请求参数与响应参数中。因此,在这几个字段下,采用关键字符匹配的手段,可提取出用户设备的身份标识,并将其作为一项特征存储进数据集中。 判断两次通信是否属于同一序列的一项重要标准为:这两次通信间是否存在“响应等待”。以核心网对用户设备的鉴权流程为例,此流程的网元调用序列为AMF-AUSF-UDM-UDR,映射到数据包中体现为AMF向AUSF发起请求,AUSF向UDM发起请求,UDM向UDR发起请求,UDR向UDM返回响应,UDM向AUSF返回响应,AUSF向AMF返回响应。由此看来,序列存在的一项关键特征为,序列前置位的网元发送通信请求后,不会立刻收到响应回复,需要等待序列后置位的网元以序列逆序依次返回响应。
* * *
5GC网元服务安全异常检测原型的核心技术在于参数结构提取算法、序列还原算法以及参数筛选模型。通过实验验证,检测原型可以有效检测出5GC网元服务异常。 在协议安全方面,下一步还需要对N1、N2、N4接口协议可能存在的脆弱性进行分析和验证。此外,尚需要将5GC的业务行为引入检测机制,建立更细粒度的基线。 盼望5GC作为万物互联的基础设施之一,可以高效且安全地为大家提供便利。
(辛冉系中国信息通信研究院安全研究所工程师,高深、阮博男系绿盟科技集团股份有限公司安全研究员)