随着区块链技术和去中心化应用的兴起,Web3正逐渐向我们走来,它倡导用户对数据的自主所有权和掌控力,试图重塑互联网的底层逻辑,在这个充满新机遇和新概念的时代,一些“老”问题也以新的形式出现,“撞库”就是其中之一,在Web3语境下,“撞库”究竟是什么意思?它又为何比在Web2时代更具威胁性呢?

什么是“撞库”?(从Web2到Web3的演变)

“撞库”本身并不是一个Web3独有的概念,它在Web2时代就已存在。

  • Web2时代的撞库:指的是黑客利用用户在多个不同网站或服务上使用相同用户名和密码(即“一套密码走天下”)的习惯,非法获取到某个网站的账户数据库后,尝试用这些用户名和密码去登录其他网站,一旦用户在其他网站也使用了相同的凭据,黑客就能成功“撞”开账户,进而窃取个人信息、财产或进行恶意操作,用A网站的账号密码去尝试B网站的登录”。

  • Web3时代的撞库:在Web3中,“撞库”的核心逻辑并没有改变,仍然是利用用户在不同平台重复使用密码的习惯,但其载体、对象和后果发生了显著变化:

    1. 载体变化:Web2的撞库多针对中心化平台的用户名密码数据库;而Web3的撞库,更多是针对用户的私钥、助记词或 keystore 文件——这些才是用户在区块链世界中的“终极身份凭证”。
    2. 对象变化:Web2撞库可能导致社交账号、支付账户等被控制;Web3撞库则直接威胁到用户的数字资产(如加密货币NFTs代币)去中心化身份
    3. 攻击面变化:Web2应用通常有统一的账户体系;Web3中,用户可能与多个去中心化应用(DApps)、钱包、交易所、NFT市场等交互,每个点都可能成为撞库的尝试目标。

Web3“撞库”的常见场景与手段

在Web3生态中,撞库攻击往往通过以下几种场景发生:

  1. 重复使用私钥/助记词:这是最致命也是最常见的情况,有些用户为了方便,可能会将同一个助记词或私钥导入多个不同的钱包应用中,或者试图在非官方/不安全的项目中输入私钥进行签名,一旦其中一个平台存在安全漏洞或被黑客攻击,黑客获取到这些私钥/助记词后,就可以尝试控制用户基于该私钥的所有资产和身份。
  2. “钓鱼”与“虚假应用”诱导:黑客会制作与官方DApp、钱包或项目方高度相似的钓鱼网站或虚假应用,当用户在这些虚假平台上连接钱包或输入私钥进行操作时,其敏感信息(如私钥、助记词、甚至通过恶意合约盗取资产)就会被直接窃取,黑客随后可以利用这些信息去尝试用户在其他平台的资产。
  3. 第三方服务泄露:用户在Web3生态中可能会使用一些第三方数据分析工具、跨链桥、DeFi协议等,如果这些第三方服务发生数据泄露,其中包含的用户关联地址、使用的邮箱、甚至通过某些方式间接获取的密码(如果用户在该服务使用了Web2登录且密码相同),都可能被用于撞库攻击。
  4. 随机配图