Meter.io攻击事件分析

本文约420字,阅读全文需要约1分钟
Meter.io 跨链协议因逻辑判断缺陷遭到攻击,损失约 430 万美元。

前言

北京时间 2022 年 2 月 5 日晚,http://Meter.io 跨链协议遭到攻击,损失约 430 万美元。知道创宇区块链安全实验室 第一时间跟踪本次事件并分析。

Meter.io攻击事件分析

分析

基础信息

tx(Moonriver):0x5a87c24d0665c8f67958099d1ad22e39a03aa08d47d00b7276b8d42294ee0591

攻击者:0x8d3d13cac607B7297Ff61A5E1E71072758AF4D01

Bridge:0xFd55eBc7bBde603A048648C6eAb8775c997C1001

ERC20Handler(depositHandler):0x5945241BBB68B4454bB67Bd2B069e74C09AC3D51

漏洞原理

Meter.io攻击事件分析

漏洞关键在于跨链桥合约的 deposit 函数中,deposit 函数会根据 resourceID 取相应的depositHandler,并调用 deposit 函数进行实际的质押逻辑。

Meter.io攻击事件分析

而在 depositHandler 的 deposit 函数中,存在逻辑缺陷,当 tokenAddress 不为 _wtokenAddress 地址时进行 ERC20 代币的销毁或锁定,若为 _wtokenAddress 则直接跳过该部分处理。

Meter.io攻击事件分析

该存在缺陷的逻辑判断可能基于在跨链桥合约中的depositETH函数会将链平台币转为wToken后转至depositHandler地址,所以在depositHandler执行deposit逻辑时,已处理过代币转移,故跳过代币处理逻辑。

Meter.io攻击事件分析

但跨链桥合约的deposit函数中并没有处理代币转移及校验,在转由deposiHandler执行deposit时,若data数据构造成满足tokenAddress == _wtokenAddress即可绕过处理,实现空手套白狼。

总结

本次攻击事件核心原因在于 http://Meter.io 跨链桥 depositHandler质押处理器中,存在逻辑判断缺陷,满足了跨链桥合约depositETH的逻辑场景,但忽视了deposit逻辑场景存在绕过缺陷。

近期,各类合约漏洞安全事件频发,合约审计、风控措施、应急计划等都有必要切实落实。

原创文章,作者:创宇区块链安全实验室。转载/内容合作/寻求报道请联系 report@odaily.email;违规转载法律必究。

ODAILY提醒,请广大读者树立正确的货币观念和投资理念,理性看待区块链,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。

推荐阅读
星球精选