4、核心网协议安全:SIP、Diameter、GTP、HTTP/2协议的安全机制与漏洞分析

各位好,我是老周。在电信核心网里摸爬滚打了十几年,今天咱们聊聊协议安全这块硬骨头。核心网说白了就是运营商的大脑,而SIP、Diameter、GTP、HTTP/2这些协议,就是大脑里的神经信号。信号一旦被篡改或窃听,整个网络就可能瘫痪。我见过太多因为协议配置不当导致的严重事故,所以这一章,咱们得把每个协议的命门都掰扯清楚。

4.1 SIP协议:VoLTE的命门

SIP(会话初始协议)是IMS域的核心。你想想看,每次打电话、发视频,背后都是SIP在握手。但SIP设计之初就没怎么考虑安全,后来才打了各种补丁。

4.1.1 安全机制

  • IPSec加密:在LTE时代,SIP信令走IPSec隧道。嗯,这里要注意,IPSec的IKE协商阶段如果配置不当,很容易被降级攻击。
  • HTTP Digest认证:SIP注册和邀请时用的挑战-响应机制。说白了就是服务器问你“密码是多少”,你算个哈希值回过去。
  • TLS传输:现在5G核心网里,SIP over TLS越来越常见。我个人习惯在SBC(会话边界控制器)上强制开启TLS 1.2以上版本。

4.1.2 常见漏洞

漏洞类型 攻击方式 真实案例
SIP洪泛 大量INVITE请求耗尽SBC资源 某省运营商被僵尸网络打瘫VoLTE注册
注册劫持 伪造REGISTER消息抢占用户号码 我遇到过黑产用这个盗打国际长途
BYOD攻击 篡改SDP体中的IP地址 媒体流被重定向到恶意服务器
⚠️ 避坑指南
我曾经在渗透测试中发现,某厂商的SBC默认允许非加密SIP注册。你想想看,攻击者只要在同一个网段抓包,就能直接拿到用户的认证哈希值。所以,生产环境必须关闭UDP 5060端口,只开TLS 5061。

4.2 Diameter协议:信令网的动脉

Diameter是LTE/5G核心网中信令交互的主力。从用户附着到切换,每一步都离不开它。但Diameter基于TCP/SCTP,且默认不加密,这就很要命了。

4.2.1 安全机制

  • 端到端安全:3GPP定义了NDS(网络域安全),要求Diameter消息在IP层用IPSec保护。但实际部署中,很多运营商只在网元之间做IPSec,内部信令还是裸奔。
  • AVP级安全:部分厂商支持对特定AVP(属性值对)进行加密,比如IMSI、MSISDN。但兼容性很差,我建议别太依赖这个。
  • 拓扑隐藏:通过DRA(Diameter路由代理)隐藏内部网元地址。这招防扫描挺管用。

4.2.2 漏洞分析

Diameter最经典的漏洞就是信令风暴和伪造消息。我记得有一次做合规审计,发现某地市的MME和HSS之间Diameter链路没有做速率限制。结果一个简单的压力测试,就让整个区域的用户无法做位置更新。

💡 核心知识点
Diameter协议本身没有消息完整性校验。攻击者只要拿到网络访问权限,就能伪造任意CCR(计费请求)或AIR(鉴权请求)。必须依赖底层IPSec或DTLS来保证完整性。

4.3 GTP协议:用户面的高速公路

GTP(GPRS隧道协议)负责承载用户数据。GTP-C控制面、GTP-U用户面,两个都得看住。GTP-U尤其危险,因为它直接传输用户的原始IP包。

4.3.1 安全机制

  • GTP-U加密:3GPP R15之后支持GTP-U over UDP/IPSec。但老设备不支持,很多现网还是明文传输。
  • GTP-C过滤:在SGW/PGW上配置ACL,只允许来自信任GTP节点的消息。这招防GTP隧道注入很有效。
  • TEID随机化:隧道端点标识符(TEID)必须随机生成。我见过用顺序递增TEID的设备,攻击者直接猜出下一个隧道ID。

4.3.2 漏洞分析

GTP最臭名昭著的漏洞是GTP隧道注入。攻击者伪造一个GTP-U包,把TEID设成受害用户的,就能把恶意流量塞进用户的隧道里。说白了,就是中间人攻击的变种。

🔧 实战技巧
渗透测试时,我会用scapy构造GTP-U包,测试PGW是否校验源IP。如果PGW不校验,那恭喜你,找到了一个可以直接打穿用户面的漏洞。修复方法很简单:在PGW上开启GTP-U源IP校验

4.4 HTTP/2协议:5GC的新宠

5G核心网(SBA架构)全面拥抱HTTP/2。服务化接口(N1/N2/N4等)都用HTTP/2通信。好处是灵活,坏处是攻击面也大了。

4.4.1 安全机制

  • TLS 1.3强制:5G标准要求所有HTTP/2连接必须走TLS 1.3。这比SIP和Diameter强多了。
  • OAuth 2.0授权:NF(网络功能)之间通过Token鉴权。NRF(网络存储库功能)负责发放Token。
  • API网关:在SCP(服务通信代理)上做请求校验和速率限制。

4.4.2 漏洞分析

HTTP/2的漏洞主要集中在协议实现层面。比如HPACK头部压缩的CRIME攻击、流ID耗尽、PRIORITY帧风暴等。我在测试某厂商的5GC时,发现它的HTTP/2栈对并发流数没有限制。一个简单的SETTINGS帧就能让CPU飙到100%。

⚠️ 重点提醒
HTTP/2的多路复用特性,让DDoS攻击更隐蔽。攻击者可以只开一个TCP连接,然后创建上千个流,每个流发一个请求。传统的基于连接数的防护完全失效。必须监控每个连接的流速率

4.5 协议安全对比总结

为了让大家看得更清楚,我画了一张对比图。这张图展示了四种协议在安全机制、漏洞类型和防护重点上的差异。

核心网协议安全对比图 SIP 安全机制 IPSec/TLS HTTP Digest 漏洞 洪泛攻击 注册劫持 SDP篡改 Diameter 安全机制 IPSec/NDS DRA拓扑隐藏 漏洞 信令风暴 伪造AVP 无完整性校验 GTP 安全机制 GTP-U加密 TEID随机化 漏洞 隧道注入 TEID猜测 源IP未校验 HTTP/2 安全机制 TLS 1.3强制 OAuth 2.0 漏洞 流ID耗尽 HPACK攻击 并发流风暴 防护重点总结 1. SIP:强制TLS,关闭UDP 5060,限制注册速率 2. Diameter:部署IPSec,开启DRA拓扑隐藏,限制信令速率 3. GTP:开启源IP校验,TEID必须随机,用户面加密 4. HTTP/2:监控并发流速率,升级TLS 1.3,严格Token校验 —— 渗透测试中,80%的突破点来自协议实现缺陷,而非设计缺陷 ——

画完这张图,我想强调一点:协议安全不是靠单一机制就能搞定的。你想想看,SIP有TLS,但如果你忘了关UDP端口,等于白搭。Diameter有IPSec,但如果你没配完整性校验,攻击者照样能伪造消息。所以,纵深防御才是王道

📌 我的个人习惯
每次做核心网渗透测试,我都会先抓一份协议交互的pcap包。用Wireshark过滤出SIP、Diameter、GTP、HTTP/2的流量,然后逐个检查:
1. 有没有明文传输的敏感字段?
2. 有没有默认配置的弱密码?
3. 有没有异常的序列号或TEID?
这三板斧下去,基本能发现80%的低级漏洞。

好了,这一章的内容就到这里。协议安全是个大话题,咱们后面还会在具体场景里反复提到。记住一句话:协议是死的,人是活的。配置不当,再好的协议也是纸老虎。

专注资料整理