ISOなどの標準文書や規格を生成するMetanormaとは
2024/11/09
この記事は、2023年5月にNISTが開催した「4th Annual OSCAL Conference and Workshop 」の、Part5の公演内容をもとに、一部要約を行い、日本語に翻訳したものです。
Part5 では、Riboseの創業者兼CEOであるロナルド・セイ氏です。彼はCloud Security Alliance(CSA)の2つのワーキンググループで共同議長を努めており、ISO Smart Steering Groupの共同議長も務めています。
ぜひ、実際の資料は動画も確認しながらご覧ください(2:47:04 あたりから)。
Integrate OSCAL with Other Supported Standards Using Metanorma
皆さん、おはようございます。DCに戻ってこられて嬉しいです。素晴らしい街ですね。まずは、今回こうしてOSCALのカンファレンスにお招きいただき、NISTの素晴らしいOSCALチーム、特にミカエラとウェンデルに感謝します。それから、NIST CSDのマットにも、メタノルマ(Metanorma)に継続的なサポートをいただいたことをお礼申し上げます。私たちRiboseは、さまざまな標準化ソリューションやサイバーセキュリティソリューションをオープンソースで開発しており、いわば「考える前に動くタイプ」で、どんどん実行していくのが特徴です。今日は私たちの開発したMetanormaについてお話しします。Metanormaは、複数の標準化団体や規格策定機関で使われている標準文書の出版ワークフロー支援ソリューションです。Metanorma.orgのサイトでご覧いただけますが、著者から最終的な公開段階に至るまでの一連の文書作成フローをサポートし、多数の組織が公式に利用しています。標準文書の作成に必要なさまざまな機能を備えており、ISOやOGC、JPEG、PDF関連の標準など、数多くの有名な規格がMetanormaを使って策定・公開されています。世界最大の標準と言われるISO 100 303(紙に印刷するとA4で120万ページ以上)などもその一例です。
Metanormaは、異なる組織・規格に共通する要素を「統一的な表現形式」で扱えるようになっており、一旦Metanorma形式に取り込んだ文書は、そこから機械可読なフォーマットにも、人間向けの見やすいフォーマットにも出力できます。PDFやHTMLなどのレイアウトされた文書にするだけでなく、API経由でデータを提供したり、モデル駆動的な仕様と連動させたりできるのです。IECやISOが進めるSmartプログラム(機械可読な標準を目指す取り組み)でも使われており、BSI(英規格協会)やBIPM(国際度量衡局)などにも導入されています。特に「モデルベース」の標準を策定するときに便利で、UMLやXML、JSONで管理している情報モデルと標準文書の公開プロセスを同期させるのが容易になります。私たち自身がエンジニア集団ですので、Metanormaは継続的インテグレーション(CI)や継続的デリバリー(CD)のワークフローにも対応しており、GitHubやGitLab、Bitbucketなどと組み合わせて使えます。
さて、今日はOSCALに焦点を当てて、Metanormaとどう連携するかを3つのケースでお話しします。1つめは、Metanormaを使ってOSCALのカタログを作成する方法。2つめは、OSCAL化されたコントロールやフレームワークをMetanorma内で読み込み、標準文書を生成する方法。3つめは、複数のOSCAL化されたデータソースを組み合わせて、規制や認証のためのコンプライアンス文書をまとめ上げる方法です。
まずは大前提として、私たちはMetanormaでOSCALを扱うためにRuby製のオープンソース実装(JSONやXML、YAMLをパースできる)を作っています。これによってMetanorma内部でOSCALのデータを読み書きできるようになっています。それから、ミカエラが紹介していたISO/IEC 27002ですが、これは情報セキュリティ管理策(コントロール)の国際標準で、27001のISMS認証とあわせて使われるものです。ところが、現状ではPDF形式のみで提供されており、再利用が難しい。そこで私たちとしては、OSCALを使えば再利用可能な形でコントロールを提供できるのに、と考えているわけです。
最初のケース、Metanormaを使ったOSCALカタログ作成については、グラフィカルツールやアプリで直接JSONやXMLを書きたくない方に向けて、もっと人間が読みやすい形のASCII Docフォーマットでコントロールを記述し、それをMetanormaでOSCALに変換することができます。たとえばISO/IEC 27002の各コントロールをASCII Docで書き、それをMetanormaで処理すると、そのままOSCALのカタログ形式に出力できます。テキストマークアップに近い感覚で編集できるので、習得も比較的容易です。
2つめのケースは、すでにOSCAL化されたコントロールを使って標準文書を生成する、というものです。たとえばISO/IEC 27002が完全にOSCAL化された場合、OSCAL版のコントロール群と、標準文書固有の記述(前文や適用範囲など)をMetanormaで合体させるだけで、正式な標準文書を出力できます。しかもコントロールそのものはOSCALとして一元管理されているので、重複やコピペミスを防げます。
3つめのケースは、企業が複数の規制や標準に対応しなければならないとき、複数のOSCALカタログを参照してコンプライアンス文書を作る方法です。たとえば27001のISMS認証を受けるには「適用宣言書(Statement of Applicability)」が必要ですが、そこに他の規格のコントロールも組み込みたいという場合、OSCAL化された27002やCCM(Cloud Control Matrix 4.0)などをMetanormaで取り込んで一括で文書化することが可能になります。私たち自身も社内でこの方法を使っています。
最終的に、MetanormaとOSCALを組み合わせることで、必要なコントロール(OSCAL化されたもの)を参照しつつ自分たち独自の文書を自動で生成できるようになるわけです。認証や監査に提出する文書を手作業でコピペする必要がなくなる、というメリットがあります。以上がMetanormaとOSCALの連携事例です。