LastPass是市场上最大的第三方密码管理公司之一,它过去担任这一职位是有充分理由的。免费的LastPass计划支持多种类型的设备,付费计划是一次物有所值的升级,每年12美元,而且它非常简单和易于使用。即使该公司遭遇了多起安全事件,它的反应似乎也证明了这一点。
但随着时间的推移,免费套餐中的功能被削减了,付费套餐的价格也上涨了。竞争对手的密码管理器也开始推出更多创新功能。然后是2022年的重大入侵事件,客户金库中的数据被盗,并以未完全加密的方式泄露。哎呀。
很久以前,我在LastPass上注册了一个账户,用来维护一个心爱的人的密码,即使在去年的黑客攻击之后,我也没有立即离开。(改变对这个人来说很难)。但经过一段温和而漫长的劝说后,我终于获准将它们切换到另一个密码管理器,我很高兴终于转到了更环保的地方。LastPass的问题太多了,无法坚持下去…包括当你真的在离开的时候。
如果你还在使用LastPass,还在想你是否应该跳下去,这里是什么让我跌入绝境,为什么我不打算再回来了。
2022年安全漏洞
LastPass披露的2022年安全漏洞就像是观看慢镜头中的火车失事。首先是在8月份发布的最初声明,声称没有客户数据受到影响-只是一个开发环境。然后,三个月后,更新了客户数据受到影响的消息。近一个月后,该公司披露客户信息和密码库被盗。不仅如此,这些电子仓库中的元素(包括URL)也没有加密。
如上所述,在这次入侵之前,LastPass对安全事件并不陌生,但没有一次比这次更令人震惊。在线密码管理器的客户通常相信,他们的服务得到了足够的保护,他们的数据-即使是加密的-也不会被未经授权的人访问。在一次入侵事件后,听说金库数据是未加密的,这有点盲目。
也许从工程角度来看,有些细节–比如URL、使用条目的频率、最后一次更新条目的时间等–不会被加密,这是有充分理由的。但这让我们想到了LastPass破坏我对他们信任的第二种方式,那就是…
沟通不畅
因此,很明显,我不知道如何才能经营这样一家企业:你不仅要保护非常敏感的信息,而且还要定期积极应对针对这些信息的威胁。
但良好的沟通是非常基本的–即时性和完全透明大有裨益。大剂量的先发制人的通知也能创造奇迹。LastPass向客户宣布消息的方式可能会在这三个方面都有很大改进。
让我们举一个最近的例子。7月中旬,我登录对我要放弃的账户进行了最后一次检查,结果看到一条消息,表明我的密码迭代次数已提高到60万次。
理论上,较高的密码迭代次数是一件好事。它应该有助于降低快速猜出密码的能力。现代密码学标准建议迭代60万次,这可能是LastPass选择将客户普遍提升到这一水平的原因。
但这发生在2023年7月。也就是说,在去年12月披露每个人的金库数据被盗六个月后。半年过去了,那些在12月份没有检查设置(像我一样)并增加它(像我也这样做)的人只剩下更少的迭代(就像我的迭代在我摆弄它之前一样)。
这在很大程度上说明了我的第一个想法,“他们这次有什么样的安全问题来促使这一点?”还有,我的第二个问题是,“为什么现在会发生这种事?”
解释这一变化的电子邮件是在我快速在线搜索了几个小时后发出的,目的是想弄清楚到底发生了什么。然后第二天又来了一份。内容没有解释涨价的时机,也没有解释上调背后的动机。
网页界面令人失望
曾几何时,LastPass的网络界面相当不错。也许不是最时髦的,但感觉足够现代了。
如今,与竞争对手的密码管理器相比,它感觉要简单得多。随着时间的推移,微小的变化也降低了网络界面的质量。我最大的不满是,它严重依赖持久性Cookie来维护设置。隐姓埋名浏览意味着您的布局将永远不会保存-它始终将视图恢复为LastPass的默认设置。
横幅消息也会重复出现。也许这是我的小气,但当浏览器扩展的永久横幅消息出现时,我终于达到了我的极限。LastPass记录了我使用了哪些设备,以及我多年来一直坚持不懈地使用网络界面。不断地唠叨不会让我改变这个习惯。
导出您的保险库是一场噩梦
这一部分充斥着更粗俗的语言,直到我记住你们所有人(和我的编辑)都会读到它。卷起你的袖子,因为我们要进入这个肮脏的细节。
你可能会想,如果你要离开一项服务,企业可能会受到激励,让这一过程尽可能地简单–从而增加你有朝一日可能回来的机会。LastPass试图做到这一点,但它没有始终如一地做到这一点。幸运的是,我陷入了任何允许草率的密码导出的开发漏洞。
通常,当您切换密码管理器时,会将您的Vault数据导出为CSV或XML文件。它们是基本的文件格式,可以在不同的程序之间轻松读取(至少在理论上是这样)。LastPass仅为此目的导出到CSV,逗号分隔值格式的定义特征是(正如您从名称中预期的那样),逗号用于指示单独的数据字段。
注:如果将所有密码导出为CSV或XML等未加密格式,将其保存到PC上的加密文件夹将有助于在LastPass和新密码管理器之间转换时保护它们。
我想说清楚–我是这样的人,如果事情变得不稳定,我喜欢理解为什么。当我的输出结果一团糟,有一堆包含孤立数据的条目时,我试图弄清楚我看到的是什么。
起初,我认为根本原因是文本字段中的逗号。可能是它们导致条目被拆分并作为不同的条目读取(引导的数据以错误的字段结尾)。但这并不能解释为什么一些根本不带逗号的条目会被拆分。也不知道为什么其他条目完全不见了。
当我完成与LastPass中的原始条目的手动交叉检查时,我仍然没有明确的答案,这是一个必要的邪恶,因为数据不值得信任,但导入和清理混乱仍然比在新的密码管理器中从头开始创建所有条目更快。
尝试不同的浏览器和导出方法(例如,通过Web界面启动和通过浏览器扩展启动)并没有消除混淆。事实证明,Web界面并不能导出所有条目(Firefox),或者直接返回一个空白的CSV文件(Chrome),但Firefox的Web界面导出和Chrome浏览器扩展都存在相同的数据完整性问题。与此同时,当我尝试在测试帐户上导出时,每个条目的数据字段都显示得很完美(即使Web导出中仍然缺少一些)。
据我所知,要么帐户的年龄影响数据在服务器上的存储和解析方式,要么在非密码文本字段中使用某些特殊字符会在导出脚本中触发某种错误。无论哪种方式,你都不能相信你真的会把所有的密码都完整地拿出来。在单调乏味的导入过程进行了几个小时后,我认真考虑放弃这个过程,转而支持对每个服务进行密码重置,并让新的密码管理器捕获它们。我是说,考虑到LastPass的安全漏洞,我无论如何都得这么做,作为最后的预防措施,对吗?
别再有第二次。
有话要说...