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

写在前面的话

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

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

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

同系列:

异形攻击

异形攻击又称地址污染攻击,是指诱使同类链的节点之间互相发现、互联、侵入的一种攻击手法。同类链的意思是底层 P2P 网络使用了相同或者相似的 P2P 通信协议。这尤其针对比特币和以太坊系列的公链。

众所周知,最近几年区块链行业蓬勃发展,又过于浮躁。其中很多劣质公链大量 COPY 以太坊、比特币的源码,甚至不做修改,仅仅修改下名字成为一条新的公链,这就导致大量的公链的底层是相同的或者兼容的。

那么如果攻击者执行了异形攻击,就有可能导致同类链的节点之间互相缠绕在一起,影响公链节点内部的通信和路由,进而影响到交易、共识和安全。从而让攻击者有机会施行其他的攻击,比如 DDoS 攻击,网络分裂攻击。

本质上还是由于伸手党的存在,并且不加以修饰和对节点的检测造成了异形攻击。应对办法也很简单,首先是拒绝做伸手党,即便伸手党,起码也要研究下别人的代码,做点创新和原创的东西;其次加强对本公链的节点类型的检测,比如节点地址不符合的一切拒绝,通信协议不一致的一切拒绝,通信报文头特殊字段不一致的一切拒绝等等。

配图与本文无关

窃听攻击

这不是区块链特有的攻击手法,本质上就是流量行为分析,通过分析流量,甚至可以把 IP 和家庭地址关联起来,从而知道某笔交易时来自某一个特定的客户端或者某个人。

区块链的去中心化带来的一个好处就是匿名,或者说相对匿名,但是攻击者通过追踪某笔交易,分析流量等措施,锁定现实世界的具体某个人,然后执行一些违法犯罪的事情。

交易延展性攻击

延展性攻击者侦听P2P网络中的交易,利用交易签名算法的特征修改原交易中的input 签名, 生成拥有一样input和output的新交易,然后广播到网络中形成双花,这样原来的交易就可能有一定的概率不能被确认,在虚拟货币交易的情况下,它可以被用来进行二次存款或双重提现。

案例

  1. 2014年8月,在线黑市Silk Road 2遭遇交易延展性攻击,部分比特币被盗,损失约260万美元

  2. 2013年11月,GHash.io矿池对赌博网站BetCoin Dice进行多次付款欺诈,实施双重支出攻击

BGP劫持攻击

边界网关协议(BGP)是因特网的关键组成部分,用于确定路由路径。BGP劫持,即利用BGP操纵因特网路由路径,最近几年中已经变得越来越频繁。 无论是网络犯罪分子还是政府,都可以利用这种技术来达到自己的目的,如误导和拦截流量等,目前在区块链网络中节点的流量一但被接管又能对整个网络造成巨大的影响,如破坏共识机制,交易等各种信息。

而对于BGP劫持攻击中,目前有安全研究者已经证明该攻击的概念可行性,从2015年11月5日至2016年11月15日通过对节点网络的分析统计目前大多数比特币节点都托管在少数特定的几个互联网服务提供商(ISPs),而60%的比特币连接都是在这几个ISP。所以这几个ISP可以看到60%的比特币流量,所以也能够做到对目前比特币网络的流量控制权,研究者通过劫持的场景验证了至少如下两个攻击概念是可行的,同时给出了验证的代码[8]。

分割攻击

攻击者可以利用BGP劫持来讲区块链网络划分成两个或多个不相交的网络,此时的区块链会分叉为两条或多条并行链。攻击停止后,区块链会重新统一为一条链,以最长的链为主链,其他的链将被废弃,其上的交易、奖励等全部无效。

攻击场景举例:

1) 首先,攻击者发动BGP劫持,将网络分割为两部分,一个大网络、一个小网络。

2) 在小网络中,攻击者发布交易卖出自己全部的加密货币,并兑换为法币。

3) 经过小网络的“全网确认”,这笔交易生效,攻击者获得等值的法币。

4) 攻击者释放BGP劫持,大网络与小网络互通,小网络上的一切交易被大网络否定,攻击者的加密货币全部回归到账户,而交易得来的法币,依然还在攻击者手中,完成获利。

路由攻击

路由攻击往往配合其他的攻击来施行,攻击者可以先利用女巫攻击或者日蚀攻击把网络分裂,然后篡改消息发送到网络当中。最终效果是影响了网络中的通信和路由。

写在最后

其实关于区块链系统的攻击方式还有很多,本系列主要偏重于网络层面的攻击。针对不同的攻击,需要采用不同的防御方案,并且很多攻击手法并非区块链特有。随着区块链的发展,黑客的攻击也不会停止,对于公链来说,还有很多挑战。

参考

疯狂“搬运”币的黑客如何攻击区块链|干货(一)

Blog:

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

buy me a cola!

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