chrome 密码泄漏了, 才知道用 chrome 保存密码等于裸奔

2022-08-14 12:31:38 +08:00
 juejinloop

前几天电脑中毒了,虽然第一时间重装系统,但是隔天依然收到一大堆网站登录的 gamil 验证邮件,谷歌帐号也提示风险操作。密码管理一直用的 chrome 自带的,考虑是 chrome 保存的密码泄漏,于是连夜改了所有帐号密码,能二验的全部添加二验。然而第二天早上还是发现一台小鸡被人在 vps panel 里重装了 windows 系统,还好有数据备份,然后又改所有小鸡的 ssh 登陆密码。因为之前谷歌帐号开了二次验证,还好谷歌帐号没被登录。吃了这个惨痛的教训,我开始研究 chrome password manger 的安全问题,才发现 chrome 保存密码等于裸奔。

一篇解释如何获取 chrome 保存的密码的文章: https://ohyicong.medium.com/how-to-hack-chrome-password-with-python-1bedc167be3d

如果用 chrome 自带的密码管理保存密码,任何一个运行在你电脑上的程序,不需要管理员权限,都能解密并读取本地保存的密码。因为 chrome 的密码保存在本地加密的 sqlite 中,同时加解密密钥也明文保存在本地文件里,任何程序都能读取。

加密 sqlite 文件路径: C:\Users<PC Name>\AppData\Local\Google\Chrome\User Data\Default\Login Data

解密密钥文件路径 C:\Users<PC Name>\AppData\Local\Google\Chrome\User Data\Local State

额外说明一点是解密需要用到 win32 提供的 API CryptUnprotectData 函数,这个函数保证解密是和加密在同一台电脑(用户)进行的,所以如果直接复制硬盘的浏览器数据到其他电脑上是解密不了的,但是只要你的 Windows 登录了,任何程序只要想都可以解密 chrome 的密码然后上传。

现在考虑转 bitwarden 中。

48705 次点击
所在节点    信息安全
287 条回复
o00o
2022-08-14 13:54:30 +08:00
楼上说中毒了就不能怪 chrome 的,如果说某应用软件或者 360 杀毒里面加一段读取你 chrome 密码的代码就问你怕不怕。
不安全就是不安全,开脱什么,想做的更安全肯定有办法
nbndco
2022-08-14 13:59:42 +08:00
@konakona 但是你有没有想过,Chrome 的密码必然是保存的原文,你打开 Chrome 填写密码之前也没有输过任何 master password ,离线也可以输入密码,所以可以完全还原你保存密码的所有信息必然全部保存在你的机器上。

这根本不需要被发现,是必然的啊。

Safari 安全的多,Safari 背后使用 keychain 保存密码,系统级地进行权限控制,所以你不可能写任何程序(除非出现安全漏洞)偷偷读到 Safari 保存的密码。并且每次输入密码前都需要进行指纹 /人脸认证,也就意味着密码不会明文储存在 Safari 中,也不会被任何其他程序通过任何方式冒充 Safari 获取。
nbndco
2022-08-14 14:00:53 +08:00
@o00o 有些问题是逻辑问题,并不可能造出永动机
0o0O0o0O0o
2022-08-14 14:03:57 +08:00
@o00o 360 杀毒这种高权限黑科技常驻软件,可以说它想要什么就能拿到什么。绝大部分人只要选择安装使用这类软件,就默认只能信任 360 公司的商誉。
nbndco
2022-08-14 14:04:04 +08:00
@konakona 不过在 Mac 上,Chrome 应该是用的 keychain 保存密码 /或者加密密码的,比 windows 上应该安全的多。windows 没有 keychain ,我也不懂如何有一个好用又安全的方案(除非你每次填密码之前都输一遍 master password )
msaionyc
2022-08-14 14:04:45 +08:00
人都进你家了,你用抽屉放钱,还是用保险箱放钱,区别是不大的
nbndco
2022-08-14 14:07:06 +08:00
@msaionyc 其实是有的,如果你愿意记住一个保险箱密码(每次填写密码前都输入 master password 解密 vault ),那还是有区别的。但是如果你想的是不要记住任何一个密码,我家谁都能进,但只有我能拿钱,那我只能说多少层多高级的保险箱都是毫无意义的 security theater 了。
felixcode
2022-08-14 14:09:48 +08:00
@msaionyc
你想想为什么还有人要买保险箱吧
Constantping
2022-08-14 14:13:23 +08:00
Felldeadbird
2022-08-14 14:17:25 +08:00
其实 chrome 只要加多一道自动填充密码前输入密码或者时效令牌校验就安全了。
BeautifulSoap
2022-08-14 14:25:11 +08:00
我觉得 ls 很多人说这不怪 chrome 是明显不对的,chrome 这种密码管理的安全性和明文没区别,虽然如果客户端不安全被病毒动用了键盘记录,内存 dump 之类的方法的话大部分软件都顶不住,但 chrome 这种几乎是明文记录的方法绝对不应该采用

一样东西顶不住降维打击不应该成为一张纸就将其压扁的理由
JamesR
2022-08-14 14:25:52 +08:00
感谢楼主发帖,看样子得从 Chrome 里剔除能交易的账户登录密码了。我随便写个程序,加个壳,过杀软,专门读取 Chrome 密码然后上传到指定空间,简直不要太容易。
Eureka0
2022-08-14 14:28:25 +08:00
@nbndco #45 刚试了下,Mac 上用 Chrome 自动填充密码(不需要指纹 / 密码验证)后,F12 把 type=“password” 改成 “text” 就能看到明文,而 Safari 则是自动填充前必须指纹验证,有点怀疑 Mac 上 Chrome 到底是不是用的 keychain
BeautifulSoap
2022-08-14 14:33:00 +08:00
@msaionyc 你这观点是绝对错的。正好这几天有个举世闻名的例子可以反驳你。最近 FBI 抄了懂王的家,为了开懂王家的保险箱,FBI 动用了炸药才做到。
这个例子反倒证明了一个好的保险箱的用处,了。一个好的保险箱,就连 FBI 都只能用炸药这种降维打击的方法才能解决,那小偷进你家放保险箱和直接放抽屉是明显不同的。当然前提是你家得是个好的保险箱,而 chrome 这保险箱的质量明显并不好
dingwen07
2022-08-14 14:36:51 +08:00
@Eureka0 #53
macOS 的 Keychain 可以做到只有 Chrome 能够获取到 Chrome 自己保存的加密密钥,也就是说别的软件无法进行读取。比如,Edge 如果要从 Chrome 导入数据,就必须要请求用户输入账户密码。
nbndco
2022-08-14 14:37:11 +08:00
@Eureka0 当然填完密码就可以看到明文了啊,不然填啥。

Chrome 填密码只是没有再做验证,但是用的 keychain 应该是限制了只能 Chrome 访问的。也就是只要是 Chrome 就随时能访问。Safari 的话,就是就算是 Safari 也要再验证一次。
zalviny
2022-08-14 14:46:29 +08:00
就我一个人是用 excel 文档保存账号密码的嘛?...我还给文档加了个保护密码,不知道有没有用 XD
haodingzan
2022-08-14 14:47:34 +08:00
感谢楼主发帖,说实话以前没考虑过这种情况。回复里提到的都挺有道理,电脑被入侵了,拿了权限用什么都玩完,顶多是能坚持多久,就看能不能在被彻底破解之前堵上窟窿,如果设备本身安全的话其实 Chrome 同步密码的安全性还算可以了,再想加强只靠换软件不太行,至少得上专业硬件证书。如果服务器明文记录密码再被入侵那真是原地爆炸。

全部靠大脑也不现实,不过还是把重要软件,尤其不带 2FA 的,今天全部从同步中去掉了,至少得保证有一个密码只存在于大脑里,并且只用在厂商安全性有保障的软件中,其他软件尽量动态密码登录,现在的主流设备摄像头和键盘的安全性还是够的,其他的账号,比如厂商不一定靠谱的,或者死活不提供 2FA 的,密码设置个 123456 当快捷登录,即使丢就丢了吧。
jousca
2022-08-14 14:49:03 +08:00
@zalviny 我用 QQ 备忘录存密码…… 哈哈哈哈哈哈哈哈
weak
2022-08-14 14:52:13 +08:00
这个查看 chromium 密码和浏览记录的软件已经在 GitHub 上开源了,想想如果 TX 系等软件,每次读取一下记录和密码,真酸爽,在 Windows 不需要输入密码,在 mac 上需要输入密码,所以我选择 Mac 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/872745

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX