北京时间2022年9月5日,CertiK审计团队监测到Daoswap由于挖矿奖励大于交换过程中收取的费用以及缺乏验证,允许用户将邀请者地址设置为自己,在一次攻击中损失了58万USDT。
攻击步骤
① 攻击者合约从12个地址中共闪电贷到了218万美元。
② 攻击者合约使用DAORouter将所有闪电贷到的USDT交换为DAO代币。在交换过程中,攻击者合约以两种方式从SwapToEarn获得DAO代币作为奖励:
a. 代币奖励:这是为换取代币的用户准备的。
b. 邀请者奖励:攻击者在调用函数时可以任意设置一个“邀请者”地址,相当于推荐人也可以获取奖励。在这种情况下,攻击者合约将邀请者地址设置为自己。
Vitalik Buterin:FTX事件为加密货币提供了教训:金色财经报道,以太坊联合创始人Vitalik Buterin在接受采访时表示,FTX事件是一个\"巨大的悲剧\",但区块链技术很稳定,以太坊社区中的许多人也将其视为一直相信的事情的验证,即中心化的任何东西都是可疑的,公开透明的代码高于个人。此外,VitalikButerin还表示,加密货币要充分发挥其潜力还有很长的路要走。(彭博社)[2022/11/21 22:11:15]
③ 攻击者合约用同样的方法将所有DAO代币换回USDT,再次获得这两种奖励。
④ 攻击者合约多次重复步骤②和③。因为攻击者收到了DAO代币作为奖励,所以他每次都能获得更多的USDT。
⑤ 攻击者合约偿还了所有借贷资金,并将剩余的USDT金额转移给攻击者。
VitalikButerin等人发布Ethereum“账户抽象”提案ERC4337:9月29日,Ethereum创始人Vitalik Buterin联合KristofGazso、yoav.eth、DrorTirosh、NamraPatel、TomaszK.Stanczak等人发布账户抽象提案ERC4337,可在不改变以太坊共识层协议的情况下实现验证逻辑,该提案的开发者内测版本将于近期上线。
注:“账户抽象”是以太坊社区中讨论的改进提案之一,以实现交易不需要从私钥控制的EOA账户发起,而是可以直接从智能合约发起,具体的用例包括智能合约钱包、Tornado.Cash这类隐私保护工具等。[2021/9/29 17:15:22]
合约漏洞
DAOSwap包含一个“swap-mining”的奖励,其实现方式如下。
Vitalik Buterin:并不认为zkPorter具有比Optimistic Rollup更强的安全保证,且没有紧密耦合性:以太坊联合创始人Vitalik Buterin针对Matter Labs披露的zkPorter扩容方案表示:并不认为zkPorter具有比Optimistic Rollup更强的安全保证,宁愿将资产放在Optimistic Rollup中,而不是链下数据可用性系统中。zkPorter链下数据可用性的安全级别要低于基础链,且没有紧密耦合性(Tight coupling)。另一方面,分片中的数据可用性层将受到整个以太坊网络的保护,并兼具紧密耦合性。如果某些应用程序同时使用链下数据可用性也是可以的,但前提是链下数据在基于分片的数据可用性可用之前明确为临时措施,但是我认为这没有必要。[2021/4/14 20:17:45]
声音 | Vitalik Buterin:许多DApp的用户界面都很差:Vitalik Buterin在伦敦帝国理工学院(Imperial College London)发表演讲时,承认,到目前为止,许多DApp的用户界面都很差,很难找到用户。他在探索以太坊是否能通过扩容来支持它们。[2018/12/4]
在函数_swap中调换之后,可调用SwapToEarn.sol中的函数swapCall。
在函数swapCall中,DAO代币被转移给用户和邀请者,二者的地址都是通过参数传递的。
当函数在_swap中被调用时,我们可以看到用户被设置为信息发送者msg.sender,而邀请者则来自于输入参数。
邀请者地址可以是任何地址,因为这个地址没有设置检查。攻击者能够将邀请者设为自己,并得到了额外的奖励。
值得注意的是,攻击者作为邀请者得到的奖励约占总奖励的20%。即使不允许攻击者将邀请人地址设置为自己,攻击者仍然可以从交易中获利。
6次交易的总利润约为581,254 USDT。
交易①:
https://bscscan.com/tx/0x414462f2aa63f371fbcf3c8df46b9a64ab64085ac0ab48900f675acd63931f23
交易②: https://bscscan.com/tx/0x6c859ae624002e07dac39cbc5efef76133f8af5d5a4e0c42ef85e47d51f82ae0
交易③:
https://bscscan.com/tx/0x3b1d631542eb91b5734e3305be54f305f26ab291b33c8017a73dcca5b0c32a1b
交易④: https://bscscan.com/tx/0xa7fdefcd80ba54d2e8dd1ab260495dca547993019d90f7885819bb4670b65bad
交易⑤:
https://bscscan.com/tx/0xf1368418344e21a1a09a2c1770ea301bf109ca3b387a59a79242a27d709195a7
交易⑥:
https://bscscan.com/tx/0x8eb87423f2d021e3acbe35c07875d1d1b30ab6dff14574a3f71f138c432a40ef
写在最后
攻击发生后,CertiK的推特预警账号以及官方预警系统已于第一时间发布了消息。同时,CertiK也会持续于官方公众号发布与项目预警(攻击、欺诈、跑路等)相关的信息。
CertiK的端到端安全解决方案,从智能合约审计和KYC项目背景调查服务,到Skynet天网动态扫描系统和SkyTrace等区块链分析工具,以及漏洞赏金计划,助力每一个项目充分发挥潜力的同时为Web3.0打造用户和投资者高参与的生态系统。
CertiK中文社区
企业专栏
阅读更多
金色早8点
财经法学
成都链安
PANews
Bress
链捕手
Odaily星球日报
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。