9

Merlin Labs攻击事件复盘分析 | 零时科技

 2 years ago
source link: https://learnblockchain.cn/article/2683
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Merlin Labs攻击事件复盘分析 | 零时科技

北京时间2021年6月29日,Merlin Labs官方Telegram称Merlin遭受了黑客攻击,并声明黑客将 0.1WBNB 存入vault,然后手动将1000BNB转入合约,以欺骗合约认为它收到了 1000BNB的奖励,从而导致铸币产生了 MERL 奖励,零时科技安全团队及时对该安全事件进行复盘分析。

在这里插入图片描述

Merlin是一个能够自动组合的收益聚合工具,其生态系统经过优化,可以实现用户在追求安全和可持续为前提的最大收益回报。

零时科技区块链安全情报平台监控到消息,北京时间2021年6月29日,Merlin Labs官方Telegram称Merlin遭受了黑客攻击,并声明黑客将 0.1WBNB 存入vault,然后手动将1000BNB转入合约,以欺骗合约认为它收到了 1000BNB的奖励,从而导致铸币产生了 MERL 奖励,零时科技安全团队及时对该安全事件进行复盘分析。

在这里插入图片描述

攻击信息
通过初步追踪分析,这里梳理了一条攻击路线来进行具体分析,攻击信息如下:

攻击者钱包地址

https://bscscan.com/address/0x2bADa393e53D0373788d15fD98CB5Fb1441645BD

攻击者合约地址

https://bscscan.com/address/0xcc369faf26c0457ceea7a24bbfe158e106214147

攻击者盗取资金交易

https://bscscan.com/tx/0x903ae34f48d4e00da8d7ca5dfad26f8f37e80cde2156907580cf551a63317f76

MerlinToken合约地址

https://bscscan.com/address/0xDA360309C59CB8C434b28A91b823344a96444278#code

MerlinPool合约地址

https://bscscan.com/address/0x3b87475ac293eeed0e8bC25713Eb8242A9497C3F#contracts

目前攻击者创建的合约及交易较多,但每笔交易的攻击流程均类似,如以上攻击合约中,攻击者共进行了26笔交易,其中22笔为攻击者利用漏洞盗取资金交易,其余4笔为攻击者将盗取资金转至钱包地址交易,这里将以上攻击交易进行详细分析,方便读者更清晰的了解攻击过程。如下图:

在这里插入图片描述

第一步:攻击者给vault合约转入0.1枚BNB。

第二步:攻击者直接给vault合约转入874枚BNB。

第三步:vault合约将转入的874枚BNB转至0xd7d0合约,并获取对应的846枚ibBNB。

第四步:0xd7d0合约将874枚BNB转出至WNativeRelayer合约,并随即销毁vault合约的846枚ibBNB。

在这里插入图片描述

第五步:vault合约将262枚BNB转至0x236f合约,之后转给0x913合约257枚BNB后,将该资金以1:1对半分为128枚BNB和3334枚Merlin添加PancakeSwap V2: MERL 5流动性,并获取对应的548枚Cake-LP Token。

第六步:将获取的548枚Cake-LP Token转至MerlinPool合约。

第七步:将0x236f合约剩余的5枚BNB兑换为135枚Merlin,并将资金转至0x436f地址。

在这里插入图片描述

第八步:给0x236f地址铸造了8996枚Merlin代币,并将生成的代币转至攻击者合约,此步也是攻击者获利最重要的步骤。

第九步:给MerlinPool合约地址也铸造了相应的Token。(此步应为添加Cake-LP Token获取的相应奖励)。

第十步:最终攻击者合约将获取的Merlin代币兑换成BNB获利离场。

至此

攻击者通过该笔攻击交易获取了332枚BNB,价值约10万美元,由于项目合约中奖励功能的代码逻辑问题,攻击者通过多笔攻击交易已获利超30万美元。

目前,Merlin官方已宣布关闭Merlin Lab,并已在网站上发布通知并停止所有存款,所涉及的Twitter及Telegram等账号均已停止运营。

通过此次攻击事件来看,攻击者通过多次获取奖励,并通过Merlin合约中的代码缺陷,最终获得了大量代币,对于合约功能缺陷问题,应在合约上线前进行严格审查及测试。对于此类攻击事件,零时科技安全团队给出以下建议:

对于合约代码安全,可找多家安全审计公司进行审计。

对于铸币及转账问题,应根据业务逻辑进行严格审核演算,避免出现代币异常获取问题。

对敏感性较强的代码,要做到及时更新完善。
在这里插入图片描述

本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

  • 发表于 8小时前
  • 阅读 ( 58 )
  • 学分 ( 0 )
  • 分类:资讯

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK