天天看點

知道創宇區塊鍊安全實驗室|Meter.io 攻擊事件分析

前言

中原標準時間2022年2月5日晚,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即可繞過處理,實作空手套白狼。

總結

本次攻擊事件核心原因在于 Meter.io 跨鍊橋 depositHandler質押處理器中,存在邏輯判斷缺陷,滿足了跨鍊橋合約depositETH的邏輯場景,但忽視了deposit邏輯場景存在繞過缺陷。

近期,各類合約漏洞安全事件頻發,合約審計、風控措施、應急計劃等都有必要切實落實。

繼續閱讀