Avast AV 可以读取 Firefox 保存的密码
在您设置主密码之前,Firefox 保存的密码不会加密(它们已加密但可以读出密钥)。我不认为这是一个错误,但每个病毒都可以读取这些密码
Firefox 无需您输入密码即可解密密码。这意味着它必须有解密密钥——这意味着任何知道 Firefox 如何存储东西的程序都可以找到它们。这适用于在您的系统上存储信息的任何程序。如果您必须在访问存储的数据之前提供解密密钥,加密只是一种强有力的防御。(请注意,这是通过使用提供的密码作为解密密钥来完成的——没有密码,没有解密,没有访问加密数据的权限。这本质上意味着除了通过外部存储以外的地方无法恢复密码。)
加密密码会阻止某人使用记事本读取您的密码,但它不会阻止认真尝试查找密码。
Firefox 如何保存密码?
以前的答案已经提出了大致的想法,但可以提供更深入的解释。
Firefox 将所有用户信息存储在配置文件文件夹中。在 Windows 上,它位于%APPDATA%\Mozilla\Firefox\Profiles\
; 在 Linux 上,~/.mozilla/firefox/
.
profile 文件夹是在当前用户第一次启动 Firefox 时创建的,通常有一个神秘的名称,就像y7ogrp85.default
我的例子一样。这个名字是唯一的。
从 Firefox 版本 32 开始,位于 profile 文件夹下的两个文件负责管理浏览器内保存的密码。它们是:logins.json和key3.db。
第一个文件logins.json包含实际信息,例如用户名、密码、域名等列表。它还列出了您选择不保存密码的网站。但是,这些都是加密的。你可以自己检查。
第二个文件key3.db包含用于解密在前一个文件中找到的敏感信息的密钥,例如用户名和密码。
现在,这个实现已经不是什么秘密了(毕竟 Firefox 是开源的),任何人都可以通过阅读这些文件来开发自己的方法来获取某人的密码。事实上,它已经完成了。我知道 Nirsoft 有一个名为PasswordFox的工具。
有一个可能的警告,即用户可能在 Firefox 中实现了主密码;这将加密key3.db
文件本身。但是也有一些方法可以解决这个问题,通过使用为此目的制作的实用程序(如 John the Ripper 和其他人)来暴力破解文件。
是 Avast 正在利用的错误吗?
不,不是错误。这只是浏览器的设计方式(虽然不是从头开始 - 自第一个版本以来它已经发展了很多)。我相信它相当方便和安全。只要:
- 您的系统没有受到损害;
- 您不信任的任何人都无法物理访问您的计算机,甚至可以不受限制地访问您的文件/您的用户帐户;
- 您的文件受全盘加密保护,以防您的 PC 被盗,
你应该没事。在任何情况下,我都建议设置一个强大的主密码,甚至更好,切换到专用的密码管理器,如 KeepassXC。
(我个人与 Nirsoft、Firefox 或 KeepassXC 没有任何联系。我只是一个用户。)
不幸的是,如果获取站点密码所需的所有内容都存储在您的计算机上,那么它可能容易受到恶意软件的攻击。避免这种情况的唯一方法是让用户输入(以某种形式)。它基本上是在便利性和安全性之间进行权衡。
如果您没有您信任的密码管理器并且愿意付出一些努力来生成站点唯一密码(这比对所有内容使用一个密码或将它们全部写下来或尝试全部记住它们更好),我建议使用涉及通过 Playfair 密码 ( https://en.wikipedia.org/wiki/Playfair_cipher ) 之类的方式加密站点名称的密码。这很简单,您可以手动完成(例如,当您不在自己的计算机旁时)或可以轻松编程(作为需要您输入密钥的单独应用程序)。如果您需要增加强度,请重复结果或添加前缀或后缀。显然不要只是自动生成这些站点唯一密码,或者让您的浏览器记住它们。