SCAPの構成要素、XCCDF(セキュリティ設定チェックリスト記述形式)、OVAL(セキュリティ検査言語)とは:OpenSCAPで脆弱性対策はどう変わる?(3)(1/2 ページ)
本連載では、グローバルスタンダードになっている「SCAP」(セキュリティ設定共通化手順)、およびそれを基にシステム構成や脆弱性の検査を行うためのOSSツール「OpenSCAP」や、その周辺の技術、用語などを紹介する。今回は、XCCDF(セキュリティ設定チェックリスト記述形式)、OVAL(セキュリティ検査言語)について。
OSSセキュリティ技術の会の面和毅です。本連載「OpenSCAPで脆弱(ぜいじゃく)性対策はどう変わる?」では、実質的にグローバルスタンダードの「SCAP(Security Content Automation Protocol:セキュリティ設定共通化手順)」、およびそれを基にシステム構成や脆弱性の検査を行うためのOSS(オープンソースソフトウェア)ツール「OpenSCAP」や、その周辺の技術、用語などを紹介しています。
連載第1回から数回にかけて、SCAPの歴史的背景と用語定義を見ています。
SCAP(Security Content Automation Protocol)の構成要素(続き)
SCAPは現在、下記のような要素で構成されています。
- CVE(Common Vulnerabilities and Exposures:共通脆弱性識別子)
- CVSS(Common Vulnerability Scoring System:共通脆弱性評価システム)
- CPE(Common Platform Enumeration:共通プラットフォーム一覧)
- CWE(Common Weakness Enumeration:共通脆弱性タイプ)
- CCE(Common Configuration Enumeration:共通セキュリティ設定一覧)
- XCCDF(eXtensible Configuration Checklist Description Format:セキュリティ設定チェックリスト記述形式)
- 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のような要素から構成されています。各要素の関係性も概念的な図にして示しています。
以下、代表的な要素の説明です。他にもさまざまな要素があるので、詳しくはNISTのPDFファイルを参照してください。
例として図2を見てみましょう。図2は連載第1回で準備したFedoraの「/usr/share/xml/scap/ssg/content/」以下に含まれる「ssg-rhel7-xccdf.xml」です。図2のように「xmlns」のところがバージョンとSchemaを表しています。
・Benchmark
<Benchmark ……>の「……」部分には、図1のように、XCCDFのバージョン情報やSchemaの情報などが含まれます。ベンチマークファイルは、この<Benchmark ……>と</Benchmark>の間にItemやProfile、TestResultなどの要素を含んで構成されています。
また、<Benchmark ……>に続く箇所にこのファイルの情報が載っています。「status」のところで、この定義ファイルの状態(Draft)、「title」の箇所がファイルのタイトルを表しています。その他にもさまざまな構成要素があります。
・Profile
Profileで、このベンチマークファイルに含まれているセキュリティ要件が定義されています。1つのベンチマークファイルに複数のセキュリティ要件が定義されています。
<Profile id="XXX">〜</Profile>で囲まれており、それぞれ囲まれた中でチェックリストがあります(図3)。
・TestResult
テストを実行した際の出力が書き込まれている部分です。こちらに関しては、後にoscapコマンドを実行した結果を見ていく際に後述します。
・Tailoring
提供されているファイルのスキャン項目をカスタマイズした際の、カスタマイズが含まれる部分です。身近なところでは、SCAP-Workbenchなどで読み込んだベンチマークファイルをカスタマイズした際に出力されます。こちらも詳細に関しては、oscapコマンドの結果とともに後述します。
このベンチマークファイルに含まれている要素、情報を調べるには、「oscap info {ファイル}」オプションを用います。同じ「ssg-rhel7-xccdf.xml」ファイルの情報を「oscap info ssg-rhel7-xccdf.xml」として見てみると、図4のように情報が出力されます。
XCCDFファイルに関しては、今後連載の中で実際にサンプルを用いて詳しく見ていきます。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 2017年の脆弱性報告件数は過去最高の約1万4700件、まだ隠れた脆弱性がある可能性も:ESET
ESETによると、2017年は脆弱性の報告件数が前年比で2倍以上に増えて過去最高となり、中でも重大な脆弱性が近年の傾向に沿って急激に増加した。 - 外注したシステムの脆弱性は誰のせい? 連日の「深刻な脆弱性」にどう向き合い、どう対応するか?
連日のように公開される脆弱性情報の中から自分たちに関係するものを見つけ、適切な優先順位で対応するのは容易ではない。この状況に、企業はどう向き合えばよいのだろうか? @ITは、2017年8月30日にセミナー『連日の「深刻な脆弱性」どう向き合い、どう対応するか』を東京で開催した。多数の専門家やセキュリティベンダーが登壇した同セミナーの模様をお届けしよう。 - 「脆弱性情報」をどう扱うか――見つける人、流通させる人、対処する人、それぞれの視点
連日公表されるソフトウェアなどの脆弱(ぜいじゃく)性情報。2016年12月1日に行われた「Internet Week 2016」では、「脆弱性情報と賢く付き合う〜発見から対策までの最前線〜」と題したプログラムが開催された。