LINEで送る
Pocket

transaction-exploit
OpenSSLの脆弱性を検査する「The Heartbleed Test」を作成したことでお馴染みのセキュリティスペシャリストFilippo Valsordaが、新たにビットコイン取引の安全性を調査するツール「BLOCKCHAINR」を開発した。ビットコインウォレットのセキュリティが不十分だと、利用者の保有するビットコインが悪意あるハッカーによって盗まれてしまうなど、重大な問題が発生する可能性がある。

Valsorda氏によると、楕円曲線デジタル署名アルゴリズム(ECDSA)に含まれる乱数生成が不十分なことが原因で、ビットコインを盗まれたウォレットがあるという。今回公開されたツールは、ECDSAに関する粗末な実装によって、その脆弱性が突かれた可能性のあるウォレットの取引を追跡し、検査することができる。

これは、先週マレーシアで開催された Hack In The Box 2014 で発表された内容である(スライドはこちら)。

トランザクションの脆弱性

Valsorda氏は、ECDSAの粗末な実装により、非ランダムな乱数を取引の署名に使用し、攻撃者がブロックチェイン上にそれらの取引を発見することができれば、取引で使用された秘密鍵を特定することが可能だと述べた。

bitcoin-signature

ビットコイン取引におけるデジタル署名は上図のように表すことが出来る。ポイントとなる引数は下記の通りだ。

G: 楕円曲線上のポイント
d: ランダムな秘密鍵
公開鍵: d × G
k: ランダム番号生成器(RNG)によるランダムナンバー
(x, y) = k × G
r = k

Valsorda氏は、RNGが完全にランダムな’k’の値を生成せず、以前使用した値と同じものを返し署名を行った場合、’k’の値を特定することで’r’の値も特定可能であり、ハッシュ化された取引を逆算して秘密鍵’d’を特定できることを発表した。不完全なRNGが同一の値を返す可能性は低いとしても、毎日7万以上の取引が行われているため、ビットコインウォレットの脆弱性を突くには十分な可能性があると言っていいだろう。

BLOCKCHAINRは、’d’の値をセットし、ビットコインの分散元帳システムであるブロックチェイン上で同一の乱数が使われた形跡をトレースすることが可能だ。同氏は、トレースした結果、2013年に盗まれた56BTCがこの脆弱性を突いたものであったことを特定することができた。

bitcoin-stolen

どのウォレットが安全?

Valsorda氏は、RNGの脆弱性に関して、ウォレット毎の安全性を検証した。RFC 6979を使用しているウォレットは安全であり、OpenSSLなどを利用しているウォレットは危険性があるという。下記にその一覧を示す:

安全

Electrum v1.9~: Python-ECDSA
Multibit / Bitcoinj: Bouncycastle
Bitrated / Bitcoinjs-lib: SHA256でハッシュ化
Trezor: RFC 6979

安全性に欠ける

Bitcoin Core: OpenSSL
Blockchain.info: ブラウザのRNGに依存しているため、古いブラウザを使用していると危険
Armory: Crypto++

この研究の公表により、脆弱性を悪用した攻撃者が増えることも懸念されていたが、既にこれらの攻撃によるビットコインの盗難は行われた後であると推測されている。故に、今後の早急な対策と自衛によって対処可能であることから懸念には及ばず、コミュニティにとって有益なものであることは確実だ。

未知の脅威への対策は続けなければならない

ビットコインのセキュリティ問題はMt.Goxの盗難騒ぎをはじめ、コミュニティ内で常に議論されてきた。Mt.Goxからビットコインが盗まれた原因は、攻撃者が取引所からの出金のトランザクションを書き換えることで故意に取引所のエラーを引き起こし、多重支払い処理を行わせたことによるものだった。
Mt.Goxは彼らのセキュリティ対策の甘さ、人的リソースの不足によりビットコインが盗まれ、今回の研究で判明した攻撃ではECDSAの脆弱性を突かれていた。

ビットコインは電子データとして存在しており、しかしながら、ドルや円と同様に価値を持つ通貨でもある。ビットコインの歴史はまだ5年、注目されはじめてからは2年と経っておらず、インフラ整備はまだまだ整っていない。恐らく存在するであろう未知の脆弱性を察知すべく、開発者はもちろんのこと、利用者もしばらくは最新の情報を追い続け、対処と自衛を徹底しなければならない期間は続くだろう。

(画像出典: Valsorda’s slide)

この記事を書いた人

ざきやま(山崎大輔)
ざきやま(山崎大輔)from Cryptocurrency world
ビットコイン専門記者 BTCN編集長
ブロックチェインの可能性を、知的財産の保護やゲーミングカルチャーへ応用できないかと考えてます。
monacoin:MTn7hiNovBHyN7gjtvD1Hh7W96Zmghp41B
bitcoin:1NK8S4ep9ZUZ9H9AmTAfvrCVVAKLbpmi36