3. 5GC网络功能(NF)与接口:AMF、SMF、UPF、AUSF、UDM等核心NF,以及N1-N22接口的攻击面
好,咱们进入正题。5G核心网跟4G最大的区别,就是它彻底拆开了——变成了一个个独立的网络功能(NF)。你想想看,以前是一台大设备干所有活,现在是一堆小服务各管一摊。好处是灵活了,坏处呢?攻击面也炸了。
我个人习惯,分析攻击面时先看两个维度:NF自身的安全和NF之间的接口安全。NF自身可能被攻破,接口可能被窃听或篡改。咱们一个一个来。
3.1 AMF(接入和移动性管理功能)攻击面
AMF是5G核心网的“门卫”。所有终端要接入网络,第一站就是它。我曾在项目中遇到过,AMF的N2接口(与gNB对接)流量大到惊人,稍有不慎就会成为DDoS的靶子。
核心攻击面:
- N1接口(终端 ↔ AMF):NAS消息的完整性保护是强制的,但机密性呢?嗯,这里要注意——如果运营商配置不当,某些NAS消息可能明文传输。攻击者可以窃听到UE的临时身份标识(5G-GUTI)。
- N2接口(gNB ↔ AMF):NGAP协议。我曾经见过一个案例,攻击者伪造NGAP消息,让AMF误以为某个gNB已经下线,导致整片区域断网。
- N8接口(AMF ↔ UDM):签约数据查询。如果AMF被攻破,攻击者可以批量拉取用户签约信息。
避坑指南:我曾经在测试中发现,AMF的N2接口如果没做严格的源IP校验,攻击者可以伪造gNB身份发送“UE Context Release”消息,强制踢掉合法用户。解决办法?在AMF侧做gNB证书双向认证。
3.2 SMF(会话管理功能)攻击面
SMF负责管会话——说白了就是给用户分配IP、建立数据通道。它要是出问题,用户就上不了网了。
SMF的攻击面,我个人觉得最危险的是N4接口(SMF ↔ UPF)。这个接口用的是PFCP协议,控制着用户面数据的转发规则。你想想看,如果攻击者能篡改PFCP消息,会发生什么?
- N4接口攻击:PFCP消息伪造。攻击者可以注入假的“Packet Detection Rule”,把用户流量引到恶意服务器上。这就是典型的流量劫持。
- N7接口(SMF ↔ PCF):策略协商。如果SMF被攻破,攻击者可以绕过计费策略,实现“免费上网”。
- N10接口(SMF ↔ UDM):会话签约数据。跟AMF的N8类似,但这里泄露的是会话级别的敏感信息。
警告:SMF的N4接口通常运行在内部网络中,很多人觉得“内部网络是安全的”。千万别信这个!我在项目中见过,攻击者通过横向移动进入内部网络后,直接对N4接口发起PFCP Flood攻击,导致UPF控制面瘫痪。
3.3 UPF(用户面功能)攻击面
UPF是5G核心网里唯一处理用户数据的网元。它要是被攻破,用户的所有流量都暴露了。说白了,UPF就是攻击者的“金矿”。
我记得有一次做渗透测试,发现UPF的N3接口(gNB ↔ UPF)居然没做GTP-U的完整性校验。攻击者可以注入假的GTP-U包,把用户数据包重定向到恶意服务器。
| 接口 | 协议 | 攻击面 | 风险等级 |
|---|---|---|---|
| N3(gNB ↔ UPF) | GTP-U | GTP-U隧道注入、数据包篡改 | 高 |
| N4(SMF ↔ UPF) | PFCP | PFCP规则篡改、会话劫持 | 极高 |
| N6(UPF ↔ DN) | IP | 数据泄露、DDoS反射 | 中 |
| N9(UPF ↔ UPF) | GTP-U | UPF间隧道劫持 | 高 |
个人经验:UPF的N6接口(连接外部数据网络)经常被忽略。我建议在N6出口部署DPI设备,检测异常流量模式。曾经有个客户,UPF被当作DDoS反射放大器,就是因为N6接口没做源地址校验。
3.4 AUSF(认证服务器功能)和UDM(统一数据管理)攻击面
这两个NF放在一起说,因为它们都跟用户身份和密钥相关。AUSF负责认证,UDM存着用户的长期密钥(比如SUCI、K)。
为什么会这样?因为一旦AUSF或UDM被攻破,整个网络的信任根基就没了。攻击者可以伪造任意用户的身份,或者窃取所有用户的永久密钥。
- N12接口(AMF ↔ AUSF):认证向量请求。如果AUSF被攻破,攻击者可以返回假的认证向量,让AMF接受恶意UE的接入。
- N13接口(AUSF ↔ UDM):密钥获取。这个接口必须做端到端加密,否则攻击者可以嗅探到5G-AKA的认证向量。
- N8/N10接口(AMF/SMF ↔ UDM):签约数据。UDM如果被攻破,攻击者可以修改用户的签约信息,比如把普通用户改成VIP用户,绕过限速策略。
注意:UDM里存着用户的SUCI(加密后的用户永久标识)。虽然SUCI是加密的,但如果攻击者拿到了UDM的解密密钥,就能还原出SUPI(永久用户标识)。我曾经在项目中建议客户,UDM的密钥管理必须使用HSM(硬件安全模块),不能只靠软件加密。
3.5 其他核心NF的攻击面
除了上面几个,还有PCF(策略控制功能)、NRF(网络存储功能)、NSSF(网络切片选择功能)等。这些NF虽然不直接处理用户数据,但它们是核心网的“大脑”和“神经中枢”。
我个人觉得NRF是最容易被忽视的。NRF负责服务注册和发现,所有NF都要向它注册。如果NRF被攻破,攻击者可以注册一个假的NF,然后所有流量都经过这个假NF——这就是典型的中间人攻击。
NRF攻击面总结:
- Nnrf接口:NF注册、更新、去注册。攻击者可以注册恶意NF,或者注销合法NF。
- 服务发现:攻击者可以返回假的NF实例信息,引导流量到恶意节点。
- OAuth2令牌:NRF作为OAuth2授权服务器,如果令牌生成算法弱,攻击者可以伪造访问令牌。
3.6 接口攻击面全景图
下面这张图是我自己整理的,把5GC核心NF之间的接口攻击面画出来了。你一看就明白,攻击者可以从哪个接口切入。
这张图里,红色线代表高风险接口(N1、N2、N4),橙色线是中风险(N8、N10),紫色是认证相关(N12、N13),绿色是服务注册(Nnrf)。你仔细看,N4接口连接SMF和UPF,是攻击者最喜欢的目标——因为它控制着用户面数据路径。
3.7 攻击面总结与防护建议
好了,说了这么多,咱们总结一下。5GC核心网的攻击面,说白了就是NF自身安全和接口安全两个维度。NF自身要防横向移动、防提权;接口要防窃听、防篡改、防重放。
我的核心建议:
- 所有SBI接口(基于HTTP/2的服务化接口)必须启用TLS 1.3。别用TLS 1.2,更别用明文。我在项目中见过太多因为“性能考虑”而放弃加密的案例,最后都出了事。
- N4接口的PFCP消息必须做完整性校验。PFCP是控制面协议,一旦被篡改,后果不堪设想。
- NRF必须做OAuth2令牌的严格校验。包括令牌的签名、有效期、scope。我曾经见过一个NRF实现,居然没校验令牌的scope,导致一个NF可以调用其他NF的接口。
- UDM和AUSF必须使用HSM保护密钥。软件密钥存储等于没存。
- UPF的N6接口必须做流量清洗。防止UPF被当作DDoS放大器。
嗯,这一章内容不少。你消化一下,下一章咱们聊聊5GC的SBA(服务化架构)攻击面,那又是另一番天地了。
最后说一句:5G核心网的安全,不是靠一个防火墙就能解决的。它是一个系统工程,从NF的代码安全,到接口的传输安全,再到运维的配置安全,每个环节都不能漏。我做了这么多年安全,最大的体会就是——攻击者永远比你想象的更有耐心。所以,别心存侥幸。
公众号:蓝海资料掘金营,微信deep3321