凭证填充攻击是指收集从一项服务盗取的登录凭证,用来尝试入侵其他各项服务的相关帐户。
阅读本文后,您将能够:
复制文章链接
凭证填充是一种网络攻击,利用从一项服务上的数据泄露中获得的登录凭据尝试登录到另一个不相关的服务。
例如,攻击者可能通过攻破一个大型百货商店而获取大量用户名和对应密码,并使用相同的登录凭据尝试登录到某个国际银行的网站。攻击者猜测这些百货商店客户中的某些人在该银行也有帐户,并且他们使用了和百货商店同样的用户名和密码。
由于在黑市上交易和出售了大量遭入侵的登录凭证,凭证填充已十分普遍。这些清单的扩散,再加上使用机器人应对传统登录保护的凭据填充工具的发展,已使凭据填充成为一种盛行的攻击手段。
统计学上讲,凭证填充攻击的成功率非常低。许多估计其成功比率约为 0.1%,这意味着攻击者尝试破解的每千个帐户中,它们大约成功一次。尽管成功率很低,但凭证数据集合的交易体量之大让攻击者觉得凭证填充尽管成功率很低,也依然值得尝试。
这些集合内含成千上万甚至数以亿计的登录凭证。如果攻击者持有一百万组凭证,则能够获取约 1,000 个成功破解的帐户。即使只有一小部分破解帐户带来可盈利的数据(通常形式是信用卡卡号或是钓鱼攻击中所使用的敏感数据),也值得发动这种攻击。除此之外,攻击者能够对各种不同的服务使用相同的凭证组合,进而反复进行这一过程。
机器人技术的进步也使得凭证填充成为一种可行性攻击。Web 应用程序登录表单内置的安全功能往往包括蓄意时延机制,并且在用户多次尝试登录失败时会将其 IP 地址禁用。现代凭证填充软件会利用机器人同时尝试多方登录,而表面看起来登录是在各种设备类型上进行,且来自多个 IP 地址,借此绕开这些保护机制。恶意机器人的目的在于让攻击者的登录尝试有别于典型的登录流量,且这种方法十分奏效。
通常,唯一能让受害公司察觉到遭受攻击的迹象是登录尝试总体数量的增加。即使这样,受害的公司也很难在不影响合法用户登录服务的情况下阻止这些恶意尝试。
凭证填充攻击有效的主要原因是人们重复使用密码。研究表明,大多数用户(据估计高达85%)将相同的登录凭据重复用于多种服务。只要这种做法继续下去,凭证填充将保持有效。
OWASP 将凭证填充归类为蛮力攻击的子集。但严格来讲,凭证填充与传统的暴力攻击有很大不同。暴力攻击尝试在情境背景或线索的情况下猜测密码,有时按照常规密码设置建议随机套用字符。凭证填充利用的是泄露数据,可能正确的答案在数量上得到了精简。
防止暴力攻击的有效方法是使用由多个字符组成的强密码,包括大写字母、数字和特殊字符。但是密码强度不能防止凭证填充。密码的强弱无关紧要–如果密码在不同的帐户之间共享,那它依然会受损于凭证填充。
从用户角度而言,防御凭证填充的方法十分简单。用户应一律为各项不同的服务设置唯一密码(要实现这一目标,一个简单的方法就是使用密码管理器)。如果用户一律设置唯一密码,凭证填充则不会危及其帐户。另有一种安全措施是,鼓励用户尽可能启用双因素身份验证。
对于运行身份验证服务的公司,阻止凭证填充是一个更为复杂的挑战。凭证填充是由于其他公司的数据泄露导致的。因此一家公司受到凭证填充攻击,不一定表示它自身的安全已受损。
公司可以建议其用户使用独特的密码,但通常不能有效地强制执行此操作。某些应用程序对提交的密码在已知的受损密码数据库里进行比对,作为防护凭证填充的方法,但这并不是万无一失的–用户可能会在尚未受损的服务中重复使用密码。
提供额外的登录安全功能有助于缓解凭证填充攻击。启用双因素身份验证等功能,并要求用户在登录时填写验证码,这两种机制也有助于阻止恶意机器人。虽然这两种机制会给用户带来诸多不便,但多数人一致认为,这能最大限度地减少安全威胁,即使不便也值得。
防范凭证填充的最强保护机制是机器人管理服务。机器人管理机制采用速率限制和 IP 信誉数据库相结合的方式,在不影响合法登录的情况下,阻止恶意机器人尝试登录。Cloudflare 机器人管理从每秒通过 Cloudflare 网络路由的 2500 万个请求中收集数据,能够高度准确地识别和阻止凭证填充机器人。对于需要相同的机器人阻止能力但不需要 Enterprise 解决方案的组织,Cloudflare Pro 和 Business 服务套餐中现已提供超级机器人抵御模式。使用超级机器人抵御模式,小型组织可以拥有更高的可见性和对其机器人流量的控制。