Bitcoin Core 31.0、隠れたプライバシーの脆弱性を含んでおり、悪意のあるノードが強制的に IP 漏えいを引き起こせる

BTC2.02%

Bitcoin Core隱私漏洞

Bitcoin Core の開発チームは 6 月 12 日に X に投稿し、Bitcoin Core 31.0 で新たに導入された -privatebroadcast 機能にはプライバシー上の脆弱性があることを確認しました。具体的には、特定のネットワーク条件下で v2 ハンドシェイクが失敗すると、IPv4 または IPv6 を用いてピア節点に接続し、その結果として受信者に送信者のグローバルな IP アドレスが漏えいします。

影響を受けるユーザー条件:5項すべてが同時に成立すること

Bitcoin Core の公式発表によると、以下の 5 つの条件がすべて成り立つ場合に限り、ノードはこの脆弱性の影響を受けます:

· ノードが Bitcoin Core 31.0 を実行しており、かつ -privatebroadcast 機能が有効化されていること

· 取引が RPC コマンド sendrawtransaction によってブロードキャストされること(ウォレット RPC の sendtoaddress、sendall などはプライベートブロードキャストを使用せず、このため影響を受けません)

Tor によりアウトバウンド接続を確立できる

· -onlynet の制限がなく、かつ -proxy=... の設定もない状態で、アウトバウンドの IPv4 または IPv6 接続を直接確立できること

· BIP324 v2 の転送が無効化されていないこと(-v2transport=0 が設定されていないこと)

onion および I2P のピア節点への接続は影響を受けません。なぜなら、v1 のリトライのいずれにおいても、これらの接続は常にそれぞれのプロキシ経由で行われるためです。

脆弱性の技術的な仕組み:v2 ハンドシェイク失敗後の v1 リトライで Tor を経由しない

公式説明によれば、脆弱性の発火メカニズムは次のとおりです。プライベートブロードキャストが v2(BIP324)転送をサポートする IPv4 または IPv6 のピア節点を選択した場合、初期接続は想定どおり Tor のプロキシ経由で行われます。もし v2 ハンドシェイクが失敗すると、Bitcoin Core は v1 プロトコルで再試行します。この v1 のリトライは Tor のプロキシ経由ではなく、直接 IPv4 または IPv6 で接続するため、発信者の IP アドレスが漏えいします。

この挙動は、31.0 バージョンの説明にあるプライバシー保証「受信者は(および地理的位置も)相手の IP アドレスを決して知ることはない」に反します。開発チームは、この脆弱性が、悪意あるピア節点が v2 ハンドシェイクを意図的に無効化し、v1 のリトライを強制的に発生させる形で人為的に引き起こされる可能性が最も高いと確認しています。

3 つの暫定的な解決策:31.1 へのアップグレード前に採用可能

Bitcoin Core の公式は、以下の 3 つの暫定的な解決策を提示しています:

案1(推奨):直接 -privatebroadcast を無効化して -privatebroadcast=0 に設定する

案2:v2 転送を無効化して -v2transport=0 に設定する。注意:この設定により、ノードのすべての接続が未暗号化の v1 プロトコルを使用するようになり、明ネット上で指紋識別されやすくなり、さらに監視(審査)を受けやすくなります。

案3:IPv4/IPv6 のアウトバウンド通信を Tor にルーティングするため -proxy=127.0.0.1:9050 を設定する(実際の Tor の SOCKS ポートに置き換えてください)。注意:この設定により、ノードはより容易にシビル攻撃(Sybil Attack)の影響を受けやすくなります。

よくある質問

sendtoaddress や sendall などのウォレット RPC を使うノードは影響を受けますか?

Bitcoin Core の公式発表によれば、ウォレット RPC(sendtoaddress、sendall など)はプライベートブロードキャスト機能を使用しないため、この脆弱性の影響を受けません。この脆弱性は、sendrawtransaction によるブロードキャストを行い、かつ他の 4 つの条件も満たす場合にのみ発火します。

悪意のあるノードがいなくても、この脆弱性は自然に発生しますか?

公式説明によると、実際に v2 転送をサポートするピア節点では、通常の状況で v2 ハンドシェイクが失敗する可能性は高くありません。この脆弱性は、悪意あるピア節点が v2 ハンドシェイクを意図的に無効化し、v1 のリトライを強制して人為的に引き起こされる可能性が最も高いとされています。

Bitcoin Core 31.1 のリリース予定表は何ですか?

Bitcoin Core の公式発表によれば、修正は 31.1 バージョンのリリースにあわせて提供される予定ですが、公告では具体的なリリース日付は示されていません。公式には、31.1 にアップグレードする前に、上記 3 つの暫定的な解決策のいずれかを採用することが推奨されています。

免責事項:本ページの情報には第三者提供の内容が含まれる場合があり、参考目的のみで提供されています。これらはGateの見解や意見を示すものではなく、金融、投資、または法律上の助言を構成するものでもありません。暗号資産取引には高いリスクが伴います。意思決定を行う際には、本ページの情報のみに依存しないでください。詳細については、免責事項をご確認ください。
コメント
0/400
コメントなし