Terra分叉带来黑客「新套利」,Mirror Protocol损失200万美元事件分析

CertiK
CertiK 机构得得号

Jun 01, 2022 CertiK 专注于区块链安全,被称为区块链安全世界的「普华永道」。

摘要: 攻击发生的主要原因在于Terra验证节点在分叉后没有更新,导致价格预言机不准确。

北京时间2022年5月30日21时,CertiK审计团队监测到一起针对Mirror Protocol的攻击。目前,该攻击事件造成的总损失约为200万美元。

攻击发生的主要原因在于Terra验证节点在分叉后没有更新,导致价格预言机不准确。预言机错误地报告了LUNA的价格(5美元),而非实际的LUNC(0.0001美元)价格。

这使得用户通过抵押LUNC借贷到的资产远大于提供抵押的金额。

攻击步骤

该次攻击中有多笔用户存入LUNC并借贷其他资产的交易。我们以其中一次交易作为示例:由于Terra验证节点没有及时更新价格预言机,该笔交易允许攻击者抵押10万枚LUNC(价值10美元)贷款30,275枚DOT(价值约30万美元)。

漏洞分析

在Terra分叉之后,现在的Terra已分为:① Terra Classic,LUNA(LUNC)价值0.0001美元。② Terra 2.0,其LUNA价格约为5美元。Mirror Protocol运行于旧的Terra链(现称为Terra Classic)上,并使用Terra Classic提供的价格预言机服务来确定LUNA价格。然而,一些验证者在Terra Classic分叉后并没有更新他们的软件,并且报告的是分叉后的LUNA价格而非LUNC的价格。例如在下方这笔交易中,Terra Classic验证节点报告的LUNC价格约为5美元,而不是0.0001美元。

在正常情况下,假如一个用户想在Mirror Protocol上进行贷款,他需要提供更多的抵押品以进行借贷,比如提供2万美元的抵押来借贷1万美元。也就是需要提供整整2亿枚价值0.0001美元的LUNC代币来进行抵押,但如果是使用价值5美元的LUNA,则只需要提供4000枚。然而,由于一些验证器已经过时,导致预言机提供了LUNA的价格而非LUNC的价格,攻击者仅需提供4000枚LUNC(价值0.4美元)即可借贷到1万美元。目前,如Orion.money的部分验证者已修复该漏洞:

Orion.money于5月30日提供的LUNA价格

Orion.money于5月31日提供的LUNC价格

资产去向

据FatManTerra表明,Mirror Protocol的损失已达200万美元。

漏洞交易

https://finder.terra.money/classic/tx/F830681D8FEACC4DA67E84D40C49F0FF805609F2BB5CCC39A0EFE66257F2D791

写在最后

因价格预言机导致的攻击事件绝非一例,预言机不应成为链上「套利」专用工具。本次攻击事件本可通过安全审计有效降低风险。审计过程中,CertiK的安全专家会提醒项目方注意外部依赖造成的风险,并提示项目方需时刻检测外部调用。加密领域安全问题层出不穷,项目团队应尽可能提高相关警惕并时刻关注安全事件以自查,及时完善并审计合约代码。

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 CertiK 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信