UStackUStack
CRML (Cyber Risk Modeling Language) favicon

CRML (Cyber Risk Modeling Language)

CRMLは、サイバーリスクモデルの記述を標準化し、エンジンに依存しないように設計されたオープンソースの宣言型言語(YAML/JSON形式)であり、リスク・アズ・コード(RaC)の原則を可能にします。

CRML (Cyber Risk Modeling Language)

CRML (Cyber Risk Modeling Language)とは?

CRML(Cyber Risk Modeling Language)とは?

CRML(Cyber Risk Modeling Language)は、現代のサイバーリスク定量化を悩ませている断片化と一貫性のなさに対応するために構築された、オープンソースの宣言型仕様です。テレメトリマッピング、シミュレーションパイプライン、コントロールの依存関係、必要な出力など、複雑なサイバーリスクモデルを定義するための標準化されたYAML/JSON形式を提供します。CRMLの核となる哲学は、**リスク・アズ・コード(RaC)**を可能にし、リスクとコンプライアンスに関する仮定をバージョン管理され、レビュー可能で、実行可能な成果物に変換することであり、これにより異なるチームやツール間で一貫した検証が可能になります。

この言語は抽象化レイヤーとして機能し、「モデル定義」と「実行エンジン」を分離します。これにより、組織はFAIRモンテカルロエンジンやベイズ/QBERアプローチなどの特定の定量化手法や、プロプライエタリなツールに縛られることがなくなります。モデル記述を標準化することで、CRMLは、明示的な仮定とともに定義された同じリスクシナリオが、さまざまな準拠したシミュレーションプラットフォームで確実に実行されることを保証し、定量化された結果に基づいた監査可能性、再現性、セキュリティ投資の正当化能力を劇的に向上させます。

主な特徴

CRMLは、定量的サイバーリスク管理に厳密さと標準化をもたらすように設計されています。

  • エンジン非依存設計: FAIRスタイルのモンテカルロ、ベイズ的手法、または保険数理モデルをサポートするものを含む、CRML仕様に準拠したあらゆるシミュレーションエンジンとシームレスに連携します。
  • 宣言型YAML/JSON形式: モデルは人間が読みやすいYAMLまたはJSONを使用して記述されるため、読みやすく、レビューしやすく、バージョン管理(Git経由)しやすく、監査しやすくなります。
  • コントロールの有効性モデリング: 複雑な防御の深さのシナリオを含むセキュリティコントロールが、全体的なリスクエクスポージャーをどのように低減するかを明示的に定量化できます。
  • 中央値ベースのパラメータ設定: 対数正規分布などの一般的な分布について中央値を直接指定できるようにすることで、入力プロセスを簡素化します。
  • 厳密な検証: JSON Schema検証を組み込むことで、シミュレーション開始にモデル定義内の構造的および論理的なエラーを捕捉し、時間と誤った結果を防ぎます。
  • 複数通貨サポート: 異なる通貨間での自動換算をサポートし、グローバルなリスクモデリングを容易にします。
  • 自動キャリブレーション: 提供された損失データに基づいて分布を自動的にキャリブレーションするメカニズムを備えています。

CRML(Cyber Risk Modeling Language)の使用方法

CRMLの利用開始には、宣言型仕様を使用してリスクモデルの構造を定義することが含まれます。ワークフローは通常、次の手順に従います。

  1. モデル構造の定義: リスクシナリオの概要を示すCRMLファイル(通常はYAML)を作成します。これには、脅威イベント、損失イベント頻度、損失イベントの大きさ、およびそれらの関係の定義が含まれます。
  2. コントロールと仮定のマッピング: 適用範囲内のセキュリティコントロールを明示的に定義し、CRML仕様に従ってその有効性(例:削減係数や確率モディファイアを使用)を定量化します。
  3. シミュレーション要件の指定: 必要な出力、検証チェック、および特定のシミュレーションパラメータ(モンテカルロ実行回数やベイズの事前確率など)を詳述します。
  4. 準拠エンジンでの実行: 標準化されたCRMLファイルを互換性のあるシミュレーションエンジン(例:カスタムFAIRエンジンやベイズソルバー)にフィードします。モデルが標準化されているため、エンジンは入力を正確に解釈し、計算を実行する方法を理解します。
  5. レビューとバージョン管理: モデルはバージョン管理された成果物(Infrastructure as Codeのようなもの)となるため、ソース管理で追跡し、ピアレビューを受け、リスク決定のための監査可能な証拠として使用できます。

ユースケース

CRMLは、定性的なリスク評価から厳密で防御可能な定量化へと移行する組織にとって非常に貴重です。

  1. セキュリティ投資の正当化: 特定のコントロール(例:MFA展開)を導入することによって達成される期待年間損失(ALE)の削減を定量化し、経営陣や取締役会への予算要求を正当化する。
  2. エンタープライズリスクの集約: 異なる事業部門や地域にわたるリスクモデルを標準化し、エンタープライズレベルの財務目標に対するサイバーリスクエクスポージャーの一貫した集約と比較を可能にする。
  3. ベンダーリスク管理: 重要なサードパーティベンダーの標準化された機械可読なリスクプロファイルを作成し、内部ベンチマークに対するセキュリティ態勢の自動比較を可能にする。
  4. 監査とコンプライアンスのトレーサビリティ: 最終的なリスク数値と、計算に使用された正確な仮定、コントロールマッピング、データを明示的に結びつける不変のバージョン管理された記録を生成し、厳格な監査要件を満たす。
  5. 防御の深さのモデリング: 複数の重複するコントロールが単一の脅威を軽減する複雑なセキュリティアーキテクチャを正確にモデル化し、リスク削減が二重にカウントされないようにする。

FAQ

Q: CRMLはプロプライエタリですか、それともどのツールでも使用できますか? A: CRMLはオープンソースの宣言型言語です。意図的にエンジン非依存です。CRML仕様を実装するシミュレーションプラットフォームであれば、この形式で定義されたモデルを処理および実行できます。

Q: CRMLとFAIRなどの確立されたフレームワークとの関係は何ですか? A: CRMLは、FAIRの原則やその他の手法を使用して実行される可能性のあるモデルを記述するように設計されています。リスクシナリオの入力構造を標準化することで、標準化されたポータブルなファイル形式内で、脅威イベント頻度や損失の大きさといったFAIRの概念を使用できるようにします。

Q: このプロジェクトは本番利用に対して安定していますか? A: このプロジェクトは現在集中的に開発中(リポジトリに記載されているとおり)です。コアコンセプトは堅牢ですが、プロジェクトが安定したメジャーリリースに達するまで、ユーザーは開発ブランチ(crml-dev-1.3)を監視し、互換性のない変更が発生する可能性があることに備える必要があります。

Q: CRMLは、一貫性のないコントロール文書化にどのように役立ちますか? A: コントロールの有効性と防御の深さに関する仮定を構造化されたYAML/JSON定義に強制することで、CRMLは一貫性のないスプレッドシートや記述的なドキュメントへの依存を排除します。すべての分析担当者が同じ機械可読な定義を使用するため、コントロールが最終的なリスク計算に与える影響の一貫性が保証されます。

Q: 公式ドキュメントや例はどこで見つけられますか? A: プロジェクトは、多くの場合MkDocs経由で生成されるドキュメントを維持しており、リポジトリ構造内に例を含めて、さまざまなリスクシナリオやコントロールマッピングを定義する方法を示しています。

CRML (Cyber Risk Modeling Language) | UStack