デジタル証券取引全体を俯瞰した流出リスクの発生ポイント及び対策例
1. はじめに
こんにちは、ST研究コンソーシアム(以下、SRC)運営事務局です。
前回の記事では、デジタル証券取引における流出リスクについてブロックチェーン(以下、BC)の種類を踏まえて整理し、システム構築においてはサービスの利便性とセキュリティの確保という二つの側面のバランスが重要であることをお伝えしました。
具体的には、プライベートチェーン/コンソーシアムチェーンの場合であって、秘密鍵(又は自らの資産を移転するに足る権限、以下同様)や資産自体が流出した場合の回復措置等が講じられていれば、常時コールドウォレット管理までは必ずしも必須ではない、等といった整理が可能と考えられます。
一方、デジタル証券と同じくBC技術を活用した暗号資産ビジネスでの流出事例を見ると、BC技術の特徴である秘密鍵の盗難等によって顧客資産が流出するケースのほか、BC技術を活用していない従来の金融システムと同じようなセキュリティの隙を狙った流出事例も複数見受けられます。
それでは、BCのセキュリティ観点にとどまらず、デジタル証券取引全体を俯瞰した場合に、具体的にどのような流出事由が発生しうるのでしょうか。
今回は、デジタル証券取引における関係者及びシステム間のつながりに着目し、プライベートチェーン/コンソーシアムチェーンによるシステム構築を前提として、具体的な流出リスクの発生ポイントとその対策例について紹介します。
2. 受益権型デジタル証券における関係者及びシステムの全体像
それでは、まずは受益権型デジタル証券における関係者と各関係者間のつながりを確認したいと思います。以下の俯瞰図をもとに、デジテル証券取引の大まかなフローに沿って説明します。
なお、Progmatで想定している処理フローや各関係者の役割については、過去の記事(Progmat想定スキーム#2:Progmat利用時の取引当事者間の処理フロー概要、Progmat想定スキーム#3:デジタル証券市場におけるカストディアンの役割とProgmat上の処理フロー)も併せてご参照ください。
① 投資家によるデジタル証券の売買
はじめに、投資家が金商業者に対しデジタル証券の売買指図をすることで、取引が開始されます。売買チャネルとしては金商業者による対面取引なども想定されますが、「デジタル証券」という特性上、投資家のスマートフォンやパソコン等から、金商業者が運営する取引アプリケーション/販売サイトを経由した方法が一般的になると想定されます。
② 取引情報のシステム入力
金商業者がBCのノードを直接保有している場合(すなわち、カストディアンに対して投資家の秘密鍵管理を委託していない場合)、投資家からの取引指図をBC上に記録するために、BCにネットワーク接続された社内システムへ取引内容を入力します。
また、金商業者がカストディアンへ秘密鍵管理を委託している場合には、当該カストディアンが金商業者から連携を受けた取引指図に基づいて、取引内容をカストディアンの社内システムに入力します。
なお、通常の取引において、受託者はBC上のトランザクション(以下、Tx)の内容及び署名を検証し、受益権原簿データベースに取り込む役割を担います。そのため、受託者がデジタル証券の取引情報をシステム入力することはありません。
ただし、例えば誤った取引が登録された場合の修正は受託者が対応するなど、設計によっては受託者からデジタル証券の移転指図をシステム入力することも有りうると考えています。そのため、上記の図では受託者によるシステム入力も含め記載しています。
③ 金商業者からカストディアンへの取引指図
金商業者が投資家の秘密鍵管理をカストディアンへ委託する場合は、カストディアンが取引内容をシステム入力するために、金商業者は約定内容をカストディアンへ連携します。
④ BC基盤へのTx作成・署名指図
社内システムに入力された取引内容に基づき、BC基盤に対しTxの作成および署名指図がなされます。
受益権型デジタル証券では、当該BC基盤が受益権原簿であるため、当該BC基盤に取り込まれることにより、対抗要件も具備した形で権利移転が成立します。したがって、顧客資産が流出するということは、このBC基盤に対し不正な取引が記録されることを指す、と言えます。
3. 流出リスクの発生ポイントおよびその対策
それでは、上記の俯瞰図をもとに、流出が発生しうるポイントを整理します。
流出リスクは、その発生原因によって、大きく以下の3つに分けることができると考えられます。
(1)内部犯に起因するリスク
(2)外部犯に起因するリスク
(3)システムに起因するリスク
前述の関係者-システム俯瞰図に対し、この3つの発生原因から流出リスクを洗い出したのが、次の図になります。この図をもとに、各リスクの概要およびその対策について見ていきましょう。
(1)内部犯に起因するリスク
#01. 担当者の悪意・誤操作
金商業者やカストディアン、受託者の正式なオペレーション担当者によって、悪意又は誤操作により流出が発生してしまうリスクです。
通常のオペレーションについては、悪意はもとより誤操作による流出も発生しないよう、厳格なシステム運用体制を整える必要があります。
具体的には、取引指図の入力など重要な操作を行う場合には複数人のオペレーターや管理者による操作指示内容の確認・承認を要するなど、重要データの破棄・誤操作を防ぐような仕組みの構築が求められます。
#02. 担当者へのなりすまし
金商業者やカストディアン、受託者の従業員であって、正式なオペレーション担当者ではない者が、正式なオペレーション担当者の認証情報を盗用してシステムへログインし、流出してしまうリスクです。
通常、重要なシステムにおいては利用者ごとにID/パスワードが付与されており、これらの認証情報は他者に漏らすことのないよう厳重に管理する運用体制が求められます。
一方で、そのような運用体制だけではなく、システム設計の段階においても、単一の認証情報が漏えいしただけではなりすましできないように複数の認証要素を用いる「多要素認証」や、通常とは異なる形態でのアクセス(経路や端末の特徴、時間帯が大きく異なるなど)に対して追加認証を求める「リスクベース認証」などの導入により、流出リスクを低減するような対応が求められると考えられます。
(2)外部犯に起因するリスク
#03. 投資家-金商業者間の取引指図への不正介入
投資家のアカウントが悪意のある第三者に乗っ取られ、さも投資家自身の意思であるかのように金商業者に対し取引指図が送付され、金商業者がその指図データに沿って実行してしまうリスクです。
このような流出パターンは従来の金融システムにおいても度々発生している流出リスクであり、前述の多要素認証、リスクベース認証などによってなりすましを防止するといった対策が必要になります。
#04. システムへの不正侵入
悪意のある第三者が、外部から社内システムに侵入して、不正取引を実行してしまうリスクです。
複数企業のシステムをネットワークで接続する必要がある場合、常に外部から攻撃されるリスクに晒されているといえます。そのため、システムの構築にあたっては外部からの侵入を防ぐことができるような堅固なセキュリティレベルが求められます。
このようなネットワーク接続されているシステムが外部からの侵入に耐えられるのかを確認する方法として、「ペネトレーションテスト」と呼ばれる手法があります。「ペネトレーションテスト」とは、システムに対して意図的にサイバー攻撃を実施して侵入を試みることで、セキュリティ上の脆弱性が存在するかどうかを確かめる手法であり、システム構築時にはこのような手法により侵入経路がないかを確認することが望まれます。
#05. 金商業者-カストディアン間の取引指図への不正介入
金商業者からカストディアンに対する取引指図が悪意のある第三者によって乗っ取られてしまい、不正な指図データをカストディアンに送付し、カストディアンが不正介入された指図に従って実行してしまうリスクです。
この場合も、ペネトレーションテストによる外部からの侵入対策や、多要素認証、リスクベース認証による侵入対策を行うことになります。
#06. 社内システム-BC基盤間の移転処理指図への不正介入
悪意のある第三者が、社内システムとBC基盤を結ぶネットワークに不正介入し、取引内容を記録するためのTxを不正に書き換えてしまうリスクです。
BC基盤と社内システム間の接続は、Txを作成する主体が1社に限られるなどの場合には専用線を用いることで外部からの侵入リスクを極小化することができますが、複数のエンティティがTxを作成する場合にはネットワーク接続が必要になると考えます。
Progmatではプライベートチェーン/コンソーシアムチェーンの利用を想定しており、BC基盤へアクセスすることができるのは、特定のエンティティの社内システムのみとなりますので、このようなリスクが発生しうるネットワークも特定することができます。このようなリスクの発生ポイントに対しても、ペネトレーションテストによるセキュリティ確認などにより、十分なセキュリティを確保するといった対策が必要となります。
#07. BC基盤への攻撃
悪意のある第三者により、BC基盤が直接攻撃を受けるリスクです。取引を承認するバリデータの追加権限や原簿記録に用いるコントラクトの操作など、BC自体が不正に扱われることにより流出やシステム停止の原因となってしまう虞があります。
パブリックチェーンの場合、例えばネットワークの過半数を乗っ取ることで不正取引をする「51%攻撃」といったリスクがあります。ブロックチェーン自体に誰でもアクセスできるという特性上、BC基盤への攻撃に対する備えには十分に検討する必要があります。
一方、プライベート/コンソーシアムチェーンの場合は、パブリックチェーンのような不特定多数へ公開されたBC基盤ではないため、リスクの特性が異なると考えられます。具体的には、従来のネットワークに接続されたシステムと同様に、外部ネットワークとの接続点を明確にするといったようなセキュリティ対策を行うことが求められます。
例えば、Tx送受信システムのネットワークとそれ以外のシステムのネットワークを物理的又は論理的に分離するなど、仮に攻撃された場合であっても重要なデータを取り扱うシステムへの影響範囲を限定するといった対策が考えられるでしょう。
#08. ハードウェアウォレット流通経路上の不正
ハードウェアウォレットは、BCの秘密鍵をオフラインで保管するためのデバイスです。
秘密鍵をハードウェアウォレットで管理する際に、仮に当該ハードウェアウォレットの流通過程で悪意のある第三者が何かしらの細工をしていた場合には、ハードウェアウォレット内の秘密鍵がいつの間にか外部へ流出されてしまうなど、不正な挙動がおこり得るようになってしまうリスクが想定されます。
秘密鍵をハードウェアウォレットで管理する場合には、調達経路を信頼できないハードウェアは使用しない、製造元が提供する最新のファームウェアやパッチを適用するなどの対策をとる必要があります。
(3)システムに起因するリスク
#09. システムの意図せぬ挙動
操作者の意図とは無関係に、システムが設計者や操作者の想定していない動きをした結果、流出が発生してしまうリスクです。
システム設計にバグや外部から攻撃される隙があると、マルウェア等により攻撃を受ける虞があります。このような脆弱性を回避するために、「セキュアコーディング」と呼ばれる堅牢なプログラムを作成する手法を取り入れることが望まれます。
4. まとめ
上述したリスクの内容とその対策例をまとめると次のようになります。
上記はあくまで対策の一例であり、その他にもアクセスログ管理による事後的な不正のチェックや、不正取引が生じ得ないように取引ロジックを構築するといった対策も必要だと考えられます。
金融取引は信頼の上に成り立っているため、BC技術の利用有無にかかわらず、不正取引や流出への対策には万全を期す必要があります。
Progmatにおいても、安心・安全で信頼されるデジタル証券取引を目指し、考えられる流出リスクを潰したうえでシステムを構築していきます。
次回以降はProgmatの開発状況やビジネス面での検討状況を踏まえ、適宜皆様へ情報共有をさせていただければと考えております。引き続き、ProgmatおよびSRCをよろしくお願いいたします。
ご留意事項
- 本稿に掲載の情報は執筆時点のものです。また、本稿は各種の信頼できると考えられる情報源から作成しておりますが、その正確性・完全性について株式会社Progmatが保証するものではありません。
- 本稿に掲載の情報を利用したことにより発生するいかなる費用または損害等について、株式会社Progmatは一切責任を負いません。
Digital Asset Co-Creation Consortium | Co-creation network for establishing STO