本文由 伯乐在线 - 黄利民 翻译。未经许可,禁止转载!
英文出处:howtogeek。欢迎加入翻译组

【2013-08-09 更新】:最近又开始讨论“Chrome浏览器明文保存密码这个话题了,国外一位软件工程师 Elliott Kember 在他博客上写文提了这个问题,他认为这是一个安全漏洞。随后,Chrome 浏览器安全技术主管  Justin Schuh 在 HackerNews 发帖做了解释,他的意见和下文提到的『主密码提供了一种虚假的安全感,保护敏感数据的最可行保护方式是要取决于系统的整体安全性』相同。

导读:2012年12月3日晚上,有网友在Hacker News提交了一个关于可以在Chrome浏览器“密码管理器”查看已保存密码的帖子,可能那位提交的网友之前不了解Chrome的这个特性及其背后的机制,导致这个贴子在Hacker News首页停留的时间还不短。之后国内网友在微博上发布相关消息后,同样引起不少讨论(链接1链接2链接3)。很多之前不了解Chrome保存密码机制的朋友惊呼 Chrome 坑爹。伯乐在线编译了 howtogeek 网站上的一篇文章,应当可以解除这些朋友的疑问。

关于 Google Chrome 浏览器也有一个常见问题,“为什么它没有一个主密码(master password)?” Google 支持论坛中有个非官方的回复,说了Google的立场:主密码提供了一种虚假的安全感,保护敏感数据的最可行保护方式是要取决于系统的整体安全性。

那用户在Chrome浏览器上保存的密码的安全性有多高呢?请见下文。

如何查看已保存的密码

Chrome 密码管理器的进入方式:右侧扳手图标→设置→显示高级设置→密码和表单→管理已保存的密码。或者直接在地址栏中复制粘贴:chrome://chrome/settings/passwords,然后回车进入。

如果你允许Chrome保存密码,看到这个界面应该没什么稀奇,或许你早已知道这个特性了。从昨晚微博转发来看,很多用户还是并不知道这个特性。

点击密码区域,显示一个“显示”按钮,再点击“显示”按钮,可看到密码。如果其他人可以无阻碍使用你的电脑,那他就可以拿到你的这些已保存的密码。

(本文配图中的用户名和密码为测试所用)

密码数据保存在哪里了?

已保存的密码数据存储在一个 SQLite 数据库中,位置是:

[系统盘]:\Documents and Settings$$!用户名]\Local Settings\Application Data\Google\Chrome\User Data\Default\Login Data (这个路径是 Win XP 系统)

你可以用  SQLite Database Browser 打开这个文件(文件名就是“Login Data”),查看“logins”表格,该表就包含了被保存的密码。但你会看到“password_value” 域的值是不可读,因为值已加密。(PS:SQLite数据库查看器的SourceForge下载链接

加密后的数据的安全性如何?

为了执行加密(在Windows操作系统上),Chrome使用了Windows提供的API,该API允许用于加密密码的Windows用户账户去解密已加密的数据。所以基本上来说,你的主密码就是你的Windows账户密码。所以,只要你登录了用自己的账号Windows,Chrome就可以解密加密数据。

不过,因为你的Windows账户密码是一个常量,并不是只有Chrome才能读取“主密码”,其他外部工具也能获取加密数据,同样也可以解密加密数据。比如使用NirSoft的免费工具ChromePassNirSoft官方下载,就可以看得你已保存的密码数据,并可以轻松导出为文本文件。

既然 ChromePass 可以读取加密的密码数据,那恶意软件也能读取的。当ChromePass.exe被上传至VirusTotal时,超过半数的反病毒(AV)引擎会标记这一行为是危险级别。不过在这个例子中,这个工具是安全的。不过有点囧,微软的Security Essentials并没有把这一行为标记为危险。

可以绕过保护机制么?

假设你的电脑被盗,小偷重设了Windows账号密码。如果他们随后尝试在Chrome中查看你的密码,或用ChromePass来查看,密码数据都是不可用。原因很简单,因为“主密码”并不匹配,所以解密失败。

此外,如果有人把那个SQLite数据库文件复制走了,并尝试在另外一台电脑上打开,ChromePass也将显示空密码,原因同上。

结论

Chrome浏览器中已保存密码的安全性,完全取决于用户本身。这里有些建议:

●使用一个极高强度的Windows账号密码。必须记住,有不少工具可以解密Windows账号密码。如果有人获取了你的Windows账号密码,那他也就可以知道你在Chrome已保存的密码。

●让你自己远离各种各样的恶意软件吧。如果工具可以轻易获取你已保存的密码,那恶意软件和那些伪安全软件同样可以做到。如果非得下载软件,请到软件官方网站去下载。

●把密码保存至密码管理软件中(比如:KeePass)。当然了,如此一来,浏览器就不能帮你自动填充密码了。

●使用可以整合到Chrome中的第三方工具(比如:LastPass),使用主密码来管理你的那些密码。推荐阅读:《用LastPass管理好你的密码

●用工具(比如:TrueCrypt)完全加密整个硬盘。

●非私人电脑上,一定不能让浏览器保存密码。(原文没有,额外补充)

如果经常用浏览器保存登录用户名和密码,离开电脑时最好锁定屏幕。总之一句话,把家里(操作系统)的安全工作做好,家中物件的安全性也应当有保障了。

补充信息:如果允许 Firefox 浏览器保存站点密码,同样可以很方便查看。

Firefox 浏览器虽然采用了主密码机制,但默认并不开启。如果用户启用,以后Firefox每次读取已保存的敏感数据时,用户必须输入主密码。。用户必须记住自己设定的主密码,否则……

在Chrome浏览器中保存的密码有多安全?的更多相关文章

  1. 渗透技巧——导出Chrome浏览器中保存的密码

    0x00 前言 在后渗透阶段,获得权限后需要搜集目标系统的信息.信息越全面,越有助于进一步的渗透.对于Windows系统,用户浏览器往往包含有价值的信息. 在之前的文章<本地密码查看工具LaZa ...

  2. 导出Chrome浏览器中保存的密码

    title: 导出Chrome浏览器中保存的密码 date: 2018-02-11 17:54:51 tags: --- 导出Chrome浏览器中保存的密码 先知看到的,挺有意思,记录一下 不同浏览器 ...

  3. 如何查看chrome浏览器已保存的密码

    该方法是针对在chrome中已经存储了登陆密码的情况. chrome版本是 66.0.3359.139(正式版本) (64 位),不知道哪天会改了这个bug. 一般来说,我们登陆chrome浏览器已经 ...

  4. 简单绕过Chrome密码查看逻辑,查看浏览器已保存的密码

    简单绕过Chrome密码查看逻辑,查看浏览器已保存的密码   利用场景: 同事或朋友外出有事,电脑未锁屏离开座位.可以利用这一间隙,查看Ta在Chrome浏览器上保存的账号密码 查看逻辑: 当我们要查 ...

  5. 忘记常访问网站密码怎么办?教你如何查看浏览器已保存的密码,如何简单查看Chome浏览器保存的密码?

    利用场景: 同事或朋友外出有事,电脑未锁屏离开座位.可以利用这一间隙,查看Ta在Chrome浏览器上保存的账号密码 查看逻辑: 当我们要查看Chrome浏览器上保存的密码时,点击显示,会弹出一个对话框 ...

  6. [转]chrome浏览器中 F12 功能的简单介绍

    本文转自:https://www.cnblogs.com/zhuzhubaoya/p/9758648.html chrome浏览器中 F12 功能的简单介绍 由于F12是前端开发人员的利器,所以我自己 ...

  7. 【F12】chrome浏览器中 F12 功能的简单介绍

    chrome浏览器中 F12 功能的简单介绍 由于F12是前端开发人员的利器,所以我自己也在不断摸索中,查看一些博客和资料后,自己总结了一下来帮助自己理解和记忆,也希望能帮到有需要的小伙伴,嘿嘿! 首 ...

  8. chrome浏览器中 F12 功能的简单介绍

    chrome浏览器中 F12 功能的简单介绍 由于F12是前端开发人员的利器,所以我自己也在不断摸索中,查看一些博客和资料后,自己总结了一下来帮助自己理解和记忆,也希望能帮到有需要的小伙伴,嘿嘿! 首 ...

  9. 解决Chrome浏览器自动记录用户名和密码的黄色背景问题和该解决方法与tab切换至下一个input冲突的问题。

    哈哈哈,是不是标题很长呀,不逗你们了.其实这么长的标题主要就说了两件事: 第一件:解决Chrome浏览器自动记录用户名和密码的黄色背景问题. 第二件:输入完用户名后按下tab键切换至下一个输入密码in ...

随机推荐

  1. P2426 删数

    P2426 删数 题目描述 有N个不同的正整数数x1, x2, ... xN 排成一排,我们可以从左边或右边去掉连续的i(1≤i≤n)个数(只能从两边删除数),剩下N-i个数,再把剩下的数按以上操作处 ...

  2. Ubuntu14.04 Tab键自动补全

    Unbuntu14.04 终端中使用Tab键不能自动补全 解决方案 1.利用vi编辑器打开 /etc/bash.bashrc文件(需要root权限) sudo vi /etc/bash.bashrc ...

  3. jvm内存模型(运行时数据区)

    运行时数据区(runtime data area) jvm定义了几个运行时数据区,这些运行时数据区存储的数据,供开发者的应用或者jvm本身使用.按线程共享与否可以分为线程间共享和线程间独立. 线程间独 ...

  4. Java并发编程原理与实战三十八:多线程调度器(ScheduledThreadPoolExecutor)

    在前面介绍了java的多线程的基本原理信息:线程池的原理与使用 本文对这个java本身的线程池的调度器做一个简单扩展,如果还没读过上一篇文章,建议读一下,因为这是调度器的核心组件部分. 我们如果要用j ...

  5. Jupyter Notebook Tutorial: Introduction, Setup, and Walkthrough

    Jupyter Notebook Tutorial: Introduction, Setup, and Walkthrough YouTube https://www.youtube.com/watc ...

  6. 知识笔记:jQuery 事件对象属性小结

    使用事件自然少不了事件对象.因为不同浏览器之间事件对象的获取,以及事件对象的属性都有差异,导致我们很难跨浏览器使用事件对象.jQuery中统一了事件对象,当绑定事件处理函数时,会将jQuery格式化后 ...

  7. jquery bxslider幻灯片样式改造

    找了很多jquery的幻灯片,都觉得不是很好,最后发现bxslider兼容性最好,移动设备支持手动翻动. 但是官方提供的显示效果真的很难看,让人难以接受.最后只能自己DIY了. bxslider官方样 ...

  8. 判别式模型 vs. 生成式模型

    1. 简介 生成式模型(generative model)会对\(x\)和\(y\)的联合分布\(p(x,y)\)进行建模,然后通过贝叶斯公式来求得\(p(y|x)\), 最后选取使得\(p(y|x) ...

  9. No known class method for selector 'setImage:andName:'错误分析.//删除.h与.m文件时的注意事项

    CHENYILONG Blog No known class method for selector 'setImage:andName:'错误分析.//删除.h与.m文件时的注意事项         ...

  10. Java容器Set接口

    Set接口的实现,可以方便地将指定的类型以集合类型保存在一个变量中.Set是一个不包含重复元素的Collection,更确切地讲,Set 不包含满足 e1.equals(e2) 的元素对,并且最多包含 ...