什么是撞库?
撞库(credential stuffing)是一种自动化攻击,其中来自一次泄露的被盗用户名密码对被大规模地对着其他服务的登录页测试,利用的是人们在许多站点上重用同一密码这一事实。
与密码猜测不同,撞库并不尝试随机组合——它重放那些已知在某处有效的凭据,因此即便很低的成功率,在一份大列表上也能带来许多被攻破的账户。它是通往账户接管最常见的路径之一,也是网上量最大的自动化威胁之一。本指南解释这种攻击如何工作、它为何如此频繁地得手、它的破绽信号,以及在速率限制和密码失效之处,设备级防御如何阻止它。
什么是撞库?
撞库是把此前被盗的登录凭据大规模自动化地重放到目标的认证端点上,寄希望于用户重用了那些凭据。它是一种关于规模和重用的攻击,而非关于机巧。
攻击者以一份真实的用户名密码对列表——往往数以百万计——开始,它们从某次不相干的泄露中流出。自动化把每一对提交到目标的登录表单。凡是用户重用了密码之处,登录便成功,那个账户现已被攻破。攻击者无需了解任何单个受害者;泄露的列表和密码重用做完了全部工作。
这让撞库不同于暴力破解——后者为一个已知用户名猜测密码——也不同于密码喷洒,后者拿几个常见密码去试许多账户。撞库使用完整的、已然有效的配对,这正是它以纯猜测永远达不到的成功率得手的原因。
一次撞库攻击如何运作?
一次撞库攻击的运作方式是:把一份泄露的凭据列表加载进自动化,将登录尝试分散到许多 IP 和设备上以规避速率限制,并收集那些成功的配对以供日后变现。
攻击者用凭据列表武装自动化——从简单脚本到无头浏览器——并把它对准登录端点。为避开在过多失败后封禁一个 IP 这一显而易见的防御,流量被铺开到住宅代理网络和轮换的 user agent 上,这样每次尝试看起来都像来自一个不同的普通用户。
成功的登录被记录下来,并与失败的分开。这些经过验证的账户随后被直接利用、作为已验证凭据出售,或被交给一个榨取价值的变现阶段。整条流水线都被产业化了:工具、代理访问和凭据列表全都唾手可得,这正是这种攻击如此普遍的原因。
为什么撞库如此频繁地得手?
撞库得手,是因为密码重用普遍存在、泄露的凭据充裕而廉价,而运行这种攻击所需的自动化和代理基础设施已被商品化。等式的每一部分都对攻击者有利。
密码重用是根本原因。当同一个邮箱和密码解锁一个人在许多服务上的账户时,一次泄露就暴露了全部,攻击者只需找到受害者重用了凭据的那些服务。重用把一次泄露变成一把万能钥匙。
供给和工具做完其余的事。庞大的凭据数据集自由流传,住宅代理让流量看起来合法,现成的工具把整个过程自动化。由于即便是在一份庞大列表上的很小成功率也能带来数千个账户,经济学强烈地偏向攻击者——这正是防御必须攻击那套经济学的原因。
撞库攻击的迹象有哪些?
撞库的特征是登录尝试的激增、异常高的失败率,以及尽管努力伪装成人类却仍暴露自动化的流量模式。合在一起看,它们很难被误认作自然活动。
量是第一个迹象:登录尝试骤然飙升,远高于正常基线,往往集中在认证端点上。由于大多数被重放的凭据不匹配,失败率攀升到任何合法用户群都不会产出的水平——一种把您通常会看到的登录成功比倒转过来的比率。
流量的构成出卖了自动化。即便被分散到许多 IP 上,这些尝试也共享着破绽:自动化典型的 TLS 指纹、混入住宅噪声中的数据中心或已知代理来源、机械的时序,以及在看似不相干的会话间反复出现的设备信号。设备级关联揭露了藏在数千个 IP 背后的那唯一一场行动。
- 对着认证端点的登录量急剧激增。
- 异常高的登录失败率,因为大多数被重放的配对未命中。
- 分散在许多 IP 上、却仍共享设备或 TLS 特征的流量。
- 自动化破绽:代理和数据中心来源、脚本库指纹,以及机械的时序。
为什么密码和速率限制阻止不了它?
密码和 IP 速率限制之所以失败,是因为这种攻击使用有效凭据,并把自身分散到数千个 IP 上,从设计上击败了这两种防御。每一种都是为撞库刻意绕开的威胁模型而构建的。
强密码策略只保护您自己服务上的账户;对于用户从另一个被泄露站点重用来的凭据,它们无能为力。密码是有效的,因此它通过了每一项强度和正确性检查。漏洞栖身在平台看不见也控制不了的重用之中。
基于 IP 的速率限制假定攻击者从一个地址操作,因此在一阵失败后封禁就能阻止他们。住宅代理网络通过给每次尝试一个新鲜的、看起来合法的 IP,把每个来源保持在阈值以下,从而摧毁了那个假定。按 IP 限速根本没有任何持久的东西可数。攻击者无法廉价轮换的那个持久标识符,就是设备。
设备智能如何阻止撞库?
设备智能通过识别每次尝试背后的设备来阻止撞库,从而让限速和拦截作用于一个能在 IP 轮换中存活的持久身份,并通过标记攻击所依赖的自动化。它直接反制攻击的核心规避手段。
由于设备身份跨 IP 持久存在,一台反复捶打登录的欺诈设备,无论藏在多少住宅代理背后都可识别。按设备——而非按 IP——实施的速率限制终于有了稳定的东西可数,于是攻击者再也无法靠借用另一个地址来重置自己的额度。
在此之上,机器人和自动化信号暴露了工具本身:无头浏览器痕迹、脚本库 TLS 指纹和行为破绽,把流量标记为自动化,无论它携带何等有效的凭据。而且由于同一台设备在多个账户间反复出现,设备关联揭示了整场行动——把数千次零散尝试变成一个您可以直接拦截的、可识别的攻击者。
企业如何防御撞库?
企业以分层策略防御撞库:设备级检测与限速、登录流程上的机器人检测、基于风险的认证,以及对攻击特征的监控。这些层封堵了每个控制单独留下的空隙。
设备级防御是核心,因为它们中和了让攻击可行的 IP 轮换规避——按设备而非按地址限速和拦截。机器人检测增添了第二条战线,即便凭据有效,也能通过环境、网络和行为信号识破自动化。
围绕这些,基于风险的认证在登录看起来可疑时要求升级验证,钝化任何确实溜过的凭据的价值;而对量的激增和失败率异常的监控,为一场正在进行的行动提供早期预警。鼓励唯一密码和 MFA 减少了攻击所利用的底层重用。这些层共同让攻击的经济学停止运转。