什么是撞库攻击?
撞库攻击是一种网络攻击,利用过去数据泄露中泄露的用户名和密码组合,自动尝试在各种 Web 服务上进行未授权登录。它利用了许多用户在多个服务中重复使用相同密码的现实,是一种极其高效的攻击方法。
与尝试随机密码的暴力破解攻击不同,撞库攻击使用的是实际使用过的凭据,因此成功率显著更高。典型的成功率为 0.1-2%,但当测试数百万条凭据时,可能有数千到数万个账户被攻破。
攻击的工作原理
获取凭据
攻击者通过以下方式获取大量凭据:
- 过去数据泄露中泄露的数据库(在暗网上交易)
- 通过钓鱼攻击收集的凭据
- 被恶意软件(信息窃取器)窃取的凭据
- 公开可用的泄露数据库(可通过 Have I Been Pwned 等服务验证)
自动化大规模登录尝试
攻击者使用专门的工具(机器人)自动在多个 Web 服务上测试获取的凭据。
- 将泄露的凭据列表加载到工具中
- 指定目标 Web 服务的登录页面
- 通过代理服务器或僵尸网络执行大规模登录尝试,分散到多个 IP 地址
- 记录成功的登录并接管账户
规避检测技术
老练的攻击者使用以下技术规避检测:
- 使用数千到数万个 IP 地址绕过速率限制
- 随机化登录尝试之间的间隔以模拟人类行为
- 使用无头浏览器和 CAPTCHA 解答服务绕过自动化检测
- 随机化 User-Agent 字符串和浏览器指纹
真实攻击案例
重大攻击事件
- 2024 年,Roku 披露了一起影响超过 57 万个账户的撞库攻击。攻击者利用被攻破的账户进行未授权的流媒体服务订阅购买
- 2024 年,23andMe 报告了一起影响约 690 万用户的数据泄露。约 14,000 个账户通过撞库攻击被直接攻破,导致连锁数据暴露
- 2025 年,针对主要金融机构的撞库攻击激增。据 FIDO Alliance 报告,金融行业的攻击同比增长 65%
泄露的影响
撞库攻击导致的账户被攻破可能造成严重损害:
如何保护自己免受撞库攻击
停止重复使用密码
撞库攻击的根本原因是密码重复使用。为每个服务使用唯一的强密码是最有效的防御。如需全面的凭据管理方法,密码安全指南可以帮助你建立更好的习惯。
- 为每个服务设置 16 个字符以上的随机密码
- 使用密码管理器(1Password、Bitwarden、Dashlane 等)生成和管理唯一密码
- 为密码管理器设置特别强大的主密码
启用双因素认证(2FA)
启用双因素认证可以在密码泄露的情况下防止未授权登录。
- 推荐使用 TOTP 应用(Google Authenticator、Authy)
- 基于短信的 2FA 容易受到 SIM 卡交换攻击,应尽量避免
- 硬件安全密钥(YubiKey 等)是最安全的 2FA 方式
迁移到通行密钥
通行密钥是一种完全消除密码的下一代认证技术。使用通行密钥后,撞库攻击从根本上不可能发生。在所有支持的服务上设置通行密钥。
定期泄露监控
- 在 Have I Been Pwned(haveibeenpwned.com)上检查你的电子邮件地址是否出现在泄露数据库中
- 使用密码管理器的泄露监控功能(1Password 的 Watchtower、Bitwarden 的 Vault Health Reports 等)
- 对确认泄露的服务立即更改密码
服务提供商的防御措施
Web 服务运营者可以通过实施以下措施来防御撞库攻击。
速率限制和账户锁定
- 限制每个 IP 地址的登录尝试次数
- 在一定次数的登录失败后临时锁定账户
- 检测并阻止异常登录模式(短时间内的大量尝试)
机器人检测和 CAPTCHA
- 在登录页面实施 CAPTCHA(同时平衡用户体验)
- 通过行为分析进行机器人检测(鼠标移动、按键模式分析)
- 通过设备指纹检测异常访问
泄露密码检查
- 在密码设置时将用户密码与已知泄露数据库(Have I Been Pwned API)进行比对
- 拒绝已泄露的密码并提示用户更改
- 定期将用户凭据与泄露数据库交叉比对并通知受影响的用户
2025-2026 年最新动态
攻击日益复杂
自 2025 年以来,撞库攻击变得更加复杂。攻击者使用机器学习自动分析登录表单结构并提高 CAPTCHA 绕过准确率。住宅代理的使用也在增加,使得区分攻击流量和合法用户流量变得更加困难。
通行密钥作为根本解决方案
随着通行密钥的普及,撞库攻击的威胁预计在中长期内将会减弱。由于通行密钥不在服务器上存储认证凭据,即使发生数据泄露,凭据也无法被利用。
凭据情报服务的兴起
实时监控泄露凭据并通知组织的凭据情报服务正在快速增长。SpyCloud、Recorded Future 和 Flare 等服务持续监控暗网上的泄露数据,在组织的用户账户面临风险时立即发出警报。
监管加强
欧盟的 NIS2 指令和美国 SEC 的网络安全披露规则加强了因撞库攻击导致的数据泄露的报告义务。组织现在不仅需要检测和防御攻击,还需要建立快速的事件报告程序。
实用清单
按照以下步骤保护你的账户免受撞库攻击:
总结
撞库攻击是一种利用人类密码重复使用习惯的高效网络攻击。防御的基础是通过密码管理器进行唯一密码管理并启用双因素认证。此外,迁移到通行密钥可以从根本上消除这类攻击。对于希望加强整体安全态势的读者,在线账户保护相关书籍提供了实用策略。从检查你的凭据是否已泄露开始,今天就采取保护措施。