慢雾:技术简析 OUSD 损失 700 万美金事件_ULT:VAULT

据慢雾区情报,2020年11月17日,以太坊DeFi项目OUSD遭受闪电贷攻击。慢雾安全团队于第一时间跟进并进行相关分析。以下是慢雾安全团队针对本次攻击的简要分析。攻击过程详细分析会在稍后发布。如有兴趣可保持持续关注。

1.攻击者使用dydx闪电贷借出70000个ETH,随后通过Uniswap将其兑换为USDT和DAI。

2.攻击者调用OUSDVault的mint函数,Vault会先进行一次rebase将之前积累的奖励进行分配,随后将750万USDT从攻击者合约转入OUSDVault中。此时OUSD合约会铸出等量的750万OUSD代币给攻击合约,最后通过allocate来结算当前的收益。

香港中文大学(深圳)元宇宙实验室招聘加密社区玩家:1月10日消息,香港中文大学(深圳)元宇宙实验室招聘对元宇宙领域感兴趣的博士后,博士生,硕士生,并要求提交申请的加密社区玩家附上以太坊地址或ENS域名。[2022/1/10 8:38:28]

3.在攻击者转入750万之前,Vault的价值约为7018138美元。攻击者转入750万USDT后将占Vault总价值的一半以上。

4.随后攻击合约利用mintMultiple函数传入DAI合约地址与攻击合约的地址,同样是先进行一次rebase,将之前累计的收益进行分配(包含先前转入的750万USDT部分),再通过transferFrom先将攻击合约的2050万DAI转入Vault中。随后将调用攻击合约的transferFrom函数,攻击者在攻击合约的transferFrom函数中构造再次调用Vault合约mint函数的逻辑来实现重入攻击。

深圳农行联合华为落地首个数字人民币云侧智能合约应用场景:12月9日消息,深圳农行联合华为完成业内首个数字人民币云侧智能合约应用场景落地。在深圳住建局主导的租赁资金监管场景下,通过数字人民币云侧智能合约,设定监管规则,租赁资金将按规则定期释放到监管平台,确保资金安全。

据悉,当承租方(租客)通过智慧租赁平台选房、签约,并支付押金和租金后,资金会到达租赁企业(房东)的数字人民币账户,同时生成智能合约,将资金绑定。智能引擎会在租金支付日自动释放当月租金,并于租约到期后自动将数字人民币押金退还承租方。在此流程之下,智能合约客观上规范了长租公寓的资金使用,建立起了资金监管“防火墙”。

中国农业银行网络金融部副总经理、数字人民币负责人阎静介绍,智能合约产品将数字人民币可编程的特性,应用于解决市场主体的痛点难点问题,将助力政府管理、企业经营以及互联网平台创新。( 南方报业)[2021/12/10 7:29:23]

5.在上一步骤中转入2050万DAI后通过攻击合约的transferFrom函数再次调用Vault的mint函数。由于重入时传入2000USDT符合判断是否调用rebase的条件,此时将进行一次rebase,而由于rebase需要Vault中的资产总价值和OUSD的总铸币数有差值才能触发。按照原本的业务场景是进行allocate结算收益后改变Vault中的资产总价值然后通过rebase进行分配。而由于重入原因并没有先通过oUSD.mint进行铸币操作,且攻击者已先将2050万的DAI转入Vault中,所以Vault中的资产总价值仍然增加了,导致合约中的资产总价值大于OUSD的总铸币量。因此Vault会将增加的2050万DAI当成收益部分进行rebase分配。在步骤3中由于攻击者资产已占Vault总价值的一半以上,所以此时攻击者将凭空获得超过价值1025万的收益分配。

动态 | 比特时代黄天威作为协会代表宣读《深圳市区块链自律公约》:在深圳市信息服务业区块链协会揭牌仪式上,深圳市信息服务业区块链协会黄天威常务副会长、付媛媛副秘书长等代表共同宣读了《深圳市区块链自律公约》,公约强调协会成员将共建、共治、共享深圳区块链行业生态,履行行业责任,维护行业秩序,共助网络强国建设。深圳市信息服务业区块链协会常务副会长黄天威表示:“揭牌仪式的举行意味着深圳区块链环境将进一步规范改善,有助于深圳市更快建立区块链行业的领先地位。”[2020/1/10]

6.随后将通过oUSD.mint铸出2000OUSD,并通过allocate结算重入时2000USDT的收益(从上一步骤可以看出攻击合约传入的2000USDT只是为了满足调用rebase的条件,触发收益分配而已)。重入结束后仍将通过oUSD.mint铸出之前转入的2050万DAI等值的OUSD代币。

7.最后Vault的总价值约为3501万美元,但攻击者所拥有的价值超过3825万美元,因此攻击者用大部分的OUSD去Vault进行赎回操作,将Vault基本提空,而其余的OUSD是通过Uniswap和Sushiswap的OUSD-USDT池将OUSD换成USDT来增加收益。

总结:此次攻击关键在于调用外部合约造成的重入问题与Vault的rebase收益分配机制相结合,导致攻击者可以通过重入来凭空获得巨额的收益分配。针对此类情况,慢雾安全团队建议对传入资产进行检查后,对不在白名单内的资产直接进行回滚,并使用防重入锁以避免重入攻击。

相关链接:

(1)参考攻击交易:

0xe1c76241dda7c5fcf1988454c621142495640e708e3f8377982f55f8cf2a8401

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

金智博客

[0:0ms0-5:142ms