Contingency plans
このページの目的は、このような障害が実際に発生した場合に時間を節約するために、ネットワークの壊滅的な障害の後最初の数日間の計画を作成することです。
議論のために多くの時間を許さない失敗だけがここでカバーされます。 「予防する」という将来の問題は議論されない。
プラン自体が受け入れられれば、コードを必要とする場合に備えてプランを実装するコードを記述してテストすることができます。
単語を出す[編集]
アラート[編集]
これらの人々はアラートキーを持っており、緊急時にはすぐに連絡を取るべきです:
- Satoshi
- ギャビン
- theymos
彼がなくなったと信じられているにもかかわらず、メール聡。深刻な問題は、「彼を退職から救う」ことであり、これは助けになるだろう。
アラートは非常に安全であることが知られているため、緊急事態に関連するすべての情報はアラートとともに送信する必要があります。たとえば、新しいリリースのハッシュをアラートに含める必要があります。
残りのテキストが途切れてしまう可能性があるため、アラートメッセージの最も重要な部分は先頭に置く必要があります。まずは、「緊急時:支払いを受け入れないか、送金しない」というのが良い方法です。
プール[編集]
変更が必要な場合は、すべてのプールのオーナーに連絡する必要があります。
IRC[編集]
関連するIRC_channelsは、緊急事態に関する情報を広めるためにトピックを更新する必要があります。
フォーラム[編集]
トピックは「開発と技術的な議論」に投稿し、他のすべてのセクションでは主題を指し示すスティッキーロックされたトピックを作成する必要があります。主題は粘着性であってはいけません。これは見るのがより困難になり、とにかく常にトップに浮かび上がるでしょう。
サイト[編集]
すべての大きなサイトの所有者、特に取引所と銀行に連絡する必要があります。
在庫情報[編集]
単語を広めるために使用できるメッセージはここにあります。好ましくは、それは特定のものを反映するために更新され、一部の信頼できる人々によって署名される。
Bitcoinでは重大なバグが発見されました。トランザクションは、当面はREVERSIBLEと見なす必要があります。支払いを送信せず、受け取った支払いを信用しないでください。
Bitcoin関連のサイトを実行している場合は、サイトをシャットダウンし、このメッセージに置き換えてください。
[注:以下の段落は特定の攻撃にのみ適用され、削除する必要があります。]
ソロマイニングやプールの実行の場合は、最新バージョン(まだリリースされていない可能性があります)にアップグレードするまで、マイニングを停止する必要があります。プールで鉱業を行っている場合は、プールがアップグレードされるまで鉱夫を停止してください。あなたが採掘を続けると、あなたが解決したブロックは最終的には拒絶されてしまい、あなたは正当なチェーンに対して働くでしょう。
お気に入りのHTTPS対応Bitcoinサイトでもっと多くのニュースをご覧ください。ソフトウェアを実行する前に、いくつかのサイトでコンセンサスが存在することを確認してください。 Googleからの情報を信頼しないでください。攻撃者が操作できるためです。 bitcoin.orgのような他のサイトも同様に扱うことができますが、難しいです。最も信頼できる情報源は、グラフィカルBitcoinクライアントの一番下に表示されるテキストです。
調整[編集]
緊急時には、chat.freenode.netの#bitcoin-devチャンネルで調整が行われます。すべての決定はそこで行われます。 #bitcoin-devはすべての開発者が自然に行く場所ですが、1つのチャンネルについて議論があまりにも多いと、追加のチャンネルが作成される可能性があります。
未登録のユーザーが発言できないようにするには、チャネルモード "+ q $〜a"を設定する必要があります。私たちが最後に望むのは、偽装者またはスパムの洪水です。可能であれば、人々はぎこちなくで特定されるべきです。スパムが多すぎる場合は、Mode + mを設定する必要があります。
バックアップ通信方式[編集]
攻撃者が悪用やサービス拒否のいずれかの攻撃によって#bitcoin-devを使用できなくすることは不可能ではありません。通信にはいくつかのバックアップ方法が必要です。
IRC[編集]
#bitcoin-devがフラッディングやその他の悪用のために使用できなくなった場合、FreenodeのIRCオペレータは処理できない/したくないことがあるので、#bitcoin-devをirc.lfnet.orgに移動すると便利です。 LFnetの運営者はBitcoinユーザーであり、悪用者との戦いに非常に役立ちます。
Freenodeがサービス拒否攻撃によって取り除かれた場合、#bitcoin-devは大きなネットワークの1つに移動することができ、おそらく攻撃に対する抵抗力は高くなります。
したがって、#bitcoin-devが壊れている場合は、これらのネットワークで#bitcoin-devを試してください:
- LFnet
- IRCnet
- EFnet
- アンダーネット
- あなたが知っている他のIRCネットワーク
Gribbleは、GPGの識別を容易にするために任意のネットワークに移動できます。
他のリアルタイムチャット[編集]
すべてのIRCネットワークが使用できなくなった場合、Google+のマルチユーザーチャットはうまくいく可能性があり、サービス拒否攻撃によって倒される可能性は低いです。
(すべての参加者が自分のメッセージを他のすべての参加者に直接送信する必要がある分散チャットネットワークは、攻撃するのが難しいため、これがベストでしょう。
非リアルタイム通信[編集]
SourceForgeのメーリングリストは、非リアルタイム通信に使用できます。このリストがダウンした場合、参加者は人のリストに電子メールを手動で送ることができます。
ステートメントの発行[編集]
Bitcoinユーザーがアクションを要求していることが開発者によって決定されたら、声明が発行されます。すべてのステートメントには、ステートメントの配布を促すテキストが含まれている必要があります。ステートメントは、事件の開始時から順番に番号を付ける必要があります。
声明は、当時の少数の人々が署名したPGPに署名し、大きなサイトの所有者に電子メールで送り、bitcoin.orgとフォーラムに投稿する必要があります。
その声明を要約するアラートもおそらく発行される必要があります。
緊急バージョン[編集]
Bitcoinの緊急バージョンは、新しいバグの導入を避けるため、最新のコードの代わりに最新の安定バージョンに基づいていることが望ましいです。
ソースリリースは、まだSourceForgeでホストされていなくても、修正が利用できるようになるとすぐに作られなければなりません。ほとんどの場合、バイナリリリースは、通常、バイナリをビルドする人がそれを行うのを待つことができます。ソースリリースがバイナリリリースなしで利用可能な場合、ユーザはコンパイルするか、(サードパーティのバイナリを使用する代わりに)標準のリリースプロセスを使用して構築された公式のバイナリリリースを待つべきです。
不測の事態[編集]
多くの歴史的ブロックが置き換えられた[編集]
状況:6つ以上の履歴ブロックが一度に新しいバージョンに置き換えられました。確認されたトランザクションは無効になります。
影響[編集]
- 攻撃者から支払いを受け取った人は、これらの支払いを元に戻す可能性があります。
- これらのトランザクションの二重使用バージョンでは、直ちに6回以上の確認が行われる可能性があります。だから、攻撃者の盗まれたコインを受け取った人々がそれらを受け入れるかもしれない。
- その他の取引は、再度確認されないことがあります。
レスポンス[編集]
- 攻撃者が明らかにネットワークを制御しすぎるため、支払い受け入れをユーザーに警告します。問題が解決されている間、ネットワークは数週間以上使用できなくなります。
少数のBTCが攻撃者によって盗まれた場合は、トランザクションの順序を手動で変更する必要があります。これは、新しいブロックチェックポイントを追加したり、トランザクションの順序をハードコーディングしたりすることによって行われます。[注:ハードコードされたトランザクションの順序についてはコードを準備する必要があります。
トランザクションを再注文するかどうか、どのように再注文するかを決めるのに多くの時間を要します。トランザクションの元のバージョンを復元すると、元のトランザクションの逆転よりも何倍も大きなダメージを与える可能性があるため、非常に複雑な問題です。とにかくこの規模の事件の後、ネットワークは1週間以上オフラインにする必要があります。
SHA-256が壊れている[編集]
状況:SHA-256の重大な0日間の障害。第1 /第2のプリイメージ耐性または衝突耐性は、わずか数日間の作業で負けることができる。
影響[編集]
- 攻撃者は、署名する前に取引をハッシュするOP_CHECKSIGを倒すことができるかもしれません。
攻撃者は、同じハッシュで同一のトランザクションやブロックを作成することで、ネットワークを分割することができます。 攻撃者は非常に迅速にブロックを作成することができるかもしれません。
- アラートシステムが侵害されている可能性があります。
レスポンス[編集]
- ユーザーはクライアントのシャットダウンを通知されます。攻撃者は有効なアラートを送信できる可能性があり、通知の作業が中断される可能性があります。
- OP_CHECKSIGは、古いブロックの外側にある他のハッシュを使用するように変更されます。
- 既知の公開鍵と少なくとも1つの未使用出力を持つバージョン1チェーンのすべてのアドレスは、公開鍵がクライアントにハードコードされます。バージョン2のトランザクションがこれらのバージョン1の出力の1つを費やすと、ハードコードされた公開鍵がハッシュの代わりに使用されます。
- バージョン1チェーンはハッシュツリーに安全にハッシュされます。少なくともバージョン1ツリーのルートはクライアントにハードコードされます。
- すべてのハッシュBitcoinは新しいハッシュアルゴリズムを使用します。
[すべてのコードは準備する必要があります。]
ECDSAが壊れている[編集]
状況:攻撃者は、わずか数日で秘密鍵を所有していない公開鍵に署名することができます。
影響[編集]
- 攻撃者は、多くの場合に彼のものではないお金を使うことができます。 SHA-256とRIPEMD-160が依然として強ければ、これまで使用されていないアドレスへのトランザクションは保護されます。
- アラートシステムが侵害される可能性があります。
レスポンス[編集]
攻撃者が秘密鍵を公開鍵から簡単に取得できず、ECDSA鍵を使用できる強力なアルゴリズムが利用可能な場合、
- より強力なアルゴリズムに切り替えます。
- ユーザーに更新を促す。アラートが侵害されます。
さもないと:
- OP_CHECKSIGは他の署名アルゴリズムを使用する必要があります。
- 新しいバージョンのBitcoinが実行されるとすぐに、新しいアルゴリズムを使用して古いトランザクションを自動的に送信します。
- ユーザーにすぐに更新させる。アラートが侵害されます。
[すべてのコードは準備する必要があります。]
リモートの攻撃者は任意のコードを実行できます[編集]
状況:Bitcoinのバグのため、リモートの攻撃者はBitcoinの一部または全部のユーザーのマシン上で任意のコードを実行することができます。
影響[編集]
- 攻撃者はマルウェアをインストールすることができ、マルウェアがインストールされている間に復号化されたウォレットから秘密鍵を盗むために使用される可能性があります。
レスポンス[編集]
- クライアントにすぐにクライアントをシャットダウンし、他の場所で更新を探すよう警告する。他の方法で人々に警告するために特別な努力をしてください。
- Bitcoinのすべてのユーザーがパスワードを漏らす危険性が高いため、必要のない人から重要な権限(git push、bitcoin.orgアップデート、IRC opなど)を削除してください。 GPGシグネチャを通常よりも少し信頼してください。
緊急時:緊急:すぐにあなたのクライアントを停止してください!人気のBitcoinサイトのアップデートを探してください。リモートの攻撃者がBitcoin経由でコンピュータにマルウェアをインストールする可能性のあるバグが発見されました。
株式声明:
Bitcoinでは、リモートの攻撃者が任意のコードを実行できるようにするバグが発見されました。攻撃者はあなたのコンピュータにマルウェアをインストールして、あなたの財布を盗む可能性があります。今すぐBitcoinをシャットダウンします。この事件が解決され、コンピュータにマルウェアが存在しないことを絶対に確信するまで、決してあなたの財布のパスフレーズを入力しないでください。可能であれば、慎重にウォレットをオフラインの安全な場所にコピーし、コンピュータ上のコピーを安全に削除してください。
お気に入りのHTTPS対応Bitcoinサイトでもっと多くのニュースをご覧ください。ソフトウェアを実行する前に、いくつかのサイトでコンセンサスが存在することを確認してください。 Googleからの情報を信頼しないでください。攻撃者が操作できるためです。 bitcoin.orgのような他のサイトも同様に扱うことができますが、難しいです。
緊急時のルールの変更[編集]
状況:Bitcoinのコアネットワークルールが壊れており、できるだけ早く変更する必要があります。 オーバーフロー事件のように。
レスポンス[編集]
- アラートを発行します。人々に鉱業を止めるよう伝える。
- 問題が修正された後、人々に更新を依頼してください。
ルールを緩和するよりもルールを制限する方が望ましいです。前者の場合、鉱夫のみが更新が必要です。