Keepass 能保护密码免受病毒等恶意软件的侵害吗?

Keepass 能保护密码免受病毒等恶意软件的侵害吗?

如果计算机感染了病毒或木马,并且用户与 Keepass 进行交互,恶意软件是否有机会获取密码数据库?

换句话说:一旦系统检测到病毒,用户是否必须更改所有密码?

可选的后续问题:如果涉及浏览器插件,如 Firefox 的 Keefox,会怎么样?

答案1

如果在任何程序处理敏感数据时您的计算机上有病毒,那么您就会受到威胁。

KeePass 尽其所能保护您的密码免受恶意软件的侵害,但没有哪种解决方案是万无一失的;一旦恶意软件在您的计算机上运行,​​机器就不可信任。让我们来看看一些安全功能:

  • 数据库加密。如果没有密钥材料(主密码和密钥文件,如果有的话),就不可能恢复密码的明文。这意味着,如果您的硬盘副本被盗,或者您从未解锁过 KeePass 数据库,您的密码是安全的。
  • 内存保护。KeePass 根据其安全页面,努力不将明文留在记忆中。但是,当你使用密码时,明文至少在内存中停留一小段时间。任何在与 KeePass 相同的安全上下文下运行的程序都可以访问该内存,如果恶意软件速度很快(即设计为这样做),它就可以获取您的密码。以管理员/root 身份运行的恶意软件可以读取(或写入!)任何进程的内存。
  • 备用桌面。当提示输入主密码时,KeePass 会创建一个新桌面并将您的视图切换到该桌面。安装在主桌面上的常规键盘挂钩不会应用于安全桌面。不过,以管理员身份运行的恶意软件可以做任何事情,包括检查其他桌面或在较低级别挂钩事件。(您的操作系统显然知道输入了哪些键。)
  • 插件认证。 KeePassRPC要求插件向 KeePass 表明自己的身份。然而,似乎没有任何方法可以阻止恶意程序像有效客户端一样说话(发送相同的身份验证响应)但利用它获得的数据做坏事。同样,以管理员身份运行的 rootkit 或恶意软件可以在密码明文位于内存中时获取密码。
  • 加密自检。当 KeePass 启动时,它会输入一些常量数据并验证输出,以确保加密功能正常工作。这很好,但复杂的 rootkit 只会在隐藏明文的同时产生正确的结果。

如果你做过在存在恶意软件的情况下解锁数据库,您一定要从单独的、干净的操作系统安装中更改密码。

相关内容