post Image
暗号通貨にまつわる事件/障害事例まとめ

はじめに

こんにちは、最近Javaをやり始めた @mokokkoです。
今回は業務に全く関係ない『暗号通貨』についてです。

事件/障害事例…なんて言うとネガティブに取られるかもしれませんが、そんなことはありません!
先人が歩んできた道をしっかりと把握することで、いざ自分がという時のためになれればと思っています。

事件の種類

種類を大きく分けると、4つくらいに分けられそうです。

  1. 取引所のカウンタパーティリスク(GOX)
    取引所を運営する会社が経営難に陥る/詐欺会社だった/ハッキングに合う など

  2. スマートコントラクトの脆弱性
    スマートコントラクトの仕様欠陥/スマートコントラクトのコード脆弱性 など

  3. アプリケーションやプロジェクトの脆弱性
    DAppの脆弱性/ICOのランディングページの脆弱性 など

  4. スキャム
    ICOのバックレ/運営チームを偽った連絡 など

その中でも、Ethereumを使ってICOを行う場合に
知っておきたい過去事例を数個列挙してみました。

事件/障害事例、PICK UP

Parity脆弱性

事件の話しの前に少し、Parityについて説明します。
ParityはEthereum Clientの1つです。
Ethereum Clientを使うことで、Ethereumノードを実行し、EthereumのP2Pネットワークに参加出来るようになります。

簡易イメージ図.png

Ethreumネットワークの状況が見れるダッシュボードの「Node type」欄で、利用者がどのClientを利用しているかがわかるのですが、
少し見ているだけでもParity利用者は多いことがわかります。
このEthereumClientの脆弱性により、「Swarm City」や「Edgeless Casino」といったDAppが被害を受け
約34億円相当のETHが盗まれました。
該当箇所の差分はこちらです:github commit①github commit②
メソッドの公開範囲というちょっとしたミスで数十億が吹っ飛ぶ世界です。

TheDAO事件

スマートコントラクトの脆弱性により、約43億円相当のETHが盗まれた事件です。TheDAOのスマートコントラクト制約と脆弱性を上手くつかれ、通貨がドンドン吸い取られた事件でした。
これによりEthereumは、「Ethereum」と「EthereumClassic」の2つのブロックチェーンに分裂することとなりました。

  • Ethereum:盗まれたことを無かったことにするロールバックを実施
  • EthereumClassic:そのまま履歴を残す。非中央集権の概念の尊重

スマートコントラクトの脆弱性の仕組みについては、「DAO」や「The DAO」の知識が必要になるため、ここでは割愛します。公式アナウンスには、該当箇所のコード付きで説明があります。

Dash

ICOのランディングページハッキングにより、約8億円弱相当のEHTが盗まれた事件です。
まだ取引所で扱われていないDashの通貨を投資家に購入してもらうために用意されているethr送金用アドレスが、
ハッキングにより偽アドレスに改竄されたことで起こりました。

ParityやDAOとは違い原始的な手段でのハッキングですが、結構な額が吹っ飛んでます。

ICOのslackコミュニティのフィッシング詐欺

ICOをした運営企業が、ICO参加者との公式コミュニティツールとしてslackを利用していることが多いのですが、
slackで直接トークが来たり、slackbotを使ったりと「運営チームを装ったフィッシング詐欺」が多発しています。

  • ウォレットのアドレスが書いてあり、送金を促されるメッセージが送られてくる
  • URLが送られ、クリックするとウォレットのロックを外す指示が表示される(秘密鍵を取ろうとしている)

誰も信じられないですね。

その他事件/障害事例

そのた、Ethereum、ICO関連以外も合わせていくつか上げてみました。
2017/12/17現在の情報です。

サービス サービスレイヤー 内容
Mt.Gox 取引所 Mt.Goxのホットウォレットの秘密鍵を不正入手され、総額40億ドル相当のBTC被害
参考記事

❐ 対応
・ Mt.Goxは破産
・ 払い戻しなし

BitFloor 取引所 取引所のバックアップにあった、暗号化されていない秘密鍵を入手され当時で約25万ドル円相当のBTCを盗まれる参考記事
ShapeShift アプリケーション 機密セキュリティプロトコル情報を知っている内部従業員の裏切りによりETHが盗まれ、さらに情報を外部にながれたことで、総額約23万ドル相当のETHが盗まれる
参考記事

❐ 対応
・従業員の解雇
・新たなセキュリティープロトコルを構築し、サービス再開

Bitfinex 取引所 セキュリティプロバイダBitGoをサードパーティとして使用したマルチシグウォレットの脆弱性により、777億円相当のBTCが盗まれる
参考記事

❐ 対応
・アプリケーション側コードの修正
・ユーザーに対する損失保証の対応策を発表、USDで償還可能なBFXトークンで返金

Poloniex 取引所 Poloniexの出金処理コードの脆弱性をつかれ、約55万ドルが盗まれた
参考記事

❐ 対応
・被害ユーザーへのBTC返済

Parity EthereumClient マルチシグウォレットに脆弱性が見つかり、616,000イーサ(ETH)が凍結された
参考記事
参考記事

❐ 対応
検討中

NiceHash マイニング用のツール NiceHashのBitcoinウォレットがハッキングされた。原因や被害額は現在調査中
参考記事
Showtime 暗号通貨関係ない一般のサイト 動画配信サイトに、マイニングを勝手に行うscriptが埋め込まれていた。動画閲覧者のパソコンCPUリソースの60%が不当に使われていたもよう

参考記事

まとめ

ブロックチェーン技術は、「公開鍵暗号方式による電子署名」・「分散型アプリケーション」・「コンセンサスアルゴリズム」といった仕組みを使うことで、改竄されにくい仕組みを実現していますが、
利用する側の脆弱性は変らず健在しています。
また、まだ発展途上な業界でもあり、ソースコードの変更は激しいです。
ブロックチェーンを使ったアプリケーションを実装される方は 「バグを見つけてくれたら報酬上げます」くらいに、
レビューを念入りに行ったほうが良いかもしれませんね。

過去の出来事や事例知って、対策や備えをしていきましょう!!!そして、素晴らしき暗号通過ライフを送りましょう!!


『 Bitcoin 』Article List
Category List

Eye Catch Image
Read More

Androidに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

AWSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Bitcoinに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

CentOSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

dockerに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

GitHubに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Goに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Javaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

JavaScriptに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Laravelに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Pythonに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Rubyに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Scalaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Swiftに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Unityに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Vue.jsに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Wordpressに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

機械学習に関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。