日食攻击是区块链上的网络级攻击,攻击者基本上控制了对等网络,模糊了节点对区块链的观点。
在一篇题为“ 以太坊的对等网络的低资源Eclipse攻击 ”的新论文中,波士顿大学副教授Sharon Goldberg; Ethan Heilman,博士。波士顿大学的候选人; 和匹兹堡大学的研究员尤瓦尔马库斯描述了一种对以太坊网络进行日食攻击的方法。
(研究人员在2018年1月9日向以太坊公开了他们的攻击,而以太坊开发人员已经发布了修补程序 - Geth v1.8.1)来修复网络。)
在与比特币杂志的交流中,戈德堡解释了这项研究,它与比特币日食攻击相比,以及为什么她认为这项工作很重要。
首先,她强调与以太坊开发人员合作解决这个漏洞是一个平稳的过程。“这是一个非常实用,简单的披露,”她说。
在一封电子邮件中向比特币杂志,马丁·霍尔斯特Swende,在复仇基金会安全引线- 负责监督复仇发展的非营利性- 解释说,最近Geth的补丁包含了若干修改的对等网络层,并且不影响达成共识的关键码。用户不必担心,因为“日食攻击是针对特定受害者的有针对性的攻击,”他写道,“并且,”然而,我们建议所有用户升级到1.8.1”。
拆分网络?
和比特币一样,以太坊网络上的一个节点依靠与其他节点的连接来获得网络的完整视图。在日食攻击中,攻击者控制去往和来自目标受害者节点的所有连接。这样,攻击者可以阻止受害者获得有关网络其他部分的全部信息。
人们经常认为日食攻击是一种共识选择网络挖掘力量的方式,但是日食攻击在双重攻击中特别有用。收款人可以发送硬币进行交易,并使用日食攻击来阻止接收者获知那些相同的硬币在另一部分网络中的另一笔交易中使用。
“完全不同”
Goldberg描述对以太坊发起日食攻击与“推出比特币”完全不同。为了消除对比特币的日食攻击,攻击者需要控制大量的IP地址(机器)来垄断去往和来自受害者节点的连接。这使得比特币的攻击非常昂贵。
相比之下,研究人员只用一两台机器就能在以太坊中发起类似的攻击,这使得以太坊对以太坊的攻击比比特币上的攻击强得多。“那部分让我感到有些惊讶,”她说。
那么这个交易有多大?“很难知道,”戈德堡在解释说,在以太坊发起这种类型的攻击时保持高位的不是攻击的难度,而是对以太坊对等网络的工作方式缺乏了解。 。正如戈德伯格指出的那样,以太坊网络“基本上没有记录”。
就像在比特币网络的早期工作中一样,在研究以太坊时,研究人员必须根据代码对协议进行逆向工程,并从数据包中编写自己的解析器,因此一切都是从头开始的。“做这项工作很困难,需要一段时间,”戈德堡说。
抵抗力较弱?
乍一看,以太坊似乎更容易发生日食攻击。尽管比特币节点只有八个传出TCP连接来形成传播事务和块的八卦网络,但以太坊节点的数量为13.尽管以太坊的对等网络使用安全的加密通道,但比特币的网络却没有。
但事实证明,以太坊实际上更容易受到攻击,因为比特币依赖非结构化网络,节点之间形成随机连接,而以太坊依赖于基于名为Kademlia的协议的结构化网络,该协议旨在允许节点更有效地连接到其他节点。
以太坊的对等网络中的节点由其公钥标识。值得注意的是,以太坊版本(Geth v1.8.1之前版本)允许用户从具有相同IP地址的同一台计算机上运行无限数量的节点,每个节点具有不同的公钥。
通过使用密钥生成算法,攻击者可以非常快地创建无限数量的节点ID(对等网络上的标识符)。更糟糕的是,攻击者甚至可以创建节点ID,使其对受害者更具吸引力,而不是随机节点ID,基本上将受害者吸引到他们身上。
“你在Kademlia攻击中看到了很多,”Goldberg说。
戈德伯格说她不清楚为什么以太坊首先选择了Kademlia网络。结构化的对等网络通常用于获取一些内容,如电影,将其分解成片段并将这些片段发送到不同的对等体并从每个对等体下载片段,这与BitTorrent(一种对等文件共享协议,工作。
但在以太坊,内容是以太坊区块链,节点在本地存储整个区块链。没有要求打破区块链,让每个节点只存储几块。“我认为这是一个有趣的设计决策,因为我一直认为非结构化网络对于区块链系统会更安全,”Goldberg说。
戈德堡表示,她希望看到更多研究人员深入研究区块链的内容,以更好地理解“不太性感”的部分是如何工作的。
她说:“我们在这个基础设施之上建立了复杂的系统,重要的是人们确保基础设施本身是安全的。”
Goldberg,Heilman和Marcus等研究人员在以太坊生态系统中扮演重要角色。研究人员通过以太坊的bug奖励计划提交了他们的发现,该计划奖励个人提交错误。
“在公开发布之前已经负责任地与我们分享了这篇论文,并且很乐意协助评估Geth的补丁,”以太坊基金会的Holst Swende证实。
领取专属 10元无门槛券
私享最新 技术干货