LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > MerlinLabs攻击事件复盘分析|零时科技

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

2021-07-01 深圳零时科技 来源:区块链网络

事件背景

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合约中的代码缺陷,最终获得了大量代币,对于合约功能缺陷问题,应在合约上线前进行严格审查及测试。对于此类攻击事件,零时科技安全团队给出以下建议:

安全建议

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

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

对敏感性较强的代码,要做到及时更新完善。

—-

编译者/作者:深圳零时科技

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...