約27億円のフラッシュローン攻撃
12日にDeFi(分散型金融)プロトコルxTokenが攻撃され、2,450万ドル相当(約27億円)の損失が発生した。
ハッカーは、フラッシュローンを利用して様々なトークンを盗み、すでにこれらのトークンのほとんどを売却済だ。
「フラッシュローン」とは、DeFi特有の機能で、対象資産のトークンについて借り入れと返済の処理を同一のトランザクション内で完了するもの。利用者にとっては担保資産や利子を必要としないこと、即時に取引が完了する。
xTokenは、xSNXaやxBNTaなど8つの独自トークンを提供し、ユーザーがDeFiから利益を得ることを可能にするプロジェクトだ。
これらのトークンは、シンセティクス(SNX)やバンコール(BNT)などのDeFiトークンをイーサリアムのチェーン上で、ラップドトークン(原資産と価格が紐付けられたトークン)の形式で提供。ユーザーは、イーサリアムのエコシステムを離れることなく、ステーキング報酬などについて、元のトークンからと同様の利益を得ることができる。
xSNXa and xBNTa contracts have been exploited. Minting paused on all contracts as we investigate further.
Liquidity pools have been drained, however most SNX and BNT remain in xToken contracts.
We owe the community an explanation and will be providing another update shortly
— xToken (@xtokenmarket) May 12, 2021
xTokenの公式ツイッターアカウントは第一報として「ラップドトークンxSNXaとxBNTaのコントラクトが攻撃された。流動性プールは停止しているが、ほとんどのSNXとBNTはxTokenコントラクトの中にまだ維持されている」と報告。可能になり次第、さらに詳しく本件について知らせるとした。
ハッキングの手口
1/9
Another DeFi protocol xToken was exploited today and almost $25 million was stolen.
The attacker was smart enough (or close enough to this project) to use two different exploits for two projects’ tokens.👇 pic.twitter.com/cCmOu1hj9g
— Igor Igamberdiev (@FrankResearcher) May 12, 2021
ハッキングは主に二つの手法で行われている。仮想通貨メディアThe BlockのアナリストIgor Igamberdiev氏は今回の攻撃について以下のように分析した。
まずハッカーはフラッシュローンを使用して61,800 ETH(2億7,000万ドル)を借り入れた。彼らはこのイーサリアムにより、プロトコルで使われていたKyber Networkのオラクル(コントラクトを外部の情報と接続する仕組み)を不正操作して、大量のxSNXaトークンを作成。生成したトークンを販売してイーサリアムやシンセティクスに換えた。
さらに、ハッカーはxBNTaトークンのコントラクトについて弱点を発見してこれを利用。バンコールと紐付けられたトークンであるxBNTaを作成するには、本来バンコールトークンのみしか使用できない。しかし、xTokenのコントラクトにはこのことをチェックできないという欠陥があった。そのために、ハッカーは別のトークンを使用してxBNTaトークンを不正に作成し、売却していた格好だ。
このように不正取得されたトークンを売却して、犯人はすでに合計5,600ETH(2,450万ドル相当)を得たとみられている。
ユーザーへのトークン補償を計画
xTokenの創設者Michael J. Cohen氏は事件を受けて公式声明を発表。コミュニティに謝罪を表明しており、被害にあったユーザーにトークンを補償する計画を準備中だとした。
また今回の攻撃を防ぐことができたはずのセキュリティ機能を、今後リリースされるサービスには導入する予定だったが、その前にハッキングが起こってしまったことで落胆しているという。ハッカーが残した痕跡について、もし何か情報があれば知らせて欲しいとも呼びかけた。
フラッシュローンを狙った攻撃は、2020年12月にもWarp Financeで発生した。
画像はShutterstockのライセンス許諾により使用