Cryptopia へのハッキング、その被害と詳細について

こちらのも昨日の記事と同様、ポシャったので個人ブログで。
1月13日から1月28日にかけて、Cryptopia が複数回のハッキングを受けました。このとき Cryptopia は 2度にわたって被害を受けてしまいましたが、その総額は 1600万ドルを超えるとされています。
警察機関が捜査に入り、メンテナンスの状態が続いていますが、このインシデントがなぜ発生してしまったのか、掘り下げつつ振り返ってみたいと思います。
まずはじめに、概要をおさえつつ、Cryptopia がハッキングを受けた時系列を振り返ってみましょう。
攻撃者は今回、6つのウォレットを用いたことが分かっており、これは Etherscan.io 上で Cryptopia Hack としてラベル付けされています。このラベルは Etherscan.io の labelcloud から一覧を確認することができます。今回の攻撃では、それぞれのウォレットは Cryptopia_Hack1 から 6 までナンバリングされています。
・タイムライン
次に時間軸を辿ってみましょう。1回目は、日本時間 1月13日 22:28:29 から転送が始まりました。このときは最初にコアウォレットから、19390 Ether が転送されました。
その後、続けて 76000以上に及ぶセカンダリウォレットから転送が続きました。攻撃者がメインで用いたウォレット( Cryptopia_Hack1 )にウォレット数だけトランザクションが記録されることになりました。並行して、Dentacoinや Oyster Pearl といったトークンも転送が行われました。Ethereum やトークンの転送は数日間、断続的に続きました。
一方、Cryptopia が公式にアナウンスを行ったのは 1/14 15:55 にメンテナンスを開始したのがきっかけでした。その後、1/15 17:00 にセキュリティブリーチについて報告があり、トークンの盗難があったことを認めました。
今回の調査を行った elementus によれば、資金が格納されていたコアウォレット、セカンダリウォレットそれらすべてについてコントロールを失っていたのではないか、とされています。つまり秘密鍵を盗まれた上、鍵を削除されてしまったのではないか、あるいは鍵を置いていたサーバーを乗っ取られたのでは、という推測が発表されています。
彼らは今回、Github 上で調査結果を発表していますが、盗まれた資金の金額や量、経路をまとめるだけでなく、1月21日 時点で引き続き盗難のリスクがあるウォレットについても cryptopia-losses.csv として指摘していました。
しかし指摘も虚しく、1月28日には同じことが起きました。このときも 17000以上の大量のトランザクションが発生し、約 1675ETH が盗まれました。2週間で資金が少し回復していたのは、マイニングリグなどがメンテナンス関係なく送り続けていたからではないか、という見方をされています。
2回目に盗まれた Ethereum は Cryptopia_Hack5 と 6 に転送され、最終的に Cryptopia_Hack2 と名付けられたウォレットに転送されました。これは 1回目に使われたものと同じであることから、一連の攻撃者は同じ人物あるいはチームとされています。
elementus が推測しているように、1月14日 時点で異常を検知してメンテナンスに入っているわけですから、それ以降も数日間攻撃が続き、さらに 1月28日に再度発生した攻撃に対策を講じられなかったのには、理由があるはずです。この状況は、ウォレットの秘密鍵が失われたのではないか、と考える根拠として十分でしょう。
しかし、冒頭で紹介した19390ETH のトランザクションの後にも、実は払い出しらしきトランザクションが記録されています。このことから、Cryptopia 側で利用している秘密鍵が削除されて使えなくなったわけではなく、払い出しシステムは 15時間ほどの間は動いていたのでは、と考えられます。
資金のほとんどは盗まれていて、メンテナンスに入った時点でEthereumの転送は終わっていたのですが、この時点で対策が打てれば2回目の攻撃は成功しませんでした。
これについては、サーバーが乗っ取られていたため対策が取れなかった、もしくは Crypopia 側の対処が遅かったために一切の対策ができなかった、このどちらかの可能性が非常に高いでしょう。
・各個人が取れる対策について
昨今、取引所をターゲットにした攻撃は苛烈さを増しています。もちろん内部犯も対策をすべきですが、スピアフィッシングや水飲み場攻撃など特定の人間をターゲットにした攻撃を防ぐことは簡単ではありません。
では、今後も同じようなインシデントは発生すると想定し、各個人が取れる対策はどのようなものがあるでしょうか?
ひとつは、取引所に必要以上のトークンを置かないというものです。
被害を受けたとしても、すべての資産を盗まれないよう、ダメージコントロールをするという策です。
そして、もし使うときは、なるべく迅速に取り出しましょう。
もっとも簡単な対策としては、たくさんの人に長く利用されており、かつ、自分が信用できると判断した取引所を使うことです。
技術的な視点で取引所の挙動を調べることは簡単ではありません。しかし、良い取引所ならば運用面など、その他の観点で見ても良い取引所だと言える確率が高いはずです。
サポートの返信が早い、メンテナンス発生時の報告がタイムリーに行われている、情報開示が迅速である、セキュリティインシデントを公開してきた実績がある・・・などでしょうか。
・さいごに
人間だって間違えますし、システムのバグも完全になくすことは難しいため、少しずつ改善を積み重ね、減らし続ける必要があります。
つまり、小さな積み重ねが信頼につながるのは、人間もシステムも同じなのです。
ブロックチェーンや暗号資産のエリアでは新しいサービスが日々作られては消えていますが、リスクを自分で見極める、その一助になれば幸いです。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中