Honeywords 会增加任何真正的安全性吗?

信息安全 加密 密码 密码管理 蜜罐
2021-08-17 17:34:00

本文提出了用于检测密码数据库是否已被破坏的 Honeywords 的概念。

据我了解,它的工作原理是这样的:

您为每个用户保存 n 个密码哈希,其中一个实际上包含真实密码,而 n-1 个包含所谓的 honeywords(假密码)。正确的密码哈希存储在这些 Honeyword 哈希之间的随机索引中。

如果现在在登录尝试中使用其中一个 Honeywords 而不是真实密码,则服务器可以禁止该帐户,触发静默警报或将攻击者重定向到某种蜜罐。无论哪种方式,服务器都会知道密码数据库已被破坏。

为了检查密码是否真实,服务器确定给定密码哈希的索引并联系另一个“安全”服务器,该服务器确认这是否是该用户的正确索引(或 Honeyword 索引)。

这种方法真的增加了任何现实生活中的安全利益吗?

这是论文中的攻击场景,honeywords 应该提供帮助:

密码哈希文件被盗:攻击者能够以某种方式窃取密码哈希文件,并使用离线蛮力计算解决许多密码问题。他可能更普遍地能够窃取许多系统上的密码哈希文件,或者在不同时间窃取一个系统上的密码哈希文件。

在这种情况下,攻击者显然已经获得了对系统的访问权限。

  • 那么他真的需要密码数据吗?
  • 如果他能够访问密码存储,那么他是否也能够访问识别真实密码的“安全”索引存储?仅仅在两台服务器上分发身份验证对我来说似乎并不安全。
  • 如果受感染的系统可以找出哪个是正确的索引,那么攻击者当然也可以。

也许我在这个概念中遗漏了一些东西,但是确保密码被安全地散列并且第一层安全性首先阻止攻击者不是更有用吗?

Honeywords 是否值得考虑将它们放入现实生活中的 Web 应用程序中?

4个回答

您正在阅读该提案略有错误。这不是作为检测对已受感染系统的入侵的保护措施,而是作为检测受感染系统数据库的手段。这是一个完全不同的场景,攻击者不会通过知道任何最终用户密码而获得对系统的访问权限,但不知何故(不正确地丢弃了备份、物理闯入......)他的手得到了泄露的用户存储散列密码的数据库。

假设是,攻击者不知道哪个暴力破解哈希与单个用户的真实密码匹配,并可能通过使用 honeyword 密码来触发警报。到目前为止,这是一种相当理智的方法,但还没有看到任何现实生活中的实现(使用慢速算法进行正确散列的计算开销很大)。这也有点值得怀疑,因为蜜罐本身的能力有限,无法防止攻击者在之前使用的 IP 已被列入黑名单后可能使用的其他 IP 进行额外的登录尝试(这对潜在的攻击者来说是微不足道的),但检测机制还是不错的。

问题是,在检测到这种尝试之后,接下来会发生什么。最明显的解决方案是禁用有问题的用户帐户(攻击者试图入侵的帐户),但是当真正的用户自己错误地输入其中一个这样的Honeyword时会发生什么?这些词应该与用户自己选择的密码有很大不同,并且还有其他限制,例如在数据库中将真实密码与honeyword 相关的位置放在哪里?

尽管如此,与没有此类保护措施的情况相比,这些问题可能是微不足道的,而且成本低廉。这就是说,你的问题的答案是 - 是的,肯定的。

我看到使这不起作用的主要事情是,一个聪明的攻击者会迅速找出如果他们得到数据库转储然后知道他们必须从另一台服务器获取有效的哈希选择是什么。它确实增加了另一个难度,但我不认为黑客会触发这个,因为如果你有 50 个密码散列用于 1 个用户,那么很明显会发生什么。

它实际上与将所有密码存储在主数据库中而没有指向用户的链接并让第二台服务器告诉服务器每次应该使用哪个密码哈希值相同,尽管其中误报的可能性可能更高情况,因为人们可能会使用类似的密码,从而不小心使用了其他人的密码。寻找多个不正确的密码尝试来匹配不同的用户将是快速找出有人试图匹配它们的好方法,但攻击者会更难知道发生了什么。(尽管他们仍然会看到您的主数据库没有将用户名链接到 PW 并会查找该信息。)

  • 该论文称,陷阱密码应该比真实密码更容易破解。然后:
    • 这也意味着,如果破解者能够获得陷阱密码,它绝不表示真正的密码有任何风险;
    • 如果我输入了 'qwe123' 'complexity' 的密码,那么在任何新方法中都没有必要预测这样的密码很快就会被破解,因为攻击者可以使用登录过程。

这种方法似乎强调“通过默默无闻的安全”模型 - 只要没有人试图破解它们,它就可以确保您的密码是安全的。还要考虑实现这种模式所需的资源(有人要求 Bill 更改 Windows 安全模型吗?),它使本文成为一个有趣的思想/学术练习,而不是任何实际的东西,IMO。顺便说一下,这个想法损害了蜂蜜的基本实践——任何东西——你不会让你的产品因任何目的而更容易受到攻击。
网络蜜网的好处在于它们可以与生产完全隔离,因此即使发生真正的妥协,也不会造成任何损害。在这里,如果攻击者在被发现之前就破坏了这种蜜糖密码怎么办?如果在设置时由于人为错误而产生的蜂蜜密码提供了真正的用户级访问权限怎么办?

是的,它确实带来了一些安全价值。

这是一种可以比作闭路电视的安全措施,是一种侦探控制,可以让您在事情失控之前采取措施。禁用帐户/重置用户帐户密码/立即通知用户,以防他们重复使用密码。

那么他真的需要密码数据吗?

不一定适用于该系统,但他可能会在其他网站上尝试使用此电子邮件/密码组合以重复使用密码。