在最近的事件之后LastPass违反和诺顿密码管理器为了防止凭证填充攻击,您可能会重新考虑将密码存储在云中。密码管理将所有密码存储在本地设备上的解决方案,比如免费的开源软件KeePass,看起来真的很有吸引力。然而,一位研究人员最近透露(在新窗口打开)这是KeePass长期存在的一个问题,攻击者只需使用记事本就可以窃取你所有存储在本地的密码。KeePass的创始人反驳了这一说法,尽管是间接的。
KeePass怎么了?让我们来分析一下。
KeePass是如何工作的?
KeePass是非常可定制的,比我们见过的任何密码管理器都要好。狂热爱好者喜欢创建和分享脚本,使产品的功能完全符合他们的要求。这一切都是基于一个系统触发器、条件和操作(在新窗口打开).如果触发事件发生,且满足任何必要条件,KeePass将执行该操作。
许多触发器围绕一些简单的事件,如启动程序、打开密码数据库、停止程序或保存数据库。高级用户可以配置基于时间的触发器,或由自定义按钮启动的触发器。是的,你甚至可以在KeePass用户界面中定制按钮。
可以将触发器配置为仅在条件那一定环境变量匹配指定的值,或者存在某个文件,等等。更有说服力的是,KeePass可以根据指定的远程主机是否可用,有条件地激活触发器。
大部分可用的行动与内部KeePass操作相关。触发器可以使KeePass导入或导出密码数据库,打开指定的数据库,或与备份文件或URL同步当前数据库。但是触发动作也可以执行命令行或打开URL。我将重复一遍—触发器可以执行命令行或打开URL。这是黑客的圣杯,能够执行任意代码(在新窗口打开).
KeePass网站提供了很多触发的例子(在新窗口打开)执行有用的任务。这些包括在程序启动时备份数据库,每次保存时导出为另一种格式,以及将数据库同步到云存储。
滥用触发系统
2023年1月,安全研究员亚历克斯·埃尔南德斯详细描述了一个概念攻击的证明,滥用KeePass触发系统窃取了所有密码的纯文本副本。美国国家标准与技术研究所(NIST)非常重视这份报告,在标识符下将攻击添加到其漏洞数据库中cve - 2023 - 24055(在新窗口打开),不过KeePass对此表示异议。
Hernandez在github上发布了攻击的示例代码-那些有足够技能的人可以点击此处阅读详细信息(在新窗口打开).简单地说,他编辑了纯文本KeePass配置文件,以创建由保存KeePass数据库触发的操作。当发生保存事件时,KeePass还将密码数据库导出为纯文本版本,而不需要主密码。另一个触发器将导出的数据库上传到等待的服务器。要进行盗窃,只需能够编辑KeePass配置文件,要么在未上锁的电脑上坐在记事本上,要么使用远程访问木马从远处完成这项工作。
假设系统被破坏
KeePass的创建者和创始人多米尼克·赖克(Dominik Reichl)对所谓的漏洞进行了回击,他表示,任何有足够权限编辑违规文件的攻击者都可以轻易地做出更糟糕的事情。他拒绝了用户要求至少禁止在不需要主密码的情况下进行导出的请求,他对KeePass本身的任何更改都不屑一顾,他说:“KeePass不可能在不安全的环境中神奇地安全运行。”
问题是,在不安全的环境中安全运行完全现代安全系统的工作方式。精明的开发人员认为系统已经受到了损害,并制定出技术来保持安全性。这种心态,也叫零信任(在新窗口打开)它是许多现代安全范式的核心,包括让基于云的密码管理器可以使用的复杂协议在不知道用户密码的情况下验证用户身份.
KeePass vs.其他密码管理器
如果你离开办公桌,让密码管理器登录,任何坐在你位置上的人都可以导出你的密码,复制到u盘或发送到服务器上。这就是世界末日的场景。无论你使用什么密码管理器,你都会遇到麻烦。只是一个提醒;将你的密码管理器设置为在不活动后自动注销,并在你离开电脑时永远锁定你的电脑。
我们最喜欢的密码管理器
看全部(4项)请注意,KeePass漏洞不需要以任何方式访问程序本身的开放实例。KeePass根本不需要运行。肮脏的事情发生在KeePass下次发射的时候。
其他密码管理器呢?假设您的密码数据库是锁定的,那么入侵者在您的办公桌上会完成什么呢?他们能改变配置吗?削弱安全?损坏或删除配置?清除你储存的密码?我向几家知名密码管理公司的专家征求了意见。
门将不维护任何基于文本的配置文件。一个设法清除Keeper配置的攻击者会发现Keeper的行为就像它再次完全是新的一样,需要多因素身份验证Keeper强加在每一个新装置上。我的Keeper联系人解释说,Keeper没有任何自动导出功能。他认为KeePass应该删除这一功能。
NordPass在服务器和客户端上保持加密的配置设置。如果攻击者清除了客户端配置,“可能发生的最糟糕的事情就是应用程序外观的变化,”我公司的联系人说。如果密码数据库的本地副本被销毁,NordPass只会从服务器上恢复它。
研究团队Bitwarden指出他们避免评论报告的CVE漏洞,因为任何人都可以提交它们。他们确实表示Bitwarden“非常尊重开源密码管理器”。Bitwarden本身就是一个开源项目(在新窗口打开),其中一个免费层包含了大量功能。
仅本地存储—直到不是本地存储为止
在KeePass上的研究让我想到了本地存储,这是这个程序的一个被大肆宣传的功能。开箱即用,KeePass只是在你的个人电脑上维护它的密码数据库。如果您想与其他安装同步密码,您可以将数据库复制到u盘,与另一台PC同步,然后再复制回来。与基于云的密码管理解决方案的简单自动同步相比,这是相当乏味的。
幸运的是(真的吗?)KeePass支持插件(在新窗口打开), 100多个插件中有许多都涉及一些简化同步过程的方法。问题是,每使用一次,攻击面就会变宽。显然你信任KeePass,否则你不会用它。但是现在您必须担心编写第三方插件的人是否能够安全地处理您的数据。您还信任谷歌、微软或任何为您提供云存储的公司。基本的云存储服务确实包含安全特性,但通常不是云中专用密码存储所提供的级别。
简而言之,KeePass确实在本地存储了您的密码,您甚至可以手动将数据库与另一个安装同步。但如果你选择任何一种方便的同步方式,你就会打开一个更大的攻击面。
注意,本地存储不需要排除安全同步。晚了,感叹MyKi在您的移动设备上存储所有密码,使用其中继服务器来处理同步。你的数据通过了通过MyKi的服务器,但不在上面。唉,以移动为中心的免费MyKi在2022年春天被收购后关闭了JumpCloud(在新窗口打开).
你还应该使用KeePass吗?
1月份KeePass没有任何动静。没有黑客或者数据泄露.没有什么改变。一名研究人员只是指出了一个存在多年的漏洞。我们现在明白了,使KeePass成为修补者的宠儿的触发器和插件特性也容易被滥用。
如果你愿意,你可以继续使用KeePass,但要注意一些预防措施。保持强大杀毒工具安装和更新,以确保没有人可以使用远程访问木马来修改您的KeePass配置文件。保护您的Windows帐户强密码或两者兼而有之,并在短时间不活动后将其设置为锁定。当你从办公桌前起身时,按下Windows+L会自动锁定桌面。这样就行了。
当然,如果你想要任何类型的自动同步,你仍然有暴露的问题。如前所述,您必须信任同步插件的作者,并将密码库托付给您所选择的云存储提供商提供的任何安全性。
对我来说,我坚持使用云存储来保存密码。当根据零信任范式实现时,这些服务应该提供最大的安全性,即使是在一个受损害的环境中。我认为这种安全优先的存储比仅本地存储要安全得多,后者的安全性会被任意代码执行和第三方插件削弱。