这是白话区块链的第1406期原创 

作者 | 宇星

出品|白话区块链(ID:hellobtc)

在《只有了解攻击,才能更有效地防御攻击 》这篇推文中,我们聊了聊区块链中的延展性攻击、粉尘攻击以及女巫攻击,今天接着给大家聊一聊区块链中的日蚀攻击和 DDos 攻击。

01 日蚀攻击

日蚀攻击( Eclipse Attack )是面向对等( P2P )网络的一种攻击类型,攻击者通过攻击手段使得受害者不能从网络中的其它部分接收正确的信息,而只能接收由攻击者操纵的信息,从而控制特定节点对信息的访问。

看到这段概念不懂?别慌,待大白细细说来。

在比特币和以太坊这种对等网络中,若某年某月某日,A 向 B 转了 10 个币,网络中的其他节点都会共同记账,实现多方维护这个“分布式的记账本”。在这样的对等网络中,网络中的节点都是“对等的”,也就是说它们没有一个中心节点去联系它们,此时节点之间的通信依赖于相邻节点间的彼此通信。

本来节点之间通信甚好,可是突然有一天攻击者小黑瞄准了“大白”节点,通过一些攻击手段使得大白不能接收到相邻节点的信息了,也发送不出去信息了。

于是,大白就想着重新启动节点,这就是有点像手机死机了,就重启一样。重新启动节点的时候,大白节点会在那张存着自己待连接的节点的表里面去找节点来连接,本来这张表存的是一些以前连过的或其他可信任的节点,然而不幸的是这张表被攻击者小黑给篡改了,此时这张表里面就存着大量的攻击者的恶意节点。

大白高高兴兴地重新启动节点成功,然而却连上了被攻击者控制的恶意节点,从而攻击者可以通过操控恶意节点来控制大白节点对信息的访问。

到最后,大白只能和恶意节点通信,至于得到的信息是好是坏,那得看攻击者心情了。 

02 DDoS攻击

DDoS(Distributed Denial of Service),是分布式拒绝服务攻击的简称,指攻击者通过控制不同位置的多台机器,并利用这些机器对受害者实施攻击。

要想进行 DDoS 攻击,大概会进行三个步骤:

1、首先,作为黑客的小黑需要了解攻击目标,俗话说,知己知彼,才能百攻百胜。假设攻击目标是个网站,小黑需要先确定有多少主机连接这个网站的站点,以及这个站点的配置信息等。

2、然后,小黑会找到一些傀儡机,在傀儡机上安装相应的攻击程序,而这个攻击程序是小黑可以在主控机上控制的。这样小黑就可以通过主控机和傀儡机去攻击目标网站。

3、最后,就是实施攻击,小黑通过主控机发起攻击“命令”,这时被控制的傀儡机就会不停地向目标发送攻击包(可能就是一些让这个网站进行服务的请求),也就是说小黑间接地让这个网站不停地处理某个事情,这样就会大量占用网站的资源,从而导致别的用户无法利用这个网站的资源。

在区块链中,DDoS 攻击的主要目的是大量占用网络中的节点资源,使得这些节点无法提供正常的服务,如果受害的节点过多,很可能会影响整个区块链网络的运行。

攻击者可以向网络节点发送大量的虚假信息,进而让这些虚假信息都访问受害者节点,造成受害者节点压力过大。比如,一些虚假的索引信息,会影响到同步区块的速度等。

03 小结

日蚀攻击就是攻击者通过攻击手段使得受害者连接的节点被攻击者所控制,进而控制了受害者节点的通信; DDoS攻击是通过攻击手段占用了受害者的大量资源,使得受害者不能提供正常服务。

虽然区块链中攻击重重,但是仍然有许多应对这些攻击的防御手段。所以,小伙伴们别慌,我们要相信并共同建设区块链系统的免疫力!