关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

区块链安全,啥是日蚀攻击(Eclipse Attack)?

发布时间:2021-05-11 19:09:10

  日蚀攻击是比较简单的基本攻击,攻击者可以通过它干扰网络的节点。顾名思义,这种攻击可以防止对等网络中被攻击的节点获得有效信息,从而导致网络中断或准备更复杂的攻击。

   1620442891501.jpg

  表面上,日蚀攻击(Eclipse  Attack)类似于女巫攻击(Sybil  Attack)。虽然攻击者通过攻击节点干扰网络有一些相似之处,但最终攻击对象不同。日蚀攻击的目标是单个节点(原因如下所述),女巫攻击的目标是整个网络范围,目的是操纵网络协议的信誉。

  在2015年发表的《在比特币对等网络上的日蚀攻击》论文中,对这一概念进行了详细讨论,波士顿大学和希伯来大学的研究人员报告了日蚀袭击的实验结果和与之对抗的预防措施。

  日蚀攻击的工作原理

  比特币矿工需要专用设备来验证新的块,但非矿(或整个)节点只需要很小的计算力就能正常工作。这样,任何人都可以在低廉的设备上运营节点,有助于比特币的中心化。软件程序维护与对等同步的事务数据库,使其与网络保持同步。

  大量节点连接的限制因素是带宽。因此,虽然有很多设备可以运行程序,但比特币网络设置了连接数限制(最多125个),因此普通设备无法直接与其他设备进行互连。

  在日蚀攻击中,攻击者确保目标的所有连接都建立在攻击者控制的节点上。攻击者首先将洪水从自己的IP地址发送到目标地址,受害者可以在程序重新启动时连接到攻击者的IP地址。可以强制重新启动(对目标的DDoS攻击),也可以等到程序自动重新启动。

  在这种情况下,手无寸铁的受害者倾听恶意节点的摆布,攻击者提供无法从实际网络获取数据的错误数据。

  日蚀袭击的结果

  如果攻击者可以消耗网络节点的资源,使其与网络分离,那么就有动机执行这些攻击。如果节点被隔离,攻击者可以连续实施几次攻击。不需要确认的“双花”

  如果独立节点接受未确认的交易,可能会发生“双币”风险。如果发生的交易在进入区块之前(提交区块链)已经广播,发送者可以花费与之前交易相同的金额,在其他地方轻松地进行新交易。如果新发生的交易手续费高,矿工将优先处理该交易,认为该交易最先发生,因此最先发生的交易将无效。

  一些商人和个人接受这些0确认交易。假设某商人鲍勃销售高档汽车。他不知道Alice已经日蚀攻击了他的节点,再次看到她的豪华跑车订单后也没有任何怀疑。Alice做了一笔交易,Bob立即将其广播到网络上。看到支付消息即将确认,非常满意,他把车钥匙交给了爱丽丝,爱丽丝迅速离开了车。

  事实上,交易不会广播到网络,Bob只是将交易传递到Alice的恶意节点,Alice控制的恶意节点不会将交易传递到实际节点。因此,此次交易被视为无效,此时Alice在(实际)网络上重新支付了同样的金额,可以转交给她自己或转交给其他人。最终在实际网络上看到了最初和Bob之间的早期交易,但由于Alice账户的资金已经被使用,所以无法验证该交易。

  需要n次确认的“双花”

  需要n次确认的“双化”类似于不需要确认的“双化”,但涉及到更多的准备工作。很多商人希望在付款显示为有效之前,可以等待一定数量的确认。为了解决这个问题,攻击者必须让矿工和商家节点都进行日蚀攻击。攻击者与商人下单,他们就向矿工广播交易(遭到日蚀袭击)。商人可以在区块链网络中看到交易确认,但矿工和商人所在的网络是隔离的,所以区块链不是大多数实际节点都能看到的。

  攻击者将此虚假区块链网络信息发送给商人,商人看到交易得到确认后收购了商品。如果遭受日蚀攻击的节点重新连接到实际网络,实际区块链网络将认为该节点无效,从而隔离节点部分(类似于51%的攻击)。

  削弱矿工之间的竞争

  受到日蚀攻击的节点不受网络隔离的影响继续工作。矿工将在合同规定的规则范围内继续验证区块,但添加的区块在与实际网络节点的通过过程中被废弃。理论上,对大部分矿工的大规模日蚀攻击可以用来促进51%的攻击。目前,即使是最有资源的攻击者,收购大部分比特币计算能力(约80TH/s)的成本也太高,因此攻击者至少要尝试40TH/s以上的计算能力。

  假设这个计算力分散在10个参与者(每个参与者约8TH/s)中,攻击者可以将这些参与者从网络中隔离出来,大大减少51%的攻击要求。如果这些节点中有5个受到日蚀攻击,攻击者可以减少40TH/s的计算力来找到下一个块,攻击者现在只要提高20TH/s的计算力就可以控制节点。

  对目标实施日蚀攻击可以实现的其他破坏性活动,例如,通过节点操纵挖矿或利用矿工之间的算力竞争获取下一个街区。(威廉莎士比亚,《北方执行报》(Northern  Exposure))。

  减缓日蚀袭击的影响

  只要有足够的IP地址,攻击者就可以对所有节点实施日蚀攻击。防止这种情况的最直接方法是阻止节点非法访问,并仅与特定节点(例如,被对等网络上的其他节点列入白名单的IP)建立出站连接。但是,正如研究论文指出的那样,这不是一个可以大规模实施的方案,如果所有参与者都采取这些措施,新节点将无法加入网络。

  作者向比特币计划提议的一些调整方案在白皮书发表后被纳入比特币计划。这些措施会随机选择新连接,提高地址的存储空间等,稍微修改代码,增加日蚀攻击的成本。

  日蚀攻击在对等网络上进行。作为一种可以独立攻击部署的方法,它们令人讨厌。日蚀袭击的真正目的是提供在实际实施其他可能产生更大影响的袭击或向攻击者挖矿方面的优势。

  一般来说,日蚀袭击没有造成严重影响。尽管在区块链网络上部署了预防措施,但威胁仍然存在。日蚀攻击和比特币及大部分加密货币面临的大部分攻击一样,使恶意攻击者无力是最好的防御措施。



/template/Home/Qiggg/PC/Static