- ビットコイン:脆弱性が見つかる
- ビットコインの脆弱性がCVEレポートで発覚したが、より深刻なバグに気付いた開発者はすぐさまパッチverをリリースしていた。問題の時系列などを掲載している。
- ビットコインコアとは
- 無料のオープンソースソフトウェアで、マイニングや取引をするために使われる。
脆弱性発見からの時系列まとめ
2018年9月17日(UTC);
- 14:57 匿名の人物により、Pieter Wuille氏、Greg Maxwell氏、ビットコインコア開発者のWladimir Van Der Laan氏、ビットコインABCのdeadalnix氏、Bitcoin Unlimitedのsickpig氏に「脆弱性発見」の報告
- 15:15 Greg Maxwell氏がCory Fields氏、 Suhas Daftuar氏、Alex Morcos氏、Matt Corallo氏とその受けた報告内容を共有
- 17:47 Matt Corallo氏が、「インフレバグ」があることを確認
- 19:15 Matt Corallo氏は早急にパッチを当てるため、slushpoolのCEOに回線を通すよう試みる
- 19:29 Greg Maxwell氏は増殖バグを示すテストケースのハッシュにタイムスタンプを押す
- 20:15 DoS攻撃の対象となる脆弱性にパッチを当てるよう企業に警告するために、John Newbery氏とJames O’Beirne氏に脆弱性を知らせる。
- 20:30 Matt Corallo氏がslushpoolのCTOとCEOに、その脆弱性に当てるパッチを共有する。
- 20:48 slushpoolがアップグレードする
- 21:08 22:00までにパッチを当てる予定をビットコインABCに送る。
- (およそ)21:30頃 報告者に対し謝辞を送る
- 21:57 DoSバグを示すテストとパッチと共に、ビットコインコア PR 14247が公表される。
- 21:58 ビットコインABCがパッチを当てる
- 22:07 ビットコインコアPRと、パッチのリンクを貼ったメールをOptechのメンバーとその他メンバーに送る。
- 23:21 ビットコインコアのバージョン0.17.0rc4がタグつけされる
(a47344b7dceddff6c6cc1c7e97f1588d99e6dba706011b6ccc2e615b88fe4350)
2018年9月18日(UTC);
- 20:44 ビットコインコアはバイナリをリリースし、公開されたことを発表
- 21:47 Bitcointalkとredditはアップグレードするよう公共バナーを出す。
2018年9月19日(UTC);
- 14:06 Pieter Wuille氏によって、ユーザーにアップグレードするように、と促すメールが送られる
2018年9月20日(UTC);
- 19:50 開発者earlzが独自にビットコインコアのセキュリティ担当のEメールへ、脆弱性を発見したことを報告。
先日発覚したビットコインの脆弱性
9月20日、ビットコインネットワーク全体が”シャットダウンされうる脆弱性”が発見され、ニュースになりました。
その詳細は、以前CoinPostでも報じましたが、「二重インプットを含むトランザクション及びブロックを処理しようとした際に、ビットコイン・ネットワーク全体がダウンする危険があり、主要クライアント・ソフトウェアも順次対応を進めている」というものです。
コーネル大学でコンピュータ科学を先行するEmin Gun Sirer准教授も、Viceの取材に対し
「わずか8万ドル(約898万円)でネットワーク全体をダウンさせることも出来た。多くのシステムを、わずかなコストで比べ物にならない甚大な被害に晒す可能性があった」
と、見解を述べています。
CoinPost記事:Bitcoin Core 0.16.3リリース、最悪「ビットコイン・ネットワーク全体のダウン」もあり得た脆弱性に対応
しかしそれ以上に、ビットコインコア開発者が当初機密に扱っていた「2つ目の脆弱性」は、さらに深刻な問題を秘めていました。
公式サイトで公表されたように、その脆弱性を利用すれば「ビットコインの上限2100万BTCを超えビットコインを発行できる」というもので、もしそれが起これば供給過多に陥り、ビットコイン価値の下落を招きます。
万が一、そのようなことが現実化した場合、仮想通貨自体の信用そのものを揺るがしかねません。
その脆弱性は大変深刻なものであったため、問題を修復する時間を稼ぐため、脆弱性発見を機密に扱い、マイナーにソフトウェアのアップデートを促したとされています。
CVEの報告
CVEの報告によると、ビットコインコア開発者は、以下のように説明しています。
早急なアップグレードを促すため、発見された問題の全容公開を遅らせ、システムのアップグレードのための時間を稼ぐ一方で、システムに対して殆ど影響を与えない脆弱性に対してすぐさまパッチを当て、公表するという決断をした。
今のところ、この計画は順調に進んでいると見られます。
その報告によると、ビットコインのマイニングハッシュレートの半分以上がパッチを当てたソフトウェアのバージョンにアップグレードされたことで、その攻撃手段は通用せず、開発者らは「すでに、この脆弱性を狙った攻撃を受ける心配はない」としています。
脆弱性の発見者は
同報告書によると、匿名のユーザーがこの脆弱性についてまとめた報告書をビットコインコアとビットコインABCのトップ開発者らに届けたということです。
2時間後、チェーンコードのエンジニアであり、ビットコインコアの開発者 Matt Corallo氏は、この脆弱性を悪用すれば、「無限にビットコインをコピー」することができることに気付いたとされています。
この脆弱性が想像以上に深刻であることから、解決の目処が立つまでこれらの内容を機密情報として扱うことを決定し、スラッシュプールをはじめとして、マイナーにアップデートするよう促し始めました。
Theymos氏は、以下の内容の投稿をフォーラムのトップにピン留めしています。
ビットコインコアの0.16.3.よりも古いバージョンを使うべきではない。これらの古いバージョンはネットに存在するべきではない。もしそれら旧バージョンを利用している人を見つけた場合、一刻も早くアップグレードするように忠告が必要だ。
他にも問題があります。それはチェーンが分岐する可能性です。
現在異なったバージョンのビットコインソフトウェアをユーザーが利用していることから、ネットワークが一時的に2つに別れ、再び一つに収束することが予測されます。
そうすると旧バージョンのチェーン上にある取引記録が最悪失われる可能性が考えられます。
現在の状況は厳重に監視されており、Theymos氏は上述したようのことが起きるリスクは極めて低いと考えています。
しかし、同氏は
向こう来週あたりは、かなりの低確率ではあるが、200以下程度の取引記録の認証に失敗する可能性はある。
と発言するなど、ビットコインの取引記録が承認されたかしっかりと確認を行うなど、注意はまだまだ必要であると訴えています。
偽ビットコインは存在するのか
Twitter上であるビットコインユーザーが以下のように質問を投稿しています。
脆弱性を突いた攻撃が、果たして本当になされなかったかどうか、どのように判断すればいいのか。不正に発行されたフェイクコインを持つ人は存在するのか。
ビットコインコアのコントリビュータPieter Wuille氏は、「コードの力により、ビットコインユーザーは今までに疑わしい行動を探知できているだろう」と発言しています。
最初にダウンロードされた時、全てのノードが2回ビットコインに記録された全ての取引記録を二重確認しています。
また、新しいバージョン0.16.3.のソフトウェアを利用しているノードは、その問題をすぐ発見することができるとしています。
Theymos氏はそれに続けて、2010年に起きたバリュー・オーバーフロー・インシデントと呼ばれるインシデントでは、1780億BTCが密かに生成されたときも、最終的には全てが排除されたことに言及し、その状況と大変似ていると指摘しました。
ライトコインや他の仮想通貨もビットコインコアのコードを元にしていますが、ビットコインコアがパッチを当てた一方、その他仮想通貨ではまだ行われれておらず、この脆弱性がまだ存在する可能性もあるとされています。
参考記事:The Latest Bitcoin Bug Was So Bad, Developers Kept Its Full Details a Secret