Slide 1

Slide 1 text

©2023 Coincheck Inc. 暗号資産取引所のアーキテクチャとセキュリティ Developers Summit 2023 コインチェック株式会社 サイバーセキュリティ推進部 喜屋武慶大

Slide 2

Slide 2 text

©2023 Coincheck Inc. 2 自己紹介 喜屋武 慶大 名前 趣味 経歴 ドライブ / 温泉 / カメラ / 美味しいもの巡り 2015 ~ セキュリティベンダの SOC でセキュ リティアナリストとして勤務 2018 ~ コインチェッ 株式会社入社、セキュ リティの監視の構築や運用及びアーキテ ト、インシデント対応等に従事

Slide 3

Slide 3 text

©2023 Coincheck Inc. 3 会社紹介 ミッション

Slide 4

Slide 4 text

©2023 Coincheck Inc. 4 会社紹介 主要サービス

Slide 5

Slide 5 text

©2023 Coincheck Inc. 5 会社紹介 Coinceckの強み 顧客基盤 使いやすいUI/UX 18通貨 取り扱い通貨数 エンジニア数60人 システムの内製化 540万 アプリダウンロード数 4年連続国内No1* 178万 本人確認済み口座数** 2,689 億円 預かり資産** *対象:国内の暗号資産取引アプリ、期間:2019年〜2022年、データ協力:AppTweak **2023年1月末時点

Slide 6

Slide 6 text

©2023 Coincheck Inc. 6 会社紹介 新規事業として、B2B SaaSであるバーチャル株主総会支援事業を開始 Sharely(シェアリー) 導入企業例 2021年9月より提供を開始

Slide 7

Slide 7 text

©2023 Coincheck Inc. 7 本日のテーマ 暗号資産取引所のアーキテクチャとセキュリティについていい感じに解説する

Slide 8

Slide 8 text

©2023 Coincheck Inc. ブロックチェーン概要 暗号資産取引所のアーキテクチャ 暗号資産取引所とセキュリティ まとめ AGENDA 01 02 04 03

Slide 9

Slide 9 text

©2023 Coincheck Inc. 9 ブロックチェーン概要

Slide 10

Slide 10 text

©2023 Coincheck Inc. 10 一定の条件に従ってひとつまたは複数の取引をまとめたものをブロッ と呼称し、連続した次のブロッ に前 のブロッ のハッシュ値が記録されることによって複数のブロッ がひとつのデータベースとなる技術 ブロックチェーン概要 ブロックチェーンとは Block1 Header Block2 Header Block3 Header 前のブロッ のハッ シュ値 前のブロッ のハッ シュ値 前のブロッ のハッ シュ値

Slide 11

Slide 11 text

©2023 Coincheck Inc. 11 一言で「ブロッ チェーン」と言っても、実際にはいくつものブロッ を生成する仕組みと異なるチェーンと がある ブロッ を生成・承認する仕組み(コンセンサスアルゴリズム)としては代表的なものとして、Proof of Work と Proof of Stake があり、どちらを採用しているかは、各チェーンによって異なる ブロックチェーン概要 具体的な実装・採用している暗号技術はチェーンによってさまざま Proof of Work Proof of Stake

Slide 12

Slide 12 text

©2023 Coincheck Inc. 12 ブロックチェーン概要 コンセンサスアルゴリズムの種類 ● Proof of Work ○ マイニン によって追加されるブロッ が特定の条件を満たすことで新しいブロッ が承認される ● Proof of Stake ○ 一定量以上の暗号資産をステー する(賭ける)ことによってステー した人の中からランダムにブ ロッ を生成することができる人が選ばれる ● Proof of Consensus ○ あらかじめ選ばれた一部の者のみがブロッ の承認ができる その他にも Proof of Importance や Delegated Proof of Stake など様々なコンセンサスアルゴリズムがある

Slide 13

Slide 13 text

©2023 Coincheck Inc. 15 暗号資産取引所のアーキテクチャ

Slide 14

Slide 14 text

©2023 Coincheck Inc. 16 暗号資産取引所のアーキテ チャとして大別するとオフチェーンとオンチェーンの2パターンがある。 オフチェーンはユーザーの暗号資産の取引はDB上に記録されており、ブロッ チェーンに直接記録される訳で はない。 オフチェーン ユーザーの取引はDB上に記録 される オンチェーン ユーザーの取引はブロッ チェーン上に記録される 暗号資産取引所のアーキテクチャ

Slide 15

Slide 15 text

©2023 Coincheck Inc. 17 暗号資産取引所のアーキテクチャ Coincheckはオフチェーンの仕組みを採用している ● Coinchekサービス内での取引は全てデータベース上に記録される ● ユーザがCoincheckから他の取引所や自身の管理するアドレス等に暗号資 産を移転する際にCoinchekのアドレスから当該アドレスへ送金するトラン ザ ションを生成している

Slide 16

Slide 16 text

©2023 Coincheck Inc. 18 暗号資産取引所のアーキテクチャ 何故オフチェーンなのか ● ビットコインを例にすると、約10分で1ブロッ が生成され、理論上は1秒間に7トランザ ションが処理できる ○ これはCoincheck単独ではなくビットコインネットワー の全て取引が対象 ● 一方Coincheckサービス内だけでも取引量(約定)は秒間で60件以上ある ● 全ての取引をブロッ チェーン上に書き込むのは間に合わないため、アドレス間の暗号資産の移 転のみブロッ チェーン上に書き込み、サービス内での取引はDBに書き込む

Slide 17

Slide 17 text

©2023 Coincheck Inc. 19 暗号資産取引所のアーキテクチャ 基本的な技術スタックは一般的なWebサービスと変わらない バッ エンド フロントエンド インフラ

Slide 18

Slide 18 text

©2023 Coincheck Inc. ● ノードとは各チェーンで他人が運用しているノードと同期して最新のブロッ チェーンのブロッ データを取得したり、自社の発行したトランザ ションを他のノードにブロードキャストする ソフトウェア ● 他の取引所等のアドレスから自社のアドレスへの入金を検知してユーザの残高に反映させたりす る ブロッ チェーンの同期 トランザ ションのブロードキャスト 20 暗号資産取引所のアーキテクチャ ノードの運用と暗号資産の署名周りは各チェーン特有の知識を求められる

Slide 19

Slide 19 text

©2023 Coincheck Inc. 21 暗号資産取引所のアーキテクチャ ノードの運用と暗号資産の署名周りは各チェーン特有の知識を求められる ● ブロッ チェーンと言ってもトランザ ションやブロッ のデータ構造は各チェーンによって異 なる ● 暗号資産の署名やブロッ チェーン上の入出金を検知してユーザの残高に反映させるには、各 チェーンのブロッ やトランザ ションのデータ構造を理解してどのユーザ宛の入金なのかを正 しく判定すると共に、自社から他のアドレスへ送金する際も正確なトランザ ションを構築しな ければならない

Slide 20

Slide 20 text

©2023 Coincheck Inc. 22 暗号資産取引所のアーキテクチャ 全体像 売買、入出金をDB上に記録する ブロッ チェーン上の入金の検知 署名されたトランザ ションの ブロードキャスト ユーザ宛の入金を判定する 署名リ エスト

Slide 21

Slide 21 text

©2023 Coincheck Inc. 23 暗号資産取引所のセキュリティ

Slide 22

Slide 22 text

©2023 Coincheck Inc. 24 暗号資産取引所のセキュリティ 暗号資産取引所として全体のセキュリティのレイヤ ● チェーン・トー ンのセキュリティ ● 暗号資産取引所のコーポレートセキュリティ ● 暗号資産取引所のサービスセキュリティ

Slide 23

Slide 23 text

©2023 Coincheck Inc. 25 暗号資産取引所のセキュリティ 「ブロックチェーンはセキュリティが高い」は本当か?

Slide 24

Slide 24 text

©2023 Coincheck Inc. 26 暗号資産取引所のセキュリティ 筆者の理解 「耐改ざん性」という一面においては強い ブロッ チェーンのデータを過去に遡って改ざんするには、Proof of Work においては当該チェーン全体の 51%以上の計算能力が必要になり、Proof of Stake では ステー された量の51%以上のトー ンを攻撃者が ステー しなければならない

Slide 25

Slide 25 text

©2023 Coincheck Inc. 27 暗号資産取引所のセキュリティ チェーン・トークンのセキュリティ ブロッ チェーンもソフトウェアなので、ソフトウェアとしてのバ や脆弱性は潜在する 実際、ブロッ チェーン上に実装されたアプリ ーションにバ があったため秘密鍵がなくても暗号資産が流 出してしまった例はあり、こうした ースは取引所がいくらセキュリティ対策をしても意味がない 出典: https://xtech.nikkei.com/it/atcl/column/14/377135/062000008/

Slide 26

Slide 26 text

©2023 Coincheck Inc. 28 暗号資産取引所のセキュリティ ブロックチェーン全体のセキュリティのレイヤ ● チェーン・トー ンのセキュリティ ● 暗号資産取引所のコーポレートセキュリティ ● 暗号資産取引所のサービスセキュリティ

Slide 27

Slide 27 text

©2023 Coincheck Inc. 29 暗号資産取引所のセキュリティ コーポレートセキュリティ ブロッ チェーン特有のセキュリティ対策をやる前に通常のコーポレートITのセキュリティ対策もやる必要が ある ● 端末へのAV/EDR製品の導入によるマルウェア感染の検知 ● CASB製品を用いた通信内容のモニタリン ● MDMを用いた端末のセキュリティポリシーの適用 ● IDaaSを用いた認証/認可のポリシーの適用 ● 社内システムの管理者権限の運用ルールの策定

Slide 28

Slide 28 text

©2023 Coincheck Inc. 30 暗号資産取引所のセキュリティ 暗号資産取引所への攻撃に関する多数のレポートで、攻撃者がシステムへ侵入する糸口としてソーシャル ハッキン やスピアフィッシン を用いた手法が多い 出典: https://www.npa.go.jp/cyber/pdf/R041014_cyber_alert.pdf 出典: https://www.sentinelone.com/blog/lazarus-operation-interception-targets-m acos-users-dreaming-of-jobs-in-crypto/ コーポレートセキュリティ

Slide 29

Slide 29 text

©2023 Coincheck Inc. 31 暗号資産取引所のセキュリティ ブロックチェーン全体のセキュリティのレイヤ ● チェーン・トー ンのセキュリティ ● 暗号資産取引所のコーポレートセキュリティ ● 暗号資産取引所のサービスのセキュリティ

Slide 30

Slide 30 text

©2023 Coincheck Inc. 32 暗号資産取引所のセキュリティ サービスのセキュリティ 一般的なWebサービス同様、Webアプリ ーションやモバイルアプリ ーションの脆弱性対策も必要である ● IAMの権限管理 ● Web Application Firewall ● DDoS対策 ● 依存パッ ージの脆弱性管理 ● 脆弱性診断 ● 送金/出金時の認証 ● フィッシン サイトのテイ ダウン

Slide 31

Slide 31 text

©2023 Coincheck Inc. 33 暗号資産取引所のセキュリティ 秘密鍵が守れていれば安全か? ● 暗号資産取引所のセキュリティの話になるとトランザ ションの署名に使用する秘密鍵の管理に関する話 が多数である ● では、本当に秘密鍵さえ守れていれば安全なのか? ● 秘密鍵を盗まなくても暗号資産を盗むことが可能な攻撃シナリオを想定し、脆弱性の対策や管理、アーキ テ チャレベルでセキュリティ対策を考える必要があることを紹介する ここからは、Coincheckのシステム構成を前提とせずに、暗号資産取引所で攻撃シナリ オを考えた場合の話になる

Slide 32

Slide 32 text

©2023 Coincheck Inc. 34 暗号資産取引所のセキュリティ オフチェーンの場合はユーザーの残高はDBで管理しているのでDBを改ざんすれば大量の暗号資産を引き出す ことも可能なので脆弱性の管理や対策も重要 Exploit DB改ざん UserA 10BTC UserB(攻撃者のアカウント) 99999999BTC 大量引き出し 秘密鍵が守れていれば安全か? ビットコインの総発行枚数は2100万枚だけど・・・

Slide 33

Slide 33 text

©2023 Coincheck Inc. 35 暗号資産取引所のセキュリティ 署名システムがアプリ ーションサーバが発行したトランザ ションをそのまま署名してブロードキャストす るような仕組みだった場合、アプリ ーションサーバを乗っ取ることができれば不正なトランザ ションを発 行して署名リ エストを送ることが可能 署名システムで署名する際やブロードキャストする前に署名リ エストの内容が不正なものでないかチェッ する機能が必要 Exploit 不正なトランザ ションの発行 ブロードキャスト 署名システム 秘密鍵が守れていれば安全か?

Slide 34

Slide 34 text

©2023 Coincheck Inc. 36 暗号資産取引所のセキュリティ 攻撃者がサービスのネットワー 内に侵入し、不正なProxyサーバを建てて通信内容を中継可能かつ通信内容 が平文だった場合は、署名リ エストやトランザ ションデータの内容を改ざんして送金先アドレスや送金す る量を改ざんできるので通信の暗号化や前述と同様に署名する前やブロードキャストする前に不正なものでな いかチェッ する機能が重要 トランザ ションデータ・署名リ エストの改ざん ブロードキャスト 署名システム 不正なProxyサーバ 秘密鍵が守れていれば安全か?

Slide 35

Slide 35 text

©2023 Coincheck Inc. 署名ネットワー DMZ 37 暗号資産取引所のセキュリティ アプリ ーションサーバと署名システムが同一ネットワー 上にある場合、攻撃者はアプリ ーションサーバ を経由して署名システムへ攻撃が可能なのでアプリ ーションサーバと署名システムはネットワー を分ける ことも重要 そうした場合はどうやってユーザの送金リ エストを署名サーバに伝えるか考える必要がある Exploit 署名システム 秘密鍵が守れていれば安全か? ブロードキャスト

Slide 36

Slide 36 text

©2023 Coincheck Inc. 38 暗号資産取引所のセキュリティ マルチシグネチャにしていれば安全か? マルチシ ネチャはひとつのアドレスから送金するのに複数の秘密鍵が必要な仕組みで、仮にハッキン を受 けても送金に必要な数の秘密鍵が盗まれていなければウォレットの資産は無事になる ● 送金するには複数の秘密鍵が必要 ● いくつ必要かは設定できる

Slide 37

Slide 37 text

©2023 Coincheck Inc. 39 暗号資産取引所のセキュリティ マルチシグネチャにしていれば安全か? アドレスがマルチシ ネチャに対応していても同一サーバ上でマルチシ ネチャに必要な数の鍵を扱っていた 場合、そのサーバ一台を乗っ取ることができれば不正に送金することが可能 Exploit ● サーバ一台を乗っ取れば必要な数の秘密鍵を盗むことが できる

Slide 38

Slide 38 text

©2023 Coincheck Inc. 40 暗号資産取引所のセキュリティ マルチシグネチャにしていれば安全か? 複数サーバに分散したとしても同一ネットワー 、同一構成なら同じ攻撃手法で乗っ取ることができるので難 易度は変わらない Exploit ● どちらか一台を乗っ取ることができれば、同じ攻撃手法 でもう一台も乗っ取ることができる Exploit ● 同一構成 ○ 同じOS ○ 同じアプリ ーション

Slide 39

Slide 39 text

©2023 Coincheck Inc. 41 暗号資産取引所のセキュリティ マルチシグネチャにしていれば安全か? 異なるOS、異なるアプリ ーションにすればいいかと言われると運用コストが・・・ ● 異なるOS ● 異なるアプリ ーション ● 異なるソースコード ● 構成管理 ● パッチ適用 ● EOL ● メンテナンス 正解はなく、各社のソフトウェアエンジニアの数や質によって自分達にとって最適な解を考えなければならない

Slide 40

Slide 40 text

©2023 Coincheck Inc. 42 暗号資産取引所のセキュリティ コールドウォレット、ホットウォレット 暗号資産交換業者に関する内閣府令 第二十七条3項1号 暗号資産交換業者が自己で管理する場合 暗号資産交換業の利用者の暗号資産を移転するために必要な情報を、常時インターネット に接続していない電子機器、電磁的記録媒体その他の記録媒体(文書その他の物を含む。)に記録して管理する方法その他これと同 等の技術的安全管理措置を講じて管理する方法 コールドウォレット ホットウォレット 出典: https://elaws.e-gov.go.jp/document?lawid=429M60000002007

Slide 41

Slide 41 text

©2023 Coincheck Inc. 43 暗号資産取引所のセキュリティ ColdWalletから暗号資産を移転する場合の運用も考えなければならない CGTF(Cryptoassets Governance Task Force)のモデルをベースとして考えた場合に ● 誰(部署、役職)が移転指示を出したり実際の署名作業を行うのか。その際に移転する暗号資産やその数量、送金先のアドレス の正しさはどのようにして担保されているのか ● 署名する際に生の秘密鍵に触れる、もしくは閲覧できてしまうのか ● 署名されたトランザ ションが移転指示の内容と一致するものであることをどのタイミン で検証して、その正しさを担保する のか ● etc… 出典:https://cgtf.github.io/publications/20220323/custodiandocument_ver3.pdf

Slide 42

Slide 42 text

©2023 Coincheck Inc. 44 暗号資産取引所のセキュリティ フィッシン サイトにユーザーを誘導しユーザーの認証情報を奪取、不正ロ インをしてユーザーの暗号資産 を奪取するシナリオもあり、フィッシン サイトの検知やテイ ダウンも実施する必要がある サービスとしてのセキュリティ フィッシン サイトへ誘導 認証情報を奪取

Slide 43

Slide 43 text

©2023 Coincheck Inc. 45 暗号資産取引所のセキュリティ 送金時など資産を外部に持ち出す際には追加の認証を挟むなどの対策も必要 サービスとしてのセキュリティ

Slide 44

Slide 44 text

©2023 Coincheck Inc. 46 暗号資産取引所のセキュリティ 暗号資産は相場の変動が短期的に大きく動くことが多々あり、そういった際にDDoS攻撃などでサービスが利 用できないと顧客が取引できずに損をしてしまう場合もあるため安定的に稼働させる必要がある サービスとしてのセキュリティ

Slide 45

Slide 45 text

©2023 Coincheck Inc. 47 まとめ

Slide 46

Slide 46 text

©2023 Coincheck Inc. 48 まとめ ● ブロッ チェーン、と一言で言っても実際の仕様や実装は各チェーンで異なる ● オンチェーン、オフチェーンといった仕組みがありほとんどの取引所がオフチェーンの仕組みを採用して いる ● 秘密鍵の奪取だけが暗号資産の流出リス ではない、それ以外のセキュリティ対策もしっかり考える必要 がある ● コールドウォレットも移転のプロセス、オペレーションまでの全体を考えなければならない ● システム的なセキュリティだけでなくフィッシン 対策やDDoS攻撃対策などユーザーの保護や安定稼働に も取り組む必要がある