HOME情報セキュリティ情報セキュリティ対策脆弱性対策セキュリティ検査言語OVAL概説

本文を印刷する

情報セキュリティ

セキュリティ検査言語OVAL概説

OVAL(Open Vulnerability and Assessment Language)
~コンピュータのセキュリティ設定状態を検査するための仕様~

最終更新日 2018年5月31日

独立行政法人 情報処理推進機構
セキュリティセンター
>> ENGLISH

 セキュリティ検査言語OVAL(Open Vulnerability and Assessment Language)(*1)は、コンピュータのセキュリティ設定状況を検査するための仕様です。

 OVALは、米国政府が推進している情報セキュリティにかかわる技術面での自動化と標準化を実現する技術仕様SCAP(Security Content Automation Protocol)(*2)の構成要素のひとつです。

 米国政府の支援を受けた非営利団体のMITRE社(*3)が中心となり仕様策定を進めてきたもので、2002年10月に開催されたSANS Network Security 2002において、脆弱性対策のための確認作業を機械的に実現するための仕様として発表されました。

 2007年からは、米国政府のデスクトップ基準であるFDCC(Federal Desktop Core Configuration)(*4)での適用などを通して仕様改善が行われています。

 ソフトウェアに脆弱性が発見されると、製品ベンダ、セキュリティベンダなどが提供する文書によって作成された脆弱性対策情報に基づき、手作業でその脆弱性がコンピュータに存在するかどうかを確認する場面はまだまだ多く見られます。OVALは、このような文書による脆弱性対策情報を、機械処理可能なXMLベースのOVAL言語で記述します。

 OVAL言語で作成された脆弱性対策情報(以降、OVAL定義データ)は、そのOVAL定義データを解釈するプログラム(以降、OVALインタプリタ)を用いて機械的に処理することで脆弱性対策のための確認作業の自動化を可能とします。また、OVAL定義データは、OVALリポジトリとしてデータベース化することにより、利活用の促進が図られています。

 OVALを用いると、脆弱性対策のための確認作業の自動化により管理工数の低減ができるようになります。また、文書という脆弱性対策情報と手作業による確認作業で発生しうる漏れを防ぐことができ、情報システムの資産管理への適用など、情報システムの全般の管理にも役立てることができます。

 本資料はMITRE社から2009年9月11日に公開されたOVAL言語バージョン5.6の仕様書と、MITRE社が提供しているOVALリポジトリを基に作成しました。詳細は、MITRE社のOVAL言語の仕様書とOVALリポジトリを参照して下さい。

1. OVAL言語

 OVALを利用するためには、OVAL言語で検査方法を記述した定義データと、その定義データに記述された検査方法に従って検査するOVALインタプリタが必要になります。

 OVAL言語は、プログラム上や設定上のセキュリティ問題の検査方法をXMLで記述するための仕様です。OVAL言語で記述する定義データは、テスト、オブジェクト、ステータスの3つのフィールドから構成されています(図1)。

 オブジェクト・フィールドはファイルやレジストリなどの検査項目を記述する場所で、ステータス・フィールドは検査項目に格納されているであろう値を記述する場所です。テスト・フィールドでは、チェックに使用するオブジェクトとステータス・フィールドを指定します。

 OVALインタプリタは、オブジェクト・フィールドで指定された検査項目の値を参照し、ステータス・フィールドで指定されている値と比較することで、プログラム上のセキュリティ問題や設定上のセキュリティ問題の存在有無の判定を行ないます。

 また、OSやアプリケーション毎に検査方法が異なることを考慮し、OVAL言語では、システムに依存した個別記述をサポートすることで、OSやアプリケーション毎に異なる検査方法を実現しています。

 OVAL言語バージョン5.6では、OS系としてApple Macintosh、Cisco CatOS、Cisco IOS、Cisco PixOS、FreeBSD、HP-UX、IBM AIX、Linux、Microsoft Windows、Sun Solaris、UNIXを対象とした個別仕様を規定しています。また、アプリケーションとしてApache、SharePoint、仮想マシン環境としてVMware ESXの個別仕様を規定しています。

図1.OVAL言語で記述した定義データの例

図1. OVAL言語で記述した定義データの例

2. OVALリポジトリ

 MITRE社で運用しているOVALリポジトリは、OVAL関係者から構成されたコミュニティによって運用されているOVAL定義データのデータベースです。2013年5月末日現在、脆弱性チェックに関連するOVAL定義データは1万4千件近く登録されています。

 MITRE社では、OVAL定義データを、脆弱性を識別するための共通の識別子であるCVE(*5)、製品を識別するための共通のプラットフォーム名の一覧であるCPE(*6)と関連付けて、OVALリポジトリ管理サイト( http://oval.mitre.org/repository/ )から提供しています(図2)。

 また、2006年からは、Red Hat社が自社のセキュリティアドバイザリに対応したパッチ適用チェックのためのOVAL定義データ( http://www.redhat.com/oval )の提供を開始しています。

 2007年には、NIST(*7)がSCAP推進のために、ソフトウェア製品のセキュリティ設定に関するチェックと、脆弱性対策のためのチェックを目的としたOVAL定義データ( http://nvd.nist.gov/scap/scap.cfm )の提供を開始しています。

図2. OVALリポジトリ管理サイトでのOVAL定義データ提供

図2. OVALリポジトリ管理サイトでのOVAL定義データ提供

3. IPAでのOVALの試行について

 ウイルスやボットの感染経路が多様化する中、OSやアプリケーション、ActiveXなどのプラグイン、ウイルス対策プログラムの定義データを随時最新の状態にするなどの対策が有効です。

 IPAでは、NISTが公開しているFDCCを参考に、脆弱性対策情報データベース「JVN iPedia(*8)」に登録されている製品の中から、ウイルスやボットの感染経路の対象となりやすいソフトウェア製品を中心に、最新のバージョンであるかどうかをチェックするためのバージョンチェックツール「MyJVN(マイ・ジェイブイエヌ)バージョンチェッカ」を開発しました(*9)

 MyJVNバージョンチェッカはOVALインタプリタとして動作し、コンピュータにインストールされているソフトウェア製品のインストール有無、インストールされているバージョン情報をOVAL言語で作成したOVAL定義データに基づき検査することにより、マルチベンダ環境でのソフトウェア製品のバージョンチェックを実現しています。

 また、MyJVNバージョンチェッカでは、製品識別子としてCPE名を利用することで、脆弱性対策情報データベース「JVN iPedia」で公開するそれぞれの脆弱性対策情報との関連付けを可能としています。

 今後、NIST、MITRE社などが整備するOVALリポジトリとの連携を図り、OVAL言語を用いて作成したOVAL定義データを充実していくことで、脆弱性対策情報の提供ならびに流通基盤の整備を図っていくなど、検討を行っていきます。

4.OVAL Adoption (OVAL準拠)

 OVALを利用した脆弱性対策を進めていく上で、OVAL言語で作成された脆弱性対策情報(OVAL定義データ)やOVAL定義データを解釈するプログラム(OVALインタプリタ)が、共通仕様に基づき相互利用できるよう適切に運用されることが重要になります。

 このため、OVAL定義データの取り扱い関する互換性確保、ベストプラクティスの共有などを目的としたOVAL Adoption Program(OVAL準拠)という認定制度があります。この認定制度では、オーサリングツール、OVAL定義データを使った検査ツール(OVALインタプリタ)などの製品だけではなく、OVAL定義データのリポジトリなどのサービスも対象となっています。

 OVAL準拠として認定されるためには、共通要件と機能種別毎に用意された個別要件を満たす必要があります。なお、MyJVNバージョンチェッカおよびMyJVNセキュリティ設定チェッカの機能種別は『OVAL定義データを使った検査ツール』となります。また、MyJVN APIの機能種別は『OVAL定義データのリポジトリ』となります。

<<共通要件>>
  • 機能:機能種別、サポートするOVALのバージョンを明示すること。
  • 実装:OVAL実装に関するエラーなどの問題が発生した場合の対処方法について明示すること。
  • 文書整備:OVALおよびOVAL準拠などの文書を整備すること。ここでは、サポートするスキーマや、テスト、オブジェクト、ステータスフィールドで使用できる要素をあきらかにする必要があります。
  • 検証:OVAL定義データの検証方法と問題が発生した場合の対処方法について明示すること。
<<個別要件>>
  • オーサリングツール:検索、OVAL定義データの再利用、データのインポートやエスクポートの機能について明示すること。
  • OVAL定義データを使った検査ツール:検査ツールへのデータ入力や結果表示について、検査データであるOVAL定義データと対応付けて明示すること。
  • 検査結果の表示ツール:ツールへのデータ入力や処理について明示すること。
  • 特定システム向けの検査項目調査ツール:対象とするシステムからの検査項目の収集、データのエスクポート機能について明示すること。
  • OVAL定義データのリポジトリ:ユニークIDの付与、バージョン管理、共通基準(CVE、CCE、CPE)の参照、OVAL定義データの更新などについて明示すること。

 2013年5月末日時点で、OVAL Adoption (OVAL準拠)の認定を受けた組織数は16、製品/サービス数は22、OVAL Adoption (OVAL準拠)の認定手続き中の組織数は42、製品/サービス数は57となっています。

4.1 OVAL準拠の認定プロセス

 OVAL Adoption (OVAL準拠)の認定プロセスは、おおきく「宣言」「評価」の2つのステップから構成されています。

(1)ステップ1:宣言
 OVAL準拠の認定を希望する組織が、ツールやサービスがOVAL準拠の認定要件を満たすよう対応していくという意思表示のフェーズで、ツールやサービスの機能種別、用途種別とサービス状態(利用可、計画中、プロトタイプ)を提示します。ステップ1では、次のような手続きを行う必要があります。
  • MITRE社から提供されているOVAL Technical Use Cases Guideを参考に、OVAL準拠の認定を受けるための要件と推奨事項を調査します。
  • MITRE社に「OVAL準拠宣言(OVAL Adoption Declaration Form)」フォームを請求した後、必要事項を記載し、返送します。
  • 審査機関であるMITRE社での確認が終了すると、OVALサイトのOVAL Adoption Program Participantsに掲載され、ステップ2のOVAL準拠の評価フェーズに進むことができます。

(2)ステップ2:評価
 審査機関であるMITRE社から、OVAL準拠の認定を受けるための評価フェーズで、ツールやサービスが要件をどのように満たしているのかを提示することになります。ステップ2では、OVAL準拠の認定を希望する組織から提出された「OVAL準拠質問表」(要件をどのように満たしているのかを詳細に記載した申請書)を元に、審査が行なわれます。
  • MITRE社に「OVAL準拠質問表(OVAL Adoption Questionnaire Form)」フォームを請求した後、必要事項を記載し、返送します。
  • 提出された文書に基づきMITRE社での審査が終了すると、OVAL WebサイトにOVAL準拠の認定を受けた組織として掲載され、また、ツールやサービスでのOVAL準拠の認定ロゴ使用許可が与えられることになります。

4.2 MyJVNバージョンチェッカおよびMyJVNセキュリティ設定チェッカの要件対応状況

 IPAでは、MyJVNバージョンチェッカおよび、MyJVNセキュリティ設定チェッカを対象に、OVAL準拠の認定を受けるための文書整備作業を進め、2011年2月2日、OVAL準拠を宣言し、2011年3月15日、MyJVNバージョンチェッカ、MyJVNセキュリティ設定チェッカがOVAL定義データを使った検査ツールとしてOVAL Adoption(OVAL準拠)の認定を受けました。また、MyJVN API については、2013年5月6日、OVAL定義データのリポジトリとしてOVAL Adoption(OVAL準拠)の認定を受けました。

次のOVALサイトのページで紹介されています。
http://oval.mitre.org/adoption/participants.html#i
http://oval.mitre.org/adoption/productlist.html



表.1 MyJVNの機能種別と用途種別
サービス 機能種別 用途種別
MyJVNバージョンチェッカ OVAL定義データを使った検査ツール 脆弱性検査
MyJVNセキュリティ設定チェッカ セキュリティ設定管理
MyJVN API OVAL定義データのリポジトリ 脆弱性検査
セキュリティ設定管理
(*)用途種別としては、セキュリティアドバイザリ配布、脆弱性検査、パッチ管理、セキュリティ設定管理、監査ならびに集中型監査機構、セキュリティ情報管理、システムインベントリ、マルウェアや脅威の痕跡調査の8分類が用意されています。

表.2 MyJVNでの要件対応状況
要件 サービス 対応状況
機能
MyJVNバージョンチェッカ、
MyJVNセキュリティ設定チェッカ、
MyJVN API

OVALバージョン5.8を前提として、表 1に示す機能種別、用途種別を申請しています。
実装 OVAL実装に関して問題が発生した場合には、問合わ窓口経由での対応します。
文書整備 本資料が、OVALおよびOVAL準拠についての文書となります。
検証 OVAL定義データについては、XMLスキーマ検証により確認を行なっています。
個別要件 個別要件で規定されている検査ツールの動作などについては、技術資料(*10)などを公開しています。

 今後もOVAL等の共通基準の導入を進めることで、グローバルなJVN、JVN iPedia、MyJVNの実現ならびに、国内外の脆弱性対策情報流通の促進を図ると共に、利用者側での効率的な脆弱性対策を実現する利活用基盤を整備していきます。

脚注

(*1)OVAL:Open Vulnerability and Assessment Language。コンピュータのセキュリティ設定状態を検査するための言語仕様。
http://oval.mitre.org/

(*2)SCAP:Security Content Automation Protocol。米国政府が推進している情報セキュリティにかかわる技術面での自動化と標準化を実現する技術仕様。
http://nvd.nist.gov/scap.cfm

(*3)MITRE Corporation:米国政府向けの技術支援や研究開発を行う非営利組織。
http://www.mitre.org/

(*4)FDCC:Federal Desktop Core Configuration。米国政府が各省庁に向けて、デスクトップ環境の最低限のセキュリティ設定を実施するように定めた基準。
http://nvd.nist.gov/fdcc/index.cfm

(*5)CVE:Common Vulnerabilities and Exposures。一つ一つの脆弱性を識別するための共通の識別子。
http://cve.mitre.org/

(*6)CPE:Common Platform Enumeration。製品を識別するための共通のプラットフォーム名の一覧。
http://cpe.mitre.org/

(*7)NIST:National Institute of Standards and Technology。米国国立標準技術研究所。米国の科学技術分野における計測と標準に関する研究を行う機関。
http://www.nist.gov/

(*8)JVN iPedia:Vulnerability Countermeasure Information Database。脆弱性対策情報データベース。日本国内で利用されている製品の脆弱性対策情報を中心に公開・蓄積し、脆弱性対策情報の収集を支援。
http://jvndb.jvn.jp/

(*9)バージョンチェックツール「MyJVNバージョンチェッカ」を公開
http://www.ipa.go.jp/security/vuln/documents/2009/200911_myjvn_vc.html

(*10)MyJVN バージョンチェッカ ~MyJVN を用いた脆弱性対策自動化の実現~
情報処理学会 コンピュータセキュリティ 研究報告 Vol.2011-CSEC-54 No.33 (2011)

参考情報

本件に関するお問い合わせ先

IPA セキュリティセンター(IPA/ISEC)
E-mail:

更新履歴

2018年5月31日 お問い合わせ先を更新
2015年7月22日 参考情報を追加
2014年3月20日 参考情報を追加
2013年6月10日 「4.OVAL Adoption (OVAL準拠)」にMyJVN APIの記述を追記しました。
2011年9月28日 「4.OVAL Adoption (OVAL準拠)」の記述を追記しました。
2010年6月24日 参考情報を追加しました。
2010年2月25日 参考情報を追加しました。
2009年11月30日 掲載