回首Delegatecall漏洞下的Parity多重签名合约(回首过往是成语吗)

admin2年前签约新闻119

事件回顾:

2017年7月19日,Parity Multisig 电子钱包合约被爆出漏洞,攻击者从三个高安全的多重签名合约中窃取到超过15万以太坊(约3000万美元)。

首先我们先来简单了解一下Parity 钱包:

这个钱包的特点有几个:

第一个是它因为是重新写的代码,所以跑起来更快,占用系统的资源更少。

第二个特点是它的同步功能做得更好,所以其他钱包很久不能同步的的时候,它还是能够很快同步。

第三个特点,它虽然是一个全节点钱包,但是它把那些很早的区块只留下了区块头,其他内容删减了,所以同步好的区块的大小也就几个G,而如果是用以太坊的官方全节点钱包,光区块大概就得有40个G。

第四个特点,这个对ICO特别有用,就是它能够设置定时发送交易,能够在到达某个区块数的时候自动发送转账交易。

这个钱包不好的地方在于它对发送代币的支持不太好。不过这个问题可以通过把它的地址导入 imToken 来实现代币的方便发送。

二、漏洞缘由:

delegatecall的含义:

.delegatecall(...) returns (bool):issue low-level DELEGATECALL, returns false on failure, forwards all available gas, adjustable。 call与delegatecall的功能类似,区别仅在于后者仅使用给定地址的代码,其它信息则使用当前合约(如存储,余额等等),函数的设计目的是为了使用存储在另一个合约的库代码。

所以开发者在提供这样的库时,就要如何安排存储来达到这样的目的。

注意delegatecall是危险函数,他可以完全操作当前合约的状态。

黑客通过 delegatecall 调用 initWallet 函数, initWallet 没有检查以防止攻击者在合同初始化后调用到 initMultiowned ,可以将Parity Wallet库合约变为常规多sig钱包并成为它的所有者。意思就是漏洞使得黑客能通过 library 库函数,让自己成为多个 Parity 钱包的新主人,然后调用转账函数把钱转走。

访问控制问题在所有程序中都很常见,而不仅仅是智能合约。

事实上,人们经常通过其公共或外部功能访问合约的功能。

尽管不安全的可视性设置会给攻击者直接访问合约的私有价值或逻辑的方式,但访问控制旁路有时更加微妙。

这些漏洞可能发生在合约使用已弃用tx.origin的验证调用者时,长时间处理大型授权逻辑require并delegatecall在代理库或代理合约中鲁莽使用。

三、具体分析:

1、 initWallet 函数可以改变合约的 owner 。

2、 代码里使用了 delegatecall() 函数,导致所有 public 函数对所有人可见。包括 initWallet 函数。而且 initWallet 函数也没有作任何防护措施。

3、 攻击者先获取owner权限,将调用函数的指令放在Data中。

4、 然后执行execute获取所有 funds:

四、防范方法

1、谨慎使用 delegatecall() 函数。

2、明确函数可见性,默认情况下为public类型,为防止外部调用函数被内部调用应使用 external。

3、加强权限控制。敏感函数应设置 onlyOwner 等修饰器。

阅读剩余的55%

相关文章

企业签署的电子合同范本有哪些?-爱签电子合同(电子合同签署流程)

企业签署的电子合同范本有哪些?-爱签电子合同(电子合同签署流程)

电子合同范本是使用电子合同签署时用到的文本协议,纸质合同也会需要用到电子合同范本,随着互联网发展,电子文档逐渐取代了手写文本,进而衍生出了打印机进行文本的打印,但是不同于纸质合同的是,电子合...

除了网银Ukey,你知道数字证书还有哪些用途吗?​张予曦又美出新高度了,穿吊带连衣裙成熟精致,性感妩媚(数字证书和银行u盾的区别)

除了网银Ukey,你知道数字证书还有哪些用途吗?​张予曦又美出新高度了,穿吊带连衣裙成熟精致,性感妩媚(数字证书和银行u盾的区别)

提到数字证书,很多人的第一印象是网上银行Ukey。除了网银Ukey,生活中还有哪些场景会用到数字证书呢? 伴随着电子签名技术的飞速发展,数字证书应用于日常生活的方方面面(数字证书与电...

易保全区块链资讯|君子签亮相中国互联网大会,助力现场电子签约(君子易事成语有哪些)

区块链+政策 国家市场监督管理局:推动区块链等技术鼓励企业发展网络协同、共享生产新模式 11月10日,国家市场监督管理总局联合发布《进一步提高产品、工程和服务质量行动方案(2...

重磅:区块链电子合同免费试用啦!(区块链合作项目协议书范本最新)

重磅:区块链电子合同免费试用啦!(区块链合作项目协议书范本最新)

来源:祥顺财税俱乐部 企业汇算清缴政策详解免费获取 企业汇算清缴遇到问题?税前扣除凭证政策如何应用?职工薪酬及商业保险税前扣除如何应用?招待费、广宣费、赞助费等税前扣除如何应...

3·15消费提醒丨一笔签名落下,多份合同生效!“贝壳找房”房屋买卖电子合同线上签约看似“便捷”风险大张子枫未修生图流出,被网友公开批评:她的胸碍了谁的“意淫梦”?(贝壳网看房协议)

3·15消费提醒丨一笔签名落下,多份合同生效!“贝壳找房”房屋买卖电子合同线上签约看似“便捷”风险大张子枫未修生图流出,被网友公开批评:她的胸碍了谁的“意淫梦”?(贝壳网看房协议)

中国青年网北京3月15日电(记者 宋潞)伴随新冠疫情防控进入新阶段,各地二手房交易进入活跃期。此前,疫情状态下为推动存量房屋交易,多家中介平台推出了存量房买卖双方不用见面、以电子合同在线签约...

在线签约电子合同如何才能受到司法认可?

在线签约作为新的合同签署形式,越来越被政府以及企业认可,政府出台了诸多政策,在政务服务、人力资源、金融、银行、旅游等行业推动电子签章应用。相较于纸质合同签署形式,在线签约不仅帮助政务服务、企...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。