採用情報

お問い合わせ

BLOG

OSS セキュリティ BLOG

OSS セキュリティ BLOG

2025 年 02 月 06 日

OSCAL(Open Security Controls Assessment Language)について

ここでは「OSCAL(Open Security Controls Assessment Language) : 以降 OSCAL」について簡単にまとめます。FedRamp についても簡単に解説しています。また、OSCAL と SCAP の連携についても簡単に解説します。

OSCAL とは

OSCAL(Open Security Controls Assessment Language)とは、米国立標準技術研究所(NIST)が開発した、セキュリティ統制の評価を表すための機械で読み取り可能な言語です。そもそも「FedRamp」の認証を効率化するための手法の一つとして開発されてきました。

FedRamp(Federal Risk and Authorization Management Program)とは

FedRAMP(Federal Risk and Authorization Management Program)とは、米国連邦政府調達の際のクラウドサービスを対象とした認証制度です。2011 年に掲げられた「クラウド・ファースト(Cloud First)」政策を推進するために立ち上げられ、米国政府が安全なクラウドサービスの導入を促進することを目的としています。日本でも、日本版 FedRAMP として ISMAP が同様の制度として知られています。

FedRAMP では、クラウドサービスプロバイダー(CSP)が従わなければならないセキュリティ要件が定められています。このセキュリティ要件を満たして評価機関から認証を得た CSP が政府と契約することができます。

現在多くのクラウドベンダーが FedRAMP をサポートしています。FedRAMP Marketplace に FedRAMP をサポートしているベンダーが載っていますが、Amazon や Azure、Google など主要なクラウドベンダーおよび関連製品はかなりの数が入っています。

FedRAMP Marketplace

CSP が FedRAMP 認証を受ける手続きも定められています。

画像は https://www.fedramp.gov/agency-authorization/ より転記

上述にもある通り、認証プロセスではセキュリティ評価レポート (SAR) ・行動計画とマイルストーン (POA&M) などのドキュメントを作成する必要があります。ドキュメントは主に以下の四つになります( トレンドマイクロの記事 より引用)。

  1. System Security Plan (SSP): SSP は、CSP が情報システムで使用しているすべてのセキュリティコントロールとその実装を説明する文書です。情報セキュリティポリシーと手順、ユーザーガイド、情報システム継続計画などが含まれます。
  2. Security Assessment Plan (SAP): SAP は、セキュリティ評価の計画を詳細に説明した文書です。この文書は、セキュリティ評価の範囲、手順、タイムライン、および責任が含まれます。
  3. Security Assessment Report (SAR): SAR は、セキュリティ評価の結果を詳細に説明した文書です。この文書は、評価されたセキュリティコントロールの有効性とリスクを明確にします。リスク露出表、テストケース手順、脆弱性スキャン結果などが含まれます。
  4. Plan of Action and Milestones (POA&M): POA&M は、セキュリティリスクを軽減するための計画を詳細に説明した文書です。この文書は、特定されたセキュリティリスク、その重要性、およびそれらを軽減するための具体的な行動計画が含まれます。

OSCAL(Open Security Controls Assessment Language)

OSCAL は、上述の FedRAMP 認証で使用される要求事項のアセスメントを自動化するために、NIST および業界によって開発された言語(フォーマット)になります。

OSCAL Project の目標 (Goal)

OSCAL プロジェクトは、以下を達成目標としています。

  • 書類作業(ペーパーワーク)の削減
    機械可読なフォーマットを用いてフレームワークやシステム情報などを正規化しシステムで処理できるようにします。
  • システムセキュリティ評価の改善
    システムの種類に関係なくセキュリティ評価を実行できるようにし、効率や適時性・正確性・一貫性を向上します。
  • 継続的セキュリティ評価が行えるようにする
    評価関連の労力を削減し、評価と承認にかかる時間を短縮して最終的には継続的なセキュリティ評価と実装の有効性が確認できるようにします。

OSCAL の設計 (Design)

上記に書かれた Goal を実現するため、OSCAL では、XML、JSON、YAML による表現がされています。これらの形式はコントロールカタログ (control catalogs), コントロールベースライン (control baselines), システムセキュリティプラン (system security plans), 評価プランと結果 (and assessment plans and results) を機械可読形式で表現します。

Layer とモデル

OSCAL のアーキテクチャは、レイヤーのスタックで構成されています。

スタック内の各下位レイヤーは、各上位レイヤーによって参照および使用される情報構造を提供します。各レイヤーは、特定の操作目的をサポートする情報構造モデルで構成されています。OSCAL の各モデルは、下位レイヤーのモデルによって提供される情報に基づいて構築されるように設計されています。

(画像は https://pages.nist.gov/OSCAL/resources/concepts/layer/ より引用)

1. Controls Layer(コントロールレイヤー)

OSCAL の Controls Layer は以下を提供します。

Catalog モデル : コントロールを標準の機械可読形式で表現および整理するためのモデル。

( 画像は https://pages.nist.gov/OSCAL/resources/concepts/layer/control/catalog/ より引用 )

Catalog モデルは全ての OSCAL モデルの基礎となります。他の OSCAL モデルで使用されるコントロールは、まずこのモデルで定義する必要があります。

コントロールには、ステートメント ( 要件定義 )、パラメーター、参照、目標、評価方法などが含まれます。また、このモデルにより、コントロールを整理することもできます。

Profile Model: 特定のコントロール セットを選択、整理、およびカスタマイズするためのモデル。

( 画像は https://pages.nist.gov/OSCAL/resources/concepts/layer/control/profile/ より引用 )

Profile を使用すると、コントロールを選択してカスタマイズし、コントロールのベースラインを表現することができます。

コントロールをインポートした後 Profile を使用してコントロールをカスタマイズできます。これには、ステートメント、パラメーター、コントロール目標、評価アクションの追加、変更、削除などが含まれます。

OSCAL Profile は、カタログや他の OSCAL Profile からコントロールをインポートできるため、既存のベースラインをカスタマイズして新しいベースラインを作成できます。これにより、ベースラインから元のカタログのコントロール定義まで、コントロールのカスタマイズの完全な透明性と追跡可能性が実現します。

Profile によりインポートされるすべてのコントロールは、カタログ内で作成されている必要があります。OSCAL Profile により、追跡可能性を提供しながら、コントロールの選択と調整を自動化できます。

2. Implementation Layer(実装レイヤー)

OSCAL Implementaion Layer は、特定のベースラインでのシステムの実装と、システムに組み込むことができる個々のコンポーネントに重点を置いています。
こちらの Implementation Layer が SCAP CCE および STIG コミュニティと連携できるところと言われています。 連携の例については SP800-53 の例を出して後述します。

コンポーネントとは、ポリシー、プロセス、ハードウェア、ソフトウェア、サービスなど、制御を満たすことができるものすべてを指します。

システムセキュリティ プラン (SSP) モデル

( 画像は https://pages.nist.gov/OSCAL/resources/concepts/layer/implementation/ssp/ より引用 )

所有者は、特定のベースライン (OSCAL Profile) のコンテキスト内で情報システムのセキュリティ実装を表現できます。
機械可読形式で表現された SSP はツールに簡単にインポートできます。 更に機械可読形式から人間が読み取り可能なものに変換することもできます。

コンポーネント定義モデル

( 画像は https://pages.nist.gov/OSCAL/resources/concepts/layer/implementation/component-definition/ より引用 )

個々のコンポーネントに関する情報を定義し、その内容を OSCAL SSP にインポートできるようにします。
このモデルにより作成者は、コンポーネントの説明と適用可能なセキュリティ構成情報を提供できます。
また特定の構成が、識別されたベースラインの制御をどのように満たしているかを説明することもできます。

3. Assessment Layer(評価レイヤー)

OSCAL Assessment Layer は、アセスメントの実施や証拠を含んだアセスメント結果の出力、アセスメントの結果として出てきた特定のシステムに対するリスクの特定と修復の管理等に重点を置いています。

OSCAL Assessment Layer では以下を提供します。

評価計画モデル

( 画像は https://pages.nist.gov/OSCAL/resources/concepts/layer/assessment/assessment-plan/ より引用 )

システム評価を実行する方法と時期、評価の範囲、実施する評価アクティビティなど、評価計画情報を記述できます。

評価結果モデル

( 画像は https://pages.nist.gov/OSCAL/resources/concepts/layer/assessment/assessment-results/ より引用 )

一連の評価アクティビティから生成された情報を表します。これには、評価が実行された日時、評価の範囲、評価中に収集された証拠、評価結果などが含まれます。

行動計画とマイルストーン (POA&M) モデル

( 画像は https://pages.nist.gov/OSCAL/resources/concepts/layer/assessment/poam/ より引用 )

これは、システムの所有者 / 保守担当者が対処する必要がある継続的評価の調査結果を表します。

OSCAL コンテンツのサンプル

OSCAL コンテンツのサンプルは Github 上で公開されています。

  • NIST SP800-53(米国の連邦情報システムのセキュリティおよびプライバシー管理の管理策を提供する規格)のコンテンツのサンプルはこちらにあります。
  • 一般的な OSCAL コンテンツのサンプルはこちらにあります Annotated Example - NIST SP 800-53 Revision 5 Control。

以下では NIST SP800-53 について説明します。NIST SP800-53_rev5 のカタログはこちらになります。

  1. Control にはクラス「SP800-53」が割り当てられます。コントロール ID は ac-1 で、<title> でタイトルが指定されています。
  2. <parameter> でパラメータ類が定義されます。
  3. <prop> で Property が定義されます。
  4. <part> でパーツ(部品)が定義されます。

OSCAL コンテンツと SCAP

Bill Weber: The Future of SCAP is the missing GAP in OSCAL では、OSCAL と SCAP の関係について説明しています。
上述の NIST SP800-53 を例に取ります。例えば SC-28( 保存データの保護の実装 ) は NIST SP800-53_rev5 のカタログではこちら になります。

( 画像は https://raw.githubusercontent.com/usnistgov/oscal-content/main/nist.gov/SP800-53/rev5/xml/NIST_SP-800-53_rev5_catalog.xml より引用 )

のようになります。これを実際に実装するためには SCAP の中の Common Controls Enumerations (CCE) があります。Win7 の CCE に当てはめると

  • CCE-8278-4 BitLocker で保護されたオペレーティング システム ドライブを回復する方法を選択する
  • CCE-8284-2 BitLocker TPM プラットフォーム検証プロファイルを構成する
  • CCE-8299-0 TPM によるブート マネージャー プラットフォーム構成レジスタ (PCR 10) を有効にする必要がある
  • などが当てはまります。

このように、OSCAL で記述したコンテンツに基づいて、実装を SCAP で当てはめていくようなことが考えられます。

参考リンク

 

この記事の著者

OSS/ セキュリティ / 脅威インテリジェンスエバンジェリスト
面 和毅

本記事に関連するリンク
CentOS 7 延長サポートサービス
デジタルトランスフォーメーションのための電子認証基盤 iTrust
SSL/TLS サーバー証明書 SureServer Prime