Keepass 是否可以保护密码免受病毒等恶意软件的侵害?

sir*_*lot 6 security virus password-management keepass

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

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

可选跟进:是否涉及浏览器插件,比如 Firefox 的 Keefox?

Ben*_*n N 5

如果在任何程序处理敏感数据时您的计算机上存在病毒,您就会陷入困境。

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

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

如果您在存在恶意软件时解锁数据库,那么您绝对应该从单独的、干净的操作系统安装中更改密码。