ヴェルス・イーサリアム・ブリッジは、7月23日(木)に2度目のエクスプロイト被害を受けた。ブロックチェーンのセキュリティ研究者によると、攻撃者は悪意ある細工を施したインポート要求を通じてデジタル資産を730万ドルから750万ドル分流出させた。今回の侵害は、5月17日の攻撃で約1,160万ドルを盗み出したのと同じ「認可バイパス(authorization bypass)」および「プロトコル状態の前提(protocol-state assumption)」の欠陥を悪用しており、66日間での総損失は約1,910万ドルに達した。セキュリティアナリストは根本原因を「検証ロジックの不十分さ」と特定した。ブリッジはノータリ署名、ステートルート、メルクル証明は検証していたものの、支払い(payout)数量がヴェルス側でロックされた資産と一致することを確認できず、イーサリアムの準備金から裏付けのない引き出しを可能にしていた。今回の件は、暗号学的検証は成功する一方で、資産の裏付けに関するビジネスロジックの検証が失敗するクロスチェーン・ブリッジ基盤におけるセキュリティ課題が継続していることを示している。
攻撃者がブリッジのロジックにある認可バイパスを悪用
この攻撃では、ヴェルス側からの悪意ある細工を施したインポートが行われ、イーサリアム上で裏付けのない支払い要求が含まれていた。セキュリティアナリストによると、ブリッジはノータリ署名、ステートルート、メルクル証明は検証したが、要求された支払い数量がヴェルス側でロックまたはエクスポートされた資産と一致していることを検証できなかった。
Backward Labsは、根本原因は認可バイパスとプロトコル状態の前提に関する問題だと述べた。ブリッジは複数資産の準備金による支払いを承認する「証明されたインポート」を受け入れたが、作成(creation)、認可(authorization)、転送ハッシュ(transfer hash)、カウント(count)、経済的裏付け(economic backing)に向けた重要な上流チェックが不十分だった。ある分析では、次のように述べている。「今回は、同じ根本原因が66日間にわたって悪用可能なまま残っていた。」
複数の監視ツールは、ステート操作、恣意的なミント、分散型金融(DeFi)の資金流出を理由に、このトランザクションにクリティカルなスコアを付けた。
ブリッジ準備金がETH、USDC、DAI、および他の6つの資産を失う
ブリッジの準備金から流出した資産には、Ether、tBTC、MKR、USDC、Tether、EURC、scrvUSDが含まれていた。DAIについては、ブリッジがSky(旧MakerDAO)の担保ポジションと連携し、詐欺的な要求を満たすために約220,357 DAIをミントした。
5月17日の侵害では、同様の手法で約1,160万ドルが盗まれており、合計の損失は約1,910万ドルとなった。
Backward LabsがPoCと根本原因分析を公開
Backward Labsはレポートとプルーフ・オブ・コンセプト(PoC)を公開し、壊れた不変条件(invariant)を示した。「イーサリアム・ブリッジの準備金は、想定されるブリッジのライフサイクルの下で、CCEの作成、認可、転送ハッシュ、カウント、経済的裏付けがすべて証明された送信元チェーンの準備金移転に限り解放されうる。」
このエクスプロイトは、クロスチェーン・ブリッジで継続的に起きるセキュリティ課題を浮き彫りにする。暗号学的検証は成功しても、資産の裏付けに関するビジネスロジック検証が失敗するためだ。ブリッジのエクスプロイトはDeFiでは繰り返し発生する問題であることが多く、ブロックチェーンのトランザクションは不変であるため、しばしば回復不能な損失につながる。
よくある質問
7月23日にヴェルス・イーサリアム・ブリッジで何が起きたのか?
攻撃者は7月23日の認可バイパスの欠陥を悪用し、資産裏付け検証を回避する悪意ある細工を施したインポート要求によって、ETH、USDC、DAI、tBTC、MKR、Tether、EURC、scrvUSDを含むデジタル資産を730万ドルから750万ドル分流出させた。
同じ脆弱性が66日間も悪用可能なままだったのはなぜ?
ブリッジのスマートコントラクトは、支払い(payout)数量がヴェルス側でロックされた資産と一致することを検証できなかった。暗号学的な証明や署名は検証していた一方で、作成、認可、転送ハッシュ、カウント、経済的裏付けに関する重要な上流チェックが不十分であったため、5月17日に使われた同じ攻撃手法が7月23日にも成功することを許してしまった。