卡Bug自己给自己「开工资」?Daoswap攻击事件分析_USD:DAO

北京时间2022年9月5日,CertiK审计团队监测到Daoswap由于挖矿奖励大于交换过程中收取的费用以及缺乏验证,允许用户将邀请者地址设置为自己,在一次攻击中损失了58万USDT。

攻击步骤

①攻击者合约从12个地址中共闪电贷到了218万美元。

②攻击者合约使用DAORouter将所有闪电贷到的USDT交换为DAO代币。在交换过程中,攻击者合约以两种方式从SwapToEarn获得DAO代币作为奖励:

a.?代币奖励:这是为换取代币的用户准备的。

b.?邀请者奖励:攻击者在调用函数时可以任意设置一个“邀请者”地址,相当于推荐人也可以获取奖励。在这种情况下,攻击者合约将邀请者地址设置为自己。

Garanti BBVA金融科技子公司推出数字资产业务:金色财经报道,土耳其Garanti BBVA银行的金融科技子公司Garanti BBVA Financial Technologies进军数字资产交易和托管行业。

随着试点工作的开展,新公司将首先在加密资产市场上提供比特币和以太坊的转移和托管服务。BBVA Switzerland于6月向所有私人银行客户提供了首个加密资产交易和托管服务。[2023/8/7 21:29:56]

③攻击者合约用同样的方法将所有DAO代币换回USDT,再次获得这两种奖励。

④攻击者合约多次重复步骤②和③。因为攻击者收到了DAO代币作为奖励,所以他每次都能获得更多的USDT。

⑤攻击者合约偿还了所有借贷资金,并将剩余的USDT金额转移给攻击者。

德国将批准“加密股票”发行条例:金色财经报道,本周,德国财政部公布了《未来融资法案》,其中提到资本市场的数字化,将使用区块链技术使股票数字化成为可能。新立法将为发行“加密股票”提供监管基础。

4 月 5 日,Circle 的欧盟战略和政策总监 Patrick Hansen 曾解释了加密股票的概念:上市公司可以选择以传统股或电子股的形式发行股票。这些电子股票可以在中央登记册或区块链上注册,从而产生“加密股票” 。他还补充到,根据德国法律,发行代币化债券和某些代币化基金已经成为可能。 股票虽然并不直接涉及加密市场,但它是现实世界资产标记化的一个进步。[2023/4/6 13:48:35]

合约漏洞

DAOSwap包含一个“swap-mining”的奖励,其实现方式如下。

花旗:尽管股市疲软,监管活动增加但加密货币仍具有弹性:金色财经报道,花旗(C)周五在一份研究报告中表示,尽管过去一周股市疲软,美国的监管活动增加,但加密货币市场仍然具有弹性。报告说,稳定币的市值稳定下来,在FTX崩溃后有所下降,而智能合约中的以太坊(ETH)比例继续上升。

在美国证券交易委员会(SEC)计划起诉稳定币BUSD的发行方Paxos之后,花旗银行指出,BUSD已经有超过35亿美元的资金流出,意味着市值下降了23%。这些资金一般都流入了稳定币USDT。[2023/2/27 12:32:12]

Patrick Hansen:欧洲需要欧元稳定币的增长:金色财经报道,Presight Capital的加密风险投资顾问Patrick Hansen在社交媒体上表示,我们经济的任何部分都没有像加密货币经济那样被美元化,欧洲需要欧元稳定币的增长。[2022/9/5 13:08:45]

在函数_swap中调换之后,可调用SwapToEarn.sol中的函数swapCall。

韩国公链项目Klaytn将支持Wormhole跨链资产:8月11日消息,据官方公告,韩国公链项目Klaytn宣布将支持Wormhole跨链资产,用户可通过Portal跨链桥将USDT、USDC、DAI、比特币、以太坊、BNB、BUSD、AVAX、SOL跨链至Klaytn网络,Klaytn上借贷协议Klap Finance将于本周末开放上述代币的借贷市场。[2022/8/11 12:18:06]

在函数swapCall中,DAO代币被转移给用户和邀请者,二者的地址都是通过参数传递的。

当函数在_swap中被调用时,我们可以看到用户被设置为信息发送者msg.sender,而邀请者则来自于输入参数。

邀请者地址可以是任何地址,因为这个地址没有设置检查。攻击者能够将邀请者设为自己,并得到了额外的奖励。

值得注意的是,攻击者作为邀请者得到的奖励约占总奖励的20%。即使不允许攻击者将邀请人地址设置为自己,攻击者仍然可以从交易中获利。

6次交易的总利润约为581,254USDT。

相关交易

交易①:

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打造用户和投资者高参与的生态系统。

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

水星链

[0:15ms0-1:678ms