1、5G 通信协议安全性研究5G Communication Protocol Security Research5G安全协同创新中心闫绍华 李家武 杨忠杰2 目 录 引言.3 一、PFCP 协议安全分析.4 二、CVE-2021-41794 漏洞分析及研究.7 2.1 漏洞原理.7 2.2 漏洞分析.7 2.3 漏洞研究.8 三、风险场景示例.13 3.1 5G+智慧电力.14 3.2 5G+智慧矿山.15 四、5G 协议模糊测试.16 4.1 Open5gs 环境简述.16 4.2 5Greplay 简介.18 4.3 通过 5Greplay 对 Open5gs 进行模糊测试.19 五、5G
2、安全总结和解决方案.24 5.1 安全总结.24 5.2 解决方案.25 六、参考文献.28 3 引 言 基于第五代移动通信技术带来的全方位通信网络结构变化,应用业务变化,系统架构变化,5G 专网下沉业务场景,切片业务场景,SDN(Software Define Network),NFV(Network Function Virtualization)等互联网和虚拟化技术的使用,以及用户侧传统的 OT、IT 和 CT 网络之间的交织与融合,都带来了更多的安全攻击面(Attack Surface)暴露。本文基于 5G 安全其中一个业务场景 PFCP(Packet Forwarding Contr
3、ol Protocol)协议的攻防分析,充分证明了为保证 5G 业务的高带宽,低时延和高可用性,以及业务通信和数据安全,5G 业务需要端到端的,全方位的安全防护。在 5G 专网场景中,伴随着 UPF 网元的下沉,5G 安全风险暴露面随之增加。PFCP 作为 UPF 网元的重要协议,承载着信令传输的重要作用。本文主要针对 PFCP协议展开安全性研究,提供若干垂直行业的风险场景示例,基于 Open5gs 模拟环境采用 Fuzz 模糊测试的方式完成安全检测,并对检测出的 CVE-2021-41794 漏洞进行验证和深入研究,最后结合 3GPP 规范给出安全建议。4 一、PFCP 协议安全分析 在 5
4、G 网络架构中,围绕 UPF 的相关接口和协议如下图所示,其中主要的接口有 N3、N4、N9、N6。N3 接口是 RAN 与 UPF 之间用来上传用户面数据的接口,用到的协议有 GTP-U、GTP-C;N9 接口是 UPF 与其他 UPF 之间通信的接口;N6 接口是 UPF 与外部数据网络 DN 之间基于 IP 和路由协议来传递上下行用户数据流的接口;N4 接口是 UPF 与 SMF 之间交互的接口,其主要协议是PFCP。根据 3GPP TS 29.244 定义,PFCP(Packet Forwarding Control Protocol),即报文转发控制协议,其报文基于 IP+UDP。S
5、MF 和 UPF 之间的 N4 接口使用的控制面协议是 PFCP(Packet Forwarding Control Protocol)协议。SMF 通过 N4 接口向 UPF 下发 PDR(Packet Detection Rule),然后 UPF 按照 PDR、FAR、QER 等中的指令进行数据包转发和 QoS 控制。图 1 PFCP 协议栈结构 5 在 5G 网络环境中,UPF 主要通过 N4 接口与 SMF 网元进行通信,其上协议就是PFCP。PFCP 采用 Request-Response 的交互消息模式,具体如下:1)Request 消息的 UDP 目的端口号是 8805,该端口是
6、为 PFCP 注册预留的。Request 消息的 UDP 源端口是由发送实体本地申请的,多个 Request 消息可以重用本地申请的 UDP 源端口。2)Response 消息的 UDP 目的端口使用对应的 Request 消息的源端口,UDP 源端口使用对应的 Request 消息的目的端口,即 Respone 消息的发送实体将其收到的Request 消息的 UDP 源端口和目的端口互换。PFCP 消息实体由变长消息头和零个或多个消息 IE 组成,PFCP 消息头采用变长格式,必须为 4 字节对齐,不足 4 字节的,填 0。如图 2 所示,Octets 表示八字节,字节 1 是一组 bit