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

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

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

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

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

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

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

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


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

## 事件/障害事例、PICK UP

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

![簡易イメージ図.png](https://qiita-image-store.s3.amazonaws.com/0/15055/12454fbb-db83-884d-8918-206498f2166f.png)

[Ethreumネットワークの状況が見れるダッシュボード](https://ethstats.net/)の「Node type」欄で、利用者がどのClientを利用しているかがわかるのですが、
少し見ているだけでもParity利用者は多いことがわかります。
このEthereumClientの脆弱性により、「Swarm City」や「Edgeless Casino」といったDAppが被害を受け
約34億円相当のETHが盗まれました。
該当箇所の差分はこちらです:[github commit①](https://github.com/paritytech/parity/commit/b640df8fbb964da7538eef268dffc125b081a82f#diff-8ea4aa7c2ba715c683bc764337f51585
)、[github commit②](https://github.com/paritytech/parity/commit/6b0e4f9098be6b841353e7c4f116aa86b7c2e3d6#diff-8ea4aa7c2ba715c683bc764337f51585)。


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

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

スマートコントラクトの脆弱性の仕組みについては、「DAO」や「The DAO」の知識が必要になるため、ここでは割愛します。[公式アナウンス](http://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/)には、該当箇所のコード付きで説明があります。


### 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被害<br>[参考記事](http://blog.wizsec.jp/2017/07/breaking-open-mtgox-1.html)<br><br>❐ 対応<br>・ Mt.Goxは破産<br>・ 払い戻しなし
|BitFloor|取引所|取引所のバックアップにあった、暗号化されていない秘密鍵を入手され当時で約25万ドル円相当のBTCを盗まれる[参考記事](https://bitcointalk.org/index.php?topic=105818.0)| 
| ShapeShift |アプリケーション|機密セキュリティプロトコル情報を知っている内部従業員の裏切りによりETHが盗まれ、さらに情報を外部にながれたことで、総額約23万ドル相当のETHが盗まれる<br> [参考記事](https://info.shapeshift.io/blog/2016/04/19/timeline-shapeshift-hacking-incident)<br><br>❐ 対応<br>・従業員の解雇<br>・新たなセキュリティープロトコルを構築し、サービス再開|
|Bitfinex|取引所|セキュリティプロバイダBitGoをサードパーティとして使用したマルチシグウォレットの脆弱性により、777億円相当のBTCが盗まれる<br>[参考記事](http://blog.bitfinex.com/announcements/message-individual-responsible-bitfinex-security-incident-august-2-2016/)<br><br>❐ 対応<br>・アプリケーション側コードの修正<br>・ユーザーに対する損失保証の対応策を発表、USDで償還可能なBFXトークンで返金|
|Poloniex|取引所|Poloniexの出金処理コードの脆弱性をつかれ、約55万ドルが盗まれた<br>[参考記事](https://bitcointalk.org/index.php?topic=499580)<br><br>❐ 対応<br>・被害ユーザーへのBTC返済
|Parity|EthereumClient|マルチシグウォレットに脆弱性が見つかり、616,000イーサ（ETH）が凍結された<br>[参考記事](https://paritytech.io/blog/security-alert.html)<br>[参考記事](https://github.com/paritytech/parity/issues/6995#issuecomment-342409816)<br><br>❐ 対応<br>検討中
|NiceHash|マイニング用のツール|NiceHashのBitcoinウォレットがハッキングされた。原因や被害額は現在調査中<br>[参考記事](https://www.facebook.com/NiceHash/posts/2012613285624474)|
| Showtime |暗号通貨関係ない一般のサイト|動画配信サイトに、マイニングを勝手に行うscriptが埋め込まれていた。動画閲覧者のパソコンCPUリソースの60%が不当に使われていたもよう<br><br>[参考記事](https://gizmodo.com/showtimes-websites-may-have-used-your-cpu-to-mine-crypt-1818763497)




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

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