1. 首页
  2. 黑科技

如何防止帐号被黑

上周有一起安全事件。两家著名的美国互联网公司—-Twillo 和 Cloudflare—-被攻击了,前者还被攻破了。

这两家都不是普通公司,技术很强,都采用了”双因素认证”,但还是被有效攻击了。它们事后披露了一些细节,我觉得值得谈一下,聊聊怎么保护帐号安全。

bg2022081711.webp_

首先,有一点应该是共识:密码是不安全的,一定要启用双因素认证。

大部分的互联网密码都已经泄漏了。地下的黑产出售很全的数据库,一查邮箱或手机号,密码就出来了。你不妨认定,自己的密码已经泄漏了。如果为每个网站设置不一样的密码,情况可能会好一点,但也无法保证某个账号就是安全的。

bg2022081116.webp_

任何一个重要账号,都应该打开”双因素认证”(two factor authentication,简写 2FA),即除了密码,再多一种认证。即使如此,也必须非常小心,因为 “双因素认证”也可能被破解

一种常见的”双因素认证”就是密码 + 短信。每次登录时,除了密码,还会发一个短信验证码。它的风险在于短信是不加密的,而且国内有过不少案例,罪犯拿着伪造的身份证去挂失,办了一个相同号码的 SIM 卡,顺利收到验证码。

另一种新兴的”双因素认证”是密码 + 人脸识别。它的风险在于,国内的很多方案采用身份证照片与人脸比对,这很不安全。已经有新闻报道,银行的人脸识别被破解,储户的存款被转走。

bg2022081119.webp_

公认较安全的”双因素认证”是密码 + TOTP 时间码。你在手机安装一个专门 App(比如 Google Authenticator 或 Authy),输入网站提供的密钥,就会每30秒生成一个6位时间码。

bg2022081118.webp_

但是,上周的安全事件,恰恰就是 TOTP 时间码被攻破了。下面就来说说,这是怎么发生的。

事情的起因是,Twilio 和 Cloudflare 的员工,在下班后或者休息日收到了一条手机短信。下面就是两家公司公布的短信截图。

bg2022081204.webp_

bg2022081205.webp_

大意是,公司日程有调整或者你的登录信息过期了,请点击链接,到后台查看。它给出了一个公司名称加”sso”或者”okta”这样的钓鱼域名,警惕性不高的员工就会点击。

读者可能会问,攻击者如何得知员工的手机号码。这在美国不是难事,LinkedIn 网站上就往往可以查到。

员工点击链接以后,就会进入钓鱼网站(下图),跟真正的登陆页一模一样。只要填入用户名和密码,它们就立刻泄漏,脚本自动把它们发送到服务器。

bg2022081206.webp_

但是,这两家公司都开通了”双因素认证”,光有密码还进不去后台,所以钓鱼网站会把你引导到 TOTP 时间码的页面。

这时,只要你输入了时间码,它就自动发送给攻击者。由于时间码的有效期只有30秒,这次攻击最绝的地方在于,攻击者是实时攻击,只要一拿到时间码,就立刻在真正的登录页输入,从而进入后台。

可以这样说,大部分公司的双因素认证,都会被这种方式攻破。但是,Cloudflare 这一次没有被攻破,原因是他们的后台没有采用时间码,而是采用了物理密钥(下图)。只有把物理密钥插入计算机,才能登陆后台。攻击者拿不到物理密钥,自然就无法攻破。

bg2022081207.webp_

所以,这个事件的教训就是,目前最安全的认证方法应该是密码 + 物理密钥。事实上,从很早以前,银行就给客户发物理密钥,进行大额转账。如果你有条件,可以考虑使用,很多大网站都已经支持物理密码,比如 GitHub(下图)。

bg2022081801.webp_

问题在于,物理密钥的价格较高,便宜的也要一两百元人民币,普通用户不可能购买。好在 Web Authentication 技术正在推广,它允许把手机当作物理密钥,或者网站可以调用本机的指纹识别(或人脸识别)进行认证。

对于大多数人来说,目前阶段如果没有物理密钥,保护账户安全的最佳实践无非就是这么几点:坚持使用双因素认证,不同网站使用不同密码,不在可疑网址输入密码。

发表评论

邮箱地址不会被公开。