本文由CertiK原创,授权金色财经首发。
北京时间3月14日,CertiK安全技术团队发现DeFi稳定币项目TrueSeigniorageDollar发生新型攻击事件,总损失高达约1.66万美金。
此次攻击事件中攻击者利用了去中心化组织(DAO)的机制原理,完成了一次不借助"漏洞"的攻击。
技术分析?
整个攻击流程如下:
①?攻击者
地址:?
0x50f753c5932b18e9ca28362cf0df725142fa6376
通过低价收购大量TrueSeigniorageDollar项目代币TSD,然后利用大量的投票权,强行通过2号提案。
首发 | imKey正式支持Filecoin,成为首批Filecoin硬件钱包:12月1日,随着imToken2.7.2版本上线,imKey同步支持Filecoin,成为业内首批正式支持FIL的硬件钱包。Filecoin作为imKey多链支持的优先级项目之一,成为继BTC、ETH、EOS和COSMOS四条公链后的第五条公链。
据悉,imKey团队已在Q4全面启动多链支持计划,计划实现imToken已经支持的所有公链项目,本次imKey升级更新,无需更换硬件,不涉及固件升级,通过应用(Applet)自动升级,即可实现imKey对Filecoin的支持及FIL的代币管理。[2020/12/2 22:52:32]
首发 | 火币集团全球业务副总裁:监管将决定区块链技术和加密货币的落地速度:1月21日,火币集团全球业务副总裁Ciara Sun在达沃斯世界经济论坛上表示,对区块链和数字货币的监管态度,2019年是重要的一年。在美国,到2019年底,针对加密货币和区块链政策有21项法案,这些法案包括税收问题,监管结构,跟踪功能和ETF批准,哪些联邦机构监管数字资产等。欧盟(EU)在2020年1月10日实施了一项新法律,要求加密货币平台采取更严格的反做法。瑞士,日本,立陶宛,马耳他和墨西哥通过法律,要求交易所必须根据KYC和AML准则获得许可。中国,土耳其,泰国等国家正在计划自己的中央银行数字货币(CBDC)。而监管将决定区块链技术和加密货币的落地速度。[2020/1/22]
图1:TSD项目2号提案的目标(恶意)代币实现合约以及提案人信息
金色首发 EOS超级节点竞选投票率达6.49%:金色财经数据播报,截止北京时间6月13日15:50,EOS投票率达6.49%。EOS引力区和EOS佳能作为两个来自中国的超级节点竞选团队暂居第五和第六名。其中EOS引力区的得票总数为903万,占比2.96%;EOS佳能的得票总数为877万,占比2.87%。此前异军突起的EOSflytomars暂居第17位,得票总数为630万,占比2.07%。目前跻身前30名的超级节点竞选团队中,有八个团队来自中国。[2018/6/13]
②?在2号提案中,攻击者提议并通过了将位于0xfc022cda7250240916abaa935a4c589a1f150fdd地址的代理合约指向的实际TSD代币合约地址,改为攻击者通过另外地址0x2637d9055299651de5b705288e3525918a73567f部署的恶意代币实现合约。
IMEOS首发 BM表示EOS合约具有整数溢出保护:据金色财经合作媒体IMEOS报道:近日ETH出现多个ERC20智能合约的处理溢出错误,BM在推特上发表评论:新的ETH契约Bug可能会破坏整个Token的供应,让持有者留下无价值Token.这就算为什么代码不能成为法律,随即表示EOS erc合约不容易受到这种攻击。而EOS官方群也有人表示担忧EOS是否具有整数溢出保护?BM回应:有很多C ++模板类可以封装类型并检查溢出。[2018/4/25]
恶意代币实现合约地址:
0x26888ff41d05ed753ea6443b02ada82031d3b9fb
图2:代理合约指向的代币实现合约通过2号提案被替换为恶意代币实现合约
图3:攻击者利用所持地址之一建立恶意代币实现合约
③?当2号提案被通过后,攻击者利用地址0x50f753c5932b18e9ca28362cf0df725142fa6376,实施确定提案中包含的新代币实现合约地址0x26888ff41d05ed753ea6443b02ada82031d3b9fb。
图4:攻击者利用所持地址之一确定2号提案,并向所持另一地址铸造巨额TSD代币
④?同时,位于0x26888ff41d05ed753ea6443b02ada82031d3b9fb地址的恶意合约中的initialize()方法也会在升级过程中被调用。
通过反编译恶意合约,可以得知恶意合约的initialize()方法会将约116亿枚TSD铸造给攻击者的另外一个地址0x2637d9055299651de5b705288e3525918a73567f。
图5:代理合约合约在升级代币实现合约的时候会同时调用initialize()方法
图6:反编译恶意代币实现合约中initialize()方法向攻击者地址铸造代币
⑤?当以上攻击步骤完成后,攻击者将所得TSD代币转换成BUSD,获利离场。
图7:攻击者将116亿TSD代币通过PancakeSwap交易为BUSD
总结
此次攻击完全没有利用任何TSD项目智能合约或Dapp的漏洞。
攻击者通过对DAO机制的了解,攻击者低价持续的购入TSD,利用项目投资者由于已经无法从项目中获利后纷纷解绑(unbond)所持代币之后无法再对提案进行投票的机制,并考虑到项目方拥有非常低的投票权比例,从而以绝对优势"绑架"了2号提案的治理结果,从而保证其恶意提案被通过。
虽然整个攻击最后是以植入后门的恶意合约完成的,但是整个实施过程中,DAO机制是完成该次攻击的主要原因。
CertiK安全技术团队建议:
从DAO机制出发,项目方应拥有能够保证提案治理不被"绑架"的投票权,才能够避免此次攻击事件再次发生。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。