背景
friend.tech 是一个社交平台,用户需要购买其他用户的 Key 才能跟其对话,Key 的价格也会随着购买的人增多而上涨,持有者可以通过出售 Key 获利。
2023 年 10 月 3 日,慢雾(SlowMist) 创始人 Cos 针对近期 friend.tech 用户的账号被黑,资产被盗的情况,在社交媒体发文表示 friend.tech 缺乏双因素认证,存在风险。
2023 年 10 月 5 日,链上侦探 ZachXBT 在社交媒体发文表示,一名黑客在过去的 24 小时内通过对四名不同的 friend.tech 用户进行 SIM 卡交换攻击,获利 234 枚 ETH(约 385,000 美元)。
截至目前,friend.tech 用户因 SIM 卡交换攻击已损失约 306 枚 ETH。
2023 年 10 月 10 日,friend.tech 表示用户现在可以在 friend.tech 账户中添加 2FA 密码,以便在运营商或电子邮件服务受到威胁时,提供额外保护。
2023 年 7 月 17 日,慢雾 CISO @23pds 在接受 Cointelegraph 采访时提到 “SIM Swap 因为攻击成本低,预计未来将愈演愈烈,而且随着 Web3 的普及并吸引更多人进入该行业,由于 SIM Swap 技术要求相对较低,SIM 卡交换攻击的可能性也随之增加。”
下图是黑市上针对不同运营商的 SIM Swap 报价:
在各种背景下,基于此次 friend.tech 安全事件,本文将讲解 SIM 卡交换攻击的实现方式和应对措施。首先,我们来解释下什么是 SIM 卡和 2FA。
SIM 卡和 2FA
SIM 卡(Subscriber Identity Module)即用户识别模块。SIM 卡的主要功能是存储与用户身份和移动网络运营商相关的信息,并且允许用户连接到移动网络并使用电话和数据服务。当用户将 SIM 卡插入手机或其他移动设备时,设备可以读取 SIM 卡上的信息,并使用这些信息来连接到移动网络。
双因素认证(Two-Factor Authentication,简称 2FA)是一种身份验证方法,它要求用户提供两种不同类型的身份验证信息才能获得访问权限。它广泛应用于在线银行、电子邮件服务、社交媒体、云存储、加密货币钱包等服务中,以增加账号的安全性。短信验证码是一种常见的 2FA 方法,虽然短信验证码也是随机的,但是其在传输过程中是不安全的,且存在 SIM 卡交换攻击等风险。
下面我们讲解攻击者通常是如何实施 SIM 卡交换攻击。
攻击手法
在加密货币领域,攻击者发起 SIM 卡交换攻击的目的是通过控制受害者的电话号码,以绕过双因素认证,从而获取对受害者的加密货币账户的访问权限。
近年来,随着许多公司数据泄露,暗网上存在出售被盗的个人信息的交易。攻击者会从数据泄露事件中,或是通过网络钓鱼等方式,获取被害者的身份证等详细个人资料。随后,攻击者会借由这些信息冒充受害者,开始 SIM 卡交换攻击。
(https://www.cert.govt.nz/assets/Uploads/Quarterly-report/2019-Q4/SMS-Swap-diag-full__ResizedImageWzYwMCwyMTld.png)
以下是具体流程:
1. 目标确定:攻击者首先需要确定其目标,他们会寻找社交媒体上关于加密货币持有者的信息;
2. 社交工程:攻击者可能会利用社交工程,如钓鱼邮件或电话,来诱使目标提供有关其电话号码或其他敏感信息;
3. 联系运营商:一旦攻击者确定了目标的电话号码,他们会联系目标的运营商,通常通过伪造身份或社交工程技巧,要求运营商将目标的电话号码与新的 SIM 卡关联起来;
4. SIM 卡交换:一旦攻击者成功地说服运营商将受害者的电话号码与新 SIM 卡关联,受害者的原始 SIM 卡会被停用,因为电话号码只能与一个 SIM 卡关联。这意味着受害者将失去对其电话号码的访问权,而该号码现在由攻击者控制;
5. 接收验证码:攻击者现在可以接收受害者的短信和电话通信,包括用于双因素认证的验证码;
6. 访问加密货币账户:使用收到的验证码,攻击者可以登录受害者的加密货币交易平台或钱包应用程序,并获取对其加密货币资金的访问权限,执行未经授权的交易,转移受害者的资产。
应对措施
为防范 SIM 卡交换攻击,可采取以下措施:
最好不要选择基于 SIM 卡的认证方式。你可以设置 PIN 码以保护 SIM 卡,但 ZachXBT 指出使用 PIN 码也还是不够安全,应该使用身份验证器或安全密钥来确保账户安全。攻击者往往能够让运营商相信,他们只是忘记了自己的 PIN 码,甚至存在运营商的工作人员也参与了诈骗的情况。当然设置 PIN 码还是能增加攻击难度,提高 SIM 卡安全性。
使用支持 TOTP 算法的身份验证器做双因素认证。这里简单对比下 HOTP 和 TOTP。OTP(一次性密码)包括 HOTP 和 TOTP,两者的区别在于生成它们的算法:
HOTP 是基于事件的 OTP 算法。每次请求并验证 HOTP 时,移动因子都会根据计数器递增。生成的密码一直有效,直到用户主动请求另一个密码并由身份验证服务器验证为止。HOTP 的有效窗口期更长,因此攻击者通过暴力破解所有可能的 OTP 值,侵入用户帐户的风险更大;
TOTP 则是基于时间的 OTP 算法。时间步长是 OTP 的预设生存期,通常为 30 秒,如果用户没在窗口内使用密码,则该密码将不再有效,需要请求一个新密码才能访问应用程序。相较于 HOTP,TOTP 的时间窗口更小,安全性更高。因此,慢雾安全团队建议使用支持 TOTP 算法的身份验证器做双因素认证,如 Google Authenticator、Microsoft Authenticator、Authy 等。
小心处理来自不明来源的短信和电子邮件,不要随意点击链接和提供敏感信息。
另外,friend.tech 受害者表示曾收到大量垃圾短信和电话,于是他将手机静音,而这使他错过了运营商 Verizon 提醒账号可能被入侵的短信。攻击者这么做是诱使受害者给手机静音,为自己盗取资金争取时间。因此,用户在突然收到大量垃圾电话和短信时也要提高警惕。
总结
SIM 卡本身的安全性依赖于运营商的安全措施,容易受到社交工程等攻击方式的影响。因此,最好不要用基于 SIM 卡的认证方式。用户有必要为账户增加双因素认证以提高账户安全性,建议使用支持 TOTP 算法的身份验证器。最后,欢迎阅读慢雾出品的《区块链黑暗森林自救手册》:https://github.com/slowmist/Blockchain-dark-forest-selfguard-handbook/blob/main/README_CN.md。
往期回顾
慢雾导航
慢雾科技官网
https://www.slowmist.com/
慢雾区官网
https://slowmist.io/
慢雾 GitHub
https://github.com/slowmist
Telegram
https://t.me/slowmistteam
https://twitter.com/@slowmist_team
Medium
https://medium.com/@slowmist
知识星球
https://t.zsxq.com/Q3zNvvF