事件背景
北京时间7月20日,有消息称Sanshu项目方旗下的Memestake项目遭受闪电贷攻击,损失高达10余万美金。知道创宇区块链安全实验室对此事件展开复盘分析。
事件跟踪
攻击时间:2021-07-2019:23:20攻击者地址:0x0333E323E61aa8aFA38A1623604A165dCB9F4fEC攻击交易哈希:a):https://etherscan.io/tx/0x628174eccf05e94a3385f882805124b5d8718a0c9906c6cd0c573e5d6f56c9d2
Meme创始人:当初空投的MEME代币现已价值100万美元:3月9日消息,NFT项目Meme的创始人Jordan Lyall发推称:“通常我不怎么关注价格,但这一次不同。当初的MEME代币的空投价值如今已达到了100万美元,真是不可思议。”截至目前,MEME代币价格已突破2800美元,再创历史新高。此前,Meme官方为每个早期电报群参与的成员空投了350枚MEME代币,目前约合100万美元。[2021/3/9 18:28:26]
去中心化社交网络memeunity与Tosdis达成合作:3月3日消息,去中心化社交网络memeunity发推称,最近与一站式DeFi互操作性解决方案Tosdis达成合作。Tosdis帮助区块链公司直接为其社区创建质押池。[2021/3/3 18:10:38]
b):https://etherscan.io/tx/0x00edd68087ee372a1b6e05249cc6c992bb7b8478cc0ddc70c2a1453428285808
币赢CoinW将于8月30日 14:00在DeFi专区上线MEME:据官方消息,币赢CoinW将于8月30日 14:00在DeFi专区上线MEME/USDT交易对,同时开启“充值送MEME,-0.1%Maker费率”活动。
据悉,MEME代币从创建、空投到流动性锁定在30分钟内完成。自2020年8月14日项目启动以来,$MEME代币的市值突破120万美元,其电报群成员也达到了三千多人。[2020/8/30]
c):https://etherscan.io/tx/0xa945b1857630e730bd3fac6459c82dee44da45e35cfbbd6dfb7b42146e8dde41
基于BCH区块链的社交网络Memo登场:4月15日,在比特币现金(BCH)区块链上启动了一个名为Memo的在线社交网络,该平台允许用户创建一个与特定BCH地址和公钥/私钥对关联的配置文件。然后,用户可以使用程序(例如网站URL,报价或某个使用OP_RETURN事务将其散列到BCH链中的某个日期)绑定某些数据。Memo的开发者说该平台既是一个协议,也是一个使用BCH链来存储与写入数据的前端应用程序。[2018/4/16]
事件分析
如上图所示,攻击者按照攻击交易a->b->c流程发起攻击并获得收益离场,攻击复盘如下:
1.如a交易所示,攻击者先从uniswap中用weth兑换2091514065454个KEANU代币并抵押到Memestake合约(0x35C674C288577Df3e9b5dafEF945795b741c7810)中。2.如b交易所示,攻击者再利用闪电贷借取KEANU代币,并不断调用Memestake合约的deposit和withdraw函数用以消耗Memestake合约的KEANU代币,而这里就是漏洞的利用点:KEANU代币为通缩模型代币,即每笔交易会扣除2%的代币用于给其他持币用户分红。
但是Memestake中deposit和withdraw函数记录的都是转账发起者所支付的值,即用户抵押100个KEANU代币,实际到账合约的只有98个KEANU代币,但是提取的时候还是归还给用户100个KEANU代币,所以随着攻击者不停的抵押提取,合约的KEANU代币余额就越来越小。
当合约的KEANU代币余额变少时,影响了单位KEANU代币可兑换的MFUND代币数量(accMfundPerShare变量),即攻击者可以获得第一步抵押KEANU代币抵押所产生的巨额奖励MFUND代币。
3.如c交易所示,攻击者调用withdraw函数取出第一步抵押产生的MFUND代币,并归还第二步闪电贷借用的KEANU代币,并将巨额的MFUND代币再swap成WETH和SANSHU代币套利离场。
事件总结
本次闪电贷的攻击主要利用的还是通缩模型代币与传统挖矿合约逻辑不匹配导致的结果,项目方没有充分考虑到通缩模型带来的代币分红损失,导致了挖矿合约的代币余额越来越少,最终酿成了超额铸造了奖励代币MFUND的错误。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。