浅谈几种区块链网络攻击以及防御方案之女巫攻击

写在前面的话

自比特币诞生到现在,比特币(网络)经历过大大小小非常多次的攻击,尤其在比特币诞生之初的几年,并且随着比特币价格的一路飙涨,黑客针对比特币网络的攻击就一直没有停止过。据估算,目前大约有 350 ~ 400 万比特币永久丢失,价值大约 240 ~ 280 亿美元。当然其中不只有由于黑客的攻击导致的丢失,毕竟比特币最初的几年很多人都没有意识到比特币的价值,很多的私钥都遗失了。

本文就谈一下目前几种区块链网络攻击,以及其防御方案。

本文尽量用简单易懂的白话来描述,也仅代表我个人的看法,欢迎探讨

同系列:

女巫攻击(Sybil Attack)

什么是女巫攻击

“女巫”这个词我们应该不陌生,通常指邪恶的化身,并且拥有可怕的魔法。

对于区块链来说,女巫攻击指攻击者将一个节点伪装成多个节点进入 P2P 网络中,在 P2P 网络中具有多重身份。通常用于恶意刷票、恶意刷排名、恶意刷信誉等网络活动,或者在一些网络活动中通过数量优势进行造假。

女巫攻击与日蚀攻击由类似的地方,但日蚀攻击的着眼点在于某一个确定的节点,而女巫攻击的着眼点在于整个网络。通过伪造身份进入网络,干扰路由,干扰信息传递等。

关于日蚀攻击可以看这篇博文 浅谈几种区块链网络攻击以及防御方案之日蚀攻击

如何防御女巫攻击

女巫攻击的特点就是利用一个节点伪造多重身份信息进入网络,所以一般来说提高进入 P2P 网络的门槛就能有效避免女巫攻击。

身份验证

身份验证很好理解,进入这个网络的任何节点都需要做验证,验证通过才能进入网络。这就像去参加一个秘密会以,你需要邀请函才能进入。

但是如何做身份验证呢?通常有两种方式:

  • 去中心化身份认证
  • 中心化身份认证(第三方身份认证)

但基于去中心化系统的匿名性,一般不推荐采用中心化的身份认证方式。所以在进入网络之时,通常需要网络当中已经存在较长时间或者信誉较高的多数节点共同达成认证公式,才能被允许进入。

工作量证明

进入网络是需要成本的,不能够随意的加入退出。所以可以利用类似 POW 的方式对节点入网做一定的工作量证明,提高节点准入门槛。

特征向量

浅谈几种区块链网络攻击以及防御方案之日蚀攻击 一文中谈到针对日蚀攻击的防御方案,其中有一个防御方案是采用限制本地路由表中来自同一个 IP 段的节点数量。

其实这种方式是可能造成误杀的,因为并非来自同一个 IP 段的节点就可能是恶意节点。所以我们可能需要一种更加准确的方式去分析一个节点的行为,区分一个节点。

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

写在最后

女巫攻击相对来说成本是很低的,但是可能获取的收益是比较高的。通常这种攻击也会结合一些日蚀攻击,或者 DDOS 攻击进行。所以真正的区块链网络攻击,多半会结合多种攻击手段一起进行。

参考

女巫攻击及其防范

Blog:

2020-04-12 于杭州
By 史矛革

buy me a cola!

欢迎关注我的其它发布渠道