旧メイカーDAOの第三者清算ボットから200WETH流出、約53.8万ドル相当

2020年の落札担保が不正に引き出される、権限確認の欠落が原因

イーサリアム(Ethereum)上で運用されていた旧メイカーダオ(MakerDAO)の第三者清算ボットから、暗号資産(仮想通貨)「ラップドイーサ(WETH)」200枚が不正に引き出された。分散型金融(DeFi)セキュリティ監視サービスのディファイモン・アラーツ(Defimon Alerts)が10月6日に報告した。被害は同日に発生しており、ディファイモンは流出額を約53.8万ドル(約8,510万円)相当と報告している。

被害対象は、旧メイカーダオのETH-A担保清算オークションに参加していたキーパー(Keeper)と呼ばれる清算ボットで、休眠状態にあった。キーパーは、担保の清算オークションへの入札などを自動で行う外部のプログラムである。

報告によると、同ボットは2020年に4件の清算オークションを落札していた。対象はオークション番号1457~1460で、各50 WETH、合計200 WETHの担保を受け取る権利があった。しかし、落札後に担保を受け取る処理「deal()」が実行されておらず、担保は旧オークション用コントラクト「フリッパー(Flipper)」に残っていたという。

ディファイモンによると、同ボットの実装コントラクトにある引き出し処理には、権限確認の仕組み「ds-auth」による保護が適用されていなかったとのこと。このため、権限を持たない第三者でも同処理を呼び出せる状態だったとのことだ。

攻撃者はこの処理を悪用し、過去のオークションに残っていた担保をボットへ移したという。その後、200 WETHを攻撃者が指定したアドレスに引き出し、ラップを解除して200 ETHに変換したとのこと。攻撃に使われた新規アドレスは、暗号資産ミキシングサービスのトルネードキャッシュ(Tornado Cash)経由で資金供給を受けていたとのことだ。

WETHは、イーサリアムの暗号資産「イーサ(ETH)」を、トークン規格「ERC-20」に対応させたものだ。スマートコントラクトにETHを預けることで同量のWETHを受け取れ、WETHを戻すことで同量のETHを引き出せる。

なおディファイモンは、メイカーダオの中核コントラクトであるVat・Flipper・GemJoinは設計通りに動作したと説明している。今回の脆弱性は、第三者の清算ボットにある、権限確認が設定されていない引き出し処理にあったと説明されている。

参考:Defimon Alerts
画像:PIXTA

関連ニュース

関連するキーワード

この記事の著者・インタビューイ

大津賀新也

「あたらしい経済」編集部 副編集長 ブロックチェーンに興味を持ったことから、業界未経験ながらも全くの異業種から幻冬舎へ2019年より転職。あたらしい経済編集部では記事執筆の他、音声収録・写真撮影も担当。