<!-- title: 一条信令，掏空你的银行账户 -->

# 一条信令，掏空你的银行账户：SS7漏洞五十年流血史

## 概述

2017年5月，德国电信运营商O2 Telefonica向《南德意志报》确认：黑客入侵了一家境外运营商的信令网络，利用SS7协议的老漏洞，半路截走银行发给客户的短信验证码，把客户的网银账户洗劫一空。这不是科幻剧本，而是全球移动通信史上第一次被官方坐实的“信令层盗刷”实战案例。本文以Veritasium对31C3经典演示的解读视频、The Register对德国案的报道、FCC CSRIC正式报告与GSMA FS.11防火墙规范为权威锚点，拆解SS7为什么不设防、攻击者如何用几条MAP信令截走验证码、以及为什么防了十年这张网还在流血——最后落到一线核心网工程师今天就能落地的防护清单。

## 目录

- 一、今天的银行短信，还跑在1979年的信令上
- 二、汉堡的圣诞演示：Locate. Track. Manipulate.
- 三、2017年德国案：报告还没发完，实战先来了
- 四、攻击者的一日：几条信令截走验证码
- 五、防了十年，为什么SS7还在流血
- 六、一线工程师的落地清单
- 七、结语：信任架构不换，防火墙只是门帘

## 一、今天的银行短信，还跑在1979年的信令上

先把SS7是啥说透。SS7（Signalling System No.7，七号信令系统）是ITU在1975年立项、1980年前后固化为Q.700系列建议的公共信道信令体系。它不是用户面协议——你打电话听到的声音、上网刷的流量都不走它，但**接续**这些业务的“指令”全靠它：A拨B的号码，MSC问HLR要路由，VLR做位置更新，短信在网间辗转寻址，国际漫游时归属国问拜访国“这人在不在你那儿”——全都是SS7里的MAP（Mobile Application Part）、CAP、ISUP消息在跑。

换句话说，SS7是移动通信网的神经系统。语音和数据是肌肉，SS7是让肌肉动起来的神经电信号。

问题出在它的设计年代。上世纪七十年代末，能用上SS7的只有各国邮电部门和少数几家国有运营商，全世界能互联的网屈指可数。所以协议设计者们做了一个影响至今的假设：**能接到这张信令网里的，都是自己人**。于是SS7从底层就没有认证——没有握手、没有签名、没有加密，一条MAP消息说“我是某某HLR”，网络就信了。信令里唯一的“地址”是SCCP的全局码（GT），本质上就是个电话号码，谁都可以往消息里填一个别人的GT冒充他。

这个假设在1980年代成立。但今天，全球有超过800家移动运营商通过国际信令转接点互联，还有成百上千的MVNO、漫游伙伴、信令中转商（transit hub）层层转接。任何一个环节被渗透——哪怕是一个小国的、安全投入寥寥的运营商——攻击者就等于拿到了“自己人”的门禁卡。GSMA自身的文档也承认这一点：SS7互联的安全前提是“圈内可信”，而这个前提早已不复存在。

更微妙的是，这套老协议在5G时代不但没退场，反而更忙了。VoLTE的IMS信令互通、物联网设备的国际漫游、5G用户回落到4G/2G的场景，都还压在MAP/CAP/Diameter这些“信令老三样”上。网龄五十年的协议，还在给最新的业务扛大梁——这就是一切故事的开端。

## 二、汉堡的圣诞演示：Locate. Track. Manipulate.

SS7的漏洞不是2017年才被发现。它被世界性曝光，是在2014年12月27日的汉堡，第31届混沌通信大会（31C3）。

当天Saal 1厅有两场演讲，如今都成了通信安全史的教材。第一场是德国安全研究员Tobias Engel的《SS7: Locate. Track. Manipulate.》，视频至今挂在CCC官方档案站media.ccc.de上，演讲摘要的原话是：攻击者可以从世界另一端，以最高**50米**的精度跟踪你的手机号码，编制出你的详细行动轨迹，而你毫无察觉。Engel现场演示了如何通过SRI-SM（为短消息发送路由信息）、ATI（任意时间查询）这类再普通不过的MAP操作，把任意号码的实时位置问出来——因为SS7不会追问“你凭什么问”。

同场大会上，SR Labs创始人Karsten Nohl（就是2011年破解GSM加密、2013年捅穿UMTS加密的那位）做了Mobile Self-Defense报告，把SS7能干的事列得更全：**截听短信、定位坐标、操纵通话前转、实施各类欺诈**。ZDNet当时的报道称，那一届大会至少有三场演讲都在讲SS7监视，安全圈把这届大会称为“移动隐私的崩塌时刻”。

这段历史之所以值得今天再讲一遍，是因为科普频道Veritasium后来做了一期《Exposing The Flaw In Our Phone System》（我们电话系统的命门），直接引用Engel的31C3原始演讲，把这套攻击原理讲给了千万级观众——这期视频至今仍是理解SS7攻击最通俗的入口。视频里有一句话值得每个通信人记下：**问题不在某个bug，而在协议本身从不验证“你是谁”。** Bug可以打补丁，架构性的裸奔没法靠补丁救。

演示归演示，2014年时多数人还抱着侥幸：搞学术的黑客会玩，罪犯玩不转——毕竟你得先搞到一张国际信令网的入场券。两年半后，德国把这张入场券的账单寄给了所有人。

## 三、2017年德国案：报告还没发完，实战先来了

先说一个黑色幽默式的时间巧合：美国FCC的CSRIC V第十工作组（Legacy Systems and Services Risk Reduction）从2016年6月开始评估SS7和Diameter风险，最终报告《Legacy Systems and Services Risk Reductions》的落款时间是**2017年3月**。而实战案发，就发生在前后的几个月里。

按照O2 Telefonica后来向媒体确认的说法（The Register、CyberScoop、Help Net Security等多家媒体在2017年5月报道），整个攻击是一场漂亮的两段式组合拳：

**第一段，老派的钓鱼。** 攻击者向德国多家银行的网银用户发送鱼叉式钓鱼邮件，骗到网银用户名和密码。这一段跟SS7毫无关系，纯社工，但对攻击者来说这只是半张票——德国网银转账要过短信二次验证（mTAN），验证码会发到用户手机上，光有密码转不了账。

**第二段，信令层的截杀。** 据Help Net Security披露的O2声明，攻击者在**2017年1月**拿到了一家外国移动运营商网络的访问权。有了这个跳板，攻击者就成了“合法”的信令参与方，可以代表那张境外网向德国网发任意MAP消息。接下来他们对目标号码操纵短信路由，把本该落到用户手机上的mTAN，从半路劫走送到攻击者自己控制的接收端。用户这边手机安安静静，一条验证码都没收到；银行那边显示“验证码已发送成功”；账户里的钱被转进攻击者开设的空壳账户。

**整个链条里，最讽刺的是第三段：事后的茫然。** 2017年5月2日《南德意志报》曝光后，O2确认了攻击事实，但多家银行的第一反应是甩锅——银行界协会公开表示“运营商网络的问题与银行无关”，运营商则表示“我的信令防火墙没有违规记录，攻击是从境外伙伴网进来的”。被害人夹在中间，钱已经出了境。

把整个事件拉成时间线，会比单独看任何一段都更让人后背发凉：

| 时间 | 事件 | 关键点 |
| --- | --- | --- |
| 1980年前后 | ITU固化SS7的Q.700系列建议 | 设计前提：入网者皆可信，无认证机制 |
| 2014-12-27 | 31C3大会Engel与Nohl公开SS7定位/拦截/操纵全套手法 | 全球首次大规模公开演示，精度可达50米 |
| 2016-06 | FCC成立CSRIC V WG10评估SS7/Diameter风险 | 监管机器启动，但只是“建议”层面 |
| 2017-01 | 攻击者入侵一家境外运营商网络获得信令跳板 | 一张“自己人”门禁卡到手 |
| 2017年1-2月 | 德国多家银行用户遭盗刷，mTAN被信令层劫走 | SS7漏洞首次被官方坐实的规模化变现 |
| 2017-03 | FCC CSRIC最终报告发布 | 白纸黑字的警告，与案发几乎同期 |
| 2017-05-02 | 《南德意志报》曝光，O2确认攻击 | 全球媒体哗然，2FA信任危机爆发 |
| 2017-08 | FCC发布公共通知敦促业界落实建议，CISA同步发警报 | 从“研究”升格为“敦促”，仍无强制力 |
| 至今 | GSMA FS.11防火墙规范迭代至v6.0 | 防火墙普及了，但本质是“过滤”而非“认证” |

这张表里最该圈出来的，是**2014年到2017年1月之间那两年多**。手法已经全世界公开，监管已经开始写报告，而攻击者用来练手和变现的，恰好就是这两年。

## 四、攻击者的一日：几条信令截走验证码

把德国案的信令层拆开看，你会发现攻击的“ payloads”其实朴素得惊人——没有0day，没有 exotic协议，用的全是网络里每天跑几亿条的合法消息。下面这张时序图是教科书式的短信拦截链：

```mermaid
sequenceDiagram
    participant A as 攻击者假网元
    participant H as 归属HLR/HSS
    participant B as 银行短信网关
    participant U as 受害用户手机
    A->>H: 伪造updateLocation 自称用户新拜访地
    H->>A: 接受注册 返回鉴权向量
    B->>H: SRI-SM 查询短信路由
    H->>B: 路由指向攻击者登记的假地址
    B->>A: 验证码短信落入侵方
    Note over A,U: 用户手机全程安静 无任何异样
    A->>A: 持验证码登录网银转走资金
```

逐步翻译成人话：

**第一步，鸠占鹊巢。** `updateLocation`（MAP的UL操作，或GPRS域的updateGPRSLocation）本来是用户换城市开机时，新VLR向HLR报到用的。攻击者从境外跳板网发出这条消息，谎称“用户漫游到了我这儿”。HLR按照协议老老实实更新签约数据——从此，归属网认为该用户“人在”攻击者的地盘。

**第二步，请君入瓮。** `SRI-SM`（Send Routing Info for Short Message）是短信接续的第一跳：银行短信中心要把mTAN发给用户，先问HLR“这个号现在该把短信送到哪个MSC”。由于第一步已经得手，HLR给出的答案正是攻击者登记的假MSC地址。

**第三步，半路截杀。** 银行短信网关按HLR的指引，把验证码短信递送到攻击者控制的“MSC”。短信在信令层完成了一次完全“合法”的投递——只是收件人换成了攻击者。

**第四步，变现。** 攻击者用钓鱼得来的密码加上刚截获的mTAN登录网银，转账到空壳账户。用户手机上没有未读短信、没有漏接来电，话费账单也不会有任何异常——**这就是SS7攻击最可怕的地方：受害者侧零痕迹。**

除了短信拦截，公开研究里被反复演示的手法还有一整族，每种都对应几条平平无奇的信令操作：

| 攻击手法 | 所用信令操作（公开研究披露） | 能干什么 | 防火墙对策方向 |
| --- | --- | --- | --- |
| 静默定位 | SRI-SM、ATI、PRN 探测响应差分 | 以小区级精度绘制目标行动轨迹 | 拦截对非本网用户的探测类查询 |
| 短信验证码拦截 | updateLocation/updateGPRS + SRI-SM | 劫持mTAN，攻破双因子认证 | 校验VMSC地址归属、严控位置更新来源 |
| 通话劫持 | insertSubscriberData 写呼叫前转 | 把受害者来电全部转走或转录音 | 签约数据变更仅限归属网元发起 |
| 拒绝服务 | 大量purgeMS、异常位置更新 | 把用户"注销"出网络，手机假死机 | 限制单GT消息频率与操作组合 |
| 鉴权向量套取 | sendAuthenticationInfo 冒充VLR | 批量索取鉴权五元组辅助克隆研究 | 鉴权向量仅向有签约关系的网元发放 |

看完这张表，很多干过核心网的人会有一种生理不适：这些操作名，哪一个不是割接、排障、放号时天天敲的？**攻击者不需要发明任何新东西，他只需要混进你的“自己人”名单，然后像一名内部运维一样使用你的网络。** Veritasium那期视频里把这点讲得非常直白：这套系统的每一环都是按“运营需求”设计的，只是当年没想过“运营者”这个词有一天会被冒用。

## 五、防了十年，为什么SS7还在流血

德国案之后，全球的应对可以概括为三层，每一层都起了作用，每一层都有天花板。

**第一层：GSMA的行业规范。** 案发后成为事实标准的，是GSMA的FS.11规范——《SS7 Interconnect Security Monitoring and Firewall Guidelines》，目前迭代到第6版。FS.11把所有SS7消息分成三类：Cat 1是必须过滤的明显恶意消息，Cat 2是可疑需按策略处置的，Cat 3是需持续监测的，并给出了几十条具体的过滤规则模板（比如“非本网用户发起的SRI-SM必须丢弃”“ATI只允许签约伙伴的特定GT发起”）。配套的FS.19把同一套思路搬到了Diameter域。这套规范是十年里最实在的成果——今天你随便找一家像样的运营商，信令互联点上都有按FS.11规则集配置的防火墙。

**第二层：监管的敦促。** FCC CSRIC 2017年3月的最终报告给出了“监测+过滤+信息共享”的最佳实践清单，CTIA代表美国运营商表态支持；2017年8月FCC公共安全局发文敦促全行业落实，CISA同月发布警报。欧洲方向，ENISA和各国NIS部门也把SS7列入关键基础设施风险清单。但请注意所有这些文件的动词：敦促、建议、鼓励——**没有任何一个司法辖区把SS7防护写成了带罚则的强制义务**。

**第三层：防火墙本身。** 这是问题最深的一层。一家安全公司2026年3月的技术分析（Sbytec）说得很扎心：SS7防火墙能过滤MAP消息，但**依然无法认证查询的真正来源**——因为GT可以伪造、转接商可以中转，800多家运营商因漫游互通的架构设计天然保留互信接入；FS.11又是自愿部署，没有执行机制。换句话说，防火墙是把“裸奔”升级成了“穿着门帘跑步”：穷凶极恶的直连攻击大多挡住了，但只要攻击链条里有一环是“合法但被渗透的运营商”，消息就带着正经的漫游转接外衣进来，规则再细也只能靠启发式去猜。

一线干过信令互联的都懂这种拧巴：规则收紧，误杀国际漫游和携转用户，投诉电话直接打到省政府；规则放松，监视告警天天狼来了。**SS7防护的真难题不是技术，是每一次规则调整都在“安全”和“业务连续性”之间走钢丝。**

## 六、一线工程师的落地清单

讲了十年故事，最后给还在守核心网的兄弟们一份今天就能对照的东西。以下条目全部来自FS.11公开规则集和FCC/CSRIC最佳实践，按性价比排序：

**先堵钱袋子相关的。** 优先上严的三条：一是**位置更新类操作的来源校验**——境外GT对本地号段发起updateLocation/updateGPRS，必须是该网真实漫游伙伴，且对应号段确实在该国；二是**SRI-SM的进向管控**——外部网替你网号码问路由的，直接进黑名单；三是**insertSubscriberData只出不进**——签约数据写入只允许归属网自身的HLR/HSS地址，境外消息带这类操作一律拦截。这三条覆盖了验证码拦截和通话劫持两个最值钱的场景。

**再把“人”管起来。** GT白名单不是配一次就完的：漫游协议新增、转接商变更、IMS漫游开闸，每一起都会改变合法信令的“长相”。信令防火墙的规则库要跟着互联互通部的协议台账走——**规则和商业协议脱节，是误杀告警的第一大来源**。

**然后让网络学会“多疑”。** FS.11的Cat 3监测别只当报表用：SRI-SM单GT查询频率、同一境外GT一天内定位探测的命中数、夜间突发的大批量sendAuthenticationInfo，这些基线一旦建成，德国案那种“境外网替一批德国号码集体改路由”的动作，在第一条消息就会炸出来，而不是等用户报案。

**最后是长期解。** 真正能关掉这扇门的，是把互联信令从“无认证”搬到“强认证”的架构：4G/5G时代的Diameter可以走IPSec+证书，5G SBA漫游接口N32由SEPP对端做TLS+OAuth2令牌校验——从“我信你说是谁”变成“密码学证明你是谁”。但这条路的钱和协调成本决定了它只能随网演进、按互联关系逐条迁移，老的MAP信令还会在很多年的过渡期里继续跑。**标准允许多种实现和分阶段迁移，具体防护能力以各运营商与设备商官方文档为准**——这话不是免责，是现实。

还有一条最容易被忽视的：把信令防火墙的告警接进SOC，而不是接进一个三个月才看一次的月报。德国案里银行和运营商之间那种“验证码发了、用户没收到、责任各说各话”的扯皮，本质上是**没人对“信令层的异常”拥有端到端的可见性和责任**。这个洞，设备和规范都填不了，只能靠组织填。

## 七、结语：信任架构不换，防火墙只是门帘

回看这五十年，SS7的故事其实是一个关于“假设失效”的经典剧本：1979年的设计者假设接入这张网的都是国家电话公司，这个假设支撑了全球通信四十年的繁荣；而当“接入权”变成可以在暗网外闱谈价的商品、当一个小国运营商的运维电脑也能被钓鱼攻陷时，地基上的假设塌了，楼上的每一层都在跟着晃。

2014年汉堡的那场演讲把问题摊在了阳光下，2017年的德国案把学费账单寄到了银行和运营商手上，2017年之后的FS.11和各路防火墙确实把门槛抬高了一大截——今天再想低成本扫全网定位，比十年前难多了。但只要互联信令的底层仍是无认证的信任模型，“被渗透的伙伴网”这条路就永远敞着。5G时代的SEPP、N32和后继协议正在把“证明你是谁”写进架构，这是这条流血五十年的伤口真正愈合的开始。

在那之前，每一次你收到的银行短信验证码，依然跑在一张默认“来者皆友”的网上。它大多数时候相安无事——不是因为协议安全，而是因为防火墙后面的工程师们，还在一条规则一条规则地打补丁。这份工作不性感，但这就是运维。

## 参考来源

1. [SS7: Locate. Track. Manipulate. — Tobias Engel, 31C3 官方录像](https://media.ccc.de/v/31c3_-_6249_-_en_-_saal_1_-_201412271715_-_ss7_locate_track_manipulate_-_tobias_engel) — 2014年12月27日CCC大会原始演讲档案，"最高50米精度全球定位"表述出自官方摘要
2. [Exposing The Flaw In Our Phone System — Veritasium (YouTube)](https://www.youtube.com/watch?v=wVyu7NB7W6Y) — 本文权威视频锚点，以通俗方式完整讲解Engel/SS7攻击原理
3. [After years of warnings, mobile network hackers exploit SS7 flaws to drain bank accounts — The Register](https://www.theregister.com/security/2017/05/03/after-years-of-warnings-mobile-network-hackers-exploit-ss7-flaws-to-drain-bank-accounts/958613) — 2017年德国O2 Telefonica案的首发技术报道之一，确认两段式攻击与mTAN拦截
4. [SS7 vulnerabilities exploited to attack German bank customers — Help Net Security](https://www.helpnetsecurity.com/2017/05/04/ss7-vulnerabilities-exploited/) — 引用O2官方声明，确认攻击者于2017年1月获得一家境外运营商网络访问权
5. [FCC CSRIC V WG10《Legacy Systems and Services Risk Reductions》最终报告及后续公共通知](https://docs.fcc.gov/public/attachments/DA-17-799A1.pdf) — FCC对SS7/Diameter风险的官方评估与行业建议（2017年3月报告、8月敦促落实）
6. [GSMA FS.11《SS7 Interconnect Security Monitoring and Firewall Guidelines》](https://www.gsma.com/solutions-and-impact/technologies/security/cybersecurity-knowledge-base/interworking-security/) — GSMA信令防火墙行业规范入口，Cat 1/2/3消息分类与过滤规则集
7. [SS7 Firewalls: Why Telecom Operators Deploy Them and Why They Don't Help — Sbytec](https://www.sbytec.com/vulnerabilities/ss7-firewalls/) — 2026年3月的批判性技术分析：防火墙无法认证来源、FS.11属自愿部署（本文"局限"一节观点来源）

---
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护，聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。
> 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
