SIM 卡交换 - 电话号码劫持的全貌
SIM 卡交换 (SIM swap 欺诈) 是一种攻击者欺骗移动运营商将受害者的电话号码转移到攻击者 SIM 卡上的攻击。通过夺取电话号码的控制权,攻击者可以绕过短信认证,未经授权访问与该号码绑定的任何服务,银行账户、加密货币钱包、邮箱账户等。
FBI 互联网犯罪投诉中心 (IC3) 在 2022 年 2 月发布的预警中提到,2021 年收到的 SIM 卡交换投诉为 1,611 件,调整后损失超过 6,800 万美元。本文从攻击的技术机制到具体防御措施进行系统性说明。
攻击的运作方式 - 4 个阶段
SIM 卡交换攻击从信息收集到执行分阶段推进。了解每个阶段是防御的第一步。
阶段 1:目标信息收集
攻击者首先收集目标的个人信息。通过社会工程学、钓鱼、从数据经纪商购买以及过去数据泄露中泄漏的信息的组合,他们获取:
- 全名、出生日期、地址
- 电话号码、邮箱地址
- 移动运营商账户信息 (账号、PIN 码)
- 用于身份验证的安全问题答案 (母亲的婚前姓、宠物名等)
阶段 2:向运营商冒充受害者
携带收集到的信息,攻击者联系移动运营商的客服。以"我丢了智能手机"或"我的 SIM 卡坏了"为借口,要求将电话号码转移到新的 SIM 卡上。由于他们能正确回答身份验证问题,客服人员相信他们是合法客户。
也有报告指出,攻击者会向运营商内部人员支付金钱,绕过正规程序直接完成 SIM 卡的切换。一旦有内部人员参与,无论把柜台的身份核验问题设计得多严格,都拦不住这次转移。真正管用的,是用户自己在账户上加的那道锁。
阶段 3:电话号码夺取
SIM 卡交换完成后,受害者的智能手机立即失去信号。所有来电和短信都被转发到攻击者的设备。受害者注意到异常之前的几分钟到几小时是攻击者的"黄金时间"。
阶段 4:账户接管
控制了电话号码后,攻击者绕过基于短信的双因素认证 (2FA) 来入侵账户。典型的攻击场景如下:
- 使用邮箱账户的"忘记密码"功能,通过短信接收验证码
- 接管邮箱账户,然后连锁重置银行、加密货币交易所和社交媒体的密码
- 将加密货币转移到攻击者的钱包或从银行账户转移资金
为什么短信认证是脆弱的
基于短信的 2FA 使用电话号码所有权作为认证"第二因素"的证明。然而,由于电话号码可以通过 SIM 卡交换轻松转移,它作为所有权证明是失败的。
NIST (美国国家标准与技术研究院) 在 2017 年 6 月发布的 SP 800-63B 中,将经由公共电话网 (短信或语音通话) 的认证归类为"受限",建议迁移到更安全的替代方案 (该版本已于 2025 年 8 月被后继的 SP 800-63B-4 取代)。原因很明确:
- 短信不做端到端加密,在运营商设备内部以明文形式处理。一旦互联互通所用的 SS7 被人钻了空子,通信路径上仍有被截获的余地
- 电话号码不是永久绑定的个人标识符,而是可以通过运营商程序转移的临时分配
- 除了 SIM 卡交换,还有多种方法可以绕过短信,包括 SS7 攻击、基于恶意软件的短信截获和语音钓鱼
短信认证"聊胜于无",但对于保护高价值账户 (金融、加密货币、邮箱) 来说是不够的。
遭受 SIM 卡交换的迹象
如果出现以下任何一个迹象,请怀疑 SIM 卡交换攻击并立即开始应对:
- 智能手机突然失去信号,无法接收来电或短信
- 收到运营商发来的"SIM 卡更换完成"通知 (通过邮件或其他设备查看)
- 无法登录邮箱或社交媒体账户
- 收到银行账户或加密货币钱包的未知转账通知
- 联系人告诉你"我收到了来自你账户的可疑消息"
如果发现攻击,首先致电运营商要求停用 SIM 卡,然后优先联系金融机构并更改密码。
防御措施 - 远离短信认证和多层保护
1. 采用硬件安全密钥
兼容 FIDO2/WebAuthn 的硬件安全密钥 (YubiKey、Google Titan Security Key 等) 是对抗 SIM 卡交换的最强防御。认证基于物理设备持有和加密证明,通过电话号码劫持无法突破。
Passkey 同样使用公钥加密进行认证,不依赖短信。请积极考虑在支持的服务上迁移到 Passkey。
2. 切换到认证器应用
Google Authenticator、Microsoft Authenticator 和 Authy 等 TOTP (基于时间的一次性密码) 应用是比短信更安全的 2FA 方法。验证码在设备内生成,因此无法通过电话号码劫持获取。
但认证器应用的备份码管理需要注意。如果备份码泄漏,认证器应用的保护也会被中和。
3. 设置运营商 SIM 锁 (号码冻结)
许多移动运营商提供在更换 SIM 卡或号码携带时需要额外认证的功能。
- SIM 锁 PIN:更换 SIM 卡时需要专用 PIN 码
- 号码冻结:临时冻结号码携带 (MNP)
- 账户 PIN:联系客服时需要额外认证
这些功能的名称和提供范围因运营商而异,把号码携带一并冻结的主要是北美的运营商。在其他地区,事先登记的账户密码往往承担同样的角色,重新签发 eSIM 或更换机型时会要求输入。请到所用运营商的会员页面或门店确认一次哪些保护措施可用,凡是能用的都开启。
4. 最小化个人信息暴露
SIM 卡交换的起点是个人信息收集。减少攻击者可获取的信息是基本防御。
- 不要在社交媒体上公布你的出生日期、地址或电话号码
- 检查你的社交媒体隐私设置并最小化公开可见性
- 从数据经纪商网站删除你的信息 (退出程序)
- 定期检查你的数字足迹以了解不必要的信息暴露
- 在 IP 确认上检查你的 IP 地址和网络信息有多少是公开可见的
5. 为关键账户使用独立电话号码
为金融机构和加密货币交易所使用与日常不同的电话号码也是有效的。用双卡手机的副卡或另外签约的 SIM 卡准备一个只用于注册的号码,并且不在任何地方公开,攻击者就很难锁定该攻击哪个号码。
eSIM 能防止 SIM 卡交换吗?
eSIM (嵌入式 SIM) 不需要物理 SIM 卡更换,因此有人声称它"能抵抗 SIM 卡交换"。然而,即使使用 eSIM,通过运营商客服重新签发配置文件仍然是可能的。
eSIM 的优势在于防止物理 SIM 卡被盗或更换。然而,由于 SIM 卡交换的本质在于运营商身份验证流程的脆弱性,仅靠 eSIM 并不是根本解决方案。将 eSIM 采用与运营商 SIM 锁设置和远离短信认证相结合是必要的。
总结 - 迈向不依赖电话号码的安全态势
SIM 卡交换是一种利用电话号码这一"薄弱环节"的攻击。只要你依赖短信认证,无论你的密码多么强大,一次电话号码劫持就能让一切崩塌。
防御的核心是将认证基础从电话号码迁移到加密方法 (硬件密钥、Passkey、认证器应用)。同时,构建结合运营商 SIM 锁设置和个人信息暴露管理的多层保护。
首先在 IP 确认上检查你的网络信息,了解你有多少信息是公开可见的。
相关术语
常见问题
什么是SIM卡交换攻击?
SIM卡交换是指攻击者欺骗手机运营商,将受害者的电话号码转移到攻击者的SIM卡上的攻击手法。通过劫持电话号码突破短信验证,非法访问银行账户和加密货币钱包等。
为什么短信验证不安全?
短信不做端到端加密,在运营商设备内部以明文形式处理,且电话号码可通过运营商程序转移,因此作为第二验证因素存在脆弱性。NIST在2017年发布的SP 800-63B中,已将经由公共电话网的验证定位为"受限"方式,建议迁移至硬件密钥或身份验证器应用。
如何防范SIM卡交换攻击?
迁移至硬件安全密钥或身份验证器应用、设置运营商的SIM锁定(号码冻结)、最小化个人信息暴露是有效措施。特别是金融和加密货币账户,应停用短信验证,改用支持FIDO2的安全密钥。