什么是凭证填充?| 凭证填充与暴力攻击

凭证填充攻击是指收集从一项服务盗取的登录凭证,用来尝试入侵其他各项服务的相关帐户。

Share facebook icon linkedin icon twitter icon email icon

凭证填充

学习目标

阅读本文后,您将能够:

  • 明确凭证填充的概念
  • 区分凭证填充与暴力攻击
  • 了解凭证填充防护策略

什么是凭证填充?

凭证填充是一种网络攻击,利用从一项服务上的数据泄露中获得的登录凭据尝试登录到另一个不相关的服务。

凭证填充示例

例如,攻击者可能通过攻破一个大型百货商店而获取大量用户名和对应密码,并使用相同的登录凭据尝试登录到某个国际银行的网站。攻击者猜测这些百货商店客户中的某些人在该银行也有帐户,并且他们使用了和百货商店同样的用户名和密码。

截至2019年,由于在黑市上交易和出售了大量受损的登录凭证,凭证填充攻击数量一直在增加。这些列表的激增,再加上使用机器人来绕过传统登录保护的凭证填充工具的发展,使凭证填充成为一种流行的攻击手段。

什么促使凭证填充变得有效?

统计学上讲,凭证填充攻击的成功率非常低。许多估计其成功比率约为0.1%,这意味着攻击者尝试破解的每千个帐户中,它们大约成功一次。尽管成功率很低,但凭证数据集合的交易体量之大让攻击者觉得凭证填充尽管成功率很低,也依然值得尝试。

这些集合内含成千上万甚至数以亿计的登录凭证。如果攻击者持有一百万组凭证,则能够获取约 1,000 个成功破解的帐户。即使只有一小部分破解帐户带来可盈利的数据(通常形式是信用卡卡号或是钓鱼攻击中所使用的敏感数据),也值得发动这种攻击。除此之外,攻击者能够对各种不同的服务使用相同的凭证组合,进而反复进行这一过程。

机器人技术的进步也使得凭证填充成为一种可行性攻击。Web 应用程序登录表单内置的安全功能往往包括蓄意时延机制,并且在用户多次尝试登录失败时会将其 IP 地址禁用。现代凭证填充软件会利用机器人同时尝试多方登录,而表面看起来登录是在各种设备类型上进行,且来自多个 IP 地址,借此绕开这些保护机制。恶意机器人的目的在于让攻击者的登录尝试有别于典型的登录流量,且这种方法十分奏效。

通常,唯一能让受害公司察觉到遭受攻击的迹象是登录尝试总体数量的增加。即使这样,受害的公司也很难在不影响合法用户登录服务的情况下阻止这些恶意尝试。

凭证填充攻击有效的主要原因是人们重复使用密码。研究表明,大多数用户(据估计高达85%)将相同的登录凭据重复用于多种服务。只要这种做法继续下去,凭证填充将保持有效。

凭证填充和蛮力攻击有什么区别?

OWASP 将凭证填充归类为蛮力攻击的子集。但严格来讲,凭证填充与传统的暴力攻击有很大不同。暴力攻击尝试在情境背景或线索的情况下猜测密码,有时按照常规密码设置建议随机套用字符。凭证填充利用的是泄露数据,可能正确的答案在数量上得到了精简。

防止暴力攻击的有效方法是使用由多个字符组成的强密码,包括大写字母、数字和特殊字符。但是密码强度不能防止凭证填充。密码的强弱无关紧要–如果密码在不同的帐户之间共享,那它依然会受损于凭证填充。

如何防止凭证填充

用户如何防止凭证填充

从用户的角度来看,防御凭证填充非常简单。用户应始终为每个不同的服务使用独特的密码(一种简单的方法是使用密码管理器)。如果用户始终使用独特密码,则凭证填充将无法起作用。作为一种额外的安全性措施,建议用户始终启用双因素身份验证。

公司如何防止凭证填充

对于运行身份验证服务的公司,阻止凭证填充是一个更为复杂的挑战。凭证填充是由于其他公司的数据泄露导致的。因此一家公司受到凭证填充攻击,不一定表示它自身的安全已受损。

公司可以建议其用户使用独特的密码,但通常不能有效地强制执行此操作。某些应用程序对提交的密码在已知的受损密码数据库里进行比对,作为防护凭证填充的方法,但这并不是万无一失的–用户可能会在尚未受损的服务中重复使用密码。

提供附加的登录安全功能可以帮助减轻凭证填充。启用双因素身份验证等功能,并要求用户在登录时都填写验证码,这也有助于阻止恶意机器人。虽然这两个都是给用户带来不便的功能,但许多人都认为能将安全威胁降至最低,这点不便也就值得了。

防范凭证填充的最强保护机制是机器人管理服务。机器人管理机制采用速率限制和 IP 信誉数据库相结合的方式,在不影响合法登录的情况下,阻止恶意机器人尝试登录。Cloudflare 机器人管理每天从通过 Cloudflare 网络路由的 4,250 亿个请求中收集数据,能够高度准确地识别和阻止凭证填充机器人。