400-123-4657
点击量:494 时间:2024-11-10
可交接(Reentrancy)或整数阻塞漏洞,是大多数开发人员告诉或者最少听闻过的,关于智能合约当中更容易经常出现的安全性问题。另一方面,在考虑到智能合约的安全性时,你有可能会立刻想起针对密码亲笔签名构建的攻击方式。它们一般来说是与网络协议相关联的。
例如,亲笔签名纠错反击(signaturereplayattacks),一个蓄意用户可监听包括有效地亲笔签名的协议序列,并针对目标展开纠错反击,以期取得益处。本文将说明智能合约处置DAPP分解亲笔签名时有可能不存在的两种类型的漏洞。我们将通过Diligence团队在今年早些时候已完成的现实例子审核结果展开分析。
此外,我们将辩论如何设计智能合约,以防止这类漏洞的经常出现。协议层亲笔签名是以太坊网络中的基础,发送至网络的每笔交易都必需具备有效地的亲笔签名。
右图表明了这种交易的一个例子。除了交易标准属性,例如from、to、gas、value或input在全局命名空间中能用,并且经常出现在智能合约代码中,字段v,r以及s联合构成了交易亲笔签名。以太坊网络保证只有具备有效地亲笔签名的交易可被划入新的区块当中。
这为交易获取了以下安全性属性:1.身份验证:以太坊节点用于亲笔签名来检验交易签名者否具备与公共地址相关联的私钥。开发者因此可以信任这个msg.sender是现实的;2.完整性:交易在亲笔签名后会再次发生变更,否则亲笔签名就是违宪的;3.不可否认性:交易是由from字段中公共地址对应的私钥亲笔签名的,这是不可否认的,并且享有私钥的亲笔签名方早已展开了任何状态变更。合约层协议层并不是亲笔签名发挥作用的唯一场地。
亲笔签名也更加多地被用作智能合约本身。随着gas价格的下跌,而配套解决方案仍在进程当中,则防止链上(on-chain)交易之后凸显了更加多的重要性。
本文来源:bet9九卅娱乐-www.lxsyjt.com