CER:CertiK:不借助漏洞的攻击?True Seigniorage Dollar攻击事件分析

北京时间3月14日,CertiK安全技术团队发现DeFi稳定币项目TrueSeigniorageDollar发生新型攻击事件,总损失高达约1.66万美金。此次攻击事件中攻击者利用了去中心化组织(DAO)的机制原理,完成了一次不借助"漏洞"的攻击。技术分析?

整个攻击流程如下:

①?攻击者(地址:0x50f753c5932b18e9ca28362cf0df725142fa6376)通过低价收购大量TrueSeigniorageDollar项目代币TSD,然后利用大量的投票权,强行通过2号提案。图1:TSD项目2号提案的目标(恶意)代币实现合约以及提案人信息

Offchain Labs :Arbitrum One 网络现已恢复 宕机系主 Sequencer 节点中的硬件故障:1月10日消息,针对昨日的 Arbitrum One 网络宕机事件,Offchain Labs 发布博客表示目前该网络及所有公共 RPC 节点都已经恢复运行,具体宕机原因是主 Sequencer 节点中的硬件故障,“虽然我们通常有冗余,可以让备份 Sequencer 无缝控制,但由于正在进行软件升级,这些功能未能生效。结果,Sequencer 停止处理新事务。”

Offchain Labs 表示,将不遗余力地最大限度地延长正常运行时间,一旦 Arbitrum 完全去中心化,最有力的保证就会到来。[2022/1/10 8:37:18]

②?在2号提案中,攻击者提议并通过了将位于0xfc022cda7250240916abaa935a4c589a1f150fdd地址的代理合约指向的实际TSD代币合约地址,改为攻击者通过另外地址0x2637d9055299651de5b705288e3525918a73567f部署的恶意代币实现合约。恶意代币实现合约地址:0x26888ff41d05ed753ea6443b02ada82031d3b9fb图2:代理合约指向的代币实现合约通过2号提案被替换为恶意代币实现合约

UENC公链与CertiK、北京链安达成战略合作:据官方消息,UENC公链智能合约预计将于7月上线测试网,待测试网各项指标达标,将在第三季度部署主网,合约审计业务已与CertiK和北京链安达成战略合作,运用UENC链上特性,双方将共同推动应用生态的安全规范发展。

UENC(United Engine Chian,引擎链)是一个高效节能的去中心化公有链系统,通过DPOW的共识算法,实现了CPU低能耗的工作模式,实现了链上快速,高并发的支付交易,目前任何可用的计算机都可以参与网络的基础建设。[2021/6/11 23:30:09]

图3:攻击者利用所持地址之一建立恶意代币实现合约

Balancer回应“计划在Algorand上扩展”:未参与项目构建,仍致力于推出Balancer V2:基于以太坊的DeFi协议Balancer在推特上就“Balancer计划在Algorand上扩展”一事回应称:“我们想要明确的是,Balancer Labs向Algorand发放了5000美元的小额赠款以表支持,但Balancer Labs团队没有参与这个项目的开发。我们的注意力只集中在以太坊和即将发布的Balancer V2上。换言之,Balancer Labs并没有在Algorand上进行任何构建。相反,Reach(由Algorand基金会资助的区块链应用构建解决方案)正努力在Algorand上部署。我们仍在按照计划推进开发,Balancer Labs继续致力于推出V2。”此前外媒报道称Balancer计划在Algorand上扩展,基于Algorand的Balancer版本将由Algorand基金会资助的区块链应用构建解决方案Reach开发。Algorand首席运营官W. Sean Ford表示,一旦在Algorand区块链上启动(预计将在2021年第三季度),Balancer用户将能够与任何Algorand标准资产(ASA)建立流动性池或交易对。[2021/4/7 19:54:16]

③?当2号提案被通过后,攻击者利用地址0x50f753c5932b18e9ca28362cf0df725142fa6376,实施确定提案中包含的新代币实现合约地址0x26888ff41d05ed753ea6443b02ada82031d3b9fb。图4:攻击者利用所持地址之一确定2号提案,并向所持另一地址铸造巨额TSD代币

④?同时,位于0x26888ff41d05ed753ea6443b02ada82031d3b9fb地址的恶意合约中的initialize()方法也会在升级过程中被调用。通过反编译恶意合约,可以得知恶意合约的initialize()方法会将约116亿枚TSD铸造给攻击者的另外一个地址0x2637d9055299651de5b705288e3525918a73567f。图5:代理合约合约在升级代币实现合约的时候会同时调用initialize()方法

图6:反编译恶意代币实现合约中initialize()方法向攻击者地址铸造代币

⑤?当以上攻击步骤完成后,攻击者将所得TSD代币转换成BUSD,获利离场。图7:攻击者将116亿TSD代币通过PancakeSwap交易为BUSD

智能合约或Dapp的漏洞。攻击者通过对DAO机制的了解,攻击者低价持续的购入TSD,利用项目投资者由于已经无法从项目中获利后纷纷解绑(unbond)所持代币之后无法再对提案进行投票的机制,并考虑到项目方拥有非常低的投票权比例,从而以绝对优势"绑架"了2号提案的治理结果,从而保证其恶意提案被通过。虽然整个攻击最后是以植入后门的恶意合约完成的,但是整个实施过程中,DAO机制是完成该次攻击的主要原因。CertiK安全技术团队建议:从DAO机制出发,项目方应拥有能够保证提案治理不被"绑架"的投票权,才能够避免此次攻击事件再次发生。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:15ms0-1:174ms