主页 > imtoken钱包下载安卓教程 > 对以太坊区块链网络的详细 Eclipse 攻击

对以太坊区块链网络的详细 Eclipse 攻击

imtoken钱包下载安卓教程 2024-01-26 05:15:40

介绍

Eclipse 攻击是一种网络级攻击。 攻击者模仿所有其他节点的传入和传出流量,将受害者与网络上的其他节点隔离开来。 这种攻击意味着通过阻止最新的块信息到达节点来隔离节点。 事实上,比特币网络也容易受到日食攻击。 但在以太坊网络上,两个节点就足以发起日蚀攻击。

为什么以太坊容易受到日食攻击?

按照一般的理解,以太坊的 P2P 网络相比比特币网络更能抵抗日食攻击。 由于比特币节点默认只有 8 个出站连接,而以太坊 P2P 网络使用加密认证消息,因此比特币 P2P 网络不对网络消息进行认证。 也就是说,比特币 P2P 网络容易受到 MIMT 完整性攻击和 BGP 篡改攻击。

然而,很多常识都是错误的。 理论证明以太坊的P2P网络不如比特币网络安全。 在以太坊网络中,只需要控制两个不同IP地址的节点就可以发起off-path eclipse攻击。 在比特币网络中,寻找off path的eclipse攻击需要控制数百台不同IP地址的主机才能完成。

攻击

有两种路径外蚀攻击和一种修改时间攻击。

对独占连接的日食攻击

攻击者利用所有连接到以太坊客户端的网络连接可能来自其他节点。 因此,攻击者一直等到受害设备重新启动,模拟从攻击者节点到受害设备的传入连接。 当受害者的所有连接槽都被攻击者占用后以太坊网络是什么,即被eclipse攻击。

占领表eclipse攻击

以太坊网络也受到低资源日蚀的影响,攻击者使用一组特别伪造的节点 ID 反复 ping 受害设备。 当受害设备重启时,很有可能会有13个出站连接连接到攻击者。 然后攻击者利用传入的连接占用受害者的所有连接,完成对节点的eclipse攻击。

对修改时间的日食攻击

如果本地始终领先以太坊网络上其他节点20秒,也有可能对该节点发起日蚀攻击。 这种攻击是通过修改以太坊网络上节点运行的 NTP 协议来实现的。

Eclipse攻击的启示

Eclipse攻击完成了对consensus共识算法、区块链第二层协议、智能合约的攻击。

共识算法

Eclipse攻击可以用来攻击区块链的共识算法,也可以作为双花和自私挖矿的最优恶意策略。

区块链第 2 层协议

在区块链的第二层协议中,一对用户将交易信息放在区块链上,为两个用户建立支付通道。 用户可以用没有放在区块链上(on blockchain)的交易互相支付。 这种链下支付速度非常快,因为它不受区块链相关性能瓶颈的影响。 最后将反映货币余额的支付信息上链,关闭支付通道。 协议的安全性要求支付通知关闭后不能进行链外支付。 因此,攻击者可以欺骗受害者,让受害者认为支付通道没有关闭,没有受到eclipse攻击的网络节点可以看到支付通道是关闭的。 如果受害者是商家,那么攻击者无需支付就可以拿到商品。

对智能合约的攻击

以太坊智能合约有许多独特的功能。 例如,智能合约可以包含代表状态的变量,并且可以根据以太坊区块链上的交易信息改变状态。 研究发现,如果区块链用户看到的不同,以太坊智能合约可能会受到攻击。 经过实验,可以使用 eclipse 攻击来注入这些不一致。

对策

1.限制最大传入TCP连接数,要求客户端有传入和传出的TCP连接。

2. IP与ECDSA密钥一一映射。 因为可以在不扩展资源的情况下创建无数个节点ID,然后每个节点运行不同的IP地址。 为了解决这个问题,研究人员建议在 IP 和 ECDSA 密钥之间应用严格的一对一映射。

3.节点ID与表中bucket的映射不公开。 节点ID和桶映射继承自Kademlia协议以太坊网络是什么,节点a和节点b之间的距离反映在节点b表的桶中。

这些反制措施并不能防止eclipse攻击,只是增加了发起eclipse攻击所需的节点,即增加了eclipse攻击的实施难度。

更多攻击细节、预防措施和实验数据,请参见论文 Low-Resource Eclipse Attacks on Ethereum's Peer-to-Peer Network。