What is credential stuffing? | Credential stuffing vs. brute force attacks

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

学习目标

阅读本文后,您将能够:

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

复制文章链接

什么是凭证填充?

Credential stuffing is a cyber attack in which credentials obtained from a data breach on one service are used to attempt to log in to another unrelated service.

凭证填充示例

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

Credential stuffing is widespread thanks to massive lists of breached credentials being traded and sold on the black market. The proliferation of these lists, combined with advancements in credential stuffing tools that use bots to get around traditional login protections, have made credential stuffing a popular attack vector.

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

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

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

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

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

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

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

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

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

如何防止凭证填充

用户如何防止凭证填充

From a user’s point of view, defending against credential stuffing is pretty straightforward. Users should always use unique passwords for each different service (an easy way to achieve this is with a password manager). If a user always uses unique passwords, credential stuffing will not work against their accounts. As an added measure of security, users are encouraged to always enable two-factor authentication when it’s available.

公司如何防止凭证填充

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

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

Providing added login security features can help mitigate credential stuffing. Enabling features like two-factor authentication and requiring users to fill out captchas when logging in both also help stop malicious bots. While these are both features that inconvenience users, many would agree that minimizing the security threat is worth the inconvenience.

The strongest protection against credential stuffing is a bot management service. Bot management uses rate limiting combined with an IP reputation database to stop malicious bots from making login attempts without impacting legitimate logins. Cloudflare Bot Management, which gathers data from 25 million average requests per second routed through the Cloudflare network, can identify and stop credential-stuffing bots with very high accuracy.For organizations that want the same bot-blocking abilities but do not need an enterprise solution, Super Bot Fight Mode is now available on Cloudflare Pro and Business plans. With Super Bot Fight Mode, smaller organizations can take advantage of increased visibility and control over their bot traffic.