谷歌双因子认证漏洞:不需要令牌就可以禁用

2020 年 7 月 14 日

谷歌双因子认证漏洞:不需要令牌就可以禁用

若干天前,Amos(@fasterthanlime)遭遇了黑客的密码攻击,被偷了几百欧元。攻击者之所以可以得逞,是因为他可以关闭 password.google.com 的双因子身份验证,无需通过双因子身份验证机制来确认身份,导致双因子身份验证失去了意义。此外,随后的调查显示,存储在 password.google.com 中的密码很容易被提取,说明该服务在安全性方面存在很大的问题。InfoQ 已经联系了谷歌的安全工程师,他们做出了回应,在得到进一步信息后将更新本文。


这个漏洞的入口点是一个类似 VNC 的远程会话,这让攻击者能够访问当时正在被使用的 macOS 窗口系统。该服务使用的是 NoMachine,在没有认证的情况下直接将 4000 端口暴露了出来。正如 Amos 指出的,这是个错误。


然而,更大的问题出现了,因为 Amos 使用 macOS 的 Safari 登录账号,Safari“帮忙”记住了密码,并进行自动填充,这也让黑客随后得以获取 Amos 的详细信息。


由于 Amos 最近在那台机器上登录过,谷歌在机器上缓存了一个最近的会话令牌(大概是用来配合 2FA)。攻击者在一段时间后通过 Safari 自动填充功能重用缓存的密码,刷新会话令牌,并使用它来禁用 2FA。这显然是有意这么设计的,也就是说,设计者默认如果你登录了一台电脑,并且知道密码,那么此刻你肯定就是电脑的主人。如果你最近登录过,并进行过会话,你只需要一个因子——密码——来刷新会话令牌,然后就可以开始后续的操作。


你不需要 2FA 令牌就可以禁用谷歌 2FA。


这似乎是一个很基本的安全问题,但很显然,为了方便用户,避免他们要经常输入 2FA 令牌,最好是先登录机器(只要你知道密码),然后就可以修改安全级别。换句话说,它就是 2FA。如果登录了,那就是 1FA 了。这种观点的理由是:你登录自己的机器,那它一定是安全的,不是吗?


@mrisher对@fasterthanlime说:或许是术语上的不同?除了密码之外,不是还有指纹解锁和面部解锁吗?我承认屏幕锁存在一定的差别——比如耸肩膀、闭眼睛等——但这仍然是第二个验证因子,不是吗?

@mrisher对@fasterthanlime说:在我们的模型中,设备锁是密码之外的第二个验证因子。你不这么认为吗?


是的,我不这么认为。2FA 的意义在于它应该是第二个因子身份验证。如果你可以只用一个密码来修改安全级别,那它就是 1FA。这是谷歌安全工程师提供的建议,而这让人更加感到担忧。


此外,一旦攻击者禁用了 2FA,他们就能够远程攻击会话,并使用 passwords.google.com 提取 Chrome 之前自动保存的密码。Amos 告诉 InfoQ,他是一名 1Password 用户,被 Chrome 截获的密码有些过时了,但有一些仍然有效,攻击者用他的账号订购了一些硬件,还有其他一些账单需要 Amos 支付。


事实上,直到有个使用了 2FA 的服务在午夜给 Amos 发送了通知,他才注意到事情有些不对劲。


Amos 调查得出的另一个结果是,passwords.google.com 似乎使用谷歌登录密码来加密其他密码。任何知道你的密码的人——比如,Safari 自动为你填充密码——都可以解开被加密的密码。这与苹果的钥匙串管理器有点类似,只要你知道钥匙串的密码,就可以解开钥匙串里的内容。Chrome 通过云端服务来同步密码,任何 Chrome 实例都可以访问并解开密码。谷歌的密码检查服务也使用了这些密码,它可以使用你的账号密码来解密账号中的其他密码,以确定它们是否已被黑客攻击或者是否太过简单。攻击者可以通过控制计算机会话并使用在线密码管理器轻松获取密码。用户可以使用“choose as passphrase”加密密码来禁用密码检查功能,阻止谷歌在线解开你的密码。


这里有一些结论:


  • 如果你用Chrome的记住密码功能,并且它用你的默认账号密码加密其他密码,那么passwords.google.com就有可能是一个安全漏洞。最好使用真正的密码管理器。如果你没有使用真正的密码管理器,并继续在Chrome中使用passwords.google.com,至少要从当前账号中选择一个不一样的密码。

  • 如果你不确定是否有人在使用你的谷歌帐号,可以看一下这个页面https://g.co/securityCheckup,看看最近有哪些设备在哪些地方使用了你的帐号,你可以撤销它们。

  • 2FA的安全性并没有问题,但为了方便而临时禁用它则可能是个问题。

  • 谷歌还提供了一个高级保护程序,虽然无法阻止这类攻击,但读者可能会感兴趣:

  • https://landing.google.com/advancedprotection/


Amos 在“小心谷歌密码管理器”这篇文章中详细记录了此次事件。


你对这种情况怎么看?这是为了方便消费者和为用户着想,还是一个需要修复的安全漏洞?


原文链接


Disabling Google 2FA Doesn’t Need 2FA


2020 年 7 月 14 日 20:001186

评论

发布
暂无评论
发现更多内容

晨间日记的奇迹

熊斌

读书笔记

数字货币交易所系统开发源码,交易平台搭建

WX13823153201

数字货币交易所系统开发

高难度对话读书笔记——目的篇

wo是一棵草

什么是 Kubeless?| 玩转 Kubeless

donghui2020

Kubernetes kubeless

MySQL-技术专题-SQL性能分析

李浩宇/Alex

Java 客户端操作 FastDFS 实现文件上传下载替换删除

哈喽沃德先生

Java 文件系统 分布式文件存储 fastdfs 文件服务器

“三段三域法”应用架构模型

异想的芦苇

架构 架构设计 技术架构

架构师训练营第一期 - 第四周课后 - 作业二

极客大学架构师训练营

转型敏捷123

技术管理Jo

2020南京国际工业互联网及工业通讯展览会

InfoQ_caf7dbb9aa8a

第3周学习总结

饭桶

坚持写技术博客一年能有多少收获!

小傅哥

Java 面试题 架构师 编程经验 技术博客

2020第十三届南京国际智慧工地装备展览会

InfoQ_caf7dbb9aa8a

2020南京国际人工智能产品展览会

InfoQ_caf7dbb9aa8a

人工智能

技术革新的脉络及趋势

异想的芦苇

技术 进步

MySQL-技术专题-实战技巧

李浩宇/Alex

MySQL-技术专题-Join语法以及性能优化

李浩宇/Alex

第3周作业提交

饭桶

从戚家军看组织战斗力塑造(组织的六脉神剑)

异想的芦苇

组织

手把手教你锤面试官 04——假装精通redis

慵懒的土拨鼠

技术解码 | 玩转视频播放,自适应码流技术

腾讯云视频云

音视频 转码

Redis-技术专题-数据结构

李浩宇/Alex

SpringBoot-技术专题-@Async异步注解

李浩宇/Alex

2020第十三届南京国际智慧新零售暨无人售货展览会

InfoQ_caf7dbb9aa8a

架构方法论之“极限审视法”

异想的芦苇

架构 方法论 设计思维

全屋智能2020第十三届(南京)国际智能家居展览会

InfoQ_caf7dbb9aa8a

2020第十三届南京国际智慧停车展览会

InfoQ_caf7dbb9aa8a

2020第十三届南京国际大数据产业博览会

InfoQ_caf7dbb9aa8a

轻言业务架构图

异想的芦苇

架构 企业架构 架构设计 架构设计原则 业务架构

我就不服了,看完这篇文章,5大常见消息队列开发你还学不会

小Q

Java 编程 程序员 开发 消息队列

PanDownload复活了!60MB/s!附下载地址

程序员生活志

PanDownload 网盘 下载器

谷歌双因子认证漏洞:不需要令牌就可以禁用-InfoQ