安全实验室监测到以太坊上feiprotocol和RariCapital协议中的多个池子遭到重入攻击,导致损失超8000万美元。
知道创宇区块链安全实验室第一时间跟踪本次事件并分析。
基础信息
众所周知,compound项目的代码本就存在一些安全问题,而feiprotocol和RariCapital协议延用了compound的代码库,同时在doTransferOut()方法的实现中使用了存在重入的写法,导致了事件的发生。
NFT市场Rarible宣布完成Polygon集成并将推出多链钱包:3月17日消息,Polygon已成为NFT市场Rarible支持的第四个区块链,Rarible目前集成的另外三个区块链分别是以太坊、Flow和Tezos。
据悉,Polygon透露将利用旗下NFT和游戏部门PolygonStudios为RaribleNFT市场提供营销和技术支持。此外,Rarible还宣布将推出多链钱包,但他们没有提供这款钱包的具体发布时间。(coindesk)[2022/3/17 14:03:20]
因此次事件中的多次攻击方式相同,本文仅对一次攻击进行分析。
NFT市场Rarible推出订单管理工具,帮助阻止OpenSea上的可疑销售订单:1月8日消息,NFT市场Rarible周二宣布,已经推出一个订单管理工具,允许Rarible用户识别和取消来自NFT市场OpenSea的可疑销售订单。此前有消息称,OpenSea上的一个漏洞可能会导致值钱的NFT(比如Bored Ape Yacht Club NFT)以远低于其持有者实际预期的价格出售。
Rarible表示,去年年初,它开始聚合来自OpenSea的销售订单,以增加自己的多链NFT市场流动性。Rarible.com联合创始人Alex Salnikov称,在过去的几个月里,Rarible用户可以通过Rarible的Activity页面访问OpenSea数据。(Decrypt )[2022/1/8 8:35:05]
攻击者地址:0x6162759edad730152f0df8115c698a42e666157f
Rari Capital联合创始人:alUSD和DYDX已加入两个Fuse池:9月17日消息,Rari Capital联合创始人Jack Lipstone在推特上表示,本周加密巨鲸“Tetranode”和Chainlink社区大使“ChainLinkGod.eth 2.0”一直在各种调整Fuse池。今日alUSD(Alchemix)和DYDX(dYdX Foundation)已加入两个Fuse池。Lipstone称,这是第一个支持DYDX作为抵押品的协议。[2021/9/17 23:32:14]
攻击合约:0x32075bad9050d4767018084f0cb87b3182d36c45
tx:0xadbe5cf9269a001d50990d0c29075b402bcc3a0b0f3258821881621b787b35c6
CEtherDelegator合约:0xfbD8Aaf46Ab3C2732FA930e5B343cd67cEA5054C
其次,合约在对用户进行借贷放款时,并未实行检查-生效-交互的模式,更新抵押资产价值在放款之后,使得攻击者能够在借款之后进行函数回调;
最为关键的一点是,攻击者在借款后调用了exitMarket()函数退出借款的市场,之后对抵押品进行赎回,由于此时攻击者已退出市场,因而协议不会计算这笔借款,所以能够成功赎回抵押品。
ETH,随后触发重入;
3、调用exitMarket()函数退出借款的市场,并取出抵押品;
4、归还闪电贷;
5、成功赖账套利,免费借出ETH;
6、最后,攻击者重复攻击手法对协议中的池子进行攻击,成功套利约8000万美元。
总结
本次攻击事件核心是协议引用了存在重入漏洞的compound代码库,导致合约发生重入攻击。
建议项目方在编写项目时,应始终使用检查-生效-交互的模式,并在合约中应用重入锁,在发送以太币时一定要限制gas或者使用thransfer(),一定不要使用存在安全问题的项目代码。
在此提醒项目方发布项目后一定要将私钥严密保管,谨防网络钓鱼,另外,近期,各类合约漏洞安全事件频发,合约审计、风控措施、应急计划等都有必要切实落实。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。