我用自己的手机号 “黑了” 我的账户
星期一, 十一月 25, 2019
本应保护账户安全的一项功能——绑定手机号,已成 SIM 交换事件中的攻击方法。且看其运行机制并了解该如何防护。
作者简介:Nicole Sette,著名估值及咨询服务公司 Duff & Phelps 旗下 Kroll 部门网络风险实践主管,注册信息系统安全师 (CISSP),15 年网络情报调查与技术分析经验。Nicole 作为网络情报分析师为 FBI 工作近 10 年时间,并在美国陆军通信-电子司令部任了四年情报专家。她毕业于斯坦福大学,并在美国国家情报大学获得战略情报硕士学位。
在 Kroll,Nicole 创建战略网络情报产品,并执行各类网络安全调查,包括涉及电子邮件入侵的事件响应、SIM 交换、账户接管、勒索软件和恶意软件计算机入侵。除了了解网络相关事件中人的因素,Nicole 还具备很强的技术专业技能,包括网络分析、工业网络安全、取证和事件处理,以及暗网调查。
作为网络风险调查公司董事和前 FBI 网络分析师,我非常熟悉 SIM 交换威胁。对很多人而言,说到 SIM 交换就会联想起黑客接入一家电话公司,或者外国间谍置换 SIM 卡以避免政府监视的场景。事实上,SIM 交换是全球电话公司日常进行的一项合法功能。最基本的层面上,电话服务提供商使用 SIM 交换将用户现有手机号转至新手机和 SIM 卡上。
不幸的是,罪犯也知道怎么使用 SIM 交换来攫取利益。罪犯诱骗或贿赂电话公司雇员将受害者手机号迁至其控制下的新手机和 SIM 卡。但为什么罪犯想要控制他人的手机号呢?
这就涉及到现代手机身份验证的概念了。在线服务提供商使用双因子身份验证 (2FA) 方法,通过向账户之前绑定的手机号发送一次性密码来验证用户身份。虽然这是重置遗忘密码的简便方式,却也让控制该手机号的任何人都可以访问关联此号码的电子邮件、社交媒体及金融账户。如果希腊战士阿基里斯代表 2FA 所有荣光,那基于短信的手机身份验证就是阿基里斯之踵。
靠手机号黑掉某人的想法太过迷人,我决定模拟仅用自己的手机号黑掉自身账户。先从推特账户开始。我选择了 “忘记密码?”,然后看到了 “输入手机号” 的选项。此时我根本不记得曾经给我的推特账户关联过手机号,但我决定尝试一下。
我的手机很快就收到了推特发出的一次性密码。而且锁屏通知上就能看到。将此密码输入推特网站,弹出新密码设置窗口,账户完全控制权就此入手。由于短信通知出现在手机锁屏上,只要拿到我的手机且知道我手机号,任何人都可以接管我的推特账户。
最为困扰的是,知道我手机号的任一家庭成员、朋友或同事都能把号码填进推特的“忘记密码?”字段,随手拿过我已锁屏的手机就能看到该一次性密码,然后登录我推特账户一览无余。甚至都不需要 SIM 交换。
这一场景的隐私问题令人坐立难安,且还凸显出用户账户控制权失窃的潜在严重影响——获得账户控制权的人有可能从其社交媒体账户发布攻击性内容,甚至将账户用于犯罪。入侵者(比如同床异梦的配偶或怀恨在心的同事)仅需知道受害者手机号和能看到手机,即使手机锁屏。我确实收到了推特发送的一封密码已重置通知邮件,但攻击者可以同样的技术获取我电子邮件账户权限,然后删除这些通知。
乘着推特账户入侵成功的东风,我用同样的技术搞定了我过时的 Hotmail 账户。步骤包括点击 “忘记密码”,输入我(很好猜)的电子邮件地址,在弹框里输入我的手机号。然后,一次性密码就发到了我手机上,让我得以重置密码,查阅多年来的电子邮件通信,完全跳过了我之前为此账户设置的超复杂密码。我都开始看到 SIM 换客或者八卦人士有多容易从一个手机号窥探无数账户了。
此时我处于 “攻击者思维” 模式,在我的 Hotmail 收件箱里搜索财务报表。我发现了一封来自金融机构的邮件,点击了 “查看报表”。黑掉该金融账户所需的工作不仅仅是输入一个手机号那么简单,但也就多了一步输入身份证号——这东西通常可从暗网市场上买到。实验进行到这里,我已经入手了一个社交媒体账户、一个存了财务报表的电子邮件账户,还有一个可以转出资金的金融账户。
我从用自己的手机黑掉自身账户的实验中学到了什么呢?最主要的是,如果我的账户没跟我手机绑定,仅仅由我设置的复杂密码保护,或许还更安全些。
很多在线提供商建议绑定手机作为实现 2FA 的一种方式。2FA 的两个验证因素:一个是你知道的东西,另一个是你拥有的东西。实际上,2FA 用于在一开始将用户手机号绑定在线账户;但手机号确认之后,账户身份验证过程通常就倒退到单因子验证(就一个手机号)了。
由基于短信的身份验证场景激发出来的虚假安全感,令用户面对 SIM 交换攻击和隐私漏洞毫无防备。除非你禁用了手机的某些通知功能,否则能看到你锁屏手机的人就可能访问你的社交媒体、电子邮件甚至金融账户,所需仅为公开可知的手机号和电子邮件地址。
本次实验促使我立即做出一些改变,建议各位读者参考照做:
1. 我将删除我在线账户中的手机号,以复杂密码和更健壮的 2FA 选项来验证在线账户,比如 Google Authenticator、Microsoft Authenticator、Duo 或 YubiKey 之类 USB 硬件验证设备。(我显然不会把自己的手机号关联上这些 2FA 应用。)
2. 我将通过存档和备份电子邮件来保护敏感邮件内容,以防被黑时遭入侵者读取。
3. 为抵御 SIM 交换攻击,我将给我的移动账户添加 PIN 码,并计划要求 SIM 交换仅能本人亲自做出。
4. 为防来自机会主义偷窥者的手机身份验证攻击,我已经禁用了手机的锁屏通知功能。
最重要的是:宣传为使账户更安全的一项关键功能——绑定手机号,已在越来越多的 SIM 交换事件中被实际证明是种攻击途径。这种攻击的安全和隐私影响很严重,业界需以更安全的身份验证机制代替基于短信的手机身份验证。
相关阅读