ネットワーク間の最初のメッセージ送信から50年以上経った今も、ピアツーピーネットワークはインターネットのジャングルの中で稀有な存在です。ビットコインのオープンな通貨システムを提供する能力は、そのピアツーピーアーキテクチャに依存しており、その攻撃面全体において最も脆弱なのはネットワーキング層—ピアが互いに発見し接続する方法です。問題が発生しやすい主な場所は二つあります:ビットコイン自身のピアリングプロトコルと、ビットコインのプロトコルが依存するインターネットプロトコルです。この観点から、Coreはノード間で悪用され得るサービス拒否(DOS)ベクターを防止し、より広範な敵対的環境であるインターネット上でノードが安全に通信できるようにする二重の使命を持っています。P2P---「政府はNapsterのような中央管理されたネットワークの頭を切り落とすのは得意だが、GnutellaやTorのような純粋なP2Pネットワークは自分たちの力を保っているようだ。」– サトシ、2008年11月7日 [1]ピアツーピーネットワークプロトコルは、ノードが取引、ブロック、その他のピアについてメッセージを交換する方法を包含します。この情報交換は、取引や合意の検証が行われる前に必要であり、したがって最優先の関心事です。この分野では過去にいくつかのバグが報告されています。例えば2017年には、悪意のあるSOCKSサーバーの脆弱性が修正・公開されました [2]。この「バッファオーバーフロー」脆弱性は理論的には多様な攻撃につながる可能性があり、ノードのクラッシュや悪意のあるペイロードの注入、データの改ざんを引き起こすことが考えられます。2020年には、リモートピアがアドレスを禁止リストに追加できる高重大度の脆弱性が報告され、修正されました [3]。この脆弱性は2024年まで公開されませんでした。攻撃が簡単に実行でき、ノードの機能喪失につながるため、「高重大度」と正しく評価されています。これらのバグはCore開発者を夜も眠れなくさせるものであり、ノードをメンテナンスされているバージョンに更新することが強く推奨される理由です(古いバージョンのCoreは積極的にメンテナンス・更新されていません)。私たちが呼ぶこの分散型ネットワーク、ビットコインは比較的小規模です。クリアネットのノード数は約2万ノードで、寛大に見積もってもTORノードは10万程度あり、依然として小さく監視しやすいネットワークです。最近、Daniela Brozzoniとnaiyomaは [4]、クリアネットとTorの両方を運用しているノードは、そのIPv4アドレスとTorアドレスを簡単にマッピングできることを示しました。これはすでに情報機関やチェーンアナリシス企業によって行われている可能性が高いです。これにより、どのノードが最初にどの取引を公開したかを特定し、その取引の元のIPアドレス、ひいては位置を推測することが容易になります。これはバグではありませんが、ノードがクラッシュしたり誤動作したりしないため、脆弱性とみなすこともできます。つまり、特定のIPアドレスと取引を結びつける方法を提供しているからです。これを効果的に防ぐ方法は、現在も未解決の課題です。ウェブの荒野-------「私たちは都市を建てるようにコンピュータを作る。計画なしに、廃墟の上に、時間とともに。」 – エレン・ウルマン [5]ビットコインはインターネット上で動作し、その分散型・非中央集権的なシステムとしての能力は、インターネットそのものの特性に依存しています。残念ながら、今日のインターネットのアーキテクチャは非常に脆弱であり、既知の攻撃が日常的に行われています。これらの攻撃の多くは検知されることなく被害が拡大し、さらに今日のインターネットに浸透している監視体制も無視できません。最もよく知られ、実用的な攻撃ベクターはエクリプス攻撃と呼ばれます。これは、被害者ノードのピアがすべて悪意のあるものであり、チェーンやネットワークの特定のビューを被害者ノードに供給するものです。この種の攻撃は分散システムにおいて基本的なものであり、ノードのピアを制御すれば、そのネットワーク認識を制御できることになります。Ethan Heilmanらは2015年のUSENIXで、ビットコインに対する最初の実用的なエクリプス攻撃の一例を発表しました [6]。また、2018年にはErebus攻撃の論文が、悪意のある自律システム(AS)を利用した「ステルス」エクリプス攻撃を記述しています [7]。これらの攻撃は、ASのルーティングトポロジーやBGP(Border Gateway Protocol)と呼ばれるプロトコルの弱点を突いています。BGPのセキュリティを強化する取り組み(BGPsecやRPKI)も進行中ですが、これらには限界があり、インターネットの管理者たちはより強力な解決策を切望しています。それまでは、インターネットはまさに荒野のままです。Chaincode LabsのCedarcticによる最近の分析では、ビットコインのノードはわずか4551のASにホスティングされており、インターネットを構成するネットワークの中でもかなり小さな部分に過ぎません。彼らは、ノードが運用される上流のASを侵害することでエクリプス攻撃につながる一連の攻撃を示しています [8]。AS間のノードの分布が狭く、これらのAS間の特定の関係性が、ユニークな攻撃ベクターを生み出しています。対策はありますが、この攻撃ベクターが事前にビットコイナーや敵対者によって十分理解されていたかは不明です。一つまたは複数のASを侵害する攻撃には、資源、調整、スキルが必要です。これまでにビットコインのノードに対して成功した攻撃は報告されていませんが、マイナー [9]、ウォレット [10]、スワッププラットフォーム [11]、ブリッジ [12]に対しては成功例があります。私たちはインターネットそのものを修正できませんが、敵対的な環境で運用できるツールをノードに備えさせることは可能です。ネットワークの備え--------------以下は、ビットコインコアが開発またはサポートしている、ネットワークレベルの攻撃に対抗するための機能と特徴です。**TOR(The Onion Router)**は、ビットコインコアに組み込まれた最も古いプライバシー重視のオーバーレイネットワークです。ランダムなピアのネットワーク間でホップを作り、トラフィックを隠蔽します。**v2transport** [13]は、ピア間の接続を暗号化し、盗聴や検閲からトラフィックを隠します。目的は、受動的なネットワーク監視者が通信内容を盗み見できないようにすることです。**I2P(The Invisible Internet Project)** [14]は、Coreのオプション機能であり、接続に追加のプライベートで暗号化された層を提供します。これはTorに似た匿名性ネットワークで、ピアがクライアントとサーバー間のトラフィックを隠すために依存しています。**ASmap** [15]は、Coreのもう一つのオプション機能であり、Erebus攻撃に対する緩和策を実装しています。ピアの出所となるASを認識させ、多様性を確保することで、エクリプスの難易度を指数関数的に高めます。攻撃者は多くのASを侵害しなければならず、これは非常に困難であり、ほぼ検出されずに行うことは不可能です。ビットコインコアは、Core 20.0以降、IPネットワークとそのASをマッピングしたASマップの利用をサポートしており、Kartografプロジェクトにより誰でも簡単にASマップを生成できます。インターネットが今後も多くの攻撃に脆弱であり続けることを考えると、私たちにできることの一つは、ピアの挙動を観察し、悪意のある行動を検出しようとすることです。これが、0xb10cによる**peer-observerプロジェクト**の背後にある動機です [16]。このプロジェクトは、OS上で動作するプログラムの最小単位の動作を観察できる、完全なeBPFトレースポイントベースのロギングシステムを提供します。これにより、ノードの活動やピアの挙動を監視でき、自分自身のロギングシステムを構築するためのツールも提供します。ビットコインは堅牢でなければならない----------------------ピアとの接続とメッセージ交換の安全確保は、ビットコインの動作の根幹をなす重要な要素です。ビットコインは、多次元の敵対的環境で動作しており、その多くの脅威はインターネットのアーキテクチャ自体の制約によって生じています。ビットコインが存続し繁栄するためには、その開発者とユーザーはこれらの奇妙な水域をうまく航行する術を身につけなければなりません。オープンネットワークの代償は、常に警戒を怠らないことです。今すぐ『The Core Issue』を手に入れましょう!**あなたのチャンスを逃さないでください — _The Core Issue_を所有しましょう!** 多くのCore開発者が自らのプロジェクトについて解説した記事を収録しています!_この文章は、Bitcoin Magazineの最新号『The Core Issue』の編集者からの手紙として掲載されたものです。全号で展開されるアイデアの一端を早期にお伝えしています。_[0][1][2][3][4][5][6][7][8][9][10][11][12] www.coinbase.com/blog/celer-bridge-incident-analysis[13][14][15][16][13]
核心問題:あなたのノードとデジタルの荒野
ネットワーク間の最初のメッセージ送信から50年以上経った今も、ピアツーピーネットワークはインターネットのジャングルの中で稀有な存在です。ビットコインのオープンな通貨システムを提供する能力は、そのピアツーピーアーキテクチャに依存しており、その攻撃面全体において最も脆弱なのはネットワーキング層—ピアが互いに発見し接続する方法です。問題が発生しやすい主な場所は二つあります:ビットコイン自身のピアリングプロトコルと、ビットコインのプロトコルが依存するインターネットプロトコルです。この観点から、Coreはノード間で悪用され得るサービス拒否(DOS)ベクターを防止し、より広範な敵対的環境であるインターネット上でノードが安全に通信できるようにする二重の使命を持っています。
P2P
「政府はNapsterのような中央管理されたネットワークの頭を切り落とすのは得意だが、GnutellaやTorのような純粋なP2Pネットワークは自分たちの力を保っているようだ。」
– サトシ、2008年11月7日 [1]
ピアツーピーネットワークプロトコルは、ノードが取引、ブロック、その他のピアについてメッセージを交換する方法を包含します。この情報交換は、取引や合意の検証が行われる前に必要であり、したがって最優先の関心事です。
この分野では過去にいくつかのバグが報告されています。例えば2017年には、悪意のあるSOCKSサーバーの脆弱性が修正・公開されました [2]。この「バッファオーバーフロー」脆弱性は理論的には多様な攻撃につながる可能性があり、ノードのクラッシュや悪意のあるペイロードの注入、データの改ざんを引き起こすことが考えられます。2020年には、リモートピアがアドレスを禁止リストに追加できる高重大度の脆弱性が報告され、修正されました [3]。この脆弱性は2024年まで公開されませんでした。攻撃が簡単に実行でき、ノードの機能喪失につながるため、「高重大度」と正しく評価されています。これらのバグはCore開発者を夜も眠れなくさせるものであり、ノードをメンテナンスされているバージョンに更新することが強く推奨される理由です(古いバージョンのCoreは積極的にメンテナンス・更新されていません)。
私たちが呼ぶこの分散型ネットワーク、ビットコインは比較的小規模です。クリアネットのノード数は約2万ノードで、寛大に見積もってもTORノードは10万程度あり、依然として小さく監視しやすいネットワークです。最近、Daniela Brozzoniとnaiyomaは [4]、クリアネットとTorの両方を運用しているノードは、そのIPv4アドレスとTorアドレスを簡単にマッピングできることを示しました。これはすでに情報機関やチェーンアナリシス企業によって行われている可能性が高いです。これにより、どのノードが最初にどの取引を公開したかを特定し、その取引の元のIPアドレス、ひいては位置を推測することが容易になります。これはバグではありませんが、ノードがクラッシュしたり誤動作したりしないため、脆弱性とみなすこともできます。つまり、特定のIPアドレスと取引を結びつける方法を提供しているからです。
これを効果的に防ぐ方法は、現在も未解決の課題です。
ウェブの荒野
「私たちは都市を建てるようにコンピュータを作る。計画なしに、廃墟の上に、時間とともに。」 – エレン・ウルマン [5]
ビットコインはインターネット上で動作し、その分散型・非中央集権的なシステムとしての能力は、インターネットそのものの特性に依存しています。残念ながら、今日のインターネットのアーキテクチャは非常に脆弱であり、既知の攻撃が日常的に行われています。これらの攻撃の多くは検知されることなく被害が拡大し、さらに今日のインターネットに浸透している監視体制も無視できません。
最もよく知られ、実用的な攻撃ベクターはエクリプス攻撃と呼ばれます。これは、被害者ノードのピアがすべて悪意のあるものであり、チェーンやネットワークの特定のビューを被害者ノードに供給するものです。この種の攻撃は分散システムにおいて基本的なものであり、ノードのピアを制御すれば、そのネットワーク認識を制御できることになります。Ethan Heilmanらは2015年のUSENIXで、ビットコインに対する最初の実用的なエクリプス攻撃の一例を発表しました [6]。また、2018年にはErebus攻撃の論文が、悪意のある自律システム(AS)を利用した「ステルス」エクリプス攻撃を記述しています [7]。
これらの攻撃は、ASのルーティングトポロジーやBGP(Border Gateway Protocol)と呼ばれるプロトコルの弱点を突いています。BGPのセキュリティを強化する取り組み(BGPsecやRPKI)も進行中ですが、これらには限界があり、インターネットの管理者たちはより強力な解決策を切望しています。それまでは、インターネットはまさに荒野のままです。
Chaincode LabsのCedarcticによる最近の分析では、ビットコインのノードはわずか4551のASにホスティングされており、インターネットを構成するネットワークの中でもかなり小さな部分に過ぎません。彼らは、ノードが運用される上流のASを侵害することでエクリプス攻撃につながる一連の攻撃を示しています [8]。AS間のノードの分布が狭く、これらのAS間の特定の関係性が、ユニークな攻撃ベクターを生み出しています。対策はありますが、この攻撃ベクターが事前にビットコイナーや敵対者によって十分理解されていたかは不明です。
一つまたは複数のASを侵害する攻撃には、資源、調整、スキルが必要です。これまでにビットコインのノードに対して成功した攻撃は報告されていませんが、マイナー [9]、ウォレット [10]、スワッププラットフォーム [11]、ブリッジ [12]に対しては成功例があります。私たちはインターネットそのものを修正できませんが、敵対的な環境で運用できるツールをノードに備えさせることは可能です。
ネットワークの備え
以下は、ビットコインコアが開発またはサポートしている、ネットワークレベルの攻撃に対抗するための機能と特徴です。
**TOR(The Onion Router)**は、ビットコインコアに組み込まれた最も古いプライバシー重視のオーバーレイネットワークです。ランダムなピアのネットワーク間でホップを作り、トラフィックを隠蔽します。
v2transport [13]は、ピア間の接続を暗号化し、盗聴や検閲からトラフィックを隠します。目的は、受動的なネットワーク監視者が通信内容を盗み見できないようにすることです。
I2P(The Invisible Internet Project) [14]は、Coreのオプション機能であり、接続に追加のプライベートで暗号化された層を提供します。これはTorに似た匿名性ネットワークで、ピアがクライアントとサーバー間のトラフィックを隠すために依存しています。
ASmap [15]は、Coreのもう一つのオプション機能であり、Erebus攻撃に対する緩和策を実装しています。ピアの出所となるASを認識させ、多様性を確保することで、エクリプスの難易度を指数関数的に高めます。攻撃者は多くのASを侵害しなければならず、これは非常に困難であり、ほぼ検出されずに行うことは不可能です。ビットコインコアは、Core 20.0以降、IPネットワークとそのASをマッピングしたASマップの利用をサポートしており、Kartografプロジェクトにより誰でも簡単にASマップを生成できます。
インターネットが今後も多くの攻撃に脆弱であり続けることを考えると、私たちにできることの一つは、ピアの挙動を観察し、悪意のある行動を検出しようとすることです。これが、0xb10cによるpeer-observerプロジェクトの背後にある動機です [16]。このプロジェクトは、OS上で動作するプログラムの最小単位の動作を観察できる、完全なeBPFトレースポイントベースのロギングシステムを提供します。これにより、ノードの活動やピアの挙動を監視でき、自分自身のロギングシステムを構築するためのツールも提供します。
ビットコインは堅牢でなければならない
ピアとの接続とメッセージ交換の安全確保は、ビットコインの動作の根幹をなす重要な要素です。
ビットコインは、多次元の敵対的環境で動作しており、その多くの脅威はインターネットのアーキテクチャ自体の制約によって生じています。ビットコインが存続し繁栄するためには、その開発者とユーザーはこれらの奇妙な水域をうまく航行する術を身につけなければなりません。
オープンネットワークの代償は、常に警戒を怠らないことです。
今すぐ『The Core Issue』を手に入れましょう!
あなたのチャンスを逃さないでください — _The Core Issue_を所有しましょう! 多くのCore開発者が自らのプロジェクトについて解説した記事を収録しています!
この文章は、Bitcoin Magazineの最新号『The Core Issue』の編集者からの手紙として掲載されたものです。全号で展開されるアイデアの一端を早期にお伝えしています。
[0]
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12] www.coinbase.com/blog/celer-bridge-incident-analysis
[13]
[14]
[15]
[16]
[13]