ザ・サンドボックスのSANDが不正発行、BaseとBSCのブリッジ停止

BaseとBSCで裏付けのないSAND発行

メタバースプラットフォーム「ザ・サンドボックス(The Sandbox)」の暗号資産(仮想通貨)SANDを扱うクロスチェーンブリッジで脆弱性が発生した。ザ・サンドボックス公式Xアカウントで8月22日に発表された。

今回の脆弱性は、ベース(Base)とBNBスマートチェーン(BNB Smart Chain:BSC)上のSANDに関するものだ。攻撃者は脆弱性を悪用し、裏付けとなるSANDが存在しないトークンをベースとBSCで不正に発行した。

発表では、脆弱性はすでに特定され、封じ込められたとのこと。ベースとBSCを対象としたSANDのブリッジ機能も停止された。これにより両ネットワーク上のSANDは隔離され、ブリッジを通じた移動や償還ができない状態となっている。

一方、イーサリアム(Ethereum)とポリゴン(Polygon)上のSANDは影響を受けていないとのこと。ユーザーのウォレットへの侵害も確認されていない。また、ブリッジされたSANDの裏付けとしてイーサリアム上にロックされているSANDも保全されているとのことだ。

ただし、第三者のオンチェーン分析では、イーサリアム側のOFTアダプターから約1,475万SANDが移動したとの指摘もある。ザ・サンドボックスは今後、詳細な技術分析を公表する予定。現時点で、実際の損失額を含む全容は確定していない。

今回不正に発行された「裏付けのないSAND」を理解するには、SANDのクロスチェーンブリッジの仕組みが重要となる。SANDはザ・サンドボックスのエコシステムで利用される暗号資産で、イーサリアムだけでなくベースやBSCなど複数のブロックチェーンで利用できる。

クロスチェーンブリッジは、異なるブロックチェーン間で暗号資産を移動・利用できるようにする仕組みだ。SANDでは、元となるSANDをイーサリアム上でロックし、それに対応するSANDを移動先のブロックチェーンで利用できるようにする。この仕組みにより、複数のネットワーク間でSANDを移動できる。

今回の攻撃では、この対応関係が崩された。攻撃者は元となるSANDがイーサリアム上にロックされていないにもかかわらず、ベースやBSCでSANDを発行した。つまり、移動元となるSANDが存在しないにもかかわらず、移動先ではSANDが存在する状態が作られたことになる。

ブロックチェーンセキュリティ企業のペックシールド(PeckShield)は8月22日、ベース上の2つのアドレスで合計約149億SANDが発行されたことを確認したと報告した。ベースのブロックチェーンエクスプローラー「ベーススキャン(BaseScan)」でも、ペックシールドが示した2つのアドレスに対し、大量のSANDが繰り返し発行された履歴が確認できる。

ただし、約149億SANDは不正に発行されたトークンの数量であり、そのまま被害額を意味するものではない。ブロックチェーンセキュリティ企業のブロックエイド(Blockaid)は、不正発行されたSANDの額面が約490億ドル(約7兆7,880億円)に達したと報告した。

不正発行されたSANDを市場価格で換算した金額と、攻撃者が実際に取得した資産の価値は異なる。大量のSANDを発行しても、そのすべてを同じ市場価格で売却できるだけの流動性が存在するとは限らないためだ。

ザ・サンドボックス公式Xアカウントでは、今回の事案による影響についてSANDの総供給量の0.01%未満と説明された。ただし、この「影響」が具体的に何を指すのかは明らかにされていない。

また公式Xアカウントでは、ベースとBSC上のSANDを取引しないようユーザーに呼びかけた。両ネットワーク上の流動性が今回の事案による影響を受けているためだ。

ザ・サンドボックス側は、インシデント発生前のスナップショットの取得を進め、影響を受けた流動性プールの対象ユーザーに向けた補償計画を準備している。また今後、インシデントの全容をまとめた報告書と詳細な技術分析を公開する予定とのことだ。

SAND OFTのデリゲート権限を奪取、偽造メッセージで不正発行

ブロックエイドは今回の原因について、クロスチェーン通信プロトコル「レイヤーゼロ(LayerZero)」自体の不具合ではなく、ベース上に展開されたザ・サンドボックスの「SAND OFT」に問題があったと説明した。

OFT(Omnichain Fungible Token)はレイヤーゼロを利用し、複数のブロックチェーンで同じトークンを扱えるようにするための規格だ。SANDでは、この仕組みが異なるブロックチェーン間でSANDを移動させるために利用されている。

ブロックエイドの分析を簡単に整理すると、攻撃者はベース上のSANDのクロスチェーン機能を操作するための権限を不正に取得し、正規のクロスチェーン処理を装うことでSANDを不正発行したことになる。

具体的には、ブロックエイドはSAND OFTの「approveAndCall」と呼ばれる機能が悪用されたと分析している。攻撃者は同機能を利用して「setDelegate」を呼び出し、SAND OFTのレイヤーゼロに関する設定を変更できるデリゲート権限を乗っ取った。

その後、攻撃者は異なるブロックチェーンから届いた情報を受け取る処理「lzReceive」を偽造し、SANDを不正に発行したとのことだ。

なおブロックエイドは、レイヤーゼロのコントラクト自体は設計どおりに動作していたと説明している。

参考:エクスプローラー1エクスプローラー2
画像:PIXTA

関連ニュース

関連するキーワード

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

渡邉洋輔

「あたらしい経済」編集部 記者 ブロックチェーンおよびデジタル資産分野を専門とし情報発信を行っている。オンチェーンデータや流動性構造など、市場設計の観点からのリサーチにも取り組んでいる。