2、信令面攻击面分析:攻击者模型(内部/外部)、信令面暴露的接口(S1-MME、S11、S6a、Rx、N8、N10等)、攻击动机与危害
好,我们进入第二个核心话题——攻击面分析。
说实话,很多人一上来就盯着加密算法、密钥长度这些细节。但我个人习惯,先搞清楚一个问题:谁在打我?他从哪打?他图什么?
这三个问题搞清楚了,后面的防御策略才有根。否则就是瞎忙活。
2.1 攻击者模型:内部 vs 外部
先看攻击者。我习惯把攻击者分成两类:内部人员和外部黑客。这两类人的打法完全不同。
核心观点:内部攻击者往往更致命,因为他知道钥匙在哪。外部攻击者则需要花大量时间做信息收集和漏洞探测。
2.1.1 外部攻击者
这类人没有合法接入权限。他们通常蹲在公共互联网、漫游合作伙伴网络,或者通过伪基站接入。
- 能力边界:只能接触到暴露在公网的信令接口(比如SGi、Rx)。核心网内部的S1-MME、S11这些,他够不着。
- 常用手段:扫描开放端口、尝试协议栈漏洞、发送畸形信令报文、重放合法信令。
- 我见过的一个案例:有人通过漫游合作伙伴的S8接口,向核心网发送大量伪造的创建会话请求。说白了,就是利用运营商之间的信任关系搞事情。
2.1.2 内部攻击者
这类人已经拿到了某种程度的信任。可能是运维人员、第三方集成商,甚至是内部不满的员工。
- 能力边界:能直接访问S1-MME、S11、S6a这些内部接口。有的甚至能登录到MME或HSS的命令行。
- 常用手段:直接修改配置、插入恶意信令、窃取用户签约数据、关闭审计日志。
- 避坑指南:我曾经在项目里遇到过,一个第三方工程师在调试时,不小心把S6a接口的Diameter消息发到了生产环境的HSS上。还好只是读取操作,没造成数据污染。但这件事让我意识到,内部人的误操作和恶意操作,边界其实很模糊。
我的建议:做安全设计时,别只防外部。内部人的威胁模型,一定要单独拉出来分析。你想想看,一个能直接操作MME命令行的人,他需要什么漏洞?他本身就是漏洞。
2.2 信令面暴露的接口:一张攻击路径地图
好,攻击者搞清楚了。接下来看接口。这些接口就是攻击者的“入口”。
我习惯把接口分成两类:对外暴露的和内部互联的。对外暴露的接口,是外部攻击者的首选目标。内部互联的接口,则是内部攻击者的高速公路。
下面这张图,是我自己整理的信令面接口攻击路径全景。你可以把它当成一张地图来看。
嗯,这张图里,我把攻击者放在了两侧。外部攻击者从左边进来,内部攻击者从右边进来。中间是核心网网元和它们之间的信令接口。
2.2.1 关键接口逐个看
下面我挑几个最容易被盯上的接口,一个一个说。
| 接口名称 | 连接网元 | 协议 | 暴露程度 | 典型攻击 |
|---|---|---|---|---|
| S1-MME | eNodeB ↔ MME | S1AP (SCTP) | 中等(无线接入网侧) | 伪基站注入、初始UE消息洪泛 |
| S11 | MME ↔ S-GW | GTPv2-C (UDP) | 低(核心网内部) | 创建会话请求伪造、会话劫持 |
| S6a | MME ↔ HSS | Diameter (SCTP/TCP) | 低(核心网内部) | 用户数据窃取、位置更新注入 |
| Rx | AF/P-CSCF ↔ PCRF | Diameter (SCTP/TCP) | 高(可能暴露给第三方) | QoS策略篡改、计费欺诈 |
| N8 (5G) | AMF ↔ UDM | HTTP/2 (TLS) | 低(核心网内部) | 服务API滥用、订阅数据篡改 |
| N10 | SMF ↔ UDM | HTTP/2 (TLS) | 低(核心网内部) | 会话管理数据篡改 |
注意:别以为内部接口就安全。我见过太多案例,攻击者通过跳板机或者VPN隧道,从外部绕到了内部接口上。S6a和S11虽然不直接暴露在公网,但一旦被突破,危害极大。
2.3 攻击动机与危害
好,接口和攻击者都清楚了。最后一个问题:他图什么?
说白了,攻击动机决定了攻击手段。我总结了几种最常见的动机:
2.3.1 用户数据窃取
这是最直接的动机。攻击者通过S6a或N8接口,向HSS/UDM发送查询请求,获取用户的IMSI、签约数据、位置信息。
- 危害:用户隐私完全暴露。IMSI可以被用来做位置追踪,签约数据可以被用来做服务盗用。
- 我遇到的真实情况:有一次,我们发现HSS的Diameter消息量在凌晨突然暴增。查了半天,发现是一个内部脚本在批量查询用户数据。虽然没造成数据泄露,但这件事让我意识到,接口的访问控制粒度必须细化到消息级别。
2.3.2 服务盗用与计费欺诈
攻击者通过篡改Rx接口的Diameter消息,修改用户的QoS策略。比如,把一个普通用户改成VIP用户,享受不限速服务。
- 危害:运营商收入流失。更严重的是,如果攻击者把大量用户都改成VIP,网络资源会被耗尽,正常用户反而用不了。
- 避坑指南:我曾经在审计一个PCRF配置时发现,Rx接口的Diameter消息居然没有做源IP校验。也就是说,任何人只要能发消息到PCRF,就能改策略。嗯,这个漏洞后来被我们紧急修复了。
2.3.3 网络拒绝服务
攻击者通过S1-MME接口,发送大量伪造的初始UE消息。MME需要为每个消息分配资源,很快就会被耗尽。
- 危害:整个MME服务不可用。所有附着在该MME上的用户都会掉线,无法发起新的呼叫或数据连接。
- 为什么这个攻击有效?你想想看,S1-MME接口用的是SCTP协议,它本身有流控机制。但如果攻击者伪造的源IP足够多,流控就形同虚设。每个伪基站都能发起独立的SCTP连接。
2.3.4 信令风暴
这个和DoS有点像,但目标不是让网元宕机,而是让整个信令网络瘫痪。攻击者通过多个入口同时发送大量信令消息。
- 危害:信令链路拥塞,正常用户的信令消息被丢弃。严重时,整个核心网的信令处理能力都会下降。
- 我的经验:信令风暴的防御,不能只靠单个网元。需要从入口做流量整形,在S1-MME、S11、S6a等多个接口同时做限速和过滤。
总结一下:攻击动机不同,攻击路径也不同。但有一个共同点——信令面接口是必经之路。所以,做好接口的安全防护,就等于掐住了攻击者的脖子。
好,这一节的内容就到这里。攻击者模型、接口暴露面、攻击动机,这三块拼图已经凑齐了。下一节,我们会把这些拼图拼起来,看看具体的攻击路径是怎么走的。