連載
» 2018年10月18日 05時00分 公開

OpenSCAPで脆弱性対策はどう変わる?(3):SCAPの構成要素、XCCDF(セキュリティ設定チェックリスト記述形式)、OVAL(セキュリティ検査言語)とは (1/2)

本連載では、グローバルスタンダードになっている「SCAP」(セキュリティ設定共通化手順)、およびそれを基にシステム構成や脆弱性の検査を行うためのOSSツール「OpenSCAP」や、その周辺の技術、用語などを紹介する。今回は、XCCDF(セキュリティ設定チェックリスト記述形式)、OVAL(セキュリティ検査言語)について。

[面和毅,OSSセキュリティ技術の会]

 OSSセキュリティ技術の会の面和毅です。本連載「OpenSCAPで脆弱(ぜいじゃく)性対策はどう変わる?」では、実質的にグローバルスタンダードの「SCAP(Security Content Automation Protocol:セキュリティ設定共通化手順)」、およびそれを基にシステム構成や脆弱性の検査を行うためのOSS(オープンソースソフトウェア)ツール「OpenSCAP」や、その周辺の技術、用語などを紹介しています。

 連載第1回から数回にかけて、SCAPの歴史的背景と用語定義を見ています。

SCAP(Security Content Automation Protocol)の構成要素(続き)

 SCAPは現在、下記のような要素で構成されています。

  1. CVE(Common Vulnerabilities and Exposures:共通脆弱性識別子)
  2. CVSS(Common Vulnerability Scoring System:共通脆弱性評価システム)
  3. CPE(Common Platform Enumeration:共通プラットフォーム一覧)
  4. CWE(Common Weakness Enumeration:共通脆弱性タイプ)
  5. CCE(Common Configuration Enumeration:共通セキュリティ設定一覧)
  6. XCCDF(eXtensible Configuration Checklist Description Format:セキュリティ設定チェックリスト記述形式)
  7. OVAL(Open Vulnerability and Assessment Language:セキュリティ検査言語)

 今回は、前回の続きで、XCCDFとOVALを見ていきましょう。

XCCDF(eXtensible Configuration Checklist Description Format:セキュリティ設定チェックリスト記述形式)

 XCCDFは、セキュリティに関する設定のチェックリストやベンチマークをドキュメント化するために策定された、XMLで構造化されたフォーマットです。

 NSAが中心となって開発を行い、2005年にバージョン1.0がリリースされました。その後、2006年にはバージョン1.1、2011年には米国政府の支援を受けた非営利団体のMITRE社に移管されてバージョン1.2へとアップデートされています。

 XCCDFに関しては、NISTのXCCDFのサイトを参照すると、仕様のPDFやSchemeのファイルなどがダウンロードできます。また、XCCDFの概説はIPAの「セキュリティ設定チェックリスト記述形式XCCDF概説」にも説明があります。

 XCCDFの仕様は、ベンダーに依存しないオープンな標準化フォーマットで、広くさまざまなアプリケーションのチェックリストを作成できるように規定されています。

 このXCCDFに従ったチェックリストの利用シチュエーションですが、例えば下記などが挙げられます。

  • ある業界のコンソーシアムが複数のOSに対応したアプリケーションサーバのセキュリティ要件を策定する際には、「アプリケーション部分の設定」と「OS固有の設定」の2種類のチェックリストを作成する。ユーザーはOSに応じてこの2種類のチェックリストをダウンロードし、SCAPに基づく自動化ツールを使用してチェックリストに準拠しているかの評価が行える
  • 大学が、大学としてのセキュリティポリシーの要件を策定し、「大学としてのセキュリティ設定」としてチェックリストを作成する。また、厚生労働省などの政府機関が「病院システムとしてのセキュリティ設定」のチェックリストを作成する。大学病院は、この「大学としてのセキュリティ設定」と「病院としてのセキュリティ設定」の両方のチェックリストをダウンロードし、SCAPに基づく自動化ツールを使用して両方のチェックリストに準拠したシステムを作成できる

XCCDFで記述されるファイルの構造

 XCCDFで記述されるファイルは、図1のような要素から構成されています。各要素の関係性も概念的な図にして示しています。

図1

 以下、代表的な要素の説明です。他にもさまざまな要素があるので、詳しくはNISTのPDFファイルを参照してください。

 例として図2を見てみましょう。図2は連載第1回で準備したFedoraの「/usr/share/xml/scap/ssg/content/」以下に含まれる「ssg-rhel7-xccdf.xml」です。図2のように「xmlns」のところがバージョンとSchemaを表しています。

図2

・Benchmark

 <Benchmark ……>の「……」部分には、図1のように、XCCDFのバージョン情報やSchemaの情報などが含まれます。ベンチマークファイルは、この<Benchmark ……>と</Benchmark>の間にItemやProfile、TestResultなどの要素を含んで構成されています。

 また、<Benchmark ……>に続く箇所にこのファイルの情報が載っています。「status」のところで、この定義ファイルの状態(Draft)、「title」の箇所がファイルのタイトルを表しています。その他にもさまざまな構成要素があります。

・Profile

 Profileで、このベンチマークファイルに含まれているセキュリティ要件が定義されています。1つのベンチマークファイルに複数のセキュリティ要件が定義されています。

 <Profile id="XXX">〜</Profile>で囲まれており、それぞれ囲まれた中でチェックリストがあります(図3)。

図3

・TestResult

 テストを実行した際の出力が書き込まれている部分です。こちらに関しては、後にoscapコマンドを実行した結果を見ていく際に後述します。

・Tailoring

 提供されているファイルのスキャン項目をカスタマイズした際の、カスタマイズが含まれる部分です。身近なところでは、SCAP-Workbenchなどで読み込んだベンチマークファイルをカスタマイズした際に出力されます。こちらも詳細に関しては、oscapコマンドの結果とともに後述します。

 このベンチマークファイルに含まれている要素、情報を調べるには、「oscap info {ファイル}」オプションを用います。同じ「ssg-rhel7-xccdf.xml」ファイルの情報を「oscap info ssg-rhel7-xccdf.xml」として見てみると、図4のように情報が出力されます。

図4

 XCCDFファイルに関しては、今後連載の中で実際にサンプルを用いて詳しく見ていきます。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。