本文尝试站在攻击者和用户的角度,来分析这些主流交易所的账户安全机制,因为这直接影响到具体用户的资金安全。
原文作者:吴说区块链
原文来源:吴说Real
分析交易所的安全防护水平并不容易,因为很难了解到交易所内部的具体安全投入情况。Dilation Effect 前期选取了智能合约授权这一独特维度对行业 TOP 交易所和机构的主要钱包地址做过分析,及时披露了发现的问题。这次我们尝试站在攻击者和用户的角度,来分析这些主流交易所的账户安全机制,因为这直接影响到具体用户的资金安全。
尝试通过公开的数据泄露汇集搜索网站(数据来源包括暗网、文件共享平台、历史上泄露的账户数据集等)来对主流交易所的相关域名进行筛选,你要知道,攻击者也会做同样的动作。
首先搜索 Binance.com,发现返回了 8000 余条账户和密码的明文数据!我们摘取部分片段作为示例:
从这些数据中随机挑选一些进行登录尝试,发现不少的账户和密码是完全正确的,尝试登录后居然可以直接进入到下一步的二次验证阶段,比如这个 mar***@gmail.com 账户:
这时如果此用户邮箱的账号和密码也跟交易所的登录邮箱账号/登录密码相同,那攻击者就可以直接获取二次验证的邮箱验证码,从而登录用户的 Binance 账户。是不是相当炸裂?当然值得特别强调的是,我们的验证尝试到此为止,并没有做后续的动作。
Dilation Effect 初步统计了十余家主流交易所的账户密码泄露情况,每一家都有数千条的泄露记录。具体数量级别如下表格所示:
多少有点触目惊心的感觉。
由于时间有限,Dilation Effect 并没有一条条去检查这些账户密码的准确性,但通过对数据做随机挑选,我们发现每个交易所泄露的账户密码里都存在正确的账户和密码,初步估计平均的正确比例在 10%~20% 左右。
账户和密码泄露并不会直接导致用户资金受损,因为交易所都提供了额外的 2FA 机制。但如果用户自己没有做好完善的设置,依然会存在资金被盗风险,比如用户只启用了邮箱验证码做验证,又或者用户的其它认证因素被攻击。
那接下来我们继续分析目前主流 2FA 二次验证机制的安全强度。
首先给出各种二次验证因素的安全等级对比结论:
Dilation Effect 认为普通的用户邮箱是一种安全性比较脆弱的产品,邮箱验证码不是稳定的安全校验因素。时至今日,如果用户还仅仅设置邮箱验证码作为 2FA,那么可以认为这个账户的安全性为零。应该要认识到,历史上各大互联网服务厂商被攻击导致大批量的用户名/密码泄露,同时邮箱服务商也存在潜在的未知漏洞,这都导致大量用户的邮箱处于不安全状态。综合来看,邮箱验证码的安全性是很低的。
短信验证码同样面临很多的攻击场景。比如定向攻击场景里的伪基站攻击,如果某个高价值用户被盯上,攻击者可以在此用户附近部署伪基站来劫持其短信。再比如现在风头正劲的 Lapsus$ 黑客组织喜欢实施的 SIM Swapping 攻击。SIM Swapping 攻击简单来说就是通过社会工程学方式冒充用户将 SIM 卡转移到攻击者名下。尤其是随着 eSIM 的出现,攻击者可以在线完成申办和开通,让攻击变得更加容易。Twitter 创始人 Jack Dorsey 的 twitter 账号曾经就被这种方式攻击过。另外就是运营商合法监听的问题,这种场景就不展开讲了,懂得都懂。所以短信验证码的安全等级也是比较低的。
TOTP 和 Security Key 面临的威胁则会少很多。Dilation Effect 建议广大用户至少能将 Google Authenticator 作为必须开启的基本安全设置,对安全等级要求更高的用户可以设置物理 Ukey。如果仅仅设置了邮箱验证码或者短信验证码,那你的账户被攻击是早晚的事了。
另外,现在一些交易所已经开始支持通行密钥,这是一种用户替代传统密码的强安全机制,建议用户能逐步熟悉使用。
交易所要马上启动应急响应流程,对用户账户密码的泄露情况展开排查,引导受影响用户更改密码、完善账户安全设置。同时日常要主动监控用户的账户密码泄露情况。如果不知道如何查找自己用户的密码泄露数据,可以联系 Dilation Effect 交流 ([email protected])。
我们建议交易所能采取 Secure by default 的设计思路,为用户的账户安全多考虑一些,让用户完成安全设置后账户就能处于相对安全的状态。一些可以参考的设计原则是,用户必须完成 Google Authenticator 的绑定才算满足了安全基准,那么在用户注册时尽最大可能来引导用户完成设置,同时完成了设置后才能进行包括提币在内的敏感操作。
对网络安全抱有敬畏心理。攻击者是勤奋的,而广大用户对网络安全的理解是相对匮乏的。包括V神前些天的推特账号不就被 hacked 了么。用户不能因为图一时提币方便,就忽视了自己的账户安全设置,在被攻击之后往往又追悔莫及。所以,给自己的账户至少绑定上 Google Authenticator 吧。
另外还有一个宝藏网站,用户可以定期查询自己邮箱密码的泄露情况,值得放入收藏夹: