女巫攻击 (Sybil Attack) 是一种网络安全攻击。攻击者通过创建大量的虚假身份(或伪造身份、傀儡账户),来破坏一个网络或系统的信誉/投票机制,从而获得与其实际身份不相称的巨大影响力。

简单来说,就是 “一个人,伪装成千军万马”。

这个名字来源于1973年的一本著名小说《Sybil》(中文译名《女巫》),书中的女主角患有多重人格障碍,拥有16个不同的人格。攻击者就像这个女主角一样,用一个实体控制着多个“人格”(虚假身份)。

例子

区块链与加密货币领域

  • 共识机制攻击: 在一些早期的或设计不佳的权益证明(PoS)或委托权益证明(DPoS)网络中,如果创建身份的成本很低,攻击者可以创建大量虚假节点,控制投票权,从而验证恶意交易或发动“51%攻击”。
  • 治理攻击: 在去中心化自治组织(DAO)中,治理决策通常由代币持有者投票决定。攻击者可以通过控制大量持有少量代币的地址(女巫地址)来影响甚至操纵提案的投票结果。
  • 空投(Airdrop)滥用: 项目方为了推广,会向早期用户或社区成员“空投”免费代币。攻击者会创建成千上万个“女巫钱包”,冒充成千上万个真实用户,骗取本应分发给广大社区的代币。这被称为“空投挖矿”或“撸羊毛”。

点对点网络 (P2P Networks):

  • 路由攻击: 在像Tor这样的匿名网络或BT下载网络中,攻击者可以创建大量的“女巫节点”。如果一个真实用户的连接路径上大部分节点都是攻击者控制的女巫节点,攻击者就可以监视、拦截甚至篡改该用户的网络流量。这种攻击也叫“日蚀攻击 (Eclipse Attack)”。
  • 内容污染: 在BT网络中,女巫节点可以提供虚假的、损坏的或带有病毒的文件块,污染整个文件共享。

在线信誉系统 (Reputation Systems):

  • 刷好评/差评: 在电商平台(如淘宝、亚马逊)或点评网站(如大众点评),攻击者可以创建大量虚假账户,为自己的商品刷好评,或者给竞争对手刷恶意差评。
  • 社交媒体操纵: 在Twitter、Facebook等平台,机器人账户(Bot)就是一种女巫身份。它们可以用来制造虚假的舆论热点、传播不实信息、为某个观点或人物营造出虚假的群众支持(网络水军)。

如何防御女巫攻击?

  • 身份验证(提高准入门槛):
    • 实名认证 (KYC - Know Your Customer): 要求用户绑定真实世界的身份,如身份证、护照、手机号。这是最直接的方法,但牺牲了用户的匿名性。
    • 社交图谱验证: 基于“你认识的人也认识你”的原则。一个真实的身份通常与许多其他真实身份有社交联系,而女巫身份通常是孤立的或只与其他的女巫身份连接。通过分析社交网络图谱可以识别出可疑的聚集性虚假账户。
  • 增加经济成本:
    • 工作量证明 (Proof-of-Work, PoW): 这是比特币采用的核心机制。要想在网络中获得话语权(记账权),你必须投入大量的计算资源(算力)。一个实体无论创建多少个身份,其总算力是固定的。这使得算力(而不是身份数量)成为投票的依据。
    • 权益证明 (Proof-of-Stake, PoS): 这是以太坊等采用的机制。话语权的大小取决于你质押(Stake)的加密货币数量。你想获得更大的影响力,就必须投入真金白银购买和锁定大量的代币。这同样将成本与身份数量脱钩。
  • 资源/时间成本:
    • 验证码 (CAPTCHA): 简单的“我不是机器人”验证,增加了自动化、大规模创建账户的时间和计算成本。
    • 基于时间的信誉: 账户的信誉或权重随着其存在时间的增长而增加。新创建的账户(可能是女巫账户)几乎没有影响力。