事件・ミステリー約 6分Ethereum (ETH)

Nomadのコピペ攻撃:破綻したメッセージ検証と長い資金回収

2022年8月1日、Nomadの認証の欠陥によって偽造されたブリッジメッセージが通過しました。他の参加者も公開された取引の受取先を変更して攻撃を模倣。当時の流出推計は約1億9,000万ドルで、回収には追跡と返還、分配方式の再設計が必要でした。

Nomadのコピペ攻撃:破綻したメッセージ検証と長い資金回収

要点

  • 公式分析によると、本番環境の更新は2022年6月21日でした。メッセージのマッピングの既定値とゼロルートの承認が組み合わさって欠陥が生じました。
  • 受取先を変えると別のメッセージとなり、同じ欠陥を悪用できました。処理済みの同一メッセージに何度でも支払う仕組みではありません。
  • 8月5日の報奨金は条件を満たす返還に最大10%を提示しました。12月20日の更新は回収資産の分配を目的とした再開を知らせたもので、全損失の返済完了ではありません。

出来事のタイムライン

2022-06-21本番環境の更新

公式分析が、問題となった本番環境の更新日として挙げた日です。

2022-08-01偽造メッセージで資産流出

認証の欠陥が悪用され、後続の参加者が公開された呼び出しの受取先を変更して模倣しました。

2022-08-05条件付き報奨金と原因分析

90%以上の返還に最大10%を提示し、限定的な法的措置の約束と原因分析を公開しました。

2022-08-17進行中の回収

Nomadは約20%の3,700万ドル超を回収したと報告し、分配のための再開計画を示しました。

2022-12-20回収目的の再開を発表

12月7日ガイドの更新が、比例配分の請求を伴う資産返還手続きの再開を伝えました。

1. 検証していないメッセージを受け入れる

Nomadはブロックチェーン間でメッセージを運んでネットワークを結んでいました。Replicaコントラクトは、BridgeRouterが動作する前に受信メッセージを認証する役割を担っていました。オプティミスティックな設計では、メッセージはマークルルートに関連付けられ、そのルートの待機期間が終了する必要がありました。メッセージ、ルート、確認時刻の関係が、正規の処理と偽造された指示を区別するはずでした。[3]

Nomadの8月5日の原因分析は、本番環境の更新日を2022年6月21日としています。メッセージ処理の変更が既存の初期化状態と組み合わさりました。ゼロルートの確認時刻には1が保存されており、メッセージのハッシュに対応する項目がメッセージとルートのマッピングにない場合も既定値のゼロが返されました。更新後の検査がこの値を使うと、ルートは受け入れ可能と判定され、未証明のメッセージが通過しました。[3]

問題は保存値の解釈でした。空の入力をハッシュ化してゼロになる必要はありませんでした。Replicaの認証を信頼するコントラクトへ偽造指示が届いたのです。公式分析はWatcherが介入しなかった理由も説明しています。監視対象はUpdater鍵の侵害でしたが、この経路には不正なUpdater署名が不要でした。ある種類の故障に備えた防御が、実装の欠陥を捉えられなかったのです。[3]

2. 他者も模倣できる攻撃パターン

攻撃は8月1日に起きました。CertiKの分析は、イーサリアム側で100 WBTCが支払われた取引を例として説明しています。最初の攻撃の正確な時刻を確定する記録として示しているわけではありません。成功した呼び出しが公開されると、後続の参加者も入力を変更し、別の受取先へ資金を送ることができました。[1][2]

受取先を変えれば、提出するメッセージも変わります。Nomadの公式説明は、まだ処理されていないメッセージなら偽造して通過させられたとしています。欠陥はブリッジのメッセージ認証を迂回しましたが、通常のイーサリアム取引署名を不要にしたわけでも、処理済みの一つのメッセージを無限に換金できるようにしたわけでもありません。攻撃パターンの模倣と、同一の完了済みメッセージの反復は別です。[3]

当時のRektの記事には、模倣者や自動化された活動に加え、資金を保護していたと主張する参加者も登場します。コピーする仕組みについての記事は、アドレスを差し替えるという違いを次のように表現しました。[2]

以前の攻撃者のアドレスを自分のアドレスに差し替える。[2]
— Rekt News

3. 時点によって異なる被害集計

資産が流出する間、調査機関は動き続ける事件を集計していました。CertiKの推計は約1億9,000万ドルでした。Ellipticは1億5,640万ドル超とし、40を超える攻撃者と、攻撃の自動化に使われた200以上のコントラクトを特定したと報告しました。各機関に帰属する観測であり、一つに照合済みの台帳でも、一般投資家を示す比率でもありません。[1][4]

流出資産にはWETH、WBTC、ステーブルコインが含まれていました。Ellipticは8月2日正午のイーサリアムのコントラクト残高を約1万5,000ドルとし、記事の8月3日更新では1,600万ドルが返還されたと報じました。準備金の減少はブリッジ資産の裏付けに影響しました。ただし、それだけで最終回収額や、各アドレスの背後にいる人々の身元と動機を確定できるわけではありません。[4]

Nomadの8月17日の集計は、1億8,600万ドル超の被害、300超の参加アドレス、約20%に当たる3,700万ドル超の回収を示しました。チームは追跡と返還が進行中だと説明しています。集計の時点と範囲の差は重要です。概算の初期被害額から、その時点の返還額を引いただけでは、残りが永久に失われたことの証明にはなりません。[6]

4. 返還後にも残った分配の問題

8月5日、Nomadは持ち出した総額の90%以上を公式回収ウォレットに返した参加者に、最大10%の報奨金を提示しました。FAQでは、条件を満たしたホワイトハットにNomadが法的措置を取らず、刑事訴追をしないよう働きかけるとしています。これはプロジェクトの約束と働きかけであり、政府が与える免責ではありません。[5]

回収後には誰にどの資産を渡すかを決める必要もありました。8月17日の計画は、処理待ちの正規の送金、取引が続くブリッジトークン、盗まれたものと異なるトークンによる返還を挙げています。先に請求した人が準備金を使い切るのを避け、回収資産を分配するための再開をNomadは設計していました。この時点では再開はまだ計画でした。[6][7]

12月7日公開、12月20日更新の再開ガイドは、その後、資産を戻す手続きが再開したと発表しました。KYC/AML確認と、回収資産の比例配分を受ける権利を記録する譲渡不可のを説明し、将来追加回収があれば受け取れる仕組みも示しました。このガイドでは新たな元の資産の預け入れを認めていませんでした。回収の仕組みが、全利用者への全額返済を証明するわけではありません。デプロイの教訓と複雑な分配問題が残った事件でした。[7]

この事件から学ぶ重要教訓(Key Takeaways)

技術 & アーキテクチャ

コードだけでなく状態遷移も検証する

更新によって既存の既定値が危険な意味を持つことがあります。デプロイ時の状態を含め、認証と処理済みメッセージの動作を検証する必要があります。

市場 & 投資インサイト

公開された攻撃は発見者以外にも広がる

公開された呼び出しから攻撃パターンを応用できました。アドレス数と初期被害額にも時点と出典が必要です。

思想 & ガバナンス

修正だけでは回収は終わらない

不正なメッセージを止めても失われた担保は戻りません。返還、法執行との協力、比例分配は別々の課題でした。

次の疑問へ

続けて読みたいストーリー

同じテーマを、別の事例や背景から考えてみましょう。

出典・参考文献

  1. [1]出典 1: CertiK:技術的な事故分析CertiK · 2022-08-01確認 2026-09-06
  2. [2]出典 2: Rekt:当時の模倣攻撃の報道Rekt News · 2022-08-02確認 2026-09-06
  3. [3]出典 3: Nomad:8月5日の公式原因分析Nomad · 2022-08-05確認 2026-09-06
  4. [4]出典 4: Elliptic:攻撃追跡と8月3日の回収更新;ページ表示日は2023年5月9日Elliptic · 2023-05-09確認 2026-09-06
  5. [5]出典 5: Nomad:8月5日の報奨金と法的範囲のFAQNomad · 2022-08-05確認 2026-09-06
  6. [6]出典 6: Nomad:8月17日の回収計画Nomad · 2022-08-17確認 2026-09-06
  7. [7]出典 7: Nomad:12月7日の再開ガイド;12月20日更新Nomad · 2022-12-07確認 2026-09-06