女巫攻击及其防范

什么是女巫攻击

之前的文章在讲拜赞庭容错的时候,我们提到了女巫攻击Sybil Attack。那什么是女巫攻击呢?

女巫攻击这个词来源于Flora Rheta Schreiber 在1973年的小说《女巫》,这本小说写的是对兼具多种人格的Sybil Dorsett进行心理治疗的故事。一人化身为多人,这个就是女巫攻击的本质。

在一个单纯的分布式P2P网络中,任何节点可以随意的加入和退出P2P网络,没有任何限制。它只需要对外暴露其在P2P网络中的唯一标志即可,除此之外,其他的信息都是私有的。

鉴于P2P网络分布式的特性,这就意味着没有任何中心节点,或者说没有特权节点。这样即使大家发现了恶意的节点,也没有权利去回滚整个网络的操作。在P2P网络中,我们必须假设所有的节点都是不可靠的,跟所有其他节点的交互都是有风险的。

女巫攻击正是利用了P2P网络的分布式特性,将一个节点伪装成多个节点,并将这多个伪装节点(也叫做Sybil 节点)广播到整个P2P网络中,从而做一些莫可名状的事情,比如获得网络控制权,拒绝响应,干扰查询等事情。

考虑到之前我们提到的拜赞庭容错,如果发生了女巫攻击,一个节点可以伪装成多个有效节点,这样只要伪装的节点突破n/3的限制,就能控制整个网络。而实际上,恶意节点可能只有一个。

女巫攻击的防范

事实上,在某些P2P网络中,女巫攻击并不需要花费太多功夫即可完成。那么我们我们怎么去防范女巫攻击呢?

身份验证

既然女巫攻击的方法就是伪造网络ID,那么最简单的办法就是让每个加入的节点来做身份认证。这样伪造的节点无法通过认证,那么女巫攻击就完美的解决了。

身份验证也有两种方式:

  1. 通过统一的第三方机构对节点进行认证。熟悉区块链的同学可能有听过‘oracles’,这个就是一个第三方的可信机构。当然这样做,会损失认证节点的一部分匿名性。如果参与的P2P节点可以接受,那么这确实是一个可行的办法。

2014年上映了一部德国的片子《我是谁:没有绝对安全的系统》,这个片子是讲的黑客的故事,同样的,这个世界上也没有绝对匿名的系统。世界上比较有名的像比特币,洋葱路由等都可以通过某些办法获得用户信息,这些我会在后面的文章中具体讲述。

  1. 还有一种就是非直接认证。
    可以假如网络初始有N的可信任节点,这些信任节点可以对其他节点进行担保,担保其他的节点也是可信任的。当然这里面涉及到一些有效的担保算法,这里就不详细讲述了。

特征向量

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

让伪造变得困难

如果能够加大伪造的难度,那么女巫攻击也就不那么有效了。这种最常见的就是POW了,工作量证明,让节点通过运算去解决问题,解决了才认可你是一个有效的节点,这样就有效的杜绝了女巫节点的存在。

Model 0

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

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

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

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

更多教程请参考flydean的博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 161,780评论 4 369
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,424评论 1 305
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 111,397评论 0 254
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,576评论 0 218
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,997评论 3 295
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,945评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,107评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,850评论 0 208
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,625评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,804评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,285评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,613评论 3 261
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,291评论 3 242
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,164评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,963评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,096评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,886评论 2 278

推荐阅读更多精彩内容