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

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

Share facebook icon linkedin icon twitter icon email icon

凭证填充

学习目标

阅读本文后,您将能够:

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

什么是凭证填充?

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

Credential Stuffing Example

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

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

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

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

这些集合包含数百万个,在某些情况下还包含数十亿个登录凭据。如果攻击者拥有一百万套凭据,则可以产生大约1,000个成功破解的帐户。即使是一小部分百分比的破获帐户也产生了有利可图的数据(通常以信用卡号码或敏感数据的形式用于网络钓鱼攻击),那该攻击也是值得的。最重要的是,攻击者可以在许多不同的服务上使用相同的凭证集来重复此过程。

机器人技术的进步也使证书填充成为可行的攻击。 Web应用程序登录表单中内置的安全功能通常包括故意的时间延迟以及禁止重复登录失败的用户 IP地址 。现代凭证填充软件使用机器人同时以看似来自不同设备类型且源自不同IP的地址来尝试多次登录,以此来规避这些保护措施。恶意机器人的目标是使攻击者的登录尝试与正常的登录流量难以区分,并且非常有效。

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

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

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

OWASP将凭证填充归类为蛮力攻击的子集。但是,严格来说,凭证填充与传统的蛮力攻击有很大不同。蛮力攻击尝试使用随机字符有时结合常见的密码建议来猜测并没有明显上下文或线索的密码。凭证填充则使用被暴露的数据,从而大大减少了可能正确的答案数量。

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

如何防止凭证填充

用户如何防止凭证填充

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

公司如何防止凭证填充

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

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

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

防止凭证填充的最强保护是机器人管理服务。机器人管理将速率限制与IP信誉数据库结合使用,以阻止恶意机器人进行登录尝试,而不会影响合法登录。 Cloudflare 机器人管理每天收集通过Cloudflare网络路由的4,250亿个请求数据,可以非常准确地识别和阻止凭证填充机器人。