情報セキュリティ
最終更新日:2015年7月22日
独立行政法人 情報処理推進機構
セキュリティセンター
XCCDF(eXtensible Checklist Configuration Description Format)
~チェックリストを記述するための仕様~
セキュリティ設定チェックリスト記述形式XCCDF(eXtensible Configuration Checklist Description Format)(*1)は、セキュリティチェックリストやベンチマークなどを記述するための仕様言語です。
XCCDFは、米国政府が推進している情報セキュリティにかかわる技術面での自動化と標準化を実現する技術仕様SCAP(Security Content Automation Protocol)(*2)の構成要素のひとつです。米国国家安全保障局(NSA:National Security Agency)(*3)が中心となり仕様開発を進め、2005年にバージョン1.0が発表されました。米国の連邦政府共通デスクトップ基準であるFDCC(Federal Desktop Core Configuration)(*4)へのSCAP適用が本格化した2006年から2009年までの間は、米国国立標準技術研究所(NIST:National Institute of Standards and Technology)(*5)が中心となり仕様策定が進められました。2011年にリリースされたバージョン1.2は、FDCC、USGCB(United States Government Configuration Baseline:米国政府共通設定基準)(*6)への適用などを通して仕様改善されたもので、米国政府の支援を受けた非営利団体のMITRE社(*7)が仕様策定を進めました。
XCCDFでは、情報システムに対するセキュリティチェック項目を構造化して記述します。例えば、コンピュータの設定上のセキュリティ問題については、組織としてチェックすべき項目として、パスワードの有効期限、パスワードの長さ、パスワードの複雑さ、パスワードの履歴管理などの具体的な項目をCCE(Common Configuration Enumeration)(*8)と共にリストアップし、XCCDFの仕様に沿ってチェック項目を作成します。プログラム自身に内在する脆弱性についても同様で、例えば「セキュリティ修正プログラムの適用」という項目をXCCDFの仕様に沿ってチェック項目を作成します。
XCCDFを用いると、コンピュータの設定上のセキュリティ問題やプログラム自身に内在する脆弱性を確認するための管理工数の低減ができるようになります。また、XCCDFでは、汎用的なチェックリストの作成も可能であり、情報システムの資産管理への適用など、情報システムの全般の管理にも役立てることができます(図 1)。
XCCDFを利用するためには、XCCDF言語を使ってチェック項目を記述したチェックリストデータを作成します。XCCDF言語は、プログラム上や設定上のセキュリティ問題のチェック項目をXMLで記述するための仕様です。
米国では、米国国立標準技術研究所のセキュリティ設定ガイド、米国国防情報システム局のセキュリティ設定ガイド、米国国家安全保障局のセキュリティ設定ガイドなど、多数のセキュリティ設定ガイドが存在し、利用されています(*9)。設定ガイドによって、チェック項目やチェック項目の推奨値が異なっていることもあります。そこで、XCCDFでは、個別のガイドが規定しているチェック項目や推奨値を活用しつつ、モバイル用、デスクトップ用などの適用先にあわせてセキュリティ基準を作れるよう、ガイドの統合とガイド毎の個別チェック項目の参照が仕様として取り込まれています(図 2)。
セキュリティ設定ガイドの統合とガイド毎の個別チェック項目の参照が仕様として取り込まれているXCCDF言語が記述するチェックリストデータは、ガイド名、チェック項目グループ、チェック項目選択値とチェック項目検査方法を記述するフィールドから構成されます(図 3)。
ガイド名には、このチェックリストで取り扱うセキュリティ設定ガイドのチェック項目と推奨値を記述します。チェック項目グループでは、「アクセス制御」、「意識向上およびトレーニング」、「監査および責任追跡性」、「承認、運用認可、セキュリティ評価」、「構成管理」、「緊急時対応計画」、「識別および認証」などのセキュリティ管理策毎にチェック項目をグループ化するためのフィールドです。チェック項目設定値ではチェック項目で使用する設定値を一覧し、チェック項目検査方法ではチェック項目を検査するためのOVAL定義データを指定します。
図 4に示すチェックリストデータ事例では、「組織全体のセキュリティ設定基準」と「部門Xのセキュリティ設定基準」の2つのガイドを統合しています。ここで、部門Xは、組織全体のセキュリティ設定基準を考慮しつつ、個別にチェック項目を追加して、情報セキュリティ施策の向上を図ろうという部署を想定しています。
ガイド名(Profile)で、2つのガイドのチェック項目(select)と推奨値(refine-value)を記述します。組織全体のセキュリティ設定基準の場合、パスワードの有効期間(max_password_age)のみが有効となっています。
チェック項目設定値(Value)で、チェック項目で使用する設定値をリストアップします。パスワードの有効期間としては、90日と60日の設定値があり、それぞれのガイドでは、90日(ENTERPRISE)、60日(DEPARTMENTX)を推奨値として選択しています。また、部署Xではパスワードの最低文字数を追加のチェック項目とし、12文字(DEPARTMENTX)を推奨値としています。
チェック項目検査方法(Rule)ではチェック項目を検査するためのOVAL定義データ(Windows-7-oval.xml)を指定しています。
ウイルスやボットの感染経路が多様化する中、OSやアプリケーション、ActiveXなどのプラグイン、ウイルス対策プログラムの定義データを随時最新の状態にする、パソコンのセキュリティ設定を改善するなどの対策が有効です。
チェックリストで実施状況を確認するというアプローチは、日常でも良く利用されています。そこで、IPAでは、NISTが公開しているFDCCを参考に、チェックリストを用いてアプリケーションの最新状態を確認する、パソコンのセキュリティ設定を確認するという考え方を採用した、「MyJVN(マイ・ジェイブイエヌ)バージョンチェッカ」と「MyJVN(マイ・ジェイブイエヌ)セキュリティ設定チェッカ」を公開してきました(*10)(*11)。 MyJVNバージョンチェッカはXCCDFで記述されたチェックリストデータで指定されたバージョンチェック用OVAL定義ファイルを用いて検査することにより、マルチベンダ環境でのソフトウェア製品のバージョンチェックを実現しています(図 5)。MyJVNセキュリティ設定チェッカはXCCDFで記述されたチェックリストデータで指定されたセキュリティ設定用OVAL定義ファイルを用いて検査することにより、パソコンのセキュリティ設定のチェックを実現しています。
今後、XCCDF言語を用いて作成したチェックリストデータと、NIST、MITRE社などが整備するOVALリポジトリ(OVAL定義データのデータベース)との連携を図っていくなど、脆弱性対策情報の提供ならびに流通基盤の整備を検討していきます。
IPA セキュリティセンター(IPA/ISEC)
2015年7月22日
参考情報を追加
2014年3月20日
参考情報を追加
2012年1月25日
掲載