什么是女巫攻击?用 DID 能完美解决吗?

原文标题:什么是女巫攻击?为什么在Web3世界更严重?用DID能完美解决吗?

原文作者:稻穹思

原文来源:微信公众号

传稻士社区:没有好问题,就没有好答案

1 为什么女巫攻击从Web1 时代就存在,到Web3的世界还没解决?

2 为什么会有人分成12个身份做 Web3 项目的开发呢?

3 一大批申请空投的账号,为什么被取消了空投资格呢?

4 在许多防御女巫攻击的办法中,DID(分布式身份)为什么是最好的呢?

———-

1 什么是女巫攻击?

女巫攻击(Sybil Attack)的意思就是模仿多个身份的攻击,可以简单理解为,女巫攻击者控制了许多虚假身份的帐户,伪装成真正的唯一用户,目的是非法获得一些权力和利益。这个名字最早是由微软研究院的John Douceur 提出的。2002年,John Douceur 发布了论文《the Sybil Attack》。

为什么用到女巫这个词呢?并不是看了《哈利波特》的启发,而是因为一个化名叫女巫(Sybil Dorsett)的电影女主角,她有16种人格。跟多个身份攻击的概念很相似。哦,原来这里的女巫是指高度精分,而不是具有法术的女人。

这部讲精神分裂者的电影是《Sybil》,中文翻译叫《心魔劫》或《人格裂变的姑娘》。在影片中,Sybil 在进行心理治疗时,被诊断为分离性身份认同障碍,也就是多重人格。为什么她具有16种人格?因为在童年时候的种种悲惨遭遇。

身份

这个 1976 年的电影改编自 1973 年的小说《女巫》(Sybil)。

身份

女巫攻击从 Web1 时代就存在,那时候用虚假邮件地址做假身份来钓鱼获得账号密码非常多。

在 Web2 的世界,也一直有严重的女巫攻击问题,刷单、刷量、刷票、加僵尸粉,数不胜数。国内有一些黑产,专门干这类事情,比如在新浪微博上增加批量关注,刷微信公众号文章关注数等。在网络投票的时候,用水军造舆论,利用多个IP地址来作假等等。

在 Web3 的世界,这个问题变得更加严重。因为匿名和化名本来是 Web3 的文化,而业务又是全球的。并且,去中心化的网络节点本身就容易被伪造。一旦得手后,难以阻止虚拟资产转移。例如,羊毛党在一台计算机上通过软件切换 IP 和身份,去撸空投的羊毛,据统计,撸空投羊毛的大军中,虚假账户占到极高的比重。

(关于空投,可以参考 为什么无聊猿持有者得到10亿美元猿币空投?为什么天上会掉馅饼?)

更糟糕的是,攻击方伪造很多身份控制更多的节点来破坏网络系统,从中获利。

你可能觉得奇怪,查出假身份应该不难啊,就像在乘高铁时,只要规定所有的人都用真实身份,不就解决了吗?应查尽查,应拒尽拒。

你这就把事情想得太简单了,在网络上,有太多的方式来伪造身份了。而且也缺乏有效的识别手段。在Web3的世界,迄今为止,还没有一个100%能阻止女巫攻击的方式。

今年 8月5日,知情人士报料,Saber(Solana 上的稳定币交易所)首席架构师 Ian Macalinao 拥有11个假身份,其中包括 Solana 生态 DeFi 收益聚合器协议Sunny的开发者SuryaKhosla、Solana算法Stablecoin项目Cashio创始人0xGhostchain、多签钱包Goki创始人GokiRajesh等。他以12个独立开发人员的身份,创建了一个巨大的环环相扣的 DeFi 协议网络,将经双重计算的数十亿美元投射到 Saber 生态系统中,形成了虚假地增长。去年11月,当该网络飞速增长时,也抬高了Solana的总价值锁定(TVL)。

Ian使用这些身份在社交媒体上不停地宣传一些项目的表现,他们赞扬彼此的工作,并激励他们在Solana上继续工作。看起来很好玩,就像是一个人扮演了很多角色的游戏。

身份

在Web3 世界,很多人使用假名是有正当理由的。然而,Ian将”匿名”变成了武器,发起 “女巫攻击 “,滥用了加密领域用户的信任。最终,他建立的Cashio 在3月23日被黑客攻击,用户损失了 5200万美元。他自己什么也没有得到。

后来,他在自己的博客中主动坦白了假身份行为,并请求黑客返还用户的钱。该黑客后来确实归还了受害者要求的3900万美元中的1400万美元。

lan写道,如果黑客没有全额偿还用户,”我将尽我所能,以我个人的Saber和Sunny代币偿还受影响的个人用户。这不会涵盖全部金额,但这是我能提供的全部”。但他从未兑现过这一承诺。

2 女巫攻击会导致什么后果?

在女巫攻击中,不一定都是采用虚假用户账号,凡是可以用于识别身份的都可以被采用。所以,女巫攻击出现在许许多多的场景中,对安全,信任产生了巨大的影响。具体如下:

1 破坏了系统的冗余策略

在P2P系统中,因为节点随时加入退出等原因,为了维持网络稳定,同一份数据通常需要备份到多个分布式节点上,这就是数据冗余机制。如果有许多节点并不存在,只是虚构的身份。那么就没有真正存储数据,结果,在面临着极端情况下,数据被修改或丢失的时候,没有备份还原这些数据,就会导致系统不稳定。

2 在民主治理过程中进行欺诈性投票

对于一个以投票模型来竞争权力的网络,如果攻击者创建了足够的虚假身份,他们就可以以多数票击败网络上真实的节点,这就破坏了公平性。

3 影响大众舆论,破坏推荐系统的公正性

通过使用多个虚假用户帐户,可能会在意味着去中心化的网络中更加集中权力、影响社交媒体平台上的多数意见,甚至操纵民意。目的可能是为了做一些营销,或者获得推荐系统的流量、好评度等。

比如,要攻击抖音的推荐系统,从而在抖音上获得更高的排名和更多推荐,可能伪造一些虚假身份来投票支持,最终使系统的行为产生偏差并超过系统中的诚实身份。

4 导致网络系统不安全,篡改交易数据来盗窃资产

对 P2P 系统来说,如果一个有恶意的人,利用网络中的少数节点控制多个虚假身份,他就可以控制网络系统的很大一部分,控制或影响网络中大量正常节点,比如获得网络控制权,拒绝响应,干扰查询等事情。这就影响了应用的可靠性。

在拜赞庭容错模式下,如果发生了女巫攻击,只要伪装的节点突破n/3的限制,就能控制整个网络。而实际上,恶意节点可能只有一个。

大规模的女巫攻击甚至可以构成 51% 的攻击,可以更改区块链上的数据,可以拒绝接收或者传输区块,让某些交易不被确认,甚至可以逆转交易,导致双重支付等问题。

(关于51%攻击,请参考美剧《硅谷》中的51%攻击是什么?用算力来控制 Web3 的应用会发生吗?)

5 项目方被撸羊毛,遭受不必要的损失

即便是小规模的女巫攻击,构建虚假身份,去撸项目方做空投的羊毛,对项目方而言也是不小的损失。

比如,在2022年4月27日,以太坊二层扩容方案的项目方Optimism官宣将进行多轮代币空投。很多专业羊毛党搞了大量的虚假身份来撸羊毛。2021年5月24日,Optimism进行空投用户资格排查,删除了1.7万个女巫地址并回收了超过1400万枚OP,然后按比例重新分配给第一批空投的其他合格接收者。

身份

3 如何防御女巫攻击呢?

女巫防御的最终目标是通过在覆盖网络中侦查并且孤立女巫身份,或者那些对等地能够产生这些女巫身份的节点,来消除女巫攻击。

但是,这一终极目标往往不能实现,因为大多数防御,除了基于中心化可信认证的方案之外,大多数防御在其检测机制中都有误报和漏报的可能性,可能会容忍某些女巫节点,同时错误地报告其他诚实的节点。

当女巫节点被报告为诚实节点,称为假阳性报告。当诚实节点被报告为女巫节点,称为假阴性报告。防御机制的现实和实际可实现的目标是尽可能地减少假阴性率。

为什么无法完全精确识别呢?

因为网络中很难保证每一个未知的节点是一个确定的“身份”。各种技术被用来保证网络上计算机的身份,例如,认证软件、利用IP地址识别节点、设置用户名和密码等。但是,模仿无处不在,伪装技术也同样存在。

所以,女巫攻击很难杜绝,它会一直存在。

但可以采取下面这些方法有效的减少影响。为了更有效地防御,可能会存在混合策略,叠加多种策略。

身份

(在P2P叠加环境中几种不同的女巫防御的方式)

C/CA 代表中心化的认证机构

D/C 代表去中心化的加密原语

T/D 代表可信设备认证

IP/T 代表IP检测

R/C 代表基于成本循环的检测

S/G 代表基于社交图谱的防御方式

3.1 使用可信认证

可信认证方法可以说是当下最流行的方法之一,在这种方法的传统形式中,中心化授权 (CA) 用于通过将这些身份与预先分配的凭据进行匹配来确保分配给每个对等方的身份是唯一且合法的。这些凭证可能包括加密密钥、通常由一次性密码生成器 (OTP) 生成的同步随机字符串或由中心化认证颁发的数字证书。

根据认证模式的不同,可以分为直接和间接两类验证。

在直接验证中,本地实体查询中央授权机构以验证远程标识。

在间接验证中,本地实体依赖于已经接受的身份,继而保证所讨论的远程身份的有效性。

基于身份的验证技术通常以匿名为代价提供问责制 ,这可能是一个不可取的折衷,特别是在希望允许无检查的信息交换和公开讨论敏感话题的在线论坛。验证机构可以通过拒绝执行反向查找来尝试保持用户的匿名性,但是这种方法使验证机构成为攻击的主要目标。或者,权威机构可以使用除了用户的真实身份的知识之外的一些机制 – 诸如验证未识别的人在特定地点和时间的物理存在 – 来实施在线身份和真实世界用户之间的一一对应。

3.1.1 中心化认证机构

中心化可信认证可能是唯一可以消除女巫攻击的方法。在 P2P 覆盖的环境中,已经有一些关于使用中心化证书颁发机构进行凭证生成、分配和验证的工作。每加入一个新的节点都需要与某一个可靠的第三方节点进行身份验证。当然这样做,会损失认证节点的一部分匿名性。如果参与的P2P节点可以接受,这确实是一个可行的办法。

身份

按场景,具体可以分为两类:

1) 生物人验证

最简单的办法就是用识别生物体的办法,确保背后是生物人而非机器人,实现抗女巫攻击。

就像我们做核酸检测后,用支付宝扫描场所码,随机性需要人脸识别,避免真实的人冒用身份。

身份

还有的方式是使用双重身份验证的安全代码,比如需要在1分钟内用注册手机号收到的验证码验证。

大多数监管要求用户验证其身份以遵守反洗钱和反恐怖主义的法规。他们通常不允许在使用多个帐户,这在管理加密货币交易的规则中经常明确说明。

2) 身份验证

如果验证的是节点,不是人。显然就不能用生物人验证了。

还有很多场景下,即便是生物人,但没有条件来进行识别,比如,没有人脸资料数据库比对。就需要一个信任的代理来认证实体。

验证技术可用于防御女巫攻击和消除伪装敌方实体。本地实体可以基于中央权威来接受远程身份,其确保身份和实体之间的一对一对应,并且甚至可以提供反向查找。身份可以直接或间接地验证。

3.1.2 纯分布式的身份认证

每加入一个新的节点都需要获得当前网络中所有可靠节点的认证,这种方法采用了随机密钥分发验证的公钥体制的认证方式,需要获得网络中大多数节点的认证才能加入该网络。可以假如网络初始有N的可信任节点,这些信任节点可以对其他节点进行担保,担保其他的节点也是可信任的。当然这里面涉及到一些有效的担保算法。

3.1.3 加密原语

这里,加密原语的目的是提供用于验证某个节点的基础设施,以便通过仅让合法节点参与网络,这样使女巫攻击更难发生。

具体来说,就是以去中心化方式利用公钥基础设施 (PKI) 并使用阈值加密成分(例如,秘密共享和阈值签名),以确保所谓的诚实用户之间的协作,而加密方法用于确保此类协议的成功运行。

这就好像在电影中,军队会发布一个今天的口令。只有对上口令的才是自己人,否则就是冒充的敌人。对已经验证过的合法节点,约定了一套加密的验证机制,只有通过验证的才能作为诚实节点。

身份

3.1.4 可信设备

这种做法是使用可信设备或可信模块来存储先前由中心化机构分配给用户的证书、密钥或身份验证字符串。这种设备由于其潜在的高价而基本上很难获得,因此可用于限制女巫攻击者的机会。理论上,当攻击者意图获取尽可能多的女巫身份时,这些防御措施可能会奏效。

不过,在匿名和推荐系统等情况下,较少的女巫身份就可能会造成很大的危害,靠这个来防御是不够的。

3.1.5 DID聚合身份

DID聚合身份是解决女巫攻击和人性证明等问题的重要工具。DID聚合身份是一个将不同去中心化身份绑定到一起的过程。

在数字身份的应用场景中,我们通常需要从一些他方系统中的获取用户身份信息,因为区块链系统本身提供的信息是有限的。比如我们需要评估一个用户的信用,需要非常多的个人数据支撑,但是在去中心化的网络里,系统本身不占有用户的数据,更不可能获取全面的个人数据,这时候就会需要很多可靠数据源去支撑有效的身份信息验证。

身份

一般来说,造假身份很难完成一个系列社交身份的造假。假如要求用户身份对多地址、多链,甚至Web3+Web2的数据和身份进行聚合,对聚合的信息进行校验,可以有效地减少假身份。在这些聚合的社交信息中,还可以生成信用评分、社交图谱等信息来更方便地进行校验。

比如,在Gitcoin的第10轮资助项目中,Gitcoin要求申请资助的用户将多个加密原生身份项目聚合在一起,以增加该帐户对匹配池的捐赠权重。

目前有9个受信任的身份识别应用程序包括Gmail、Twitter、SMS 和 Facebook,其余5个是加密原生的。Gitcoin已经在尝试通过使用像ENS这样的应用程序来进一步整合Web3,允许用户通过链接到ENS域来验证帐户。

(关于身份,请参考身份简史:你是谁?谁证明?)

3.2 资源测试

除了用于防御女巫攻击的资源测试方法之外,基本思想是检查与假定不同用户相关联的一组身份是否拥有与身份数量匹配的足够资源。这些资源可能包括计算能力、带宽、内存、IP 地址,甚至信任凭证。

它是一种最低限度的防御。也就是说,该方法不能完全消除攻击,但是会使女巫攻击更难发生。原因很简单,加大了伪造身份的难度,那么女巫攻击自然大大减少。

身份

不过,假如在某个场景下,很少数量的女巫身份也足以威胁许多系统的可用性和安全性,这个方法就不合适。比如,在点评系统中有 1% 的虚假身份参与点评就足以压过正常的投票数(一般只有不到1%的正常用户参与点评)。

3.2.1 算力验证

假如节点需要具有一定的算力,那就进行算力验证。最常见的就是工作量证明(Proof of Work, PoW)。例如,在工作量证明(PoW)共识算法中,用户必须执行一系列困难的计算,然后只有他们才能添加区块。一个试图用大量假身份淹没网络的攻击者将不得不解决相应次数的计算,在计算周期中花费金钱,使攻击更加困难和低效。这就是限制攻击者泛滥并接管网络的原因。这样就有效地杜绝了女巫节点的存在。

因此,要在比特币网络中进行女巫攻击,需要付出极大的代价,导致实施女巫攻击无法获得收益,或者得不偿失。

身份

3.2.2 权益验证

同算力验证类似,其他的共识算法如权益证明(Proof of Stake, PoS)、委托权益证明(Delegated Proof of Stake, DPoS) 要求具有一定的虚拟资产作为基础。虽然这样做不能直接阻止女巫攻击,但会使攻击者几乎必须增加在网络中创建身份的成本,从而难以进行大规模的女巫攻击。

身份

(具体了解工作量证明和权益证明,请参考以太坊「合并」会影响哪些领域?有哪些机会?

3.2.3 IP 地址异常

通用测试方案包括测试对方的 IP 地址,试图确定他们的位置并将其与他们的活动相匹配。比如,声称自己是X国人,但是显示的地址是Y国的,当然就不可信。

特别是,如果从同一特定地理区域产生大量活动,相比其他地区有异常,则其中一些活动很可能是由于女巫身份造成的。当然其中也有正常身份的人。

这个方法的主要假设是 IP 地址很难在广泛的地理区域中获得。实际上,黑产集团存在巨大的僵尸网络,这种防御机制对于这样的专业攻击团伙是无用的。顶多就是弄掉一些撸羊毛的小鱼小虾。

身份

(伪造IP地址的攻击)

3.2.4 特定测试

通过一些特定的测试来识别,作为防御女巫攻击的一种方法。比如,常见的图像和互动模式的验证码识别可以有效地找出非人类。

身份

而解答特定的难题则可以识别某个节点是否属于符合要求的诚实节点。

3.2.5 特征向量

在做大数据的时候,往往需要通过很多特征向量来区分出是不是同一个用户,同样的在P2P网络中,我们也可以通过这种特征向量来区分这个节点是不是伪造的节点。当然这种方式不能完全避免女巫攻击,但是可以有效的减少女巫攻击。

比如,正常节点应该配置的资源资源可以作为标准,对比异常节点的资源情况。

通过扫描计算资源,存储空间,网络带宽及其他参数来确定一些身份是否拥有比自己应有的更少的资源,从而确定是否是女巫节点。

3.3 基于社交图谱的防御

之前针对分布式系统中女巫攻击问题提出的大多数解决方案都有局限性和缺点,基于社交网络的女巫防御尝试以优雅的方式克服这些问题。

3.3.1 基于社交网络的社交图谱

首先,基于社交网络的女巫防御大多是解决女巫攻击问题的去中心化解决方案,这意味着这些设计在没有任何中心授权的情况下运行——这是大多数分布式系统中的重要特性。

其次,这些防御利用社交节点之间社交链接的信任,使诚实节点之间的协作变得可能且容易。

第三,这些防御被事实证明,能以低成本实用且有效地防御女巫攻击,

身份

3.3.2 基于交易的关系图谱

在golem网络中,他们发明了一种算法来杜绝女巫攻击,叫做Model 0。golem是一个算力付费的区块链项目,用户付费然后在区块链网络上面完成计算。

身份

在Model 0中,有两种节点:Known 和 unknown, 并且会保存所有请求者的请求历史。如果一个请求者他历史记录里面有3-5个成功交易,那么这个请求者就是Known节点,其他的没有发生过交易的就是unknown节点。

系统如果一直和Known节点进行交互当然不会出现任何问题,但是Known节点毕竟是有限的,那么系统还是要接收一定的Unknown节点。怎么保证接收Unknown节点的过程中,不会受到女巫攻击呢?

办法就是构造一个量化的机制,当节点跟Unknown节点进行交互的过程中,如果出现错误或者失败,那么节点可以暂时拒绝和Unknown节点的请求,只接收Known节点的请求。在未来的某个时间再去接收Unknown节点的请求,这样就保证了系统在整体上是可用的,不会出现大面积服务拒绝的情况。

4 总结

P2P 网络极易受到女巫攻击,并且由于其网络的性质,解决女巫攻击这一问题比以往都难,因为它本身并不鼓励使用中心化认证机构。

女巫攻击其实就是身份问题造成的,理论上,每个身份(或节点)有已经被验证的唯一身份,且不可被伪造,女巫攻击就不会发生。这就是DID(分布式身份)的目标,未来,越来越多的诚实的人具有了DID,就会让不诚实的人难以作恶。

从目前的技术发展来看,虽然列举上面的十几个方法,但还没有一个能够完全避免女巫攻击的,即便是貌似完美的中心化验证模式,也由于资源管理和通信的瓶颈问题而不能做到无限大规模的使用。而且,这样的中心化存储节点,很可能成为黑客攻击的最主要目标。

其他的方式,虽然提高了造假身份的成本,但也不过就是提高了攻击成本而已。假如收益足够大,这些成本高一点,也不是问题。比如,51%的攻击,成本虽然很高,但还是有不少发生的案例。

不过,从趋势来看,随着整个行业的技术进步,已经演化到了一个更加去中心化的生态系统,从大量的去中心化交易所 (DEX) 的成功可以证明,它们将变得越来越少。

身份

读完了,请你思考下列问题:

1 怎样避免自己的身份被别人冒充,造成自己的损失?

2 假如你有一个项目,你会采用上述的哪一些办法来防御女巫攻击?

3 抖音是怎么防止女巫攻击恶意刷量刷排名的呢?

责任编辑:Felix

转载声明:本文 由CoinON抓取收录,观点仅代表作者本人,不代表CoinON资讯立场,CoinON不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。若以此作为投资依据,请自行承担全部责任。

声明:图文来源于网络,如有侵权请联系删除

风险提示:投资有风险,入市需谨慎。本资讯不作为投资理财建议。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2022年8月24日 下午7:26
下一篇 2022年8月24日 下午7:27

相关推荐

什么是女巫攻击?用 DID 能完美解决吗?

星期三 2022-08-24 19:26:34

传稻士社区:没有好问题,就没有好答案

1 为什么女巫攻击从Web1 时代就存在,到Web3的世界还没解决?

2 为什么会有人分成12个身份做 Web3 项目的开发呢?

3 一大批申请空投的账号,为什么被取消了空投资格呢?

4 在许多防御女巫攻击的办法中,DID(分布式身份)为什么是最好的呢?

———-

1 什么是女巫攻击?

女巫攻击(Sybil Attack)的意思就是模仿多个身份的攻击,可以简单理解为,女巫攻击者控制了许多虚假身份的帐户,伪装成真正的唯一用户,目的是非法获得一些权力和利益。这个名字最早是由微软研究院的John Douceur 提出的。2002年,John Douceur 发布了论文《the Sybil Attack》。

为什么用到女巫这个词呢?并不是看了《哈利波特》的启发,而是因为一个化名叫女巫(Sybil Dorsett)的电影女主角,她有16种人格。跟多个身份攻击的概念很相似。哦,原来这里的女巫是指高度精分,而不是具有法术的女人。

这部讲精神分裂者的电影是《Sybil》,中文翻译叫《心魔劫》或《人格裂变的姑娘》。在影片中,Sybil 在进行心理治疗时,被诊断为分离性身份认同障碍,也就是多重人格。为什么她具有16种人格?因为在童年时候的种种悲惨遭遇。

身份

这个 1976 年的电影改编自 1973 年的小说《女巫》(Sybil)。

身份

女巫攻击从 Web1 时代就存在,那时候用虚假邮件地址做假身份来钓鱼获得账号密码非常多。

在 Web2 的世界,也一直有严重的女巫攻击问题,刷单、刷量、刷票、加僵尸粉,数不胜数。国内有一些黑产,专门干这类事情,比如在新浪微博上增加批量关注,刷微信公众号文章关注数等。在网络投票的时候,用水军造舆论,利用多个IP地址来作假等等。

在 Web3 的世界,这个问题变得更加严重。因为匿名和化名本来是 Web3 的文化,而业务又是全球的。并且,去中心化的网络节点本身就容易被伪造。一旦得手后,难以阻止虚拟资产转移。例如,羊毛党在一台计算机上通过软件切换 IP 和身份,去撸空投的羊毛,据统计,撸空投羊毛的大军中,虚假账户占到极高的比重。

(关于空投,可以参考 为什么无聊猿持有者得到10亿美元猿币空投?为什么天上会掉馅饼?)

更糟糕的是,攻击方伪造很多身份控制更多的节点来破坏网络系统,从中获利。

你可能觉得奇怪,查出假身份应该不难啊,就像在乘高铁时,只要规定所有的人都用真实身份,不就解决了吗?应查尽查,应拒尽拒。

你这就把事情想得太简单了,在网络上,有太多的方式来伪造身份了。而且也缺乏有效的识别手段。在Web3的世界,迄今为止,还没有一个100%能阻止女巫攻击的方式。

今年 8月5日,知情人士报料,Saber(Solana 上的稳定币交易所)首席架构师 Ian Macalinao 拥有11个假身份,其中包括 Solana 生态 DeFi 收益聚合器协议Sunny的开发者SuryaKhosla、Solana算法Stablecoin项目Cashio创始人0xGhostchain、多签钱包Goki创始人GokiRajesh等。他以12个独立开发人员的身份,创建了一个巨大的环环相扣的 DeFi 协议网络,将经双重计算的数十亿美元投射到 Saber 生态系统中,形成了虚假地增长。去年11月,当该网络飞速增长时,也抬高了Solana的总价值锁定(TVL)。

Ian使用这些身份在社交媒体上不停地宣传一些项目的表现,他们赞扬彼此的工作,并激励他们在Solana上继续工作。看起来很好玩,就像是一个人扮演了很多角色的游戏。

身份

在Web3 世界,很多人使用假名是有正当理由的。然而,Ian将”匿名”变成了武器,发起 “女巫攻击 “,滥用了加密领域用户的信任。最终,他建立的Cashio 在3月23日被黑客攻击,用户损失了 5200万美元。他自己什么也没有得到。

后来,他在自己的博客中主动坦白了假身份行为,并请求黑客返还用户的钱。该黑客后来确实归还了受害者要求的3900万美元中的1400万美元。

lan写道,如果黑客没有全额偿还用户,”我将尽我所能,以我个人的Saber和Sunny代币偿还受影响的个人用户。这不会涵盖全部金额,但这是我能提供的全部”。但他从未兑现过这一承诺。

2 女巫攻击会导致什么后果?

在女巫攻击中,不一定都是采用虚假用户账号,凡是可以用于识别身份的都可以被采用。所以,女巫攻击出现在许许多多的场景中,对安全,信任产生了巨大的影响。具体如下:

1 破坏了系统的冗余策略

在P2P系统中,因为节点随时加入退出等原因,为了维持网络稳定,同一份数据通常需要备份到多个分布式节点上,这就是数据冗余机制。如果有许多节点并不存在,只是虚构的身份。那么就没有真正存储数据,结果,在面临着极端情况下,数据被修改或丢失的时候,没有备份还原这些数据,就会导致系统不稳定。

2 在民主治理过程中进行欺诈性投票

对于一个以投票模型来竞争权力的网络,如果攻击者创建了足够的虚假身份,他们就可以以多数票击败网络上真实的节点,这就破坏了公平性。

3 影响大众舆论,破坏推荐系统的公正性

通过使用多个虚假用户帐户,可能会在意味着去中心化的网络中更加集中权力、影响社交媒体平台上的多数意见,甚至操纵民意。目的可能是为了做一些营销,或者获得推荐系统的流量、好评度等。

比如,要攻击抖音的推荐系统,从而在抖音上获得更高的排名和更多推荐,可能伪造一些虚假身份来投票支持,最终使系统的行为产生偏差并超过系统中的诚实身份。

4 导致网络系统不安全,篡改交易数据来盗窃资产

对 P2P 系统来说,如果一个有恶意的人,利用网络中的少数节点控制多个虚假身份,他就可以控制网络系统的很大一部分,控制或影响网络中大量正常节点,比如获得网络控制权,拒绝响应,干扰查询等事情。这就影响了应用的可靠性。

在拜赞庭容错模式下,如果发生了女巫攻击,只要伪装的节点突破n/3的限制,就能控制整个网络。而实际上,恶意节点可能只有一个。

大规模的女巫攻击甚至可以构成 51% 的攻击,可以更改区块链上的数据,可以拒绝接收或者传输区块,让某些交易不被确认,甚至可以逆转交易,导致双重支付等问题。

(关于51%攻击,请参考美剧《硅谷》中的51%攻击是什么?用算力来控制 Web3 的应用会发生吗?)

5 项目方被撸羊毛,遭受不必要的损失

即便是小规模的女巫攻击,构建虚假身份,去撸项目方做空投的羊毛,对项目方而言也是不小的损失。

比如,在2022年4月27日,以太坊二层扩容方案的项目方Optimism官宣将进行多轮代币空投。很多专业羊毛党搞了大量的虚假身份来撸羊毛。2021年5月24日,Optimism进行空投用户资格排查,删除了1.7万个女巫地址并回收了超过1400万枚OP,然后按比例重新分配给第一批空投的其他合格接收者。

身份

3 如何防御女巫攻击呢?

女巫防御的最终目标是通过在覆盖网络中侦查并且孤立女巫身份,或者那些对等地能够产生这些女巫身份的节点,来消除女巫攻击。

但是,这一终极目标往往不能实现,因为大多数防御,除了基于中心化可信认证的方案之外,大多数防御在其检测机制中都有误报和漏报的可能性,可能会容忍某些女巫节点,同时错误地报告其他诚实的节点。

当女巫节点被报告为诚实节点,称为假阳性报告。当诚实节点被报告为女巫节点,称为假阴性报告。防御机制的现实和实际可实现的目标是尽可能地减少假阴性率。

为什么无法完全精确识别呢?

因为网络中很难保证每一个未知的节点是一个确定的“身份”。各种技术被用来保证网络上计算机的身份,例如,认证软件、利用IP地址识别节点、设置用户名和密码等。但是,模仿无处不在,伪装技术也同样存在。

所以,女巫攻击很难杜绝,它会一直存在。

但可以采取下面这些方法有效的减少影响。为了更有效地防御,可能会存在混合策略,叠加多种策略。

身份

(在P2P叠加环境中几种不同的女巫防御的方式)

C/CA 代表中心化的认证机构

D/C 代表去中心化的加密原语

T/D 代表可信设备认证

IP/T 代表IP检测

R/C 代表基于成本循环的检测

S/G 代表基于社交图谱的防御方式

3.1 使用可信认证

可信认证方法可以说是当下最流行的方法之一,在这种方法的传统形式中,中心化授权 (CA) 用于通过将这些身份与预先分配的凭据进行匹配来确保分配给每个对等方的身份是唯一且合法的。这些凭证可能包括加密密钥、通常由一次性密码生成器 (OTP) 生成的同步随机字符串或由中心化认证颁发的数字证书。

根据认证模式的不同,可以分为直接和间接两类验证。

在直接验证中,本地实体查询中央授权机构以验证远程标识。

在间接验证中,本地实体依赖于已经接受的身份,继而保证所讨论的远程身份的有效性。

基于身份的验证技术通常以匿名为代价提供问责制 ,这可能是一个不可取的折衷,特别是在希望允许无检查的信息交换和公开讨论敏感话题的在线论坛。验证机构可以通过拒绝执行反向查找来尝试保持用户的匿名性,但是这种方法使验证机构成为攻击的主要目标。或者,权威机构可以使用除了用户的真实身份的知识之外的一些机制 – 诸如验证未识别的人在特定地点和时间的物理存在 – 来实施在线身份和真实世界用户之间的一一对应。

3.1.1 中心化认证机构

中心化可信认证可能是唯一可以消除女巫攻击的方法。在 P2P 覆盖的环境中,已经有一些关于使用中心化证书颁发机构进行凭证生成、分配和验证的工作。每加入一个新的节点都需要与某一个可靠的第三方节点进行身份验证。当然这样做,会损失认证节点的一部分匿名性。如果参与的P2P节点可以接受,这确实是一个可行的办法。

身份

按场景,具体可以分为两类:

1) 生物人验证

最简单的办法就是用识别生物体的办法,确保背后是生物人而非机器人,实现抗女巫攻击。

就像我们做核酸检测后,用支付宝扫描场所码,随机性需要人脸识别,避免真实的人冒用身份。

身份

还有的方式是使用双重身份验证的安全代码,比如需要在1分钟内用注册手机号收到的验证码验证。

大多数监管要求用户验证其身份以遵守反洗钱和反恐怖主义的法规。他们通常不允许在使用多个帐户,这在管理加密货币交易的规则中经常明确说明。

2) 身份验证

如果验证的是节点,不是人。显然就不能用生物人验证了。

还有很多场景下,即便是生物人,但没有条件来进行识别,比如,没有人脸资料数据库比对。就需要一个信任的代理来认证实体。

验证技术可用于防御女巫攻击和消除伪装敌方实体。本地实体可以基于中央权威来接受远程身份,其确保身份和实体之间的一对一对应,并且甚至可以提供反向查找。身份可以直接或间接地验证。

3.1.2 纯分布式的身份认证

每加入一个新的节点都需要获得当前网络中所有可靠节点的认证,这种方法采用了随机密钥分发验证的公钥体制的认证方式,需要获得网络中大多数节点的认证才能加入该网络。可以假如网络初始有N的可信任节点,这些信任节点可以对其他节点进行担保,担保其他的节点也是可信任的。当然这里面涉及到一些有效的担保算法。

3.1.3 加密原语

这里,加密原语的目的是提供用于验证某个节点的基础设施,以便通过仅让合法节点参与网络,这样使女巫攻击更难发生。

具体来说,就是以去中心化方式利用公钥基础设施 (PKI) 并使用阈值加密成分(例如,秘密共享和阈值签名),以确保所谓的诚实用户之间的协作,而加密方法用于确保此类协议的成功运行。

这就好像在电影中,军队会发布一个今天的口令。只有对上口令的才是自己人,否则就是冒充的敌人。对已经验证过的合法节点,约定了一套加密的验证机制,只有通过验证的才能作为诚实节点。

身份

3.1.4 可信设备

这种做法是使用可信设备或可信模块来存储先前由中心化机构分配给用户的证书、密钥或身份验证字符串。这种设备由于其潜在的高价而基本上很难获得,因此可用于限制女巫攻击者的机会。理论上,当攻击者意图获取尽可能多的女巫身份时,这些防御措施可能会奏效。

不过,在匿名和推荐系统等情况下,较少的女巫身份就可能会造成很大的危害,靠这个来防御是不够的。

3.1.5 DID聚合身份

DID聚合身份是解决女巫攻击和人性证明等问题的重要工具。DID聚合身份是一个将不同去中心化身份绑定到一起的过程。

在数字身份的应用场景中,我们通常需要从一些他方系统中的获取用户身份信息,因为区块链系统本身提供的信息是有限的。比如我们需要评估一个用户的信用,需要非常多的个人数据支撑,但是在去中心化的网络里,系统本身不占有用户的数据,更不可能获取全面的个人数据,这时候就会需要很多可靠数据源去支撑有效的身份信息验证。

身份

一般来说,造假身份很难完成一个系列社交身份的造假。假如要求用户身份对多地址、多链,甚至Web3+Web2的数据和身份进行聚合,对聚合的信息进行校验,可以有效地减少假身份。在这些聚合的社交信息中,还可以生成信用评分、社交图谱等信息来更方便地进行校验。

比如,在Gitcoin的第10轮资助项目中,Gitcoin要求申请资助的用户将多个加密原生身份项目聚合在一起,以增加该帐户对匹配池的捐赠权重。

目前有9个受信任的身份识别应用程序包括Gmail、Twitter、SMS 和 Facebook,其余5个是加密原生的。Gitcoin已经在尝试通过使用像ENS这样的应用程序来进一步整合Web3,允许用户通过链接到ENS域来验证帐户。

(关于身份,请参考身份简史:你是谁?谁证明?)

3.2 资源测试

除了用于防御女巫攻击的资源测试方法之外,基本思想是检查与假定不同用户相关联的一组身份是否拥有与身份数量匹配的足够资源。这些资源可能包括计算能力、带宽、内存、IP 地址,甚至信任凭证。

它是一种最低限度的防御。也就是说,该方法不能完全消除攻击,但是会使女巫攻击更难发生。原因很简单,加大了伪造身份的难度,那么女巫攻击自然大大减少。

身份

不过,假如在某个场景下,很少数量的女巫身份也足以威胁许多系统的可用性和安全性,这个方法就不合适。比如,在点评系统中有 1% 的虚假身份参与点评就足以压过正常的投票数(一般只有不到1%的正常用户参与点评)。

3.2.1 算力验证

假如节点需要具有一定的算力,那就进行算力验证。最常见的就是工作量证明(Proof of Work, PoW)。例如,在工作量证明(PoW)共识算法中,用户必须执行一系列困难的计算,然后只有他们才能添加区块。一个试图用大量假身份淹没网络的攻击者将不得不解决相应次数的计算,在计算周期中花费金钱,使攻击更加困难和低效。这就是限制攻击者泛滥并接管网络的原因。这样就有效地杜绝了女巫节点的存在。

因此,要在比特币网络中进行女巫攻击,需要付出极大的代价,导致实施女巫攻击无法获得收益,或者得不偿失。

身份

3.2.2 权益验证

同算力验证类似,其他的共识算法如权益证明(Proof of Stake, PoS)、委托权益证明(Delegated Proof of Stake, DPoS) 要求具有一定的虚拟资产作为基础。虽然这样做不能直接阻止女巫攻击,但会使攻击者几乎必须增加在网络中创建身份的成本,从而难以进行大规模的女巫攻击。

身份

(具体了解工作量证明和权益证明,请参考以太坊「合并」会影响哪些领域?有哪些机会?

3.2.3 IP 地址异常

通用测试方案包括测试对方的 IP 地址,试图确定他们的位置并将其与他们的活动相匹配。比如,声称自己是X国人,但是显示的地址是Y国的,当然就不可信。

特别是,如果从同一特定地理区域产生大量活动,相比其他地区有异常,则其中一些活动很可能是由于女巫身份造成的。当然其中也有正常身份的人。

这个方法的主要假设是 IP 地址很难在广泛的地理区域中获得。实际上,黑产集团存在巨大的僵尸网络,这种防御机制对于这样的专业攻击团伙是无用的。顶多就是弄掉一些撸羊毛的小鱼小虾。

身份

(伪造IP地址的攻击)

3.2.4 特定测试

通过一些特定的测试来识别,作为防御女巫攻击的一种方法。比如,常见的图像和互动模式的验证码识别可以有效地找出非人类。

身份

而解答特定的难题则可以识别某个节点是否属于符合要求的诚实节点。

3.2.5 特征向量

在做大数据的时候,往往需要通过很多特征向量来区分出是不是同一个用户,同样的在P2P网络中,我们也可以通过这种特征向量来区分这个节点是不是伪造的节点。当然这种方式不能完全避免女巫攻击,但是可以有效的减少女巫攻击。

比如,正常节点应该配置的资源资源可以作为标准,对比异常节点的资源情况。

通过扫描计算资源,存储空间,网络带宽及其他参数来确定一些身份是否拥有比自己应有的更少的资源,从而确定是否是女巫节点。

3.3 基于社交图谱的防御

之前针对分布式系统中女巫攻击问题提出的大多数解决方案都有局限性和缺点,基于社交网络的女巫防御尝试以优雅的方式克服这些问题。

3.3.1 基于社交网络的社交图谱

首先,基于社交网络的女巫防御大多是解决女巫攻击问题的去中心化解决方案,这意味着这些设计在没有任何中心授权的情况下运行——这是大多数分布式系统中的重要特性。

其次,这些防御利用社交节点之间社交链接的信任,使诚实节点之间的协作变得可能且容易。

第三,这些防御被事实证明,能以低成本实用且有效地防御女巫攻击,

身份

3.3.2 基于交易的关系图谱

在golem网络中,他们发明了一种算法来杜绝女巫攻击,叫做Model 0。golem是一个算力付费的区块链项目,用户付费然后在区块链网络上面完成计算。

身份

在Model 0中,有两种节点:Known 和 unknown, 并且会保存所有请求者的请求历史。如果一个请求者他历史记录里面有3-5个成功交易,那么这个请求者就是Known节点,其他的没有发生过交易的就是unknown节点。

系统如果一直和Known节点进行交互当然不会出现任何问题,但是Known节点毕竟是有限的,那么系统还是要接收一定的Unknown节点。怎么保证接收Unknown节点的过程中,不会受到女巫攻击呢?

办法就是构造一个量化的机制,当节点跟Unknown节点进行交互的过程中,如果出现错误或者失败,那么节点可以暂时拒绝和Unknown节点的请求,只接收Known节点的请求。在未来的某个时间再去接收Unknown节点的请求,这样就保证了系统在整体上是可用的,不会出现大面积服务拒绝的情况。

4 总结

P2P 网络极易受到女巫攻击,并且由于其网络的性质,解决女巫攻击这一问题比以往都难,因为它本身并不鼓励使用中心化认证机构。

女巫攻击其实就是身份问题造成的,理论上,每个身份(或节点)有已经被验证的唯一身份,且不可被伪造,女巫攻击就不会发生。这就是DID(分布式身份)的目标,未来,越来越多的诚实的人具有了DID,就会让不诚实的人难以作恶。

从目前的技术发展来看,虽然列举上面的十几个方法,但还没有一个能够完全避免女巫攻击的,即便是貌似完美的中心化验证模式,也由于资源管理和通信的瓶颈问题而不能做到无限大规模的使用。而且,这样的中心化存储节点,很可能成为黑客攻击的最主要目标。

其他的方式,虽然提高了造假身份的成本,但也不过就是提高了攻击成本而已。假如收益足够大,这些成本高一点,也不是问题。比如,51%的攻击,成本虽然很高,但还是有不少发生的案例。

不过,从趋势来看,随着整个行业的技术进步,已经演化到了一个更加去中心化的生态系统,从大量的去中心化交易所 (DEX) 的成功可以证明,它们将变得越来越少。

身份

读完了,请你思考下列问题:

1 怎样避免自己的身份被别人冒充,造成自己的损失?

2 假如你有一个项目,你会采用上述的哪一些办法来防御女巫攻击?

3 抖音是怎么防止女巫攻击恶意刷量刷排名的呢?

责任编辑:Felix