织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 比特币 > 比特币资讯

深度 | 剖析以太坊智能合约的安全性漏洞,有何解决办法?(6)

时间:2021-03-08 14:54来源:未知 作者:admin 点击:
2. 数据层漏洞 难以分辨的链:当以太坊分为ETH和ETC两条链[13]时,首先从跨链重放攻击中观察到此漏洞。回想一下,以太坊使用ECDSA签署交易。在进行EIP-

2. 数据层漏洞

难以分辨的链:当以太坊分为ETH和ETC两条链[13]时,首先从跨链重放攻击中观察到此漏洞。回想一下,以太坊使用ECDSA签署交易。在进行EIP-155 [7]硬分叉之前,每笔交易都包含六个字段(即,随机数,收件人,值,输入,gasPrice和gasLimit)。但是,数字签名不是特定于链的,因为那时甚至还不知道特定于链的信息。结果,为一个链创建的事务可被另一链重用。通过将chainID合并到字段中,已消除了此漏洞。

State Trie中的“空帐户”:此漏洞首先从参考文献[12] [13]中报告的DoS攻击中发现的。

3. 共识层的漏洞

可外包的难题:回想以太坊采用了名为Ethash的PoW难题,该难题旨在抵御ASIC,并能够限制并行计算的使用(由于事实上,矿工的大部分工作将是读取数据集。 通过有限的内存带宽)。 但是,狡猾的矿工仍然可以将搜索难题解决方案的任务划分为多个较小的任务,然后将其外包。 该漏洞是由Ethash造成的,它仅使拼图解决方案在原图像搜索中部分顺序,而不是依赖顺序PoW。

概率最终性:此漏洞是由以太坊区块链偏爱可用性而非一致性的设计引起的,这是根据CAP定理[14]选择的。

带有块填充的DoS:首次从Fomo3D合约中观察到此漏洞[15]。该漏洞仅导致攻击者的交易包含在新开采的区块中,而其他交易则被矿工放弃一段时间。当攻击者提供更高的gasPrice以激励矿工选择攻击者的交易时,可能会发生这种情况。此漏洞是由贪婪的采矿激励机制引起的。在撰写本文时,尚无解决方案来防止此漏洞。

诚实的采矿设想:此漏洞是由共识协议引起的,因为它与激励不兼容,请参见[16]。在撰写本文时,此漏洞仍然是一个未解决的问题。 

出块奖励:它是指出块奖励机制,用于应对由于快速生成块而导致的陈旧区块增加。但是,这种机制有一个副作用,即允许自私的矿工将陈旧的区块变成出块并获得奖励,从而有效地激励了自私的采矿和双重支出。

验证者的困境:此漏洞最早在参考文献[17]中报道,指的是当验证新交易需要不费吹灰之力的计算时,无论矿工是否选择验证交易,都将受到攻击。如果矿工验证了计算量大的交易,那么他们将花费大量时间,并在下一个区块的竞争中为攻击者提供优势;如果矿工未经验证接受交易,则区块链可能包含不正确的交易。此漏洞是由以太坊中验证资源需求交易的高昂成本引起的。可以通过限制验证块中所有事务所需的计算量来缓解此漏洞[17]。但是,尚不清楚如何消除此漏洞。

4. 网络层的漏洞

4.1无限节点的创建:此漏洞是针对Geth客户端1.8之前的版本。在以太坊网络中,每个节点都由唯一的ID标识,该ID是64字节的ECDSA公钥。攻击者可以在一台计算机上创建无限数量的节点(即具有相同的IP地址),然后使用这些节点垄断某些受害者节点的传入和传出连接,从而有效地将受害者与网络中的其他对等节点隔离开来。此漏洞是由对节点生成过程的弱限制引起的。通过使用IP地址和公钥的组合作为节点ID,可以消除此漏洞。格斯(Geth)开发人员尚未采用这种对策,他们认为这对客户端的可用性有负面影响。  (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容