top of page

Liquid Networkハック、3億2,000万ドル相当を流出させるもBitcoinの大半を返還

9月8日
読了時間: 17分

9月6日に発生したLiquid Networkへのハックでは、サイドチェーンのフェデレーションウォレットから約4,000 BTCが流出した。これは報告されていた準備金のおよそ95%に相当する。身元不明の実行者は自らをホワイトハットと称し、資金返還の条件としてソフトウェアの修正を要求した。

しかし当初、この主張はほとんど安心材料にならなかった。この引き出しにより、裏付けがないとみられるLiquid Bitcoinが、正式なpeg-outプロセスを通じて実際のbitcoinへと換金されていたためだ。Liquidはネットワーク活動を停止し、取引所もBitcoin裏付け資産に関する入出金を停止した。

その後、状況は変化した。Blockstreamが影響を受けたブリッジノードへのパッチ適用を発表した後、実行者は3,400 BTCを返還した。ただし、報道時点で約4,700万ドル相当とされた約598.5 BTCは、9月8日時点でも実行者の管理下に残っていた。

これはBitcoinネットワーク自体への侵害ではない。Liquidは、内部資産をBitcoinに接続するためにソフトウェアと指定オペレーターを利用する、フェデレーション型サイドチェーンであり、今回の障害はその内部で起きた。この区別によりBitcoinのベースレイヤーは本件の影響を受けない一方、Liquidが修復しなければならない中核的な約束が浮き彫りになった。

Liquid Networkハックは正規の引き出しを準備金流出へ変えた

決定的なのは単にbitcoinが移動したことではなく、Liquidの通常の償還機構がその移動を承認したと報じられている点だ。

Liquid Networkは、当時約3億2,000万ドル相当の約4,000 BTCがフェデレーションウォレットから引き出されたと明らかにした。インシデント前、このウォレットには約4,200 BTCが保管されていたと報じられている。

したがって、この引き出しで同ウォレット残高の約95%が失われた。初期のセキュリティインシデント報道によると、Liquidはブリッジノードを無効化し、取引所と連携してL-BTCの入出金を停止した。

通常L-BTCまたはLBTCと表記されるLiquid Bitcoinは、Liquidサイドチェーンへ移転されたbitcoinを表す。Liquidのドキュメントでは、各LBTCはフェデレーションが保有する同額のBTCによって裏付けられるべきものとされている。

この変換プロセスは双方向ペグと呼ばれる。peg-inではbitcoinをロックして対応するLBTCを発行し、peg-outではLBTCを焼却してフェデレーションウォレットからbitcoinを放出する。

実行者はウォレットの署名鍵を盗むのではなく、引き出し前の会計処理を攻撃したとみられる。SideSwapによると、4,000 LBTCが有効な認可を伴って同社のpeg-outサービスに到達した。サービスはこれらのトークンを焼却し、フェデレーションは指定されたBitcoinアドレスへ約3,996 BTCを放出した。

SideSwapは、自社システムおよびPeg-out Authorization Keyは侵害されていないと述べた。Peg-out Authorization Key、すなわちPAKは、登録済みオペレーターと承認済みの送付先形式に引き出しを制限する。

この区別は重要だ。取引は想定された経路を通過していたからである。フェデレーションが明らかに偽造された引き出し要求を受け取ったとは限らない。むしろ、対応する担保なしには存在するはずのないトークンを処理したと報じられている。

身元不明の実行者は後に、Bitcoinトランザクション内に短いメッセージを記録した。彼らは「we are whitehats. contact us on chain.」と主張した。

BitcoinのOP_RETURNフィールドでは、トランザクションに少量の任意データを記録できる。この事例では、実行者とBlockstreamの間の公開コミュニケーション手段となった。

Blockstreamは連絡方法を示して応答し、その後に暗号化および暗号学的署名が施されたメッセージが続いた。実行者はその後、影響を受けたすべてのノードに修正が適用されれば資金を返還すると述べた。

この一連の経緯により、Liquid Networkの悪用は異例なほど可視化された。実行者の身元や意図が不明なままであっても、誰でもトランザクションとメッセージを確認できた。

この流出は、同時に二つの記録を残した。LiquidとSideSwapは運用上の対応を説明し、Bitcoinには引き出し、その後のメッセージ、そして最終的な一部返還が記録された。

ソフトウェアは預け入れられていないBitcoinを受け入れた

報じられた障害は、フェデレーションの鍵を破ることなく、LBTC供給量とbitcoin準備金の関係を壊した。

SideSwapによると、BlockstreamはこのインシデントをLiquidの基盤となるオープンソースソフトウェア、Elementsのバグに起因するものと特定した。この説明によれば、脆弱性により実行者は裏付けのないLBTCを作成できた。

この仕組みは、あらゆる資産ブリッジにおける最重要不変条件を攻撃する。システムは、ユーザーが以前にロックした準備資産を超える量を決して放出してはならない。

Liquidのペグに関するドキュメントは、厳格な1対1モデルを説明している。すべてのLBTCはフェデレーションが保有するbitcoinに対応し、1 LBTCを焼却すれば1 BTCが放出されるべきである。

ソフトウェアがサイドチェーン上の供給量を増やす無効なトランザクションを受け入れた場合、その保証はpeg-out開始前に破綻する。攻撃者はその後、新たに作成したLBTCを正規の引き出しサービスに提示できる。

引き出しサービスには認可済みトークンが見える。設計どおりにそれを焼却し、フェデレーションに実際のbitcoinの放出を求める。システム全体としての結果は無効であっても、各コンポーネントは割り当てられた役割を果たしているように見え得る。

これがLiquid Networkハックにおける核心的な逆転である。認可管理は機能していたと報じられているが、その認可は破損した供給会計に基づく請求を対象としていた。

フェデレーションウォレットのマルチシグ設計は、この結果を防げなかった。マルチシグとは、準備金を移動する前に複数の指定鍵保有者がトランザクションを承認しなければならない仕組みである。

この構成は、単一の盗難鍵や悪意ある単独署名者からは保護する。しかし、引き出しを正規のものとして提示する上流のコンセンサスまたは検証の障害を、自動的に検出するわけではない。

Bitqueryが公開したオンチェーン分析では、大規模な引き出しに先立って二件の小規模なpeg-inが追跡された。研究者らは、最終トランザクション前にLiquid上で行われたテスト活動と、繰り返し現れる暗号学的パターンも特定した。

同社のトランザクション再構成では、9月6日14時28分UTCに3,996 BTCのフェデレーション送金があったと報告されている。この分析は、引き出し後に交わされたメッセージも記録した。

これらの調査結果は、偶発的なトランザクションではなく準備行為を示唆する。ただし、実行者は身元を公表しておらず、完全な技術的開示も行っていない。

一部の報道は、この障害をレンジプルーフ検証と関連付けている。レンジプルーフとは、コンフィデンシャル・トランザクションの非公開金額が有効な範囲内にあり、不正な資産創出を行っていないことを示す暗号学的証明である。

LiquidはConfidential Transactionsを利用しており、移転される資産と金額を隠しながら、ネットワークノードがトランザクションの有効性を確認できるようにしている。この確認プロセスに欠陥があれば、ノードは可視の金額ではなく証明に依存するため、特に深刻になり得る。

正確な根本原因については、Blockstreamによる詳細な事後報告がなお必要である。公開情報は、裏付けのないLBTCがpeg-out経路に入ったという大枠の結論を支持しているが、すべての技術的手順を立証するものではない。

この検証上の空白は明示されるべきだ。もっともらしい再構成は、完全なベンダー開示、監査済みパッチ、または独立した再現と同じではない。

Liquid Bitcoinのセキュリティは今や、鍵の完全性以上のものを証明する必要がある。Blockstreamは、なぜノードが無効な状態を受け入れたのか、どのバージョンが影響を受けたのか、そしてパッチが関連する亜種をどのように防ぐのかを示さなければならない。

Liquidの1対1の約束はいま圧力にさらされている

このインシデントは、Liquidの製品上の約束が暗号学的検証とフェデレーションの運用判断の双方に依存しているため、Liquidに圧力をかけている。

Liquidは、Bitcoinのベースネットワークよりも高速な決済と高い取引プライバシーを提供するよう設計されている。ステーブルコインやトークン化証券などの資産もサポートする。

これらの機能は、異なる信頼前提を持つ別個のブロックチェーンから生まれる。BitcoinマイナーはLiquidトランザクションを検証せず、BitcoinのコンセンサスルールもLBTC供給量を強制しない。

代わりにLiquidは、ブロックへの署名と双方向ペグの管理を担うfunctionaryのフェデレーションに依存している。他のフェデレーション参加者もサービスを提供できるが、システムのセキュリティはBitcoinマイニングをそのまま反映するものではない。

このモデルが本質的に欠陥というわけではない。すべてのサイドチェーンやブリッジには、追加のソフトウェア、ガバナンス、カストディに関する前提が導入される。ユーザーはベースレイヤーでは得られない機能との引き換えに、それらの前提を受け入れる。

今回のインシデントは、障害時にそれらの前提がどのように相互作用するかを露呈させた。Liquidはネットワークを停止し、ブリッジノードを無効化し、取引所と連携し、パッチを配布し、実行者と交渉できた。

これらの措置はさらなる被害を抑制した。一方で、Liquidの緊急対応は、インフラを停止し、資産移動に影響を及ぼせる識別可能なオペレーターに依存していることも示した。

Bitcoin自体は停止しなかった。マイナーは、実行者のメッセージと返還資金を記録するトランザクションを含め、ブロックの処理を継続した。

この対比は、すべてのアプリケーションがBitcoin上で直接動作すべきことを意味するものではない。ユーザーは、Bitcoinのセキュリティと、別の場所でbitcoinを表す資産のセキュリティを区別しなければならないことを意味する。

Liquid自身の技術概要では、ブリッジノード、functionaryハードウェア、署名管理、緊急復旧メカニズムが説明されている。このアーキテクチャは、暗号技術と組織的な連携を組み合わせるものだ。

いまBlockstreamとフェデレーションには、これらのレイヤーがどのように同時に失敗したのかを説明する圧力がかかっている。秘密鍵が侵害されなかったと言うだけでは、問いの一部にしか答えていない。

ユーザーは、なぜ署名者が不正に作成されたLBTCと引き換えにbitcoinを放出したのかも知る必要がある。取引所には、入金再開が未解決の供給不一致にさらされないことを示す証拠が必要だ。

資産発行者も関連する懸念に直面する。Liquidは他の発行済み資産は影響を受けなかったと述べたが、ネットワーク停止はそれらを運ぶ共有インフラを中断した。

資産は技術的に無傷であっても、一時的に移転や償還が困難になることがある。したがって、運用上の可用性もセキュリティ評価の一部となる。

一部回収により準備金の状況は改善したが、この出来事が消えるわけではない。1対1の裏付けをうたうシステムは、その主張を支えるbitcoinの大半を一時的に失った。

残る598.5 BTCは会計上の疑問も残す。Blockstreamは、未回収額がLBTCの裏付け、負債、および回収に関する約束にどのような影響を与えるかを説明しなければならない。

返還された資産は、失われた可用性、市場の不確実性、または取引所による管理措置の必要性を元に戻すものではない。また、関連する脆弱性が他に存在しないことを証明するものでもない。

Liquidの運営者は、技術監査と信頼性の試験の両方に直面している。前者はバグが修正されたかを問う。後者は、ユーザーがその答えを独立して検証できるかを問う。

一部返還だけではホワイトハットかどうかは決着しない

3,400 BTCの返還は実行者が表明した意図を裏付けるが、約600 BTCを保持していることにより、明確にホワイトハットと結論付けることはできない。

Blockstreamがブリッジノードへのパッチ適用を発表した後、実行者は3,400 BTCをフェデレーションアドレスへ返還した。このトランザクションにより、引き出された額のおよそ85%が回復した。

9月8日の復旧に関する更新では、約4,700万ドル相当のbitcoinが依然として未回収であると報じられた。残額をめぐる協議は継続していた。

当事者らは以前、Blockstreamに対し、まずバグを修正するよう求めていた。資金を安全に返還するには、すべてのノードにパッチが適用される必要があるとしていた。

このメッセージは、ホワイトハットによるセキュリティ活動の一側面と一致する。修正前に脆弱性を公表または実証すれば、他のユーザーが模倣攻撃にさらされるおそれがある。

ただし、一般的な責任ある開示は通常、非公開での報告と協調的な検証から始まる。文書化された許可なしにシステム準備金の95%を引き出すことから始まるものではない。

したがって、当事者らの呼称は主張であり、検証済みの専門的資格ではない。Liquidが当初「自称ホワイトハットハッカー」と表現したことは、この不確実性を適切に保っていた。

残る資金はこの問題をいっそう際立たせる。本記事で確認した公開情報には、Blockstreamが598.5 BTCの報奨金を承認したことを示す証拠はない。

そのような承認がなければ、コインの保持は一方的な手数料、交渉上のてこ、あるいは不正取得資産の継続的な保有とみなされ得る。部分返還だけでは、動機や法的責任を判断できない。

また、読者が経験、権限、過去の行動を評価できる公開された身元情報も存在しない。オンチェーン署名が証明するのはアドレスの支配権であって、その管理者の倫理性ではない。

この曖昧さには歴史的な前例がある。2021年、攻撃者はPoly Networkから6億ドル超を引き出し、その後、資産の大半を返還した。

Poly Networkはその攻撃者をホワイトハットと呼び、報奨金を提示した。当時のPoly Network報道は、大規模な返還が法的・ガバナンス上の疑問を解消しないまま、世論の語り方を変え得ることを示していた。

Liquidの事案は同一ではない。報告された仕組み、資産、運営者、コミュニケーションはいずれも異なる。それでも両事案は、資金回収が協力に依存する場面で、「ハッカー」がいかに素早く「ホワイトハット」へと変わるかを示している。

この表現は交渉中には実務的な目的を果たし得る。協力的な相手を公に攻撃すれば、資金を回収できる可能性を下げかねない。

しかし、運用上の外交はセキュリティ上の分類に取って代わるべきではない。認可された研究者、日和見的な搾取者、恐喝者は、それぞれ異なる理由で資金を返還し得る。

有用な証拠は、残るBTCの最終的な処理と、開示される合意内容から得られるだろう。完全な技術報告があれば、当事者らがそれ以前に非公開で接触を試みたかどうかも明らかになる可能性がある。

それまでは、自称またはホワイトハットを名乗る者たちという表現が最も正確である。この行為を承認済みのセキュリティテストと呼ぶことは、利用可能な証拠を超える。

このエクスプロイトはBitcoinブリッジの古い問題を再燃させる

Liquidのアーキテクチャは多くの暗号資産ブリッジと異なるが、今回の失敗はよく知られたパターンに従っている。虚偽の請求が、実際の資産を保有する準備金へと到達した。

クロスチェーンシステムは、異なるセキュリティルールを持つ環境間の活動を変換するため、リスクを集中させる。一方のシステムは、別のシステム上のイベントが価値の払い出しを正当化するかを判断しなければならない。

Liquidでは、その判断はサイドチェーン上のLBTCとBitcoin上で保有されるBTCを結び付ける。フェデレーションのウォレットが準備金であり、Liquidの検証ルールがそれに対する請求を管理する。

報告されたバグは、この二つの台帳に不一致を生じさせた。サイドチェーンは対応するbitcoinなしにLBTCを受け入れ、その後のpeg-outプロセスが虚偽の請求を実行した。

同様の経済的パターンは、他のブリッジ事故でも見られた。Wormholeの2022年のエクスプロイトでは、本来裏付けとなるべき預け入れなしに、攻撃者がラップド資産を作成できた。

Roninのブリッジは別の経路で破られた。攻撃者は十分な数のバリデーター鍵を取得し、準備金からの引き出しを承認できるようになった。

これらの仕組みは技術的には異なるが、同じ圧力点に行き着く。ブリッジは、発行された請求とロックされた担保との厳格な関係を維持しなければならない。

過去のデータは、なぜこの境界が継続的な精査を受けるのかを示している。Chainalysisは、2022年の一部期間に13件のブリッジハッキングで攻撃者が20億ドルを盗んだと推定した。

同社のブリッジリスク分析によれば、これらの事件は公表時点で同年に盗まれた暗号資産の69%を占めていた。この数値は2022年を示すものであり、現在の市場を示すものではないが、アーキテクチャ上の教訓は依然として重要である。

ブリッジは予測可能な場所に資産を蓄積する。その検証コードと署名者ポリシーもまた、大規模な準備金が移動し得る限定的な経路を作り出す。

Liquidのフェデレーションは、匿名のスマートコントラクト型ブリッジよりも構造化された運営者集団を提供する。アップグレードの調整、サービス停止、取引所との直接的な連絡が可能だ。

こうした利点は対応を支えた。しかし、報告された脆弱性は、どのトランザクションが有効かを決めるロジックに存在していたため、初期の準備金流出を防ぐことはできなかった。

この違いは今後の監査のあり方を左右すべきだ。鍵の保管やアクセス制御だけを検証しても、インフレーション、証明検証、状態整合性の不具合を見逃す。

監査人は償還経路全体もテストすべきである。その経路には、資産作成、検証、認可、バーン、フェデレーション署名、そしてBitcoin上での最終支払いが含まれる。

Liquid Networkのエクスプロイトは、局所的な正しさだけでは不十分である理由を示している。SideSwapによれば、その認可鍵は安全なままだったが、有効なサービスであっても無効なシステム結果の一部となった。

フェデレーションの署名者も、想定されたルールに従ったように見える。報告によれば、欠陥がそれらのルールに渡される情報を変えていた。

したがって運営者には、複数の真実の情報源を照合する統制が必要となる。異例の引き出しが完了する前に、供給量の変化、peg-in履歴、peg-out量、準備金の移動を照合すべきだ。

準備金の大半に関わる単一のリクエストは、プロトコル上は有効と見なされていても、例外的な審査を受けるべきである。ソフトウェア上の有効性と運用上の妥当性は別の検査だ。

このアプローチは摩擦を生むが、Liquidはその摩擦を部分的に減らすために設計された。より速い決済によって、ほぼ全準備金を一つの経路で移動できる場合、このセキュリティ上のトレードオフは避けられない。

Liquidが被害を封じ込めたかを決める三つのシグナル

次の段階は、未返還のbitcoin、再現可能な技術的説明、そして通常運用への統制された復帰にかかっている。

最初のシグナルは残る598.5 BTCだ。全額返還は、当事者らのホワイトハットという説明を強めるだろうが、遡って権限を証明するものではない。

交渉による報奨金も残額の解決につながり得るが、それはBlockstreamが合意と一方的な保持を区別できるだけの情報を開示する場合に限られる。沈黙が続く、または無関係なアドレスへ移動される場合、ホワイトハットという解釈は弱まるだろう。

二つ目のシグナルはBlockstreamの技術的な事後報告である。脆弱なElementsバージョン、失敗した検証ルール、影響を受けたトランザクション経路、パッチが提供する正確な保護を特定すべきだ。

有用な開示では、独立系開発者がバグを再現したかどうかも説明されるべきである。再現は重要だ。説明が非公開のままであれば、ユーザーはソフトウェアに失敗したのと同じ組織に依存することになる。

報告書は検知の時期にも触れるべきだ。公開トランザクション分析は、大規模なpeg-outに先立って準備活動があったことを示唆しており、監視と異常検知のしきい値に疑問を投げかけている。

三つ目のシグナルはLiquidの再開プロセスである。通常の活動が再開される前に、取引所とユーザーには、入金、出金、準備金検証に関する明確な手順が必要となる。

ブリッジノードの再起動は、信頼の回復と同義ではない。部分返還後、運営者はLBTC供給量とフェデレーションが保有するbitcoinを照合しなければならない。

また、残る不足分をどのように補填するのかも説明すべきだ。その答えによって、保有者が残存リスクを負うのか、別の当事者が吸収するのかが決まる。

慎重な再開には、functionaryとブリッジノード全体でのバージョン確認が含まれる。旧式のソフトウェアが本番ネットワークへ再接続できないことについても、目に見える形で確認を示すべきである。

サービス再開後も、Liquid Bitcoinのセキュリティをめぐる広範な問題は残る。フェデレーションは、開示された欠陥と同種の検証失敗の両方に対する防御を追加したことを示さなければならない。

開発者にとっての教訓は、コンポーネントの境界をまたいでセキュリティ保証を追跡することだ。誤ったトランザクションを認可するシステムを、保護された鍵が救うことはできない。

取引所にとっての教訓は、担保を独立して監視することだ。トークンが通常どおりに見えるからといって、その準備金との関係が維持されているとは限らない。

資産保有者にとって、当面の問いはより単純である。インシデントが収束したと見なす前に、公式のサービス告知、準備金データ、取引所での出金状況を確認すべきだ。

部分返還は、壊滅的な損失を回復可能な危機へと変えた。しかし、それだけで1対1の約束を回復したわけではない。

Liquid Networkのハッキングが封じ込められたと言えるのは、残額が解決され、バグが独立して理解され、照合済みの準備金を裏付けとして通常の出金が再開されたときだけである。それらの条件が確認できるまでは、「資金の大半が返還された」は進捗報告であって、結末ではない。

 
 

無料で始めましょう

ローカルファーストのパーソナル知識管理付きAIアシスタント

より良いAI体験のために、

remio は現在、 Windows 10+ (x64)とM-Chip Mac のみをサポートしています。

仕事のAIパートナー
remioでもっと仕事が進む

計画・作成・仕上げまで
すべてをひとつに

bottom of page