(57)【要約】  セキュリティ検証システムに対する入力データを作成するシステムは、検証対象コンピュータシステムからシステム構成情報を収集するシステム構成情報集主部と、システム構成情報に付加される属性情報を受け取る属性情報入力部と、属性情報を用いてアクセスポリシーを生成するアクセスポリシー生成部と、アクセスポリシーと、システム構成情報及び属性情報とに基づいて、不適切なデータ移動経路を表わす検証ポリシーを生成する検証ポリシー生成部と、を備える。【特許請求の範囲】
【請求項１】
検証対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証システムへの入力データである検証ポリシーを生成するセキュリティ検証用データ生成方法であって、
前記検証対象システムにおけるネットワーク、アプリケーション、ファイル、サービス及びユーザのうちの少なくともいずれか一つまたはそれらの組み合わせからなる情報を含むシステム構成情報を収集する段階と、
前記システム構成情報に付加される属性情報であって、ネットワーク、アプリケーション、ファイル、サービス及びユーザの属性のいずれか一つまたはそれらの組み合わせた内容を示す属性情報を受け取る段階と、
不適切なデータ移動経路におけるデータの移動元、移動先、及び移動経路のうちの少なくともいずれか一つまたはそれらの組み合わせからなる情報を含むアクセスポリシーを、前記属性情報を用いて生成する段階と、
前記アクセスポリシーと、前記システム構成情報及び属性情報とに基づいて、不適切なデータ移動経路を表わす検証ポリシーを生成する段階と、
を有する方法。
【請求項２】
前記検証対象システムにおけるデータ移動を表わすデータ移動経路と前記検証ポリシーとを用いて、前記検証対象システムにおけるデータ移動経路が適切であるか否かを検証する段階をさらに有する、請求項１に記載の方法。
【請求項３】
検証対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証システムへの入力データである検証ポリシーを生成するセキュリティ検証用データ生成システムであって、
前記検証対象システムにおけるネットワーク、アプリケーション、ファイル、サービス及びユーザのうちの少なくともいずれか一つまたはそれらの組み合わせからなる情報を含むシステム構成情報を収集するシステム構成情報収集手段と、
前記システム構成情報に付加される属性情報であって、ネットワーク、アプリケーション、ファイル、サービス及びユーザの属性のいずれか一つまたはそれらの組み合わせた内容を示す属性情報が入力される属性情報入力手段と、
不適切なデータ移動経路におけるデータの移動元、移動先、及び移動経路のうちの少なくともいずれか一つまたはその組み合わせからなる情報を含むアクセスポリシーを、前記属性情報を用いて生成するアクセスポリシー生成手段と、
前記アクセスポリシー生成手段によって生成されたアクセスポリシーと、前記システム構成情報及び属性情報とに基づいて、不適切なデータ移動経路を表わす検証ポリシーを生成する検証ポリシー生成手段と、
を有するシステム。
【請求項４】
前記属性情報入力手段は、前記システム構成情報収集手段が収集したシステム構成情報を表示して、前記属性情報の入力をオペレータに促す、請求項３に記載のシステム。
【請求項５】
前記アクセスポリシー生成手段は、前記属性情報を選択肢として表示してオペレータに前記属性情報の選択を促し、選択された属性情報によって前記移動元、前記移動先、または前記移動経路を指定する、請求項３に記載のシステム。
【請求項６】
前記アクセスポリシー生成手段は、前記属性情報を選択肢として表示してオペレータに前記属性情報の選択を促し、選択された属性情報によって前記移動元、前記移動先、または前記移動経路を指定する、請求項４に記載のシステム。
【請求項７】
前記検証ポリシー生成手段は、前記属性情報を用いて指定されたアクセスポリシー内の移動元、移動先、または移動経路の情報を、前記システム構成情報または前記属性情報に含まれる情報に置き換えることにより検証ポリシーを生成する、請求項３に記載のシステム。
【請求項８】
前記検証ポリシー生成手段は、前記属性情報を用いて指定されたアクセスポリシー内の移動元、移動先、または移動経路の情報を、前記システム構成情報または前記属性情報に含まれる情報に置き換えることにより検証ポリシーを生成する、請求項４に記載のシステム。
【請求項９】
前記検証ポリシー生成手段は、前記属性情報を用いて指定されたアクセスポリシー内の移動元、移動先、または移動経路の情報を、前記システム構成情報または前記属性情報に含まれる情報に置き換えることにより検証ポリシーを生成する、請求項５に記載のシステム。
【請求項１０】
前記検証ポリシー生成手段は、前記属性情報を用いて指定されたアクセスポリシー内の移動元、移動先、または移動経路の情報を、前記システム構成情報または前記属性情報に含まれる情報に置き換えることにより検証ポリシーを生成する、請求項６に記載のシステム。
【請求項１１】
前記検証対象システムにおけるデータ移動を表わすデータ移動経路と前記検証ポリシーとを用いて前記検証対象システムにおけるデータ移動経路が適切であるか否かを検証する検証手段をさらに備える、請求項３乃至１０のいずれか１項に記載のシステム。
【請求項１２】
検証対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証システムへの入力データである検証ポリシーを生成するコンピュータに搭載されるセキュリティ検証用データ生成プログラムであって、
前記コンピュータに、
前記検証対象システムにおけるネットワーク、アプリケーション、ファイル、サービス及びユーザのうちの少なくともいずれか一つまたはそれらの組み合わせからなる情報を含むシステム構成情報を収集する処理、
前記システム構成情報に付加される属性情報であって、ネットワーク、アプリケーション、ファイル、サービス及びユーザの属性のいずれか一つまたはそれらの組み合わせた内容を示す属性情報を受け取る処理、
不適切なデータ移動経路におけるデータの移動元、移動先、及び移動経路のうちの少なくともいずれか一つまたはそれらの組み合わせからなる情報を含むアクセスポリシーを、前記属性情報を用いて生成する処理、及び、
前記アクセスポリシーと、前記システム構成情報及び属性情報とに基づいて、不適切なデータ移動経路を表わす検証ポリシーを生成する処理
を実行させるプログラム。
【請求項１３】
前記コンピュータに、さらに、前記検証対象システムにおけるデータ移動を表わすデータ移動経路と前記検証ポリシーとを用いて、前記検証対象システムにおけるデータ移動経路が適切であるか否かを検証する処理を実行させる、請求項１２に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアにおけるセキュリティ設定を検証するための方法及びシステムに関し、特に、セキュリティホールとなるソフトウェアのセキュリティ設定の複合的な誤りがあるか否かを検出して指摘することができるセキュリティ検証システムに対する入力データを生成するセキュリティ検証用データ生成方法及びシステムに関する。
【背景技術】
【０００２】
近年のインターネットの普及に伴い、インターネットは電話網などと並ぶ重要な社会インフラストラクチャとなりつつある。インターネットでは、ユーザは様々なサービスを受けることができる。インターネット上で提供されるサービスは、一般に、ユーザからの一連のリクエストを受け付け、受け付けたリクエストに応じた処理を実行し、その処理結果をユーザに送信することで実現されている。具体的には、ＷＷＷ  （Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）によるサービスが広く普及しており、現在では電子商取引などの様々なサービスの基盤となっている。【０００３】
インターネット上で提供される様々なサービスは、インターネットに接続されたサーバと呼ばれるシステムによって実現されている。特に、インターネットに公開されたサーバは、匿名性の高い不特定多数のユーザからのリクエストを受け付けるため、いわゆるサイバー攻撃、すなわちサイバースペースへの攻撃の対象となりやすく、セキュリティ上の大きな問題となっている。【０００４】
このような、公開サーバに対するサイバー攻撃には、サーバに内在する脆弱点やサーバにおける不適切な設定などのセキュリティホールを悪用し、サーバに悪意のあるリクエストを送りつけて不正動作させ、機密ファイルを盗むなどの悪意のある動作をさせるものがある。以下において、サーバにおける不適切な設定のことを不適設定と呼ぶ。サーバにおける脆弱点としては、例えば、サーバソフトウェアの障害を引き起こすプログラムのミスが挙げられる。不適設定としては、サーバソフトウェアの障害を引き起こすセキュリティ設定時の設定ミスなどが挙げられる。【０００５】
このようなサイバー攻撃は、理想的には、サーバのセキュリティホールをなくすことによって、未然に防止することができる。しかし、ソフトウェアのセキュリティホールを完全になくすことは非常に困難であり、現実的には不可能である。また、ソフトウェアの作成者とサーバ運用者は一般には同一でないため、サーバ運用者がソフトウェアの仕様を誤解して、セキュリティ上問題のある設定をしてしまう可能性は排除することができない。【０００６】
従来、セキュリティを検証するための装置として、例えば、特開２００２−２２９９４６号公報、あるいはｈｔｔｐ：／／ｗｗｗ．ｉｓｓｋｋ．ｃｏ．ｊｐ／ｐｒｏｄｕｃｔ／Ｉｎｔｅｒｎｅｔ＿Ｓｃａｎｎｅｒ．ｈｔｍｌから入手できるインターネット文書“Ｉｎｔｅｒｎｅｔ  Ｓｃａｎｎｅｒ”には、サーバ等の脆弱点の有無を検査し、コンピュータシステムのセキュリティの強さを判断するセキュリティ検証装置が提案されている。このセキュリティ検証装置は、具体的には、図１に示すように、擬似攻撃部５２０と、反応検査部５３０と、脆弱点データベース５１０から構成されている。【０００７】
図１に示すセキュリティ検証装置では、擬似攻撃部５２０が、検査対象となるコンピュータシステムの構成に従い、脆弱点データベース５１０から、検査対象を擬似攻撃するための予め用意された攻撃手順を取り出す。擬似攻撃部５２０は、取り出した攻撃手順を使用して、検査対象を擬似攻撃する。反応検査部５３０は、攻撃された検査対象を調べ、検査対象の反応を、攻撃手順に応じて予め定義されている反応と比較し、検査対象の脆弱点の有無を確認する。図１に示すセキュリティ検証装置は、上記のようにして、すべての検査対象に擬似攻撃を実行し、脆弱点の有無から検査対象のセキュリティを検証するシステムである。【０００８】
また、ｈｔｔｐ：／／ｗｗｗ．ｉｓｓｋｋ．ｃｏ．ｊｐ／ｐｒｏｄｕｃｔ／Ｓｙｓｔｅｍ＿Ｓｃａｎｎｅｒ．ｈｔｍから入手できるインターネット文書“Ｓｙｓｔｅｍ  Ｓｃａｎｎｅｒ”には、予め用意されている推奨設定との比較により、対象となるコンピュータシステムのセキュリティを検証するシステムが開示されている。このシステムでは、推奨設定がデータベースに登録されており、その推奨設定と検査対象のコンピュータにおける実際の設定とを比較することによってセキュリティが検証される。【０００９】
さらに、Ｒｏｎａｌｄ  Ｗ．  Ｒｉｔｃｈｅｙ  ａｎｄ  Ｐａｕｌ  Ａｍｍａｎｎは、２０００  ＩＥＥＥ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｓｅｃｕｒｉｔｙ  ａｎｄ  Ｐｒｉｖａｃｙ，  ｐｐ．  １５６−１６５，  Ｍａｒｃｈ  ２０００において、複数の脆弱点の相互関係をグラフに表現することにより、脆弱点の組み合わせがより大きな脅威となっている場合を検証することができるセキュリティ検証方式を提案している。この方式では、複数の脆弱点をあらかじめ検出し、それらの脆弱点の相互関係をグラフに表現する。【００１０】
例えば、検証対象のシステムに２つの脆弱点があるとする。１つ目がインターネットを経由してユーザ権限を奪取できる脆弱点であり、２つ目が任意のユーザが管理者の権限を奪取できる脆弱点ある。このとき２つ目の脆弱点である「任意のユーザが管理者の権限を奪取できる」脆弱点は、直接、外部の者が利用することはできないため、脆弱点としては深刻ではない。このため、１つの脆弱点を検査するシステムでは、２つ目の脆弱点があったとしてもシステム全体としては、問題なしと判断することが多い。しかし、１つ目の脆弱点を利用したあとであれば、２つ目の脆弱点を利用することができる。つまり、この２つの脆弱点を組み合わせてはじめて深刻な脆弱点と判断できるのである。このような脆弱点の組み合わせを検証するために、ある脆弱点を利用した後で利用できる脆弱点を網羅的に有向グラフで連結していく。Ｒｉｔｃｈｅｙらのシステムは、このようにして、複数の脆弱点の組み合わせを検証するシステムである。
【特許文献１】特開２００２−２２９９４６号公報
【非特許文献１】“Ｉｎｔｅｒｎｅｔ  Ｓｃａｎｎｅｒ”、［ｏｎｌｉｎｅ］、［２００３年１０月２７日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｓｓｋｋ．ｃｏ．ｊｐ／ｐｒｏｄｕｃｔ／Ｉｎｔｅｒｎｅｔ＿Ｓｃａｎｎｅｒ．ｈｔｍｌ＞
【非特許文献２】“Ｓｙｓｔｅｍ  Ｓｃａｎｎｅｒ”、［ｏｎｌｉｎｅ］、［２００３年１０月２７日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｓｓｋｋ．ｃｏ．ｊｐ／ｐｒｏｄｕｃｔ／Ｓｙｓｔｅｍ＿Ｓｃａｎｎｅｒ．ｈｔｍｌ＞
【非特許文献３】ロナルド・Ｗ・リッチー（Ｒｏｎａｌｄ  Ｗ．Ｒｉｔｃｈｅｙ）、ポール・アンマン（Ｐａｕｌ  Ａｍｍａｎｎ）著、「２０００  ＩＥＥＥ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｓｅｃｕｒｉｔｙ  ａｎｄ  Ｐｒｉｖａｃｙ」，（米国），ＩＥＥＥ，２０００年３月，ｐ．１５６−１６５
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上記の各従来技術では、セキュリティ設定の内容を検証対象とすることができないため、セキュリティ設定が不適設定であるか否かを検証することができないという問題点がある。すなわち、上記の各従来技術では、セキュリティ設定を検証するための擬似攻撃を行うことはできない。具体的には、例えば、図１に示したセキュリティ検証システムや、複数の脆弱点の相互関係をグラフに表現するセキュリティ検証システムでは、擬似攻撃方式と呼ばれる検査方式が採用されている。この検査方式では、脆弱点にあわせた攻撃手順をあらかじめ用意し、実際に攻撃することによって検査を行うことになる。このため、攻撃手順をあらかじめ作成できる脆弱点だけが検査の対象となり、擬似攻撃を作成することができないセキュリティ設定については、検証することができない。【００１２】
推奨設定との比較による方法では、セキュリティ設定における設定ミスの有無を検証するようにしているが、セキュリティ設定における明らかな設定ミスの検証しか行うことができない。すなわちこの方法では、パスワードが空であった場合などの各設定単独で検証が可能であるような、明らかな設定ミスについてしか検証対象とすることができず、各設定のそれぞれによっては設定ミスか否かの判断が困難であるような、複合的な設定ミスに基づく不適設定の有無を検証することはできない。一方、不正アクセスの多くは設定ミスが原因で起こっているため、障害となる設定ミスがあるか否かについては、厳格に検証できるようにすることが望ましい。【００１３】
上記の各従来技術では、複数のセキュリティ設定の組み合わせにより不適設定となっているかどうかを判断することができないという問題点もある。すなわち上記の各従来技術では、複合的な設定ミスに基づく不適設定の有無を検証することはできない。具体的には、図１に示した検証システムや推奨設定との比較に基づく検証システムは、単一の脆弱点もしくは単一の設定だけでコンピュータシステムが脆弱となるようなセキュリティホールの有無を検査対象としており、複数のセキュリティ設定の組み合わせを検証の対象にすることはできない。個々の設定自体で見ればミスとは言えず、セキュリティホールではないと判断されるようなものであっても、そのようなセキュリティ設定が複数合わさることによってコンピュータシステムのセキュリティホールとなることがあるが、これらの従来技術では、そのようなセキュリティホールを検出することができない。【００１４】
Ｒｉｔｃｈｅｙらのシステムでは、セキュリティホールとなるような、複数の脆弱点の組合せの有無を検証するようにしているが、セキュリティ設定の設定ミス自体は検証対象とされていない。【００１５】
さらに、上述した従来の各システムでは、検査対象システムに対する負荷が高いという問題点もある。具体的には、図１に示した検証システムは、擬似攻撃方式と呼ばれる検査方式を用いるものであって、この方式では、脆弱点を利用する攻撃を実際に行うため、検査対象のシステムは、実際に攻撃されるのと同じ負荷を受けることになり、場合によっては、検査対象のシステムのダウンを引き起こすおそれがある。したがって、図１に示した検証システムは、検証対象のシステムの状況によっては適用できなくなる場合がある。しかしながら、セキュリティ検証システムとしては、検証対象のシステムあるいはコンピュータがいかなる状態にあっても、それらの検証対象のシステムあるいはコンピュータのセキュリティを検証できるものであることが望ましい。【００１６】
また、セキュリティの検証を行う場合には、セキュリティ検証システムに対する入力データが必要であるが、そのような入力データを容易に生成できるようにすることも好ましい。【００１７】
そこで、本発明の目的は、セキュリティの検証を行うシステムに対する入力データを容易に生成できるデータ生成方法及びシステムを提供することにある。【００１８】
本発明の別の目的は、上述した問題を解消し、セキュリティ設定の厳格な検証ができる検証方法及びシステムを提供することにある。【００１９】
本発明のさらに別の目的は、複数のセキュリティ設定が複合的に作用することで発生する障害の有無を検証することができる方法及びシステムを提供することにある。【００２０】
本発明のさらに別の目的は、検証時における検査対象のシステムの負荷を低減させることができる方法及びシステムを提供することにある。
【課題を解決するための手段】
【００２１】
本発明の目的は、検証対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証システムへの入力データである検証ポリシーを生成するセキュリティ検証用データ生成方法であって、検証対象システムにおけるネットワーク、アプリケーション、ファイル、サービス及びユーザのうちの少なくともいずれか一つまたはそれらの組み合わせからなる情報を含むシステム構成情報を収集する段階と、システム構成情報に付加される属性情報であって、ネットワーク、アプリケーション、ファイル、サービス及びユーザの属性のいずれか一つまたはそれらの組み合わせた内容を示す属性情報を受け取る段階と、不適切なデータ移動経路におけるデータの移動元、移動先、及び移動経路のうちの少なくともいずれか一つまたはそれらの組み合わせからなる情報を含むアクセスポリシーを、属性情報を用いて生成する段階と、アクセスポリシーと、システム構成情報及び属性情報とに基づいて、不適切なデータ移動経路を表わす検証ポリシーを生成する段階と、を有する方法によって達成される。【００２２】
このような本発明のセキュリティ検証用データ生成方法において、システム構成情報を収集する段階は例えばシステム構成情報収集手段によって実行され、属性情報を受け取る段階は例えば属性情報入力手段によって実行され、アクセスポリシーを生成する段階は例えばアクセスポリシー生成手段によって実行され、検証ポリシーを生成する段階は例えば検証ポリシー生成手段によって実行される。さらに、このセキュリティ検証用データ生成方法においては、検証対象システムにおけるデータ移動を表わすデータ移動経路と検証ポリシーとを用いて、検証対象システムにおけるデータ移動経路が適切であるか否かを検証する段階を設けてもよい。このような検証する段階は、例えば、検証手段によって実行される。検証する段階を設けることにより、検証用データの生成から検査対象システムのセキュリティ設定の検証までを一連の処理として実行することが可能になる。【００２３】
本発明の目的は、検証対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証システムへの入力データである検証ポリシーを生成するセキュリティ検証用データ生成システムであって、検証対象システムにおけるネットワーク、アプリケーション、ファイル、サービス及びユーザのうちの少なくともいずれか一つまたはそれらの組み合わせからなる情報を含むシステム構成情報を収集するシステム構成情報収集手段と、システム構成情報に付加される属性情報であって、ネットワーク、アプリケーション、ファイル、サービス及びユーザの属性のいずれか一つまたはそれらの組み合わせた内容を示す属性情報が入力される属性情報入力手段と、不適切なデータ移動経路におけるデータの移動元、移動先、及び移動経路のうちの少なくともいずれか一つまたはその組み合わせからなる情報を含むアクセスポリシーを、属性情報を用いて生成するアクセスポリシー生成手段と、アクセスポリシー生成手段によって生成されたアクセスポリシーと、システム構成情報及び属性情報とに基づいて、不適切なデータ移動経路を表わす検証ポリシーを生成する検証ポリシー生成手段と、を有するシステムによっても達成される。【００２４】
本発明のシステムにおいて、属性情報入力手段は、システム構成情報収集手段が収集したシステム構成情報を表示して、属性情報の入力をオペレータに促す構成であってもよい。そのような構成によれば、システム構成情報をオペレータに提示することで、検証対象システムのシステム構成に則った検証ポリシーを容易に作成することができるようになる。【００２５】
本発明のシステムにおいて、アクセスポリシー生成手段は、属性情報を選択肢として表示してオペレータに属性情報の選択を促し、選択された属性情報によって移動元、移動先、または移動経路を指定する構成のものであってもよい。そのような構成によれば、オペレータは、検証対象システムの個々の要素を直接指定する必要がなく、属性情報を選択することで検証ポリシーを作成することができる。したがって、オペレータは、検証対象システムのシステム構成の詳細を知らなくても、検証ポリシーを作成することができる。【００２６】
本発明のシステムにおいて、検証ポリシー生成手段は、属性情報を用いて指定されたアクセスポリシー内の移動元、移動先、または移動経路の情報を、システム構成情報または属性情報に含まれる情報に置き換えることにより検証ポリシーを生成する構成のものであってもよい。【００２７】
さらに本発明のシステムは、検証対象システムにおけるデータ移動を表わすデータ移動経路と検証ポリシーとを用いて検証対象システムにおけるデータ移動経路が適切であるか否かを検証する検証手段をさらに備えていてもよい。そのような構成を採用することにより、検証用データの生成から検査対象システムのセキュリティ設定の検証までを一貫して行うことが可能になる。【００２８】
本発明の目的は、検証対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証システムへの入力データである検証ポリシーを生成するコンピュータに搭載されるセキュリティ検証用データ生成プログラムであって、コンピュータに、検証対象システムにおけるネットワーク、アプリケーション、ファイル、サービス及びユーザのうちの少なくともいずれか一つまたはそれらの組み合わせからなる情報を含むシステム構成情報を収集する処理、システム構成情報に付加される属性情報であって、ネットワーク、アプリケーション、ファイル、サービス及びユーザの属性のいずれか一つまたはそれらの組み合わせた内容を示す属性情報を受け取る処理、不適切なデータ移動経路におけるデータの移動元、移動先、及び移動経路のうちの少なくともいずれか一つまたはそれらの組み合わせからなる情報を含むアクセスポリシーを、属性情報を用いて生成する処理、及び、アクセスポリシーと、システム構成情報及び属性情報とに基づいて、不適切なデータ移動経路を表わす検証ポリシーを生成する処理、を実行させるプログラムによっても達成される。【００２９】
本発明のプログラムは、コンピュータに、さらに、検証対象システムにおけるデータ移動を表わすデータ移動経路と検証ポリシーとを用いて、検証対象システムにおけるデータ移動経路が適切であるか否かを検証する処理を実行させるように構成されていてもよい。【００３０】
本発明によれば、属性情報を入力することにより、容易に検証ポリシーを作成することができるようになる。また、１つの属性情報で複数のシステム構成要素を同時に指定することができるので、少ないアクセスポリシー数で、必要十分な検証ポリシーを作成することができるようになる。
【図面の簡単な説明】
【００３１】
【図１】図１は、従来のセキュリティ検証システムの構成を示すブロック図である。
【図２】図２は、本発明のデータ生成方法によって作成されたデータを用いるセキュリティ検証システムの第１の構成を示すブロック図である。
【図３】図３は、設定情報格納部に格納されるデータの構造の例を示す図である。
【図４】図４は、プログラム動作情報格納部に格納されるデータの構造の例を示す図である。
【図５】図５は、データ伝達経路情報格納部に格納されるデータの構造の例を示す図である。
【図６】図６は、図２に示すセキュリティ検証システムが実行するセキュリティ検証処理を示すフローチャートである。
【図７】図７は、セキュリティ検証システムの第２の構成を示すブロック図である。
【図８】図８は、図７に示すセキュリティ検証システムが実行するセキュリティ検証処理を示すフローチャートである。
【図９】図９は、セキュリティ検証システムの第３の構成を示すブロック図である。
【図１０】図１０は、セキュリティ検証システムの第４の構成を示すブロック図である。
【図１１】図１１は、セキュリティ検証システムの第５の構成を示すブロック図である。
【図１２】図１２は、ポリシー格納部に格納されるポリシーの構造の例を示す図である。
【図１３】図１３は、図１２に示すセキュリティ検証システムが実行するセキュリティ検証処理を示すフローチャートである。
【図１４】図１４は、図１１に示したセキュリティ検証システムにおける検証部が実行する処理を示すフローチャートである。
【図１５】図１５は、ポリシーを変換する規則の例を示す図である。
【図１６】図１６は、本発明の第１の実施の形態のセキュリティ検証用データ生成システムの構成を示すブロック図である。
【図１７】図１７は、ネットワーク構成情報の例を示す図である。
【図１８】図１８は、アプリケーション情報の例を示す図である。
【図１９】図１９は、ファイル情報の例を示す図である。
【図２０】図２０は、サービス情報の例を示す図である。
【図２１】図２１は、ユーザ情報の例を示す図である。
【図２２】図２２は、図１６に示すセキュリティ検証用データ生成システムの動作を示すフローチャートである。
【図２３】図２３は、本発明の第２の実施の形態のセキュリティ検証用データ生成システムの構成を示すブロック図である。
【図２４】図２４は、図２３に示したセキュリティ検証用データ生成システムの動作を示すフローチャートである。
【図２５】図２５は、図２３に示したセキュリティ検証用データ生成システムの動作を示すフローチャートである。
【図２６】図２６は、セキュリティ検証システムの構成を示すブロック図である。
【図２７Ａ】図２７Ａは、検査対象コンピュータにおけるＯＳのユーザアカウントの設定の例を示す図である。
【図２７Ｂ】図２７Ｂは、検査対象コンピュータにおけるＯＳのグループの設定の例を示す図である。
【図２８】図２８は、検査対象コンピュータにおけるファイルのアクセス権の設定の例を示す図である。
【図２９Ａ】図２９Ａは、検査対象コンピュータにおけるウェブサーバの設定の例を示す図である。
【図２９Ｂ】図２９Ｂは、検査対象コンピュータにおけるウェブサーバの設定の例を示す図である。
【図３０】図３０は、検査対象コンピュータにおける、ＯＳのセキュリティ設定情報に基づいて生成されたデータ伝達経路を表わすグラフを示す図である。
【図３１】図３１は、検査対象コンピュータにおける、ＯＳが管理するディレクトリ構造から作られるアークとオブジェクトとが加えられたデータ伝達経路を表わすグラフを示す図である。
【図３２】図３２は、検査対象コンピュータにおける、ウェブサーバのセキュリティ設定情報に基づいて生成されたデータ伝達経路を表わすグラフを示す図である。
【図３３】図３３は、データ伝達経路生成部によって生成されるデータ伝達経路を表わすグラフを示す図である。
【図３４】図３４は、アクセス権統合処理の例を示すフローチャートである。
【図３５】図３５は、データ伝達経路生成部によって生成されるデータ伝達経路を表わすグラフを示す図である。
【図３６】図３６は、アクセス権統合部によって１つのアクセス権が統合された状態のデータ伝達経路を表わすグラフを示す図である。
【図３７】図３７は、アクセス権統合部によってすべてのアクセス権が統合された状態のデータ伝達経路を表わすグラフを示す図である。
【図３８】図３８は、データ伝達経路変換部に入力されるデータ伝達経路の例を表わすグラフを示す図である。
【図３９】図３９は、データ伝達経路変換部から出力される変換後のデータ伝達経路の例を表わすツリー構造を示す図である。
【図４０】図４０は、データ伝達経路変換処理を示すフローチャートである。
【図４１】図４１は、ポリシー入力部により入力されるセキュリティ検証用ポリシーの例を示す図である。
【図４２】図４２は、パターンマッチング処理によって探索された不適経路を表わすグラフを示す図である。
【図４３】図４３は、不適経路検索処理を示すフローチャートである。
【図４４】図４４は、探索された不適経路を取り出して示す図である。
【図４５】図４５は、設定情報検索処理を示すフローチャートである。
【図４６】図４６は、アクセス権の統合後のデータ伝達経路から不適経路に含まれるノードが検索された状態の例を示す図である。
【図４７】図４７は、アクセス権の統合前のデータ伝達経路における不適経路が検索された状態の例を示す図である。
【図４８】図４８は、権限委譲のアークと別名定義のアークとそれらのアークに接続されているノードが検索された状態の例を示す図である。
【図４９】図４９は、不適経路を作成する原因となった全てのノードとアークが検索された状態の例を示す図である。
【図５０】図５０は、データ伝達経路情報における不適設定箇所を表わした状態の例を示す図である。
【図５１】図５１は、設定情報格納部から取り出されたセキュリティ設定情報の例を示す図である。
【図５２】図５２は、パターンマッチング処理によって探索された不適経路の表示画面の例を示す図である。
【図５３】図５３は、セキュリティ検証システムにおけるユーザインターフェイスの全体像を示す基本画面の例を示す図である。
【図５４】図５４は、トポロジー画面の例を示す図である。
【図５５】図５５は、トポロジー画面の例を示す図である。
【図５６】図５６は、ポリシー画面の例を示す図である。
【図５７】図５７は、アラート画面の例を示す図である。
【図５８】図５８は、リザルト画面の例を示す図である。
【図５９】図５９は、ディテール画面の例を示す図である。
【図６０】図６０は、セキュリティ検証システムの他の構成を示すブロック図である。
【図６１Ａ】図６１Ａは、データ伝達経路変換部から出力される変換後のデータ伝達経路の例を表わすツリー構造を示す図である。
【図６１Ｂ】図６１Ｂは、データ伝達経路変換部から出力される変換後のデータ伝達経路の例を表わすツリー構造を示す図である。
【図６２】図６２は、データ伝達経路変換処理の他の例を示すフローチャートである。
【図６３】図６３は、検証対象のホスト構成を示す図である。
【図６４】図６４は、設定モデル格納部に格納されたホスト構成を示す図である。
【図６５】図６５は、検証対象システムのＩＰアドレス構成とホストとの関係を示す図である。
【図６６】図６６は、検証対象システムを構成するホストにおけるＩＰアドレスの設定を示す図である。
【図６７】図６７は、設定モデル格納部に格納されたＩＰアドレスを示す図である。
【図６８】図６８は、検証対象システムのネットワーク接続を示す図である。
【図６９】図６９は、設定モデル格納部に格納された設定モデルの要素を示す図である。
【図７０】図７０は、検証対象システムのシステム構成を示す図である。
【図７１】図７１は、検証対象システムのユーザ設定を示す図である。
【図７２】図７２は、検証対象システムのグループ設定を示す図である。
【図７３】図７３は、設定モデル格納部に格納されたユーザを示す図である。
【図７４】図７４は、検証対象システムのファイルアクセス権の設定を示す図である。
【図７５】図７５は、設定モデル格納部に格納されたファイルを示す図である。
【図７６】図７６は、検証対象システムの検証結果の表示状態を示す図である。
【図７７】図７７は、検証対象となるコンピュータシステムの構成を示す図である。
【図７８】図７８は、ネットワーク構成情報属性が付加されたネットワーク構成情報の例を示す図である。
【図７９】図７９は、サービス情報属性が付加されたサービス情報の例を示す図である。
【図８０】図８０は、ユーザ情報属性が付加されたユーザ情報の例を示す図である。
【図８１】図８１は、ファイル情報属性が付加されたファイル情報の例を示す図である。
【図８２】図８２は、作成されたアクセスポリシーの例を示す図である。
【図８３】図８３は、アクセスポリシー作成時に提示する初期画面の例を示す図である。
【図８４】図８４は、アクセスポリシー新規作成画面の例を示す図である。
【図８５】図８５は、移動元入力画面の例を示す図である。
【図８６】図８６は、移動先入力画面の例を示す図である。
【図８７】図８７は、移動経路入力画面の例を示す図である。
【図８８】図８８は、属性情報を用いて移動元や移動先としてユーザが指定されているときに、そのユーザから変換されるユーザアカウントを検索する動作を示すフローチャートである。
【図８９】図８９は、属性情報を用いて移動元や移動先としてファイルが指定されているときに、そのファイルから変換されるファイル名を検索する動作を示すフローチャートである。
【図９０】図９０は、属性を用いて移動経路としてサービスが指定されているときに、そのサービスから変換されるＩＰアドレスやポート番号を検索する動作を示すフローチャートである。
【符号の説明】
【００３２】
１４０１  コンピュータシステム
１４０２  システム構成情報収集部
１４０３  属性情報入力部
１４０４  属性情報格納部
１４０５  アクセスポリシー生成部
１４０６  アクセスポリシー格納部
１４０７  検証ポリシー生成部
１４０８  検証ポリシー格納部
１５０９  データ伝達経路入力部
１５１０  検証部
１５１１  検証結果表示部
【発明を実施するための最良の形態】
【００３３】
本発明は、セキュリティ検証システムに与える入力データを生成するための方法及びシステムに関するものなので、まず、本発明にしたがって生成される入力データが与えられることとなるセキュリティ検証システムについて説明する。本発明によって作成された入力データを使用できるセキュリティ検証システムとしては各種のものが考えられるが、以下では、そのようなセキュリティ検証システムについて、５通りの構成例を説明する。なお、以下の説明において、セキュリティ検証システムのユーザあるいはオペレータであって、検査対象のシステムのセキュリティ設定の検証を行なおうとするユーザのことを検証者と呼ぶことにする。これに対し、検査対象のシステム自体のユーザについては、そのままユーザと呼ぶことにする。【００３４】
第１のセキュリティ検証システム：
図２は、第１のセキュリティ検証システム１００の構成を示している。図２に示すように、セキュリティ検証システム１００は、検査対象１１１のセキュリティ設定を検証するものであって、ポリシー入力部１０と、データ伝達経路生成部２１と、プログラム動作情報格納部３０と、設定情報格納部３１と、データ伝達経路情報格納部３２と、ポリシー格納部３３と、アクセス権統合部４０と、検証部５０と、検証結果表示部６０と、設定情報収集部７０と、設定情報検索部８０と、を備えている。【００３５】
検査対象１１１は、セキュリティ検証システム１００による、セキュリティ設定上の誤りの検証対象となるコンピュータを意味する。具体的には、検証対象１１１としては、例えば、ＯＳ（オペレーティングシステム）、ウェブ（ｗｅｂ）サーバ、ウェブ（ｗｅｂ）クライアントなどが該当する。【００３６】
設定情報収集部７０は、検証対象のシステム１１１から、検証対象システム１１１内のセキュリティ設定を示すセキュリティ設定情報を収集し、設定情報格納部３１に格納する処理を実行する機能を有する。言い換えれば、設定情報収集部７０は、検査対象１１１のコンピュータシステムから、セキュリティに関連する設定情報を収集する。ここで、「セキュリティに関連する設定情報」すなわちセキュリティ設定情報とは、対象アプリケーションと、セキュリティ単位情報と、設定情報ファイル名とを含む情報を意味する。なお、セキュリティ単位情報のことを「セキュリティ設定情報」と言う場合もある。【００３７】
設定情報格納部３１は、例えばデータベース装置によって構成され、設定情報収集部７０により収集されたセキュリティ設定情報を、設定情報ＩＤとともに格納する。図３は、設定情報格納部３１でのデータの格納態様の例を示している。図示されるように、設定情報格納部３１には、例えば、設定情報ＩＤと、セキュリティ設定情報とが格納される。【００３８】
「設定情報ＩＤ」とは、各セキュリティ単位情報に対応して付与され、セキュリティ単位情報を識別するために一意に決められる識別符号である。「設定情報ＩＤ」には、セキュリティ単位情報の他、設定情報ファイル名と対象アプリケーションとが対応付けされている。【００３９】
「対象アプリケーション」とは、セキュリティ検証の対象となるアプリケーションプログラムを意味する。具体的には、例えば、ＯＳ、ウェブサーバ、ウェブクライアントのうち、対応するセキュリティ単位情報が示すセキュリティ設定がなされているアプリケーションが、「対象アプリケーション」に該当する。【００４０】
「セキュリティ単位情報」とは、アーク（ａｒｃ）やノード（ｎｏｄｅ）を生成する原因となるセキュリティ設定情報の最小単位を示す情報である。具体的には、設定情報格納部３１に格納されるセキュリティ単位情報には、例えば、対象アプリケーションに設定されている設定情報ファイルの内容、対象アプリケーションのユーザ管理ファイルの内容、ファイルやディレクトリに対するアクセス権などが該当する。【００４１】
「設定情報ファイル名」とは、各セキュリティ単位情報の名称を示すものであって、具体的には、セキュリティ単位情報を含むファイルの名前、もしくは、セキュリティ単位情報のコンピュータシステム内における格納場所を示す情報である。【００４２】
セキュリティ設定情報には、例えば、セキュリティ設定検証の対象となるアプリケーションプログラムの名称、ファイル名などの設定情報の格納場所の名称、ファイルまたはディレクトリの構造を示すファイル情報、対象アプリケーションによって管理されるユーザの情報を表わすユーザ情報、ユーザとファイルまたはディレクトリとの間のアクセス権を表わすアクセス権情報、プログラムの種別、バージョン情報、ネットワーク構成情報、ネットワークへのアクセス権の設定情報、脆弱点修正プログラム適用情報、ネットワークフィルタリングの設定情報、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、ホスト名などの情報のうちの少なくとも１つが含まれる。【００４３】
プログラム動作情報格納部３０は、セキュリティ設定収集部７０が収集したセキュリティ設定情報から、検証対象システム１１１で用いられるプログラムの動作仕様を記述したプログラム動作情報を記憶保持する。「プログラム動作情報」は、ノードまたはアークを生成するために必要な情報であって、セキュリティ設定情報と、モデル上に作成するノードまたはアークの種類とを含む情報である。プログラム動作情報格納部３０には、検証対象システム１１１で用いられるプログラムの種別やバージョンごとに、プログラム動作情報が格納される。ここで、「モデル上に作成するノードまたはアークの種類」は、プログラムの種類、バージョン情報、及び、そのバージョン情報に基づいてモデル上に作成されるノードまたはアークの種類を意味する。【００４４】
なお、「プログラム動作情報」には、脆弱点情報が含まれていてもよい。脆弱点情報をプログラム動作情報に含まれることにより、プログラムの不備などといった脆弱点も、プログラム動作情報としてモデルに反映させることができるようになる。【００４５】
図４は、プログラム動作情報格納部３０でのデータの格納態様を例示している。プログラム動作情報格納部３０には、図示されるように、セキュリティ設定情報とモデル上に作成するノードまたはアークの種類を示す情報とが対応付けされているプログラム動作情報が格納されている。【００４６】
プログラム動作情報に含まれるセキュリティ設定情報は、検査対象１１１を示す対象アプリケーションと、セキュリティ単位情報と、設定情報ファイル名とを含む。図４に示すように、「セキュリティ単位情報」には、ファイル情報、ユーザ情報、グループ情報などがある。「モデル上に作成するノードまたはアークの種類を示す情報」は、後述するホストレイヤ、ファイルノード、ユーザノード、グループノード、別名定義を表わすアークなど、モデル上に作成するホストレイヤ、ノード、あるいはアークを示す情報となっている。【００４７】
データ伝達経路生成部２１は、検証対象システム１１１のセキュリティ設定情報（図３参照）と、プログラム動作情報（図４参照）とに基づいて、データ伝達経路を生成する機能を有する。ここで説明している例では、検査対象システム１１１内でのデータが伝達する経路をモデル化したデータ伝達経路が生成される。【００４８】
「データ伝達経路」は、検査対象システム１１１のセキュリティ設定情報やプログラムの動作情報から決定される検査対象システム１１１内のデータの移動経路（伝達経路）をモデル化し、有向グラフで表現したものである。データ伝達経路の詳細については、図３３などを用いて後述するが、データ伝達経路は、１つのコンピュータを表わすホストレイヤと、１つのプログラムを表わすプログラムレイヤとによって表現される。【００４９】
データ伝達経路において、プログラムレイヤは、ホストレイヤ上に表現される。プログラムレイヤは、ホストレイヤ上に複数あってもよい。プログラムレイヤは、対象となるプログラムによって管理されるアーク及びノードで表現される。プログラムレイヤが複数あるときは、複数のプログラムによって管理されるアークを含むプログラム間レイヤがあってもよい。また、複数のホストレイヤがあるときは、複数のホストレイヤによって管理されるアークを含むホスト間レイヤがあってもよい。なお、すべてのノードが一意に表現される場合には、レイヤ構造を持たなくともよい。【００５０】
ホストレイヤは、コンピュータやルータなどのネットワーク機器ごとに作られ、それらの機器に含まれるプログラムを表わすプログラムレイヤや、プログラム間レイヤを含む。【００５１】
プログラムレイヤは、コンピュータやルータなどのネットワーク機器に含まれるプログラムごとに作られる。プログラムレイヤには、それぞれのプログラムで管理されるノードや、ノードの関係を表わすアークが含まれる。【００５２】
結局、「データ伝達経路」は、ノードと、ノードの関係を表わすアークと、それらの構造を表わすレイヤとで表現される。ノードの関係を表わすアークすなわち有向グラフのアークには、データの移動を表わすデータ移動関係と、ユーザ、グループ間の所属を表わす所属関係と、ファイルまたはディレクトリやユーザまたはグループの別名定義を表わす別名定義関係と、他のユーザに権限を譲渡する権限委譲関係とのうちの少なくとも１つが含まれる。データの移動としては、データの書き込みや読み込みなどが例示される。【００５３】
「データ移動関係」は、ユーザまたはグループがファイルまたはディレクトリに対するアクセス権があることと、ユーザまたはグループがネットワークストリームに対してデータを送受信可能なことを表わす。具体的には、例えば、ユーザノードまたはグループノードから、ファイルノードに向かうデータ移動関係のアークは、ユーザまたはグループがデータをそのファイルまたはディレクトリに対して書き込むことが可能なことを表わす。ファイルノードまたはグループノードからユーザノードに向かうデータ移動関係のアークは、ファイルまたはディレクトリのデータを、そのユーザまたはグループが読み込み可能なことを表わす。ユーザノードまたはグループノードからネットワークノードに向かうデータ移動関係のアークは、そのユーザまたはグループがネットワークストリームに対してデータを送信できることを表わす。また、ネットワークノードからユーザノードまたはグループノードに向かうデータ移動関係のアークは、そのユーザまたはグループがネットワークストリームからデータを受信可能なことを表わす。そして、ネットワークノード間のデータ移動関係のアークは、ネットワークストリームの間でデータを送受信可能であることを表わす。【００５４】
「所属関係」は、ユーザがグループに所属していることを表わす。具体的には、例えば、ユーザノードからグループノードに向かう所属関係のアークは、ユーザがアークでつながれたグループに所属していることを表わす。【００５５】
「別名定義関係」は、複数のファイルが同一のファイルであることを表わす。具体的には、例えば、ファイルノードからファイルノードへ向かう別名定義関係のアークは、両端のノードを管理するプログラムやファイルの名前は異なるが、実体は同一のものであることを表わす。【００５６】
「権限委譲関係」は、複数のユーザまたはグループが、同一のユーザまたはグループであることを表わす。また「権限委譲関係」は、あるユーザまたはグループが行う操作が、他のユーザまたはグループの権限によって行われることを表わす。具体的には、例えば、第１のユーザまたはグループから、第２のユーザまたはグループに対する権限委譲関係のアークは、第１のユーザまたはグループが、第２のユーザまたはグループと同一であること、または、第１のユーザまたはグループが、第２のユーザまたはグループの権限で操作を行うことを表わしている。【００５７】
グラフのノードには、データを表わすファイルノード、ネットワークサービスが利用するネットワークストリームを表わすネットワークノード、ユーザアカウントを表わすユーザノード、ユーザアカウントのグループを表わすグループノードのうちの少なくとも１つが含まれる。【００５８】
図２に示したセキュリティ検証システム１００において、データ伝達経路生成部２１は、設定情報収集部７０が収集したセキュリティ設定情報にしたがって、検査対象システム１１１で用いられるプログラムの動作仕様をプログラム動作情報格納部３０に問い合わせ、検査対象システム１１１で実行され得る動作を示すプログラム動作情報と、セキュリティ設定情報とに基づいて、プログラム内でのデータ伝達経路を生成する。【００５９】
データ伝達経路情報格納部３２は、例えばデータベース装置によって構成され、データ伝達経路生成部２１が生成したデータ伝達経路と、そのデータ伝達経路に含まれるアーク及びノードを作成する原因となったセキュリティ設定情報もしくはそのセキュリティ設定情報の保存場所を示す情報（設定情報ＩＤ）とを含むデータ伝達経路情報を格納する。ここで格納されるデータ伝達経路情報は、ノードとアークの接続関係が分かり、モデル化されたデータ伝達経路が生成できる情報とされる。なお、データ伝達経路情報格納部３２に保存するデータ伝達経路情報は、アクセス権統合部４０によってアクセス権が統合されたあとのデータ伝達経路情報であってもよい。【００６０】
図５は、データ伝達経路情報格納部３２でのデータの格納態様の一例を示している。データ伝達経路情報格納部３２には、データ伝達経路をモデル化して表現するためのプログラムが格納される。【００６１】
データ伝達経路情報格納部３２に格納されるプログラムのデータ構造は、図５に示すように、１つのコンピュータに関する情報を格納する領域（図５での領域「Ｉ」）と、プログラムに関する情報を格納する領域（図５での領域「Ｇ」）と、複数のプログラムに関わる情報を格納する領域（図５での領域「Ｈ」）と、アークに関する情報を格納する領域（図５での領域「Ｆ」）と、ノードに関する情報を格納する領域（図５における領域「Ｃ」）と、ノードまたはアークを生成する原因となったセキュリティ設定情報の識別符号（設定情報ＩＤ）を格納する領域（図５での領域「Ｂ」，「Ｅ」）と、ノードまたはアークに接続するアークまたはノードの識別符号を格納する領域（図５での領域「Ａ」，「Ｄ」）とを含む。これらの領域のそれぞれは、複数あってもよく、コンピュータに関する情報を格納する領域が複数ある場合には、複数のコンピュータが関係する情報を格納する領域（図５での領域「Ｊ」）があってもよい。【００６２】
また、図５に示した各領域において、ｎａｍｅ属性には名前が、ＩＤ属性に識別符号が、ｔｙｐｅ属性にアークまたはノードの種類が格納される。具体的には、ｔｙｐｅ属性は、例えば、データ移動関係の場合には“ｔｒａｎｓｆｅｒ”、権限委譲関係の場合には“ｃｏｍｍｉｓｓｉｏｎ”、別名定義関係の場合には“ａｌｉａｓ”、所属関係の場合には“ａｔｔａｃｈ”、ユーザノードの場合には“ｕｓｅｒ”、グループノードの場合には“ｇｒｏｕｐ”、ファイルノードの場合には“ｆｉｌｅ”、ネットワークノードの場合には“ｎｅｔｗｏｒｋ”となる。【００６３】
アクセス権統合部４０は、複数のプログラムの動作をプログラム動作情報格納部３０に問い合わせ、プログラム動作情報に基づいて、複数のプログラムのアクセス権のうち、統合可能な複数のアクセス権を１つのアクセス権に統合する処理を実行する機能を有する。具体的には、アクセス権統合部４０は、ノードの関係を表わす最大で４種類（データ移動関係、所属関係、別名定義関係、権限委譲関係）となるアークを、２種類（データ移動関係、所属関係）のアークに統合する処理を行う。なお、アクセス権統合部４０は、アクセス権を統合することで、データ伝達経路情報を、セキュリティ検証用ポリシーと容易に比較できるデータに変換する。【００６４】
ポリシー入力部１０は、ポリシー格納部３３に格納されているセキュリティ検証用ポリシーを読み出して、検証部５０に入力する機能を有する。【００６５】
「ポリシー」は、アクセスをデータの移動経路で表わしたものであり、データの移動経路の少なくとも始点と、終点とを指定する。ポリシーのうち、セキュリティ検証のために、不適切なアクセスをデータの移動経路で表わしたポリシーを、図４１を用いて後述するように、特に「セキュリティ検証用ポリシー」と呼ぶ。すなわち、「セキュリティ検証用ポリシー」とは、検査対象システム１１１上の不適切なデータ伝達経路が指定されたポリシーを意味する。不適切なデータ伝達経路には、例えば、あってはならないデータ伝達経路や、不正なデータ伝達経路が含まれる。「セキュリティ検証用ポリシー」は、例えばシステム管理者などによって、あらかじめ設定されてポリシー格納部３３に格納されている。あるいは、「セキュリティ検証用ポリシー」は、後述するように、本発明に基づくセキュリティ検証用データ生成システムによって作成され、ポリシー格納部３３に格納されていてもよい。【００６６】
「ポリシー」は、データの始点、終点だけでなく、途中経路を指定するようにしてもよい。途中経路を指定するようにすれば、情報漏洩などのリスクを考慮し、特定の経路を経由するデータ伝達経路を指定することができる。【００６７】
ポリシーにおいて、始点、終点、途中経路には、コンピュータシステムを構成するノードを指定する。ノードには、ファイルノード、ネットワークノード、ユーザノード、グループノードの少なくとも１つが含まれる。【００６８】
検証部５０は、アクセス権統合部４０によってアクセス権が統合されたデータ伝達経路から、セキュリティ検証用ポリシーに記述された経路を探索する処理を実行する機能を有する。検証部５０は、データ伝達経路変換部５１と、パターンマッチング部５２とを含む。【００６９】
データ伝達経路変換部５１は、アクセス権統合部４０によって複数のアクセス権が統合されたデータ伝達経路を、ポリシー入力部１０によって入力されたセキュリティ検証用ポリシーとの比較ができるようなデータに変換する機能を有する。すなわち、データ伝達経路変換部５１は、データ伝達経路生成部２１によって生成されたデータ伝達経路の表現形式を変換する。複数のアクセス権が統合されたデータ伝達経路については、図３７を用いて後述し、セキュリティ検証用ポリシーとの比較ができるようなデータについては、図３９を用いて後述する。【００７０】
パターンマッチング部５２は、データ伝達経路変換部５１によって変換されたデータ伝達経路から、ポリシー入力部１０によって入力されたセキュリティ検証用ポリシーに一致するデータ伝達経路を探索する機能を有する。セキュリティ検証用ポリシーに一致するデータ伝達経路のことを不適経路と呼ぶ。【００７１】
設定情報検索部８０は、パターンマッチング部５２によって探索されて出力された不適経路を示す情報と、データ伝達経路情報格納部３２に格納されたデータ伝達経路情報とを用いて、不適経路が生成される原因となったセキュリティ設定情報（すなわち不適設定情報）を、設定情報格納部３１に格納されたセキュリティ設定情報から検索する機能を有する。【００７２】
なお、ここで示すセキュリティ検証システムでは、設定情報検索部８０が、設定情報格納部３１に格納されたセキュリティ設定情報から不適設定情報を検索する構成とされているが、データ伝達経路情報（図５参照）に、設定情報ＩＤの代わりにセキュリティ設定情報が格納されている場合には、設定情報格納部３１を検索することなく、不適設定情報を検索することができる。その場合、設定情報検索部８０は、パターンマッチング部５２によって探索されて出力された不適経路情報と、データ伝達経路情報格納部３２に格納されたデータ伝達経路情報とを用いて、不適経路を生成する原因となったすべてのノードとアークを検索し（後述のステップＳ２９１〜ステップＳ２９４を参照）、上記のデータ伝達経路情報を用いて検索したノード及びアークとともに格納されているセキュリティ設定情報を検索することで、不適設定情報を検索する機能を有する。【００７３】
検証結果表示部６０は、例えば液晶表示装置などの表示装置によって構成され、設定情報検索部８０によって検索された不適設定情報が示す不適設定を画面表示する機能を有する。よって、このセキュリティ検証システム１００は、設定ミスを犯した場所、すなわちセキュリティ設定情報の設定場所を、検査対象システムの管理者に対して指摘することができる。なお、不適経路情報が示す不適経路も表示するようにしてもよい。【００７４】
次に、第１の構成例のセキュリティ検証システム１００の動作について、詳細に説明する。図６は、図２に示したセキュリティ検証システム１００が実行するセキュリティ検証処理を示すフローチャートである。【００７５】
セキュリティ検証処理では、まず、ステップＳ２０１において、設定情報収集部７０は、検証対象１１１のセキュリティ設定情報を収集し、収集したセキュリティ設定情報を設定情報格納部３１に格納する。ステップＳ２０２において、データ伝達経路生成部２１は、設定情報収集部７０によって収集されて設定情報格納部３１に格納されたセキュリティ設定情報を参照し、プログラム動作情報格納部３０に対して検証対象１１１に関わるプログラム動作情報の問い合わせを行う。すなわち、データ伝達経路生成部２１は、設定情報収集部７０が収集した、対象アプリケーションのプログラム名、設定情報ファイル名、その設定情報ファイル名が示す設定ファイルに対応付けされているセキュリティ単位情報に基づいて、プログラム動作情報格納部３０に対して、モデル上に生成するノードまたはアークの種類を問い合わせる。【００７６】
その後、データ伝達経路生成部２１は、設定情報収集部７０によって収集されて設定情報格納部３１に格納されたセキュリティ設定情報と、ステップＳ２０２の問い合わせによって読み出したプログラム動作情報とを用いて、ステップＳ２０３において、データ伝達経路情報を生成する。データ伝達経路生成部２１は、データ伝達経路情報を生成したあと、生成したデータ伝達経路情報をデータ伝達経路情報格納部３２に格納する。【００７７】
データ伝達経路生成部２１は、ステップＳ２０３において、データ伝達経路情報の作成に際し、各種のノードやアークを作成するので、以下、これらのノードやアークの作成について説明する。【００７８】
データ伝達経路生成部２１は、セキュリティ設定情報に含まれるユーザを表わす情報を用いて、作成するノードをプログラム動作情報格納部３０に問い合わせ、ユーザ情報に含まれるユーザを表わすユーザノードを作成する。例えば、あるプログラムが管理するユーザＩＤが含まれていた場合には、ユーザノードを作成する。【００７９】
データ伝達経路生成部２１は、セキュリティ設定情報に含まれるグループを表わす情報を用いて、作成するノードをプログラム動作情報格納部３０に問い合わせ、グループ情報に含まれるグループを表わすグループノードを作成する。例えば、あるプログラムが管理するグループＩＤが含まれていた場合には、グループノードを作成する。【００８０】
データ伝達経路生成部２１は、セキュリティ設定情報に含まれるサーバが利用するネットワークストリームの情報を用いて、作成するノードをプログラム動作情報格納部３０に問い合わせ、ネットワークストリームを表わすネットワークノードを作成する。例えば、あるプログラムが利用するネットワークストリームが書かれていた場合には、ネットワークノードを作成する。【００８１】
データ伝達経路生成部２１は、セキュリティ設定情報に含まれるファイル構造を表わす情報を用いて、作成するノードをプログラム動作情報格納部３０に問い合わせ、ファイルやディレクトリを表わすファイルノードを作成する。例えば、あるプログラムが管理するファイルやディレクト構造が含まれていた場合には、それぞれのファイルやディレクトリに当たるファイルノードを作成する。【００８２】
さらにデータ伝達経路生成部２１は、セキュリティ設定情報に含まれるファイル構造や、アクセス権を表わす情報や、プログラムがインストールされているという情報を用いて、作成するアークをプログラム動作情報格納部３０に問い合わせ、データ移動関係を表わすアークを作成する。例えば、ユーザがファイルを読み込み可能である場合には、ファイルノードからユーザノードに向かうデータ移動関係を表わすアークを作成する。【００８３】
同様に、データ伝達経路生成部２１は、ファイルにユーザが書き込み可能な場合には、ユーザノードからファイルノードに向かうデータ移動関係を表わすアークを作成する。ユーザがネットワークストリームにデータを送出可能である場合には、データ伝達経路生成部２１は、ユーザノードからネットワークノードに向かうデータ移動関係を表わすアークを作成する。ユーザがネットワークストリームからデータを受信可能な場合には、データ伝達経路生成部２１は、ネットワークノードからユーザノードに向かうデータ移動関係を作成する。グループがファイルを読み込み可能である場合には、データ伝達経路生成部２１は、ファイルノードからグループノードに向かうデータ移動関係を表わすアークを作成する。【００８４】
また同様に、ファイルにグループが書き込み可能な場合には、データ伝達経路生成部２１は、グループノードからファイルノードに向かうデータ移動関係を表わすアークを作成する。グループがネットワークストリームにデータを送出可能である場合には、データ伝達経路生成部２１は、グループノードからネットワークノードに向かうデータ移動関係を表わすアークを作成する。グループがネットワークストリームからデータを受信可能な場合には、データ伝達経路生成部２１は、ネットワークノードからグループノードに向かうデータ移動関係を作成する。ネットワークストリーム間でデータの送受信が可能な場合には、データ伝達経路生成部２１は、ネットワークストリーム間でデータの移動する方向にあわせてデータ移動関係のアークを作成する。【００８５】
データ伝達経路生成部２１は、セキュリティ設定情報に含まれるグループに所属するユーザを特定する情報を用いて、作成するアークをプログラム動作情報格納部３０に問い合わせ、所属関係を表わすアークを作成する。例えば、ユーザがグループに所属する場合、ユーザからグループに向かう所属関係のアークを作成する。【００８６】
データ伝達経路生成部２１は、セキュリティ設定情報に含まれるプログラムの実行ユーザを表わす情報を用いて、作成するアークをプログラム動作情報格納部３０に問い合わせ、権限委譲関係を表わすアークを作成する。例えば、あるプログラムで管理されているユーザが、プログラムの実行ユーザの設定により他のプログラムで管理されている他のユーザとして実行される場合には、あるユーザノードから、他のユーザノードに向かう権限委譲関係のアークを作成する。【００８７】
そして、データ伝達経路生成部２１は、セキュリティ設定情報に含まれるサーバのファイル情報やファイル構造情報を用いて、作成するアークをプログラム動作情報格納部３０に問い合わせ、権限委譲関係を表わすアークを作成する。例えば、あるプログラムで管理されているファイルが他のプログラムで別の名前で管理されている場合には、あるプログラムで管理されているファイルノードから他のプログラムで管理されているファイルノードに向かう別名定義関係のアークを作成する。【００８８】
アクセス権統合部４０は、ステップＳ２０４において、データ伝達経路情報格納部３２から、データ伝達経路生成部２１によって生成されたデータ伝達経路情報を読み出して、読み出したデータ伝達経路情報が示すデータ伝達経路に別名定義関係を示すアークと権限委譲関係を示すアークが含まれていれば、これらのアークの両端にある４つのノードについて同じレイヤに所属するノード間のアクセス権を、レイヤを超えたデータ移動関係に統合する処理を行う。つまり、別名定義関係を表わすアークの起点にあるノードと権限委譲関係を表わすアークの起点にあるノード間のデータの移動と、各々のアークの終点にあるノード間のデータの移動が同じ方向のときに、それらを統合したデータ移動関係のアークを新たに作成し、該当する別名定義関係と権限委譲関係のアークを削除する。ここでデータの移動の方向は、ユーザ（グループ）ノードからファイルノードへのデータの移動の方向、または、ファイルノードからユーザ（グループ）ノードへのデータ移動の方向である。【００８９】
データ伝達経路変換部５１は、ステップＳ２０５において、複数のプログラムにかかわるアクセス権が統合されたデータ伝達経路情報をアクセス権統合部４０から受け取り、受け取ったデータ伝達経路情報を、セキュリティ検証用ポリシーに一致するデータ伝達経路が探索できるようなデータ伝達経路を示すデータ伝達経路情報に変換する処理を行う。そのようなデータ伝達経路の例は、後述するように図３９に示されている。【００９０】
次にステップＳ２０６において、ポリシー入力部１０は、例えばオペレータからの指示に従い、望ましくないデータの移動経路を示すセキュリティ検証用ポリシーをポリシー格納部３３から読み出して、パターンマッチング部５２に入力する。【００９１】
パターンマッチング部５２は、ステップＳ２０７において、データ伝達経路変換部５１によって変換されたデータ伝達経路情報と、ポリシー入力部１０によって入力されたセキュリティ検証用ポリシーとを比較し、データ伝達経路情報が示すデータ伝達経路にセキュリティ検証用ポリシーに一致するデータ伝達経路があるか否かを探索する。【００９２】
ステップＳ２０７での探索処理は、ステップＳ２０８に示すように、ポリシー入力部１０によって入力されたセキュリティ検証用ポリシーそれぞれについて繰り返し実行され、ポリシー入力部１０によって入力された全てのセキュリティ検証用ポリシーについて実行される。ステップＳ２０８において、全てのセキュリティ検証用ポリシーについての探索処理を終えたと判断されると、パターンマッチング部５２は、探索処理の結果を設定情報検索部８０に出力する。【００９３】
探索処理の結果を受けると、設定情報検索部８０は、ステップＳ２０９において、不適経路が探索されているかを確認する。不適経路がなかった場合には、そのまま処理を終了してもよいし、不適設定が発見されなかったことを表示してから処理を終了してもよい。【００９４】
ステップＳ２０９において不適経路があった場合には、設定情報検索部８０は、ステップＳ２１０において、設定情報格納部３１に格納されているセキュリティ設定情報の中から、探索された不適経路を生成する原因となった不適設定を検索する処理を実行する。そして、検証結果表示部６０は、検索結果を受けると、ステップＳ２１１において、検索された不適設定を示す不適設定情報を表示する処理を行い、その後、一連の処理を終了させる。【００９５】
以上説明したように、図２に示したセキュリティ検証システムは、検査対象システム１１１で用いられているプログラムのセキュリティ設定情報に基づくデータ伝達経路と、望ましくないデータの移動経路を示すセキュリティ検証用ポリシーとを比較して、不適設定に基づく不適経路を含むデータ伝達経路を探索する構成としている。したがってこのセキュリティ検証システムを用いることにより、検証対象システムの個々の設定を検証しただけでは不適設定であるか否かを判定することができないような場合であっても、不適設定であることを特定し、管理者に対して指摘することができるようになる。言い換えれば、このセキュリティ検証システムによれば、それぞれの設定ミス単独では障害は生じないが、それらの設定ミスが複数あることによって支障が出る可能性のある複合的な設定ミスを探索することができるようになり、複合的な設定ミスの有無を検証することができ、セキュリティ設定の検証を厳格に行うことができるようになる。【００９６】
図２に示したセキュリティ検証システムは、検査対象システム１１１からセキュリティ設定情報を収集し、データ伝達経路をモデル化し、セキュリティ検証用ポリシーを指定することで不適設定の有無を検証する構成としたので、検査対象システム１１１の実際の稼働状況にあわせて不適設定を特定することができる。したがって、セキュリティ検証システム１００を用いることにより、実際に検査対象システム１１１を安全に運用することができるようになる。すなわち、検証対象システム１１１の運用前に検証することで、その検証結果を、セキュリティ設定を施す指針とすることができる。また、このセキュリティ検証システム１００は、擬似攻撃のような検査対象システム１１１の負荷が大きくなってしまうような方式を採用することなく、複合的な設定ミスの有無を検証するようにしているので、検証時における検査対象システム１１１の負荷を軽減させることができる。【００９７】
第２のセキュリティ検証システム：
図７は、第２のセキュリティ検証システム１００ａの構成の一例を示している。以下の説明において、上述の図２に示したセキュリティ検証システム１００と同一の構成及び処理を行う部分については、同一の符号を付与してその詳細な説明を省略する。【００９８】
図７に示すように、セキュリティ検証システム１００ａは、検査対象１１１のセキュリティ設定を検証するものであって、設定情報収集部７０と、設定情報格納部３１と、プログラム動作情報格納部３０と、データ伝達経路生成部２１と、データ伝達経路情報格納部３２と、アクセス権統合部４０と、データ伝達経路表示部９０とを含む。【００９９】
データ伝達経路表示部９０は、例えば液晶表示装置などの表示装置によって構成され、データ伝達経路情報格納部３２に格納されているデータ伝達経路情報が示すデータ伝達経路と、設定情報格納部３１に格納されているセキュリティ設定情報とを関連付けて画面表示する機能を有する。具体的には、データ伝達経路生成部２１によって生成されたデータ伝達経路や、アクセス権統合部４０によって生成されたデータ伝達経路を画面表示する。【０１００】
次に、このセキュリティ検証システム１００ａの動作について説明する。図８は、セキュリティ検証システム１００ａが実行するセキュリティ検証処理の一例を示している。【０１０１】
セキュリティ検証処理においては、まず、上述したステップＳ２０１〜ステップＳ２０４の処理を実行する。その後、データ伝達経路表示部９０は、ステップＳ４０１において、データ伝達経路情報格納部３２に格納されているアクセス権統合部４０が生成したデータ伝達経路情報が示すデータ伝達経路を、設定情報格納部３１に格納されているセキュリティ設定情報に関連付けて画面表示する。すなわち、アクセス権統合部４０が生成したデータ伝達経路情報が示すデータ伝達経路情報と、そのデータ伝達経路情報に含まれている設定情報ＩＤに対応するセキュリティ単位情報を含むセキュリティ設定情報とを関連付けて表示する。【０１０２】
ここで述べた例では、データ伝達経路表示部９０が、アクセス権統合部４０が生成したデータ伝達経路情報に含まれている設定情報ＩＤに対応するセキュリティ設定情報を、設定情報格納部３１を検索して読み出す構成とされている。しかしながら、アクセス権統合部４０によって生成されたデータ伝達経路情報に、設定情報ＩＤの代わりにセキュリティ設定情報が格納されている場合には、設定情報格納部３１を検索することなくセキュリティ設定情報を特定することができる。この場合、データ伝達経路表示部９０は、アクセス権統合部４０が生成したデータ伝達経路情報が示すデータ伝達経路を、そのデータ伝達経路情報に含まれているセキュリティ設定情報を認識可能な表示態様、例えば強調表示で表示するようにすればよい。【０１０３】
以上説明したように、セキュリティ検証システム１００ａによれば、検証対象システム１１１からセキュリティ設定情報を収集し、データ伝達経路をモデル化し、データの伝達経路を画面表示する構成としたので、個々の設定だけでは分からない、複数のプログラムがかかわるデータの流れを確認することができる。そのため、システムの検証者は、実際の設定を施した後、データの流れを確認することで、その設定の正しさを検証することができる。また、このセキュリティ検証システム１００ａでは、データの流れとその流れのつくる原因となっているセキュリティ設定が関連付けて表示されるため、検証者にとっては、複合的な設定ミスの発見が容易となる。【０１０４】
第３のセキュリティ検証システム：
図９は、第３のセキュリティ検証システム１００ｂの構成の一例を示している。以下の説明において、上述の図７に示したセキュリティ検証システム１００ａと同一の構成及び処理を行う部分については、同一の符号を付与してその詳細な説明を省略する。【０１０５】
図９に示したセキュリティ検証システム１００ｂは、図７に示したセキュリティ検証システム１００ａと同様のものであるが、アクセス権統合部４０が備えられていない点で相違する。【０１０６】
ここでは、データ伝達経路表示部９０は、データ伝達経路生成部２１によって生成されたデータ伝達経路情報が示すデータ伝達経路をそのまま画面表示する。【０１０７】
このように、セキュリティ検証システム１００ｂでは、検査対象１１１のコンピュータシステムのセキュリティ設定情報を収集し、プログラム動作情報にしたがってデータ伝達経路を生成し、生成したデータ伝達経路を表示する構成としている。したがってこのセキュリティ検証システム１００ｂを用いることにより、表示されたデータ伝送経路を確認することによって、個々のセキュリティ設定情報を確認することができ、システム検証者などの者は、特定のプログラムの複合的な設定が間違っているということを、容易に認識することができる。【０１０８】
第４のセキュリティ検証システム：
図１０は、第４のセキュリティ検証システム１００ｃの構成の一例を示している。以下の説明において、上述の図２に示したセキュリティ検証システム１００と同一の構成及び処理を行う部分については、同一の符号を付与してその詳細な説明を省略する。【０１０９】
図１０に示したセキュリティ検証システム１００ｃは、上述した図２に示したセキュリティ検証システム１００と同様のものであるが、データ伝達経路生成部２１に代えてデータ伝達経路入力部２０が設けられ、設定情報収集部７０に代えて設定情報入力部７１が設けられている点で相違する。すなわち、このセキュリティ検証システム１００ｃは、データ伝達経路入力部２０により、検証者などによって指定されたデータ伝達経路が入力され、設定情報入力部７１により、検証者などによって指定されたセキュリティ設定情報が入力される構成とされている。【０１１０】
データ伝達経路入力部２０は、例えばシステム検証者などのユーザの操作によって指定（選択、入力）されたデータ伝達経路情報を、データ伝達経路情報格納部３２に向けて出力し、データ伝達経路情報格納部３２に格納させる機能を有する。【０１１１】
設定情報入力部７１は、例えばシステム検証者などのユーザの操作によって指定（選択、入力）されたセキュリティ設定情報（図３参照）を、設定情報格納部３１に向けて出力し、設定情報格納部３１に格納させる機能を有する。また、設定情報入力部７１は、検証者などの操作にしたがって、データ伝達経路入力部２０によって入力されたデータ伝達経路の各アーク及びノードについて、それらが入力される原因となるセキュリティ設定を示すセキュリティ設定情報をアークやノードに関連付けて入力する機能も有する。検証者などがノードまたはアークを指定するとともに、そのノードまたはアークを作成する原因となるセキュリティ設定情報をあわせて指定したことに応じて、設定情報入力部７１は、アークやノードに関連付けされたセキュリティ設定情報を設定情報格納部３１に格納する。【０１１２】
上述の機能に加え設定情報入力部７１は、例えばシステム検証者などのユーザの操作によって指定されたセキュリティ設定情報を、設定情報格納部３１に向けて出力し、設定情報格納部３１に格納させる機能と、検証者などの操作にしたがって、データ伝達経路入力部２０によって入力されたデータ伝達経路の各アーク及びノードについて、それらが入力される原因となるセキュリティ設定を示すセキュリティ設定情報をアークやノードに関連付けて入力する機能とを有する。【０１１３】
このセキュリティ検証システム１００ｃは、システム検証者やシステム管理者などのユーザが、検査対象１１１におけるプログラムのセキュリティ設定情報や動作情報を確認し、検証対象システム１１１内のデータの移動経路を示すデータ伝達経路情報を生成する技能を有している場合に有効である。すなわち、セキュリティ検証システム１００ｃは、検証者あるいは管理者などによって生成されたデータ伝達経路情報に、不適設定に基づく不適経路が含まれているか否かを検証することができる。【０１１４】
ここで示す例では、セキュリティ検証処理において、設定情報入力部７１が、検証者などの操作に応じて、検証者などによって設定されたセキュリティ設定情報を設定情報格納部３１に入力する。次いで、データ伝達経路入力部２０が、検証者などの操作に応じて、検証者などによって設定されたデータ伝達経路情報をデータ伝達経路情報格納部３２に入力する。その後、上述したステップＳ２０４〜ステップＳ２１１の処理が実行される。【０１１５】
このように、セキュリティ検証システム１００ｃは、システム検証者などのユーザが指定したセキュリティ設定情報及びデータ伝達経路情報を用いてセキュリティ検証処理を実行する構成としたので、システム検証者やシステム管理者によって生成されたデータ伝達経路情報に不適設定に基づく不適経路が含まれているか否かを検証することができる。なお、セキュリティ設定情報またはデータ伝達経路情報のいずれか一方を検証者などが指定するようにしてもよい。【０１１６】
なお上述の説明において、セキュリティ検証システム１００ｃは、システム検証者などのユーザが指定したセキュリティ設定情報及びデータ伝達経路情報を用いるものとした。しかしながら、セキュリティ検証システム１００ｃ以外の他のシステムによって生成されたデータ伝達経路情報や、他のシステムによって収集されたセキュリティ設定情報を用いる構成としてもよい。このように構成すれば、他のシステムによって生成されたデータ伝達経路情報に不適設定に基づく不適経路が含まれているか否かを検証することができる。具体的には、例えばセキュリティ設定や機器の設定を行うシステム、すなわちネットワークやその機器を設定するシステムについて、そのシステムの出力をセキュリティ検証システム１００ｃへの入力とすることで、これから施そうとする設定がセキュリティ検証用ポリシーと一致しているか否かを検証することができ、不適設定の指摘などを行うことができるようになる。それにより、より安全なセキュリティ設定やシステム設計を行うための対応を容易にとることができるようになる。また、例えばソフトウェア及びハードウェアなどの資産管理ソフトウェアや、ソフトウェアのバージョンを管理するバージョン管理ソフトウェアと連携し、そのソフトウェアに基づく出力をセキュリティ検証システム１００ｃへの入力とすることで、現在運用中のシステムの設定の不備を指摘することができる。【０１１７】
第５のセキュリティ検証システム：
図１１は、第５のセキュリティ検証システム１００ｄの構成の一例を示している。以下の説明において、上述の図２に示したセキュリティ検証システム１００と同一の構成及び処理を行う部分については、同一の符号を付与してその詳細な説明を省略する。【０１１８】
図１１に示すように、セキュリティ検証システム１００ｄは、設定モデル入力部１１と、設定モデル格納部３４と、ポリシー入力部１０と、ポリシー格納部３３と、検証部５０ａと、検証結果格納部３５と、検証結果表示部６０とを含む。【０１１９】
ポリシー入力部１０は、例えばシステム検証者などのユーザによって操作され、セキュリティ検証用ポリシーを記述してポリシー格納部３３に格納する機能を有する。【０１２０】
設定モデル入力部１１は、例えばシステム検証者などのユーザによって操作され、システム構成にしたがった設定モデルが入力される。なお、「設定モデル」については、後で詳しく説明する。ここでは、設定モデル入力部１１には、検査対象システムを構成する機器のセキュリティに関連する設定情報であるセキュリティ設定情報を反映した設定モデルが入力される。【０１２１】
設定モデル格納部３４は、例えばデータベース装置によって構成され、設定モデル入力部１１に入力された設定モデルを格納する。【０１２２】
検証部５０ａは、ポリシー格納部３３に格納されたポリシーを取り出し、設定モデル格納部３４に格納された設定モデルと比較し、セキュリティ検証用ポリシーにマッチする設定モデルが存在するか否かや、セキュリティ検証用ポリシーにマッチしない設定モデルが存在するか否かを検証する。【０１２３】
このセキュリティ検証システム１００ｄを用いる例においては、検査対象システムで満たされるべきでない条件を記述したポリシーだけでなく、検査対象システムで満たされるべき条件が記述されたポリシーについても「セキュリティ検証用ポリシー」と呼ぶことにする。また、両者を区別するため、前者を「禁止ポリシー」と呼び、後者を「許可ポリシー」と呼ぶことにする。「セキュリティ検証用ポリシー」は、例えば、詳細は後述するが、ｂ（）、ａｃｃ（）、ｃａｓ（）、ａｕｔｈ（）、ｆｌｏｗ（）などの記号を用いて記述される。【０１２４】
検証結果格納部３５は、例えばデータベース装置によって構成され、検証部５０ａによる検証結果を格納する。具体的には、検証結果格納部３５は、検証結果として、セキュリティ検証用ポリシーにマッチする結果が出た場合には、該当するセキュリティ検証用ポリシーと、マッチした設定モデルを格納する。また、セキュリティ検証用ポリシーにマッチしない結果が出た場合には、該当するセキュリティ検証用ポリシーを格納する。このとき、マッチしなかったことを示す記号をあわせて格納してもよい。【０１２５】
検証結果表示部６０は、検証結果格納部３５に格納されている検証部５０ａによる検証結果を検証者などに提示するために、セキュリティ検証用ポリシーと、そのセキュリティ検証用ポリシーにマッチした設定モデルまたはマッチしなかったことを示す記号とをあわせて表示する処理を実行する機能を有する。【０１２６】
ここで、「設定モデル」について説明する。【０１２７】
「設定モデル」とは、検査対象システムのセキュリティ設定情報と、プログラム動作情報とに基づいて、検査対象システムの構成をモデル化したものである。設定モデルは、例えば、検証者や設計者により、検査対象システムの全体の構成と動作とが、モデル記述言語によって記述されたものである。「モデル記述言語」とは、例えばシステム構成やセキュリティ設定を表現することができる記述言語である。【０１２８】
このような「設定モデル」は、プログラム動作情報（例えば図４参照）によって特定される複数の要素によって構成される。具体的には、設定モデルを構成する要素として、例えば、検査対象システムを構成するホストを表わすホストの集合、検査対象システムのネットワーク構成を表わすネットワーク接続表現、ユーザやグループを表わすユーザの集合、データの格納場所を表わすファイルの集合、ユーザからファイルに対する操作やネットワークサービスを表わすサービス名の集合、ファイルに対するユーザの権限を表わすアクセス制御行列表現、ネットワークのフィルタリングを現すネットワークアクセス表現、ネットワークを利用したユーザ間の権限獲得関係を表わしたネットワークサービスの権限獲得関係、ユーザがネットワークサービスや、ユーザとグループの所属関係を利用して他のユーザの権限を獲得したときに、権限を獲得したユーザの権限で利用できるサービスを表わしたカスケード関係などが該当する。【０１２９】
以下、設定モデルを構成する要素について詳しく詳説する。【０１３０】
「ホスト」は、コンピュータやルータなどのネットワーク機器を表わし、１つまたは複数のＩＰアドレスを有する。【０１３１】
「ネットワーク接続表現」とは、検証対象システムのインターネット層レベルでのネットワーク構成を表わし、ＩＰアドレスをノードとする無向グラフとして表わされる。具体的には、例えば、「１９２．１６８．１．１」、「１９２．１６８．１．２」、「１９２．１６８．２．３」、「１９２．１６８．２．４」及び「１９２．１６８．２．５」の５つのＩＰアドレスをノードとし、向きを持たない接続関係が示されたグラフによって各ノードの接続構成が表現されたものが、その５つのＩＰアドレスからなるネットワーク接続表現である。そのようなネットワーク接続表現は、後述する図６８に例示されている。【０１３２】
「ネットワークアクセス表現」とは、ネットワーク上をパケットが通るときに、そのパケットのＩＰアドレスまたはポート番号によってパケットの通過を拒否したり、許可したりするネットワークフィルタリング装置の動作をモデルで表現したものである。このような「ネットワークアクセス表現」は、ネットワークフィルタリングが行われているホストのＩＰアドレスと、制御対象のパケットの送信元ＩＰアドレスと、送信先ＩＰアドレスと、送信先ポート番号との４つの組の集合で表わされる。具体的には、ネットワークアクセス表現は、例えば「ｎ（ｉｐ１，  ｓ−ｉｐ，  ｄ−ｉｐ，  ｄ−ｐｏｒｔ）」のような、上記の４つの組の内容を意味する記号によって表わされる。なお、この「ｎ（ｉｐ１，  ｓ−ｉｐ，  ｄ−ｉｐ，  ｄ−ｐｏｒｔ）」は、ＩＰアドレス「ｉｐ１」を有するホストで、送信元ＩＰアドレスが「ｓ−ｉｐ」、送信先ＩＰアドレスが「ｄ−ｉｐ」、送信先ポート番号が「ｄ−ｐｏｒｔ」であるＴＣＰ  （Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）コネクションを許可していることを意味する。【０１３３】
なお、「ネットワークアクセス表現」には、送信元ポート番号を含めてもよい。このように構成すると、送信元ポート番号によるパケットフィルタリングも表現することができる。「ネットワークアクセス表現」にプロトコル種別を含めてもよい。このように構成すると、ＴＣＰパケットのフィルタリングだけでなく、ＵＤＰ  （Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）パケットのフィルタリングも表現することができる。【０１３４】
また、「ネットワークアクセス表現」は、許可されたものを表現せずに、禁止されているものをモデルとして表現してもよい。このように構成すると、原則許可と設定されたシステムにおいては、ネットワークアクセス表現を短く簡便に記述することができる。この場合には、後述するパケットの通過の可否の判断を反転する必要がある。具体的には、許可されたネットワークアクセス表現の場合には、設定モデルにネットワークアクセス表現が含まれていれば、通信が許可されていると判断でき、禁止されたネットワークアクセス表現の場合には、設定モデルにネットワークアクセス表現が含まれていなければ、通信が許可されていると判断できる。【０１３５】
「ユーザ」は、オペレーティングシステム（ＯＳ）や、アプリケーションソフトウェアの有するファイルアクセス制御機構におけるアクセス制御の主体を意味する。具体的には、Ｌｉｎｕｘ（リナックス）オペレーティングシステムでは、ファイル「／ｅｔｃ／ｐａｓｓｗｄ」によって「ユーザ」が定義され、ファイル「／ｅｔｃ／ｇｒｏｕｐ」によってグループが定義されるが、これらで定義されるユーザ及びグループが、設定モデルにおける「ユーザ」となる。また、Ａｐａｃｈｅ（アパッシュ）サーバでは、ファイル「ｈｔｐａｓｓｗｄ」によって、サーバの持つファイルアクセス制御機構の主体を定義することができるが、これらも「ユーザ」に対応する。【０１３６】
「ユーザ」は、いずれかのホストに所属している。このユーザの所属関係は、例えば、「ｂ（ｕ１）＝ｈ１」で表現される。「ｂ（ｕ１）＝ｈ１」は、ユーザ「ｕ１」が、ホスト「ｈ１」に所属することを意味する。【０１３７】
「ファイル」は、ＯＳやアプリケーションソフトウェアの持つファイルアクセス制御機構におけるアクセス制御の対象を意味する。「ファイル」は、データの中身そのものではなく、パス名などによって識別されるデータの置き場を表わす。「ファイル」は、いずれかのホストに所属している。このファイルの所属関係は、例えば、「ｂ（ｆ１）＝ｈ１」で表現される。「ｂ（ｆ１）＝ｈ１」は、ファイル「ｆ１」が、ホスト「ｈ１」に所属することを意味する。【０１３８】
「サービス名」は、ユーザがファイルに対して実行できる操作の名前や、ネットワークを経由してユーザが受けられるサービスの名前を意味する。ユーザがファイルに対して実行できる操作としては、例えば、読み込み「ｒｅａｄ」、書き込み「ｗｒｉｔｅ」があり、ネットワークを経由してユーザが受けられるサービスとしては、例えば、「ｈｔｔｐ」、「ｓｓｈ」がある。また、空のサービスを表わすサービス名「ｎｕｌｌ」も定義される。サービス「ｎｕｌｌ」によって、後述するとおり、一般のＯＳにおけるユーザとグループの関係を記述することができる。【０１３９】
「アクセス制御行列表現」は、ユーザが、ファイルに対して、読み込みまたは書き込みを許可されているか否かを表わし、ユーザ「ｕ」と、ファイル「ｆ」と、読み込み、書き込みを表わすサービス「ｓ」とで表現される。アクセス制御行列表現「ａｃｃ（ｕ，  ｓ，  ｆ）」は、ユーザ「ｕ」がファイル「ｆ」にサービス「ｓ」が可能であることを表わしている。具体的には、ユーザ「ｔｕｔｏｒ」がファイル「ａｎｓｗｅｒ．ｔｘｔ」を読み込み可能な場合には、アクセス制御行列表現は、ａｃｃ  （ｔｕｔｏｒ，  ｒｅａｄ，  ａｎｓｗｅｒ．ｔｘｔ）となる。【０１４０】
「権限獲得関係」とは、あるホストのユーザが、サービスを利用して、他のユーザの権限を獲得できることを表わしている。権限獲得関係「ａｕｔｈ（ｕ１，  ｓ，  ｕ２）」は、ユーザ「ｕ１」がサービス「ｓ」を利用してユーザ「ｕ２」の権限を獲得できることを表わしている。具体的には、ａｕｔｈ（ｓｔｕｄｅｎｔ，  ｔｅｌｎｅｔ，  ｇｕｅｓｔ）は、ユーザ「ｓｔｕｄｅｎｔ」がサービス「ｔｅｌｎｅｔ」を利用して、ユーザ「ｇｕｅｓｔ」としてログインすることができることを表わす。この場合、ユーザ「ｓｔｕｄｅｎｔ」はユーザ「ｇｕｅｓｔ」の権限で、ユーザ「ｇｕｅｓｔ」の属するホスト上のファイルにアクセスすることができる。また、ａｕｔｈ（ｔａｒｏ，  ｎｕｌｌ，  ｓｔｕｄｅｎｔ）は、ユーザ「ｔａｒｏ」とグループ「ｓｔｕｄｅｎｔ」が同一のホストに属する場合、ユーザ「ｔａｒｏ」がグループ「ｓｔｕｄｅｎｔ」に属することを表わす。この場合、ユーザ「ｔａｒｏ」が、無条件に、ユーザ「ｓｔｕｄｅｎｔ」の権限で、グループ「ｓｔｕｄｅｎｔ」の属するホスト上のファイルにアクセスすることができる。【０１４１】
「カスケード関係」とは、ユーザがサービスを利用して他のユーザの権限を獲得したときに、獲得したユーザの権限で利用できるサービスがある、という関係を意味する。この「カスケード関係」は、権限獲得後のユーザと、権限を獲得するために利用したサービスの種類とによって決まり、サービス「ｓ１」を利用して、ユーザ「ｕ」の権限を獲得したときに、サービス「ｓ２」が利用できるときに、記号ｃａｓ（ｓ１，  ｕ，  ｓ２）で表現される。具体的には、サービス「ｔｅｌｎｅｔ」を利用してユーザ「ｕ」の権限を獲得したときに、サービス「ｆｔｐ」が利用できるときには、ｃａｓ（ｔｅｌｎｅｔ，  ｕ，  ｆｔｐ）となる。【０１４２】
次に、セキュリティ検証用ポリシーを構成する各記号について説明する。【０１４３】
セキュリティ検証用ポリシーを構成する各記号ｂ（）、ａｃｃ（）、ａｕｔｈ（）、ｃａｓ（）は、それぞれ、所属関係、アクセス制御行列表現、権限獲得関係、カスケード関係を表現するために用いられる。また、セキュリティ検証用ポリシーを構成するｆｌｏｗ（）は、２つのファイルの間のデータフロー関係を表現するために用いられる。例えば、セキュリティ検証用ポリシー「ｆｌｏｗ（ｆｉｌｅ−ａ，  ｆｉｌｅ−ｂ）」とは、ファイル「ｆｉｌｅ−ａ」からファイル「ｆｉｌｅ−ｂ」に対してデータが流れることを示している。つまり、ファイル「ｆｉｌｅ−ａ」の内容が、任意のユーザやサービスを経由して「ｆｉｌｅ−ｂ」に書き込まれることを表わしている。【０１４４】
これらの各述語（記号）を連結することによって、システム内のデータの流れを表現することができる。なお、この連結はＡＮＤ結合（「∧」で表わす）、つまり、全ての述語が成り立つ場合に限り、全体が成り立つことを意味する。また、各述語には論理変数を用いることができるものとする。【０１４５】
例えば、（ｂ（Ｕ）＝ｈ）∧（ｂ（Ｆ１）＝ｈ１）∧ａｃｃ（Ｕ，  ｒｅａｄ，  ｆ）∧ａｕｔｈ（ｕ１，  ｆｔｐ，  Ｕ）∧ａｃｃ（ｕ１，  ｗｒｉｔｅ，  Ｆ１）は、あるユーザ「Ｕ」がホスト「ｈ」に所属し、あるファイル「Ｆ１」がホスト「ｈ１」に所属し、ユーザ「Ｕ」がファイル「ｆ」を読み出し（ｒｅａｄ）し、ユーザ「ｕ１」がサービス「ｆｔｐ」を利用してユーザ「Ｕ」の権限を獲得し、ユーザ「ｕ１」がファイル「Ｆ１」に書き込み（ｗｒｉｔｅ）することができることを表わしている。すなわち、ユーザ「ｕ１」が、サービス「ｆｔｐ」を用いてホスト「ｈ」上のファイル「ｆ」を読み込んだ後、ホスト「ｈ１」上のあるファイルに書き込めることを表わしている。なお、述語において大文字アルファベットを用いた場合には、論理変数すなわち、任意のユーザ、ファイル、ホストまたは、サービスを表わすものとする。【０１４６】
ポリシー格納部３３は、ポリシー入力部１０において入力されたセキュリティ検証用ポリシーを記憶保持する。具体的には、ポリシー格納部３３は、例えば図１２に示すような形式でセキュリティ検証用ポリシーを格納する。セキュリティ検証用ポリシーを格納するファイルやデータベースには、複数のセキュリティ検証用ポリシーを格納することができ、セキュリティ検証用ポリシーだけでなく、セキュリティ検証用ポリシーに付随する情報を格納してもよい。【０１４７】
セキュリティ検証用ポリシーに付随する情報とは、ポリシーの分類や、人間に分かりやすいようにポリシーの意味を記載した説明などである。さらに、ポリシー格納部３３は、セキュリティ検証用ポリシーが許可ポリシーを表わすものか禁止ポリシーを表わすものかを格納する。例えば、図１２に示すように、Ｐｏｌｉｃｙエレメントのｔｙｐｅ属性がａｌｌｏｗのときは、該当する設定モデルがポリシーになくてはならないことを示す許可ポリシーを表わし、ｔｙｐｅ属性がｄｅｎｙのときは、該当するモデルがポリシーにあってはならない禁止ポリシーを表わす。【０１４８】
次に、セキュリティ検証システム１００ｄの動作について詳細に説明する。【０１４９】
図１３は、セキュリティ検証システム１００ｄが実行するセキュリティ検証処理を示している。【０１５０】
まず、セキュリティ検証者やシステム構築者などのユーザが、設定モデル入力部１１を操作して、検証対象となるシステムやこれから構築しようとするシステムのシステム構成にしたがって設定モデルを入力すると、設定モデル入力部１１は、ステップＳ３０１において、入力された設定モデルを設定モデル格納部３４に格納する。検証者などがポリシー入力部１０を操作して、システムが満たすべき条件または満たされるべきでない条件を示したセキュリティ設定用ポリシーを入力すると、ポリシー入力部１０は、ステップＳ３０２において、入力されたセキュリティ設定用ポリシーをポリシー格納部３３に格納する。次いで、検証者の指示にしたがって、検証部５０ａは、ポリシー格納部３３から１つ以上のセキュリティ設定用ポリシーを取り出す。【０１５１】
入力されたポリシーが許可ポリシーであれば、検証部５０ａは、ステップＳ３０３において、その許可ポリシーにマッチする設定モデルが存在するか否かを検索する。検索の結果、一致する設定モデルが存在したときは、検証部５０ａは、ステップＳ３０４において許可ポリシーを表示し、ステップＳ３０５において、その許可ポリシーにマッチした設定モデルを表示する。その後、ステップＳ３０６に移行する。ステップＳ３０６において、許可ポリシーにマッチしない設定モデルが存在しない場合もステップＳ３０６に移行する。【０１５２】
ステップＳ３０６において、検証部５０ａは、入力されたポリシーが禁止ポリシーであれば、検証部５０ａは、その禁止ポリシーにマッチする設定モデルが存在するか否かを検索する。禁止ポリシーが設定モデルにマッチした場合にはそのまま処理が終了し、禁止ポリシーが設定モデルにマッチなかった場合には、検証結果表示部６０は、ステップＳ３０７において、その禁止ポリシーを、マッチしなかったことを示す記号とともに表示する。【０１５３】
図１４は、図１３に示したセキュリティ検証処理のステップＳ３０３での処理の具体例を示すフローチャートである。図１５は、この処理において用いる書き換え規則を例示している。【０１５４】
検証部５０ａは、検証対象のポリシーにデータフロー関係が含まれる場合には、ステップＳ３１１において、あらかじめ定められている図１５に示す書き換え規則によって、データフロー関係を権限獲得関係などによる表現に変形する。ここで述べている例では、変形後の許可ポリシーを示す各関係が、それぞれ、設定モデルを満たしているか否かを検証する。ポリシーが権限獲得関係を含む場合には、検証部５０ａは、ステップＳ３１２において、権限獲得関係に含まれる２つのユーザが所属しているホストのＩＰアドレスを利用して、２つのユーザをつなぐネットワークの構造をネットワーク接続表現から求める。これにより、２つのユーザをつなぐネットワークを構成するＩＰアドレスの集合が求められる。【０１５５】
次いで、検証部５０ａは、ステップＳ３１３において、求めたネットワーク構造のＩＰアドレスと２つのユーザの所属するＩＰアドレス、権限獲得関係に含まれるサービスが利用するポート番号を利用して、ネットワークアクセス権表現を検索する。ネットワークアクセス権表現を検索すると、検証部５０ａは、ステップＳ３１４において、検索したネットワークアクセス権表現から該当するネットワークアクセスが許可されているか否かを確認する。具体的には、権限獲得関係のユーザのＩＰアドレスが送信元ＩＰアドレス「１０．５６．１．２」及び送信先ＩＰアドレス「１０．５６．１．３」で、サービスが利用するポート番号が「８０」で、２つのユーザを接続するＩＰアドレスの集合がＩＰアドレス「１０．５６．３．１」とＩＰアドレス「１０．５６．３．２」とである場合には、検証部５０ａは、検索されたネットワークアクセス権表現に、ｎ（１０．５６．３．１，  １０．５６．１．２，  １０．５６．１．３，８０）と、ｎ（１０．５６．３．２，  １０．５６．１．２，  １０．５６．１．３，  ８０）とが含まれているか否かを探索する。上記の各記号のいずれか一方がネットワークアクセス権表現に含まれていなければ、セキュリティ検証用ポリシーに含まれる権限獲得関係は、設定モデルにマッチしないと判定され、処理はステップＳ３０６に移行する。【０１５６】
ステップＳ３１４においてネットワークアクセス権表現で通信が許可されていれば、検証部５０ａは、ステップＳ３１５において、セキュリティ検証用ポリシーに含まれる関係のうちのネットワーク接続関係以外の各関係が、設定モデルで定義されているか否かを検索する。ネットワーク接続関係以外の各関係に、設定モデルで定義されていない関係があれば、検証部５０ａは、ポリシーが設定モデルにマッチしないと判定し、ステップＳ３０６に移行する。【０１５７】
ステップ３１５においてセキュリティ検証用ポリシーに含まれる各関係のすべてが設定モデルで定義されていれば、検証部５０ａは、ポリシーが設定モデルにマッチしていると判定し、ステップＳ３１６において、ポリシーを検索結果とともに検索結果格納部に格納する。【０１５８】
以上に説明したように、セキュリティ検証システム１００ｄは、システム全体の設定を表わす設定モデルに対して、検証対象システム内のデータの移動を表現したポリシーを用いて検索する構成である。したがって、セキュリティ検証システム１００ｄを用いることにより、複数のコンピュータに関わる、設計者または検証者が意図した動作とは異なる設定あるいは設定ミスを発見することができる。【０１５９】
なお、セキュリティ検証システム１００，１００ａ，１００ｂ，１００ｃ，１００ｄの各部は、自己が内部または外部に備えるコンピュータプログラムすなわちセキュリティ検証プログラムにしたがって上述した各種の処理を実行する。すなわち、セキュリティ検証システム１００は、セキュリティ検証プログラムにしたがって、上述した図６に示す処理を実行する。具体的には、例えば、セキュリティ検証プログラムは、検査対象システム１１１におけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証させるためのセキュリティ検証用プログラムであって、例えばセキュリティ検証システム１００に、検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報に基づいて生成された当該検査対象システムにおけるデータ移動を表わすデータ伝達経路を格納したデータ伝達経路格納部から当該データ伝達経路を読み出すステップと、読み出したデータ伝達経路のアクセス権を統合するステップと、セキュリティ上不適切なデータ移動の経路である不適経路があらかじめ設定されたセキュリティ検証用ポリシーに基づいて、アクセス権が統合されたデータ伝達経路から不適経路を探索するステップとを実行させるプログラムである。さらに、セキュリティ検証プログラムは、例えばセキュリティ検証システム１００に、プログラム動作情報に基づいて、探索された不適経路のデータ移動を許容している複合的なセキュリティ設定を検索するステップとを実行させるプログラムであってもよい。【０１６０】
上述した各セキュリティ検証システムによれば、検査対象のコンピュータにおけるデータ移動を表わすデータ伝達経路と、セキュリティ上不適切なデータ移動の経路が設定されたセキュリティ検証用ポリシーとを比較する構成としたので、検証対象のコンピュータにセキュリティ設定の複合的なミスである不適設定があるか否かを容易に検証することができる。複合的なミスである不適設定を探索する構成を含むようにすれば、不適設定の原因となっているセキュリティ設定を指摘することができ、設定の修正を促すことができる。また、擬似攻撃のような負荷の高い手法を用いることなく、検証対象のコンピュータからセキュリティ設定情報を収集するだけの構成としたので、検証対象のコンピュータに対して低負荷で検証することができる。【０１６１】
第１の実施形態：
次に、以上説明した各セキュリティ検証システム１００，１００ａ，１００ｂ，１００ｃ，１００ｄを踏まえ、これらのセキュリティ検証システムに対して与えられる検証用のデータを作成する、本発明に基づくセキュリティ検証用データ生成システムを説明する。図１６は、本発明の第１の実施形態のセキュリティ検証用データ生成システムの構成を示している。このセキュリティ検証用データ生成システムは、図２あるいは図１０に示したセキュリティ検証システムに対して入力されるデータ、具体的にはポリシーを生成するものである。なお、以下の説明において、セキュリティ検証用データ生成システム自体のユーザのことをオペレータと呼ぶことにする。【０１６２】
図１６に示すセキュリティ検証用データ生成システムは、セキュリティの検証対象となるコンピュータシステム１４０１に対応して、ポリシーを作成するものであり、システム構成情報収集部１４０２と、属性情報入力部１４０３と、属性情報格納部１４０４と、アクセスポリシー生成部１４０５と、アクセスポリシー格納部１４０６と、検証ポリシー生成部１４０７と、検証ポリシー格納部１４０８と、を備えている。【０１６３】
セキュリティの検証対象となるコンピュータシステム１４０１は、図１６に示す例では、２台のコンピュータ１４０１ａ，１４０１ｃと、２台のコンテンツＤＢ（データベース）１４０１ｂ，１４０１ｄとを備えている。コンテンツＤＢ  １４０１ｂ，１４０１ｄは、コンテンツとして、例えばファイル等を格納する。なお、コンピュータシステム１４０１の構成は、図１６に例示する構成に限定されないことは言うまでもない。【０１６４】
このセキュリティ検証用データ生成システムにおいて、システム構成情報収集部１４０２は、検証対象となるコンピュータシステム１４０１からシステム構成情報を収集する。システム構成情報については後述する。属性情報入力部１４０３には属性情報が入力される。属性情報については後述する。また、属性情報入力部１４０３は、システム構成情報収集部１４０２が収集したシステム構成情報に対し、入力された属性情報を付加して、属性情報格納部１４０４に格納する。なお、属性情報入力部１４０３は、属性情報が付加されたシステム構成情報を入力として、そのシステム構成情報を属性情報格納部１４０４に格納しもよい。属性情報格納部１４０４は、システム構成情報と属性情報とを対応付けた情報を記憶する。具体的には、属性情報が付加されたシステム構成情報を記憶する。【０１６５】
アクセスポリシー生成部１４０５は、属性情報格納部１４０４に格納あるいは記憶されたシステム構成情報や属性情報を利用して、アクセスポリシーを作成する。アクセスポリシーについては後述する。例えば、アクセスポリシー生成部１４０５は、ディスプレイ装置（不図示）に属性情報を表示して、オペレータに属性情報の選択を促す。そして、選択された属性情報に基づいて、アクセスポリシーを作成する。また、後述するようにアクセスポリシーには、「移動元」、「移動先」、「移動経路」の情報の少なくとも一つが含まれる。アクセスポリシー生成部１４０５は、ディスプレイ装置に「移動元」、「移動先」、「移動経路」の入力欄を表示して、その入力欄を介して「移動元」、「移動先」、「移動経路」の情報を受け取るようにしてもよい。このとき、「移動元」、「移動先」、「移動経路」の入力欄から、属性情報ではなく、「移動元」、「移動先」、「移動経路」を示す情報が直接入力されるようにしてもよい。アクセスポリシー生成部１４０５は、属性情報ではなく、「移動元」、「移動先」、「移動経路」そのものを直接示す情報からアクセスポリシーを作成してもよい。【０１６６】
アクセスポリシー格納部１４０６は、アクセスポリシー生成部１４０５が作成したアクセスポリシーを記憶する。検証ポリシー生成部１４０７は、アクセスポリシーを検証ポリシーに変換する処理を行う。なお、検証ポリシーについては後述する。検証ポリシー格納部１４０８は、検証ポリシー生成部１４０７によって生成された検証ポリシーを記憶する。【０１６７】
システム構成情報収集部１４０２は、例えば、プログラムにしたがって動作するＣＰＵと、コンピュータシステム１４０１に対するインタフェースによって実現される。属性情報入力部１４０３は、例えば、プログラムに従って動作するＣＰＵと、キーボード等の入力装置によって実現される。アクセスポリシー生成部１４０５は、例えば、プログラムにしたがって動作するＣＰＵと、ディスプレイ装置と、キーボード等の入力装置とによって実現される。検証ポリシー生成部１４０７は、例えば、プログラムにしたがって動作するＣＰＵによって実現される。これらのプログラムは、予め記憶装置（不図示）に記憶される。また、属性情報格納部１４０４、アクセスポリシー格納部１４０６、及び検証ポリシー格納部１４０８は、例えば、記憶装置によって実現される。当然のことながら、システム構成情報収集部１４０２、属性情報入力部１４０３、アクセスポリシー生成部１４０５及び検証ポリシー生成部１４０７を単一のＣＰＵを用いて実現し、属性情報格納部１４０４、アクセスポリシー格納部１４０６及び検証ポリシー格納部１４０８を単一の記憶装置によって実現することができる。【０１６８】
次に、システム構成情報について説明する。システム構成情報は、検証対象となるコンピュータシステムにおけるネットワーク、アプリケーション、ファイル、サービス及びユーザのうちの少なくともいずれか一つに関する情報を含むものである。したがってシステム構成情報は、検証対象となるコンピュータシステム１４０１におけるネットワーク構成情報、アプリケーション情報、ファイル情報、サービス情報、ユーザ情報のうちの少なくとも一つを含む情報である。【０１６９】
ネットワーク構成情報は、コンピュータシステム１４０１におけるネットワークシステムの情報を表わす。ネットワーク構成情報には、例えば、ホストや、ネットワーク機器の接続構成や、セグメント構成や、セグメント名等に関する情報が含まれる。ただし、これらの情報を全て含んでいなくてもよい。図１７は、ネットワーク構成情報の一例を示しており、この例では、ネットワーク構成情報が、ＸＭＬ  （ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式のフォーマットで記述されている。【０１７０】
図１７に例示するネットワーク構成情報では、ｎｅｔｗｏｒｋｓｙｓｔｅｍタグに囲まれた範囲に、複数のセグメントの情報が記述されている。個々のセグメントの情報は、ｓｅｇｍｅｎｔタグに囲まれた範囲に記述される。例えば、ｓｅｇｍｅｎｔタグに囲まれた記述８５１は、１つのセグメントの情報を表わしている。また、セグメントの情報の中には、セグメントの名称や、そのセグメントに属するホストの情報が含まれる。例えば、記述８５１には、“ｋａｎｓａｉｋｅｎ−ｄｍｚ”というセグメントの名称が含まれる。また、記述８５１には、３つのホストの情報が含まれている。個々のホストの情報は、ｈｏｓｔタグによって表わされる。例えば、ｈｏｓｔタグに囲まれた記述８５２は、１つのホストの情報を表わしている。ホストの情報の中には、ホストの名称や、そのホストのＩＰアドレスの情報が含まれる。このような記述により、ネットワーク構成情報は、どのセグメントにどのホストが属するのかを示している。なお、記述８５３に示すように、ホストの名称としてＩＰアドレスが記述されていてもよい。また、図１７に示す例では、ｓｅｇｍｅｎｔタグに囲まれた範囲の記述の中に、ｎａｍｅ属性等の属性情報も含まれている。【０１７１】
ネットワーク構成情報の中に含まれている個々のホストの情報をホスト構成情報と呼ぶことにする。ホスト構成情報は、ホストの名称やＩＰアドレス等を表わす。例えば、記述８５２はホスト構成情報であり、このホスト構成情報では、ホスト名が“ｆｗ−１”であり、ＩＰアドレスが“１０．５６．１９１．１”であることを示している。【０１７２】
アプリケーション情報は、コンピュータシステム１４０１の各ホストに導入されているＯＳ  （Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やアプリケーションソフトウェアに関する情報を表わす。アプリケーション情報には、例えば、導入されたアプリケーションの種類や名前、アプリケーションの起動順等に関する情報が含まれる。ただし、これらの情報を全て含んでいなくてもよい。図１８は、アプリケーション情報の一例を示しており、この例では、アプリケーション情報がＸＭＬ形式のフォーマットで記述されている。【０１７３】
図１８に示す例では、ａｐｐｌｉｃａｔｉｏｎＬｉｓｔタグに囲まれた範囲がアプリケーション情報である。また、ｈｏｓｔタグで囲まれた範囲すなわち記述８６１に、各アプリケーションの情報が記述８６２として記載されている。この例では、ｈｏｓｔタグとともにそのホストのＩＰアドレスが示されており、ｈｏｓｔタグで囲まれた範囲（記述８６１）には、そのホストに導入された各アプリケーションの名称（“Ｆｅｄｏｒａ”，“ｘｉｎｅｔｄ”，“ｖｓｆｔｐｄ”等）が記述されている。【０１７４】
また、図１８に示す例では、ａｐｐｌｉｃａｔｉｏｎタグとともに各アプリケーションの種類を示すｔｙｐｅ属性８６３が記述されている。このｔｙｐｅ属性８６３は、システム構成情報収集部１４０２がコンピュータシステム１４０１から収集したアプリケーション情報には含まれていない。図１８に例示したｔｙｐｅ属性８６３は、属性情報入力部１４０３に入力し、システム構成情報収集部１４０２が収集したアプリケーション情報に付加されたものである。【０１７５】
ファイル情報は、ファイルの名称や構成、ファイルシステムの構成等を示す情報である。図１９にファイル情報の一例を示しており、この例のファイル情報は、ファイルの名称として、“ｐａｐｅｒ．ｔｘｔ”を示している。【０１７６】
サービス情報は、アプリケーションが用いるプロトコルやサービスに関する情報であり、例えば、サービス名やサービスが利用するプロトコル名等を示している。図２０は、サービス情報の一例を示しており、この例では、Ｓｅｒｖｉｃｅタグとともに、“ｈｔｔｐ”，“ｈｔｔｐｓ”，“ｓａｍｂａ”，“ｆｔｐ”等のサービス名が示されている。なお、図２０に示す例では、暗号化を行うか否かを示すｅｎｃｒｙｐｔｉｏｎ属性８７１及びポート番号（ｐｏｒｔ  ｎｕｍｂｅｒ）に関する属性８７２の記述を含んでいる。【０１７７】
ユーザ情報は、ユーザアカウントの構成や認証機構の構成等を示す情報である。図２１はユーザ情報の一例を示している。この例示されるユーザ情報では、“ｔａｎａｋａ”，“ｗ−ｔａｎａｋａ”，“ｓ−ｔａｎａｋａ”等のユーザアカウントが示されている。【０１７８】
属性情報とは、システム構成情報に付加される情報であり、システム構成情報が示す内容の属性、例えば役割などの属性を表わす情報である。属性情報には、ネットワーク構成情報属性、ホスト構成情報属性、アプリケーション構成情報属性、ユーザ情報属性、ファイル情報属性等がある。【０１７９】
ネットワーク構成情報属性は、ネットワーク構成情報に与えられる属性である。ネットワーク構成情報属性には、セグメント名や、ネットワークセグメント役割情報等がある。ネットワークセグメント役割情報は、例えば、セグメントが公開用セグメント、社内ＬＡＮ（ローカルエリアネットワーク）セグメント、あるいは部内ＬＡＮセグメント等としての役割を担っていることを示す。【０１８０】
ホスト構成情報属性は、ホストや、ホストの構成に対する属性である。ホスト構成情報属性には、例えば、ホスト名や使用者、所有者などの属性や、ウェブ公開用サーバ等の役割を表わす役割情報等がある。【０１８１】
アプリケーション構成情報属性は、ＯＳやアプリケーションソフトウェアの属性である。アプリケーション属性には、例えば、サーバアプリケーションや、クライアントアプリケーションといったアプリケーションの役割や、ウェブクライアント、ＦＴＰ（ｆｉｌｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）サーバなどのアプリケーションの種類等がある。【０１８２】
ユーザ情報属性は、個々のユーザや、ユーザアカウントの属性である。ユーザ情報属性には、例えば、ユーザアカウントを利用する人の名前、システム管理者やコンテンツ管理者、ウェブ管理者等の役割や、役職名がある。【０１８３】
ファイル情報属性は、ファイルやディレクトリ、及び、そのようなファイルやディレクトリに格納されているコンテンツの属性である。また、ファイル情報属性には、公開情報、機密情報、関係者外秘などの公開属性、管理レベル、個人情報、技術情報などのカテゴリー属性、作成日時や、作成者などの編集属性、暗号化の有無、圧縮の有無、デジタル権限管理機構の有無などの機密属性がある。【０１８４】
サービス情報属性は、サービスを利用しているホスト名や、アプリケーション名、ポート番号、暗号化の有無等の属性である。【０１８５】
属性情報入力部１４０３は、例えば、ディスプレイ装置（不図示）にシステム構成情報を表示させることにより、システム構成情報をオペレータに提示する。そして、オペレータに対し、そのシステム構成情報に付加する属性情報の入力を促す。そして、属性情報入力部１４０３には、そのオペレータから属性情報が入力する。また、カテゴリー属性のうち、コンテンツの公開属性や機密度等を、コンテンツを解析する手段を用いて抽出し、それをファイル情報属性としてもよい。ユーザ属性については、アカウント管理システムと連携し、アカウント管理システムに登録されたユーザに関する属性をユーザ属性としてもよい。【０１８６】
アクセスポリシーは、属性情報を用いてアクセス権限をポリシーとして記述した情報であり、不適切なデータ移動経路における移動元、移動先、移動経路の情報を少なくとも一つ含む。したがって、アクセスポリシーは、移動元の情報のみを含んでいてもよい。移動元の情報のみを含む場合は、全ての移動先及び移動経路を指定していることを意味する。アクセスポリシーは、移動先の情報のみを含んでいたり、移動経路の情報のみを含んでいたりしてもよい。【０１８７】
アクセスポリシーにおいて、移動元とは、アクセス権の妥当性の検証対象となるファイルまたはユーザである。移動元がファイルの場合、その移動元は、ファイル名、ディレクトリ名、ホスト名、セグメント名等の移動元となる情報の格納場所の名前、または、それらを特定できる属性情報を用いて指定される。移動元がユーザの場合、その移動元は、ユーザアカウント名、ホスト名、セグメント名などのユーザの登録場所の名前、または、それらを特定できる属性情報を用いて指定される。移動先とは、移動元のファイルまたはユーザの情報の伝達先である。移動先は、移動元と同様に指定される。移動元及び移動先がともにファイルである場合は、そのアクセスポリシーは、移動元のファイルの全部または一部が移動先のファイルにコピー可能であることを表わす。移動元がファイルであり、移動先がユーザである場合は、そのアクセスポリシーは、ユーザがファイルを読めることを表わす。移動元及び移動先がともにユーザである場合は、移動元のユーザが自身の持つ情報をファイルに書き込み、そのファイルを移動先のユーザが読み込む等して、移動元のユーザから移動先のユーザまで情報が伝達することが可能であることを表わす。移動元がユーザであり、移動先がファイルである場合は、移動元のユーザが移動先のファイルに情報を書き込むことが可能であることを表わす。【０１８８】
移動経路とは、移動元の情報が通過するネットワークインタフェースのＩＰアドレスやホスト名などの途中経路、移動元の情報を公開しているアプリケーションの利用ポートやサービス名などのサービス情報等である。移動経路の指定は、これらの移動経路を表わす情報を直接指定することによって行われたり、あるいは、これらの情報を特定可能な属性情報を指定することによって行われたりする。【０１８９】
検証ポリシーとは、コンピュータシステムが意図したように設定されているか、または、意図したように動作するかを検証するための判定基準である。図２に示すセキュリティ検証システム１００や図１０に示すセキュリティ検証システム１００ｃにおいてポリシー入力部１０に入力するポリシーが検証ポリシーに該当する。検証ポリシーは、不適切なデータ移動経路を表わしている。【０１９０】
次に、図１６に示したセキュリティ検証用データ生成システムの動作について説明する。図２２は、セキュリティ検証用データ生成システムの動作を示すフローチャートである。【０１９１】
まず、ステップＳ６０１において、システム構成情報収集部１４０１は、検証対象であるコンピュータシステム１４０１のシステム構成情報を収集する。ここでは、コンピュータシステム１４０１に予めインストールされたエージェントと通信を行うことによって、システム構成情報を収集すればよい。すなわち、システム構成情報収集部１４０１は、エージェントにしたがって動作するコンピュータからシステム構成情報を受信することによって、システム構成情報を収集すればよい。なお、コンピュータシステム１４０１に予めインストールされたエージェントは、そのコンピュータシステム１４０１に導入されたアプリケーションごとに用意され、ＯＳを担当するエージェントが、各アプリケーションのインストール構成と、ファイル構成、ユーザ／グループ構成を収集する。ＯＳを担当するエージェントは、アプリケーション構成等を直接収集してもよいし、あるいは予め用意された設定ファイルを解析することによってアプリケーション構成等を収集してもよい。【０１９２】
続いて、ＯＳを担当するエージェントは、収集した構成にしたがって、それぞれのアプリケーションに対応するエージェントを起動する。各エージェントは、システム構成情報をコンピュータに収集する処理や、そのシステム構成情報をシステム構成情報収集部１４０２に送信する処理を行う。また、一つのアプリケーションが他のアプリケーションを起動あるいは実行する構成となっている場合には、当該一つのアプリケーションに応じたエージェントが他のアプリケーションのエージェントを起動する。【０１９３】
次に、属性情報入力部１４０３に、属性情報が入力される。例えば、ステップＳ６０１で収集されたシステム構成情報をディスプレイ装置（不図示）に表示するものとして、オペレータは、そのシステム構成情報に対応する属性情報を属性情報入力部１４０３に入力する。属性情報入力部１４０３は、ステップＳ６０２において、入力された属性情報をシステム構成情報に付加して属性情報格納部１４０４に格納する。次に、アクセスポリシー生成部１４０５は、ステップＳ６０３において、システム構成情報または属性情報に基づいてアクセスポリシーを作成し、アクセスポリシー格納部１４０６に格納する。【０１９４】
続いて、検証ポリシー生成部１４０７は、アクセスポリシー格納部１４０６からアクセスポリシーを読み込み、アクセスポリシーから検証ポリシーを作成する。そして、検証ポリシー生成部１４０７は、検証ポリシーを検証ポリシー格納部１４０８に格納する。検証ポリシー生成部１４０７は、以下のようにして検証ポリシーを作成する。【０１９５】
まずステップＳ６０４において、検証ポリシー生成部１４０７は、属性情報を用いてアクセスポリシーにおける移動元を作成したか否かを判定する。すなわち、アクセスポリシーにおける移動元が、ユーザ属性やファイル情報属性を用いて作成されたか否かを判定する。属性情報を利用してアクセスポリシーにおける移動元を作成している場合には、ステップＳ６０５において、検証ポリシー生成部１４０７は、その属性情報を用いてシステム構成情報の中から移動元となる情報を検索し、ステップＳ６０６に移行する。一方、属性情報を用いずにアクセスポリシーにおける移動元が作成されているとステップＳ６０４において判断した場合には、例えば、アクセスポリシーにおける移動元がオペレータから直接入力されている場合には、ステップＳ６０５を実行せずに、ステップＳ６０６に移行する。【０１９６】
ステップＳ６０６では、検証ポリシー生成部１４０７は、属性情報を用いてアクセスポリシーにおける移動先を作成したか否かを判定する。属性情報を利用してアクセスポリシーにおける移動先を作成している場合には、検証ポリシー生成部１４０７は、ステップＳ６０７において、その属性情報を用いて、システム構成情報の中から移動先となる情報を検索し、ステップＳ６０８に移行する。一方、属性情報を用いずにアクセスポリシーにおける移動先が作成されているとステップＳ６０６において判断した場合には、例えば、アクセスポリシーにおける移動先がオペレータから直接入力されている場合には、ステップＳ６０７を実行せずに、ステップＳ６０８に移行する。【０１９７】
ステップＳ６０８では、検証ポリシー生成部１４０７は、アクセスポリシーが移動経路を含み、かつ、その移動経路は属性情報を用いて作成されたか否かを判定する。アクセスポリシーが移動経路を含み、かつ、その移動経路は属性情報を用いて作成された場合には、検証ポリシー生成部１４０７は、ステップＳ６０９において、その属性情報を用いてシステム構成情報の中から移動経路となる情報を検索し、ステップＳ６１０に移行する。一方、アクセスポリシーが移動経路を含んでいない場合や、属性情報を用いずに移動経路が作成されている場合には、例えば、アクセスポリシーにおける移動経路がオペレータから直接入力されている場合には、ステップＳ６０９を実行せずに、ステップＳ６１０に移行する。【０１９８】
ステップＳ６１０では、検証ポリシー生成部１４０７は、ステップＳ６０５で検索された移動元の情報がある場合、アクセスポリシーに含まれる移動元、すなわち属性情報を用いて作成した移動元を、検索した移動元の情報に置換する。同様に、検証ポリシー生成部１４０７は、ステップＳ６０７で検索された移動先の情報がある場合、アクセスポリシーに含まれる移動先、すなわち属性情報を用いて作成した移動先を、検索した移動先の情報に置換する。また、同様に、検証ポリシー生成部１４０７は、ステップＳ６０９で検索された移動経路の情報がある場合、アクセスポリシーに含まれる移動経路、すなわち属性情報を用いて作成した移動経路を、検索した移動経路の情報に置換する。この結果、検証ポリシーが得られる。【０１９９】
検証ポリシー生成部１４０７は、ステップＳ６０４〜Ｓ６１０までの処理によって作成した検証ポリシーを検証ポリシー格納部１４０８に格納する。この検証ポリシー格納部１４０８に記憶された検証ポリシーは、図２に示すセキュリティ検証システム１００のポリシー入力部１０や、図１０に示すセキュリティ検証システム１００ｃのポリシー入力部１０への入力データ、すなわちポリシーとして使用される。【０２００】
本実施の形態によれば、セキュリティ検証用データ生成システムは、システム構成情報を用いてアクセスポリシーを作成し、検証ポリシーに変換する構成である。したがってこのセキュリティ検証用データ生成システムは、検証対象のシステム構成に沿った検証ポリシーを容易に作成することができる。また、システム構成情報に属性情報を付加し、その属性情報を用いてアクセスポリシーを作成し、検証ポリシーに変換する構成であるので、オペレータは、検証対象のシステムの構成の詳細を知らなくても、アクセスポリシーを作成できる。その結果、オペレータは、検証対象のシステム構成の詳細を知らなくても容易に検証ポリシーを作成することができる。また、システム構成情報に属性情報を付加して、その属性情報を用いてアクセスポリシーを作成し、検証ポリシーに変換する構成としたため、オペレータは、検証ポリシー固有の複雑な文法を知らなくても簡単に検証ポリシーを作成することができる。また、ひとつの属性情報で複数のシステム構成要素を同時に指定することができるので、少ないアクセスポリシー数で、必要十分な検証ポリシーを作成することができる。【０２０１】
第２の実施形態：
図２３は、本発明の第２の実施の形態のセキュリティ検証用データ生成システムの構成を示している。以下の説明において、図１６に示した第１の実施の形態のセキュリティ検証用データ生成システムと同一の構成及び処理を行う部分については、同一の符号を付与してその詳細な説明を省略する。図２３に示すように、本実施の形態におけるセキュリティ検証用データ生成システムは、セキュリティの検証の対象となるコンピュータシステム１４０１に対応したポリシーを作成するものであって、システム構成情報収集部１４０２と、属性情報入力部１４０３と、属性情報格納部１４０４と、アクセスポリシー生成部１４０５と、アクセスポリシー格納部１４０６と、検証ポリシー生成部１４０７と、検証ポリシー格納部１４０８と、データ伝達経路入力部１５０９と、検証部１５１０と、検証結果表示部１５１１と、を備えている。【０２０２】
データ伝達経路入力部１５０９は、検証部１５１０にデータ伝達経路情報を渡す。このデータ伝達経路情報は、例えば、図２に示すセキュリティ検証システム１００あるいは図１０に示すセキュリティ検証システム１００ｃにおけるアクセス権統合部４０が出力する、アクセス権が統合された後のデータ伝達経路情報と同様のデータ伝達経路情報である。なお、アクセス権が統合された後のデータ伝達経路情報は、図２に示すセキュリティ検証システム１００あるいは図１０に示すセキュリティ検証システム１００ｃに関連して上述したものと同様の処理によって作成すればよい。【０２０３】
検証部１５１０は、図２に示すセキュリティ検証システム１００あるいは図１０に示すセキュリティ検証システム１００ｃにおける検証部５０と同様の構成であって、この検証部５０と同様の動作を行う。検証部１５１０は、検証ポリシー生成部１４０７が生成した検証ポリシーを用いて、検証対象システムであるコンピュータシステム１４０１におけるデータ伝達経路が不適切か否かを検証する。【０２０４】
検証結果表示部１５１１は、例えば、ディスプレイ装置であり、検証部１５１０による検証結果、例えば、不適切と判定したデータ伝達経路を表示する。【０２０５】
次に、第２の実施形態のセキュリティ検証用データ生成システムの動作について説明する。図２４及び図２５は、本実施の形態のセキュリティ検証用データ生成システムの動作を示すフローチャートである。図２４に示すステップＳ６０１〜Ｓ６１０の処理は、上述の第１の実施の形態において図２２を用いて説明したステップＳ６０１〜Ｓ６１０の処理と同様の処理である。【０２０６】
ステップＳ６１０の後、データ伝達経路入力部１５０９は、ステップＳ６１１において、データ伝達経路情報を検証部１５１０に入力する。続いて、検証部１５１０は、ステップＳ６１０において検証ポリシー生成部１４０７が生成した検証ポリシーを用いて、ステップＳ６１２において、データ伝達経路情報が示すデータ伝達経路が不適切か否かを検証する。この検証処理は、検証ポリシーと一致するデータ伝達経路があるか否かを判定することによって行えばよい。そして、検証ポリシーと一致するデータ伝達経路を不適切なデータ伝達経路と判定すればよい。なお、検証部１５１０は、検証ポリシー格納部１４０８から検証ポリシーを読み込んでもよい。【０２０７】
ステップＳ６１２における検証処理の後、ステップＳ６１３において、検証部１５１０は、まだ検証に用いていない検証ポリシーがあるか否かを判定する。まだ検証に用いていない検証ポリシーがある場合には、ステップＳ６１２に移行し、その検証ポリシーを用いて検証処理を行う。検証に用いていない検証ポリシーがなくなった場合、すなわちステップＳ６１３にいおて検証ポリシーがないと判定した場合には、ステップＳ６１４において、検証部１５１０は、検証ポリシーと一致するデータ伝達経路があったか否かを判定する。ここで検証ポリシーと一致するデータ伝達経路がなければ処理を終了する。ステップＳ６１４において検証ポリシーと一致するデータ伝達経路があれば、ステップＳ６１６において、検証部１５１０は、そのデータ伝達経路を不適切なデータ伝達経路として検証結果表示部１５１１に表示する。このとき、検証部１５１０は、不適切なデータ伝達経路とともに、そのデータ伝達経路を作成する原因となった設定やシステム構成情報を表示してもよい。【０２０８】
図２３に示したセキュリティ検証用データ生成システムは、属性情報を利用して作成したアクセスポリシーを用いて、検証部の入力データ（検証ポリシー）を生成し、検証ポリシーと一致したデータ伝達経路を表示する構成となっている。したがってオペレータは、このセキュリティ検証用データ生成システムを用いることにより、複雑な検証ポリシーの文法を知らなくてもポリシーに違反したファイルや、システム構成を見つけることができる。また、オペレータは、検証対象システムのシステム構成情報や、保存されているファイルなどの情報の詳細を知らなくても、不適切なファイルやシステム構成を見つけることができる。【０２０９】
以上説明した本発明の各実施形態のセキュリティ検証用データ生成システムは、上述した各セキュリティ検証システムと組み合わせて使用することができる。例えば、図１６に示したセキュリティ検証用データ生成システムと、図２または図１０に示したセキュリティ検証システムとを組み合わせた構成としてもよい。そのような構成とすることによって、図２または図１０に示したセキュリティ検証システムと同様の効果を得ることができる。【０２１０】
例えば、図１６に示すセキュリティ検証用データ生成システムに対し、図２に示すセキュリティ検証システム１００における設定情報収集部７０とプログラム動作情報格納部３０とデータ伝達経路生成部２１と設定情報格納部３１とデータ伝達経路情報格納部３２とアクセス権統合部４０と検証部５０と設定情報検索部８０と、検証結果表示部６０（図２参照）とを付加し、検証ポリシー生成部１４０７が、検証部５０に検証ポリシーを入力する構成としてもよい。【０２１１】
あるいは、図１６に示すセキュリティ検証用データ生成システムに対し、図１０に示すセキュリティ検証システム１００ｃにおける設定情報入力部７１と設定情報格納部３１とデータ伝達経路入力部２０とデータ伝達経路情報格納部３２とアクセス権統合部４０と検証部５０と設定情報検索部８０と検証結果表示部６０とを付加し、検証ポリシー生成部１４０７が、検証部５０に検証ポリシーを入力する構成としてもよい。
【実施例】
【０２１２】
次に、本発明について、具体的実施例を用いてさらに説明する。【０２１３】
例１：
図２６は、図２に示したセキュリティ検証システム１００の具体的構成を示している。なお、図２６は、図２に示した構成のうち、ポリシー格納部３３を省略して描いている。【０２１４】
図２６に示すように、セキュリティ検証システム１００は、検査対象コンピュータ１１０と、検査コンピュータ１２０とを備えている。検査対象コンピュータ１１０と、検査コンピュータ１２０とは、それぞれ、インターネットや専用回線などの通信ネットワーク１３０に接続されている。なお、検査対象コンピュータ１１０は、複数台備えられていてもよい。【０２１５】
検査対象コンピュータ１１０は、検査対象１１１と、設定情報収集部７０と、データ伝達経路生成部２１と、アクセス権統合部４０と、設定情報格納部３１と、プログラム動作情報格納部３０と、データ伝達経路情報格納部３２とを含む。検査コンピュータ１２０は、ポリシー入力部１０と、データ伝達経路変換部５１と、パターンマッチング部５２と、設定情報検索部８０と、検証結果表示部６０とを含む。【０２１６】
ここで、設定情報収集部７０と、データ伝達経路生成部２１と、アクセス権統合部４０と、設定情報格納部３１と、プログラム動作情報格納部３０と、データ伝達経路情報格納部３２とのうち一部または全部が、検査コンピュータ１２０に含まれていてもよい。また、検査コンピュータ１２０は、検査対象コンピュータ１１０に含まれていてもよい。【０２１７】
検査対象１１１は、ＯＳ  １１１ａと、ウェブサーバ１１１ｂと、ウェブクライアント１１１ｃとで構成されている。本例では、ＯＳ  １１１ａにＬｉｎｕｘ  ２．４系を、ウェブサーバ１１１ｂにＡｐａｃｈｅ  １．３を、ウェブクライアント１１１ｃにＭｏｚｉｌｌａ  １．５を利用している。【０２１８】
次に、このセキュリティ検証システムにおけるセキュリティ検証処理を、上述した図６を参照しつつ説明する。【０２１９】
図２７Ａ及び図２７Ｂは、それぞれ、ＯＳ  １１１ａのユーザアカウントとグループの設定の一例を示し、図２８は、ファイルのアクセス権の設定の一例を示し、図２９Ａ及び図２９Ｂは、ウェブサーバ１１１ｂの設定の例を示している。これらの図では、上述した図５に示す設定と同様に、Ｌｉｎｕｘと呼ばれる広く利用されているＯＳソフトウェアによって各部の設定がなされた例が示されている。なお、他のソフトウェアによって設定するようにしてもよい。【０２２０】
図２７Ａは、ＯＳ  １１１ａにおけるユーザ設定ファイル「／ｅｔｃ／ｐａｓｓｗｄ」の内容の例を示す図であって、ここには、ユーザ設定ファイル「／ｅｔｃ／ｐａｓｓｗｄ」の内容の抜粋が示されている。ユーザ設定ファイル「／ｅｔｃ／ｐａｓｓｗｄ」には、図２７Ａに示すように、ＯＳ  １１１ａ上で管理されているユーザを示す情報と、その所属グループを示す情報とが記されている。【０２２１】
図２７Ｂは、ＯＳ  １１１ａにおけるグループ設定ファイル「／ｅｔｃ／ｇｒｏｕｐ」の内容の例を示す図であって、ここには、グループ設定ファイル「／ｅｔｃ／ｇｒｏｕｐ」の内容の抜粋が示されている。グループ設定ファイル「／ｅｔｃ／ｇｒｏｕｐ」には、図２７Ｂに示すように、ＯＳ  １１１ａ上で管理されているグループを示す情報と、そのグループに所属するユーザを示す情報とが記されている。【０２２２】
図２８は、ＯＳ  １１１ａにおけるファイルまたはディレクトリの構造とそのアクセス権の設定の一例を示している。図２８には、コマンド「ｌｓ  −ｌａｒ」を実行することによって得られるものの抜粋が示されている。【０２２３】
図２９Ａは、ウェブサーバ１１１ｂの設定ファイル「ｈｔｔｐｄ．ｃｏｎｆ」の内容の一例を示す図であって、ここには、ａｐａｃｈｅの設定ファイル「ｈｔｔｐｄ．ｃｏｎｆ」の内容の抜粋が示されている。設定ファイル「ｈｔｔｐｄ．ｃｏｎｆ」には、図２９Ａに示すように、ウェブサーバ１１１ｂが利用するファイルまたはディレクトリの指定を示す情報と、ファイルまたはディレクトリのアクセス権を示す情報と、ネットワークポートの設定を示す情報と、認証に利用するユーザ設定ファイルを示す情報などが記されている。【０２２４】
図２９Ｂは、ウェブサーバ１１１ｂの設定ファイルの内容の例を示す図であり、ここには、認証に利用するユーザ設定ファイルとして、図２９Ａに示す設定ファイルに記されているファイル「／ｖａｒ／ｗｗｗ／．ｈｔｐａｓｓｗｄ」の内容が示されている。ファイル「／ｖａｒ／ｗｗｗ／．ｈｔｐａｓｓｗｄ」には、図２９Ｂに示すように、ウェブサーバ１１１ｂが利用する認証のユーザを示す情報が記されている。【０２２５】
セキュリティ検証処理において、まず、設定情報収集部７０は、ステップＳ２０１において、図２７Ａ、図２７Ｂ、図２８、図２９Ａ及び図２９Ｂに示すセキュリティ設定を、検査対象１１１から収集する。その後、設定情報収集部７０は、収集したセキュリティ設定情報を設定情報格納部３１に格納する。【０２２６】
データ伝達経路生成部２１は、設定情報収集部７０が収集して設定情報格納部３１に格納したセキュリティ設定情報にしたがって、プログラムごとにプログラム動作情報格納部３０にプログラムの仕様を問い合わせる。具体的には、プログラム動作情報（図４参照）を参照し、図２７Ａ、図２７Ｂ、図２８、図２９Ａ及び図２９Ｂに示すセキュリティ設定情報内の各プログラムごとに、モデル上に作成するノードまたはアークの種類を問い合わせ、各プログラムに対応するプログラムの仕様を含むプログラム動作情報を読み出す。そして、データ伝達経路生成部２１は、ステップＳ２０３において、設定情報収集部７０が収集して設定情報格納部３１に格納したセキュリティ設定情報とプログラム動作情報格納部３０から読み出されたプログラム動作情報とに基づいて、ノードやアークを作成して行き、データ伝達経路情報を生成する。【０２２７】
この例では、例えば、ＯＳ  １１１ａのセキュリティ設定情報（図２７Ａ及び図２７Ｂ参照）から、ユーザには、「ａ」と、「ｂ」と、「ａｐａｃｈｅ」とがあることが分かる。また、グループには、「ａ」と「ａｐａｃｈｅ」とがあることが分かる。さらに、ユーザ「ａ」とユーザ「ｂ」とがグループ「ａ」に属しており、「ａｐａｃｈｅ」がグループ「ａｐａｃｈｅ」に所属していることが分かる。図３０は、ＯＳ  １１１ａのセキュリティ設定情報に基づいて生成されたデータ伝達経路を示している。【０２２８】
ステップＳ２０３では、上記のセキュリティ設定情報に基づいて、データ伝達経路生成部２１が、以下の手順でデータ伝達経路を作成する。【０２２９】
まず、データ伝達経路生成部２１は、ユーザ「ａ」があることより、ノードＵ＜ａ＞  ５０１を作成し、グループ「ａ」が存在することより、ノードＧ＜ａ＞  ５０３を作成する。また、ユーザ「ａ」がグループ「ａ」に所属していることより、所属関係を表わすアーク５０２を作成する。上記の手順で全てのユーザと、全てのグループと、その所属関係とを反映させると、図３０に示したデータ伝達経路が生成される。ここで、Ｕ＜＞はユーザノードを表わし、Ｇ＜＞はグループノードを表わし、Ｆ＜＞はファイルノードを表わし、Ｎ＜＞はネットワークノードを表わすものとする。図３０及び以下の各グラフにおいて、特に言及する場合を除き、実線黒矢印はデータ移動関係を表わし、点線黒矢印は所属関係を表わし、実線矢印は別名定義を表わし、点線矢印は権限委譲を表わすものとする。【０２３０】
図３１は、ＯＳ  １１１ａが管理するディレクトリ構造（図２８参照）から作られるアークとオブジェクトとが加えられたデータ伝達経路を示している。データ伝達経路生成部２１は、ディレクトリ構造にファイル「／ｈｏｍｅ／ａ／」が存在することより、ノードＦ＜／ｈｏｍｅ／ａ／＞  ６０３を作成する。また、データ伝達経路生成部２１は、このファイル「／ｈｏｍｅ／ａ／」のアクセス権の設定より、ユーザ「ａ」がファイルに書き込み権限があることから、データ移動関係のアーク６０１を作成し、読み込み権限があることから、データ移動関係のアーク６０２を作成する。上記のようにして、図３１に示すデータ伝達経路が生成される。図３２は、ウェブサーバ１１１ｂのセキュリティ設定情報（図２９参照）に基づいて生成されたデータ伝達経路を示している。ウェブサーバ１１１ｂのセキュリティ設定情報によると、「Ｕｓｅｒ  ａｐａｃｈｅ」と記載されているため、ウェブサーバ１１１ｂの実行ユーザがＵ＜ａｐａｃｈｅ＞であることが分かる。したがって、データ伝達経路生成部２１は、ユーザノードＵ＜ａｐａｃｈｅ＞  ７０２を作成する。【０２３１】
また、データ伝達経路生成部２１は、ディレクトリ「／ｈｏｍｅ／ｂ／ｐｕｂｌｉｃ／ｓ／」にＢａｓｉｃ（ベーシック）認証が設定され、「．ｈｔｐａｓｓｗｄ」ファイルにユーザ「ｇ」が設定されていることより、ユーザノードＵ＜ｇ＞  ７０１を作成する。さらに、ウェブサーバ１１１ｂの動作情報により、Ｕ＜ａｐａｃｈｅ＞は、Ｂａｓｉｃ認証が必要なファイルノード以外のファイルノードに対して読み書きが可能である。このため、データ伝達経路生成部２１は、Ｂａｓｉｃ認証のディレクトリ以外に対しては、データ移動関係のアークを作成し、Ｕ＜ｇ＞がＢａｓｉｃ認証のユーザであるため、Ｂａｓｉｃ認証のファイルノード及びその他のファイルノードとデータ移動関係のアークを作成する。【０２３２】
次に、データ伝達経路生成部２１は、ウェブクライアント１１１ｃ及びこれらのプログラム間の動作情報をプログラム動作情報格納部３０に問い合わせる。ウェブクライアント１１１ｃがｈｔｔｐ  （ｈｙｐｅｒｔｅｘｔ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）を利用してデータを移動させることから、データ伝達経路生成部２１は、ｈｔｔｐに関するネットワークノードを作成する。以上のようにして、各レイヤ内のノードとアークが生成される。【０２３３】
次に、プログラム間レイヤの生成と、それに含まれるアークの生成について説明する。まず、ウェブサーバ１１１ｂとＯＳ  １１１ａがインストールされていることより、ウェブサーバ１１１ｂのレイヤとＯＳ  １１１ａのレイヤに関係づけられたプログラム間レイヤを作成する。次に、ウェブサーバ１１１ｂの動作情報より、ウェブサーバ１１１ｂのファイルノードに、ＯＳ  １１１ａのファイルノードの別名定義があることが分かる。このため、データ伝達経路生成部２１は、プログラム間レイヤを作成し、図３３に示すように、ウェブサーバ１１１ｂの該当するファイルノードから、ＯＳ  １１１ａの該当するファイルノードに対して、別名定義関係のアークを作成する。なお、図３３には、プログラム間レイヤは明記されていない。【０２３４】
同様に、ウェブサーバ１１１ｂの動作情報より、ウェブサーバ１１１ｂのユーザに、ＯＳ  １１１ａ上のユーザからの権限委譲であるものがあることが分かる。このため、データ伝達経路生成部２１は、図３３に示すように、ウェブサーバ１１１ｂの該当するユーザから、ＯＳ  １１１ａの該当するユーザに対して権限委譲関係を表わすアークを作成する。【０２３５】
また、ウェブクライアント１１１ｃは、ウェブサーバ１１１ｂの８０番ポートを利用してデータを移動させ、ＯＳ  １１１ａのダイナミック（Ｄｙｎａｍｉｃ）ポートに対してもデータを移動させることが分かる。このため、データ伝達経路生成部２１は、ＯＳ  １１１ａとウェブクライアント１１１ｃに関連付けられたプログラム間レイヤと、ウェブサーバ１１１ｂとウェブクライアント１１１ｃに関連付けられたプログラム間レイヤとを作成し、図３３に示すように、上記の各ポートに対してデータ移動関係を表わすアークを作成する。【０２３６】
また、ウェブクライアント１１１ｃは、ウェブサーバ１１１ｂの８０番ポートを利用してデータを移動させ、ＯＳ  １１１ａのダイナミックポートに対してもデータを移動させることが分かる。このため、データ伝達経路生成部２１は、図３３に示すように、上記の各ポートに対してデータ移動関係を表わすアークを作成する。【０２３７】
上記のようにして、データ伝達経路生成部２１により、データ伝達経路情報が生成される。図３３は、ステップＳ２０３において生成されるデータ伝達経路情報が示すデータ伝達経路を示している。【０２３８】
次に、ステップＳ２０４で実行される、アクセス権統合部４０によるアクセス権統合処理の具体例について説明する。図３４は、アクセス権統合処理を示すフローチャートである。アクセス権統合処理は、複数のプログラムにかかわるアクセス権を統合する処理である。図３５は、ステップＳ２０３において生成されたデータ伝達経路情報が示すデータ伝達経路に対し、以下の説明を行うための符号を付与した図である。【０２３９】
図３５に示すように、ウェブサーバ１１１ｂ上のユーザＵ＜ａｐａｃｈｅ＞  ８０６は、ＯＳ  １１１ａ上のどのファイルにどのようなアクセスが可能であるかは、一見しただけでは分からない。そこで、ウェブサーバ１１１ｂとＯＳ  １１１ａとの間のアクセス権を統合する必要がある。【０２４０】
アクセス権統合処理において、アクセス権統合部４０は、ステップＳ１８１において、統合すべきアークがあるかどうかを調べ、統合すべきアークが存在する場合にステップＳ１８２において権限委譲関係あるいは別名定義関係のアークを選択することにより、ウェブサーバ１１１ｂとＯＳ  １１１ａとの間のアークのうち、任意の権限委譲関係を表わすアーク、または、別名定義関係を表わすアークに着目する。ここでは、権限委譲を表わすアーク８０５に着目するものとする。次いで、アクセス権統合部４０は、ステップＳ１８３において、権限委譲関係のアークの始点にあるノード８０６にデータ移動関係のアークがあるか確認する。データ移動関係のアークがなければステップＳ１８１に戻り、データ移動関係のアーク８０７があれば、ステップＳ１８４において、それを選択する。アクセス権統合部４０は、ステップＳ１８５において、選択したデータ移動関係を表わすアーク８０７をたどり、移動元のノード８０９を選択する。【０２４１】
次いで、アクセス権統合部４０は、ステップＳ１８６において、選択したノード８０９に別名定義関係のアーク８０８があることを確認する。別名定義関係のアークがなければステップＳ１８６に戻り、別名定義関係のアーク８０８があれれば、ステップＳ１８７において、そのアーク８０８をたどり別名定義されているノード８０１を選択する。そして、アクセス権統合部４０は、ステップＳ１８８において、別名定義されたノード８０１から、権限委譲されたノード８０３に向けてデータ移動があることを特定する。このとき、アークは記述しないものとする。そして、アクセス権統合部４０は、ステップＳ１８９において、ステップＳ１８８において特定したデータ移動の方向と、ステップＳ１８４のデータ移動の方向が同じかどうかを判断する。方向が同じでない場合には処理はステップＳ１８３に戻り、方向が同じである場合には、アクセス権統合部４０は、ステップＳ１９０において、図３６に示すように、別名定義されたノード８０１から、権限委譲関係のアークの始点にあるノード８０６に向けて新たなデータ移動関係のアーク９０１を作成する。ステップＳ１９０の後、処理は、ステップＳ１８１に戻る。【０２４２】
アクセス権統合部４０は、統合すべきアーク、すなわち権限委譲関係を表わすアーク及び別名定義関係のアークがなくなるまで上記の処理を繰り返し実行し、新たなデータ移動関係のアークを作成するとともに、権限委譲関係を表わすアーク及び別名定義関係のアークを消去して、図３７に示すような２種類のアーク、すなわち所属関係を表わすアーク及びデータ移動関係を表わすアークに統合されたグラフを作成する。【０２４３】
次に、ステップＳ２０５における、データ伝達経路変換部５１によるデータ伝達経路変換処理の具体例について説明する。データ伝達経路変換処理は、セキュリティ検証用ポリシーに一致するデータ伝達経路を探索することができるように、所属関係を表わすアーク及びデータ移動関係を表わすアークの２種類のアークからなるグラフを、データ移動関係のアークだけからなるツリー構造に変換する処理である。言い換えれば、データ伝達経路変換部５１は、２種類のアークからなるグラフを、１種類のアークからなるツリー構造（木構造）に変換する。以下、ツリー構造のことを単にツリー（木）と呼ぶことがある。【０２４４】
ここでは、例えば、図３８に示すデータ伝達経路が与えられたときのデータ伝達経路変換処理について説明する。図３９は、図３８に示すデータ伝達経路を、データ伝達経路変換処理によって変換した後のデータ伝達経路を示している。図４０は、データ伝達経路変換処理を示すフローチャートである。【０２４５】
データ伝達経路変換処理において、データ伝達経路変換部５１は、まず、ステップＳ２１５において、任意の利用していないノードを選択する。「利用していないノード」とは、今回のデータ経路変換処理において未だ利用していないノードのことを意味する。ステップＳ２１５では、データ伝達経路の各ノードのうち、アークを示す矢印が入り込んでいない任意のノードが選択される。この例では、ステップＳ２１５において、図３８に示すノード１００１またはノード１００５が選択される。【０２４６】
ステップＳ２１５においてノード１００１を選択すると、データ伝達経路変換部５１は、ステップＳ２１６において、選択したノード１００１をノード１１０１とし、ツリー構造のルートとして加える。ノード１００１をツリーに加えると、データ伝達経路変換部５１は、ステップＳ２１７において、ツリーに加えたノード１００１に利用していないアークがあるかどうかを確認する。ここで、「利用していないアーク」とは、今回のデータ経路変換処理において未だ利用していないアークのことを意味する。【０２４７】
利用していないアークがあった場合には、データ伝達経路変換部５１は、ステップＳ２１８において、そのアークがデータ移動関係であるかどうかを判断し、そのアークがデータ移動関係である場合には、ステップＳ２１９において、そのアークの行先にあるノード１００２を、ノード１１０２としてツリーに加え、ステップＳ２１７に戻る。【０２４８】
また、利用していないアークがデータ移動関係でない場合には、ステップＳ２２０において、そのアークが所属関係かどうかを判断し、所属関係でなければステップＳ２１７に戻り、所属関係であれば、データ伝達経路変換部５１は、ステップＳ２２１において、そのアークの行先にあるノードをツリーに加える。具体的には、図３８に示すように、ツリーに加えたノード１００２に利用していない所属関係のアークがあるため、そのアークの行先にあるノード１００４をノード１１０３として、図３９に示すようにツリーに加える。【０２４９】
所属関係のアークの行先にあるノードをツリーに加えると、データ伝達経路変換部５１は、ステップＳ２２２において、利用していないデータ移動関係のアークがあるか確認し、そのようなアークがあれば、ステップＳ２２３において、そのアークの行先にあるノードをツリーに加え、ステップＳ２１７に戻る。すなわち、所属関係のアークを利用してノードを訪問したあとは、データ伝達経路変換部５１は、データ移動関係のアークを利用して訪問できるノードがあるかだけを確認する。【０２５０】
ステップＳ２１７において利用していないアークがないと判定したとき、またはステップＳ２２２において利用していないデータ移動関係のアークがないと判定したときには、データ伝達経路変換部５１は、ステップＳ２２４において、戻るノードがあるか否かを確認する。戻るノードがあれば、データ伝達経路変換部５１は、ステップＳ２２６において、ノードを１つ戻し、ステップＳ２１７に移行する。一方、ステップＳ２２４において戻るノードがなければ、データ伝達経路変換部５１は、ステップＳ２２５において、利用していないアークとノードとの組合せがあるか否か確認し、あればステップＳ２１５に移行し、なければ処理を終了する。【０２５１】
上記の手順で、すべてのアークを利用して、図３８に示すグラフ構造を変換すると、図３９に示すような、ノード１００１をノード１１０１としたルートと、ノード１００５をノード１１０９としたルートとを有するツリー構造が作成される。すなわち、図３９に示すツリー構造のデータ伝達経路に変換される。【０２５２】
次に、ステップＳ２０６における、ポリシー入力部１０によるセキュリティ検証用ポリシー入力処理の具体例について説明する。セキュリティ検証用ポリシー入力処理は、ユーザからのセキュリティ検証用ポリシーの指定を受け付け、検証部５０に入力する処理である。【０２５３】
セキュリティ検証用ポリシーは、あってはならないデータ移動経路を表わすものであり、ノードの正規表現で記述される。なお、ノードの他に、ノードの集合を表わす記号を定義して利用するようにしてもよい。ここでは、例えば、［ＮＥＴ］は任意のネットワークノード表わし、［ＵＳＥＲ］は任意のユーザを表わすものとする。また、「．」は任意のノードを表わし、「＊」は直前のノードもしくは記号の０回以上の繰り返しを表わし、「｜」は「ＯＲ」を表わし、「＾」は直後のノード以外のノードを表わすものとする。この他、周知の正規表現を用いて表現することができる他の記号を用いるようにしてもよい。【０２５４】
図４１は、ポリシー入力部１０がユーザから受け付けるセキュリティ検証用ポリシーの表現例を示している。図４１には、「ポリシー１」から「ポリシー５」までのセキュリティ検証用ポリシーの５つの例が記載されている。【０２５５】
「ポリシー１」は、ユーザノードＵ＜ａ＞の情報が任意のノードを経由してファイルノードＦ＜／ｄ／＞に移動してはならないことを意味する。言い換えると、「ポリシー１」は、ユーザ「ａ」がファイル「／ｄ／」に任意の経路で書き込んではならないことを表わす。【０２５６】
「ポリシー２」は、ファイルノードＦ＜／ｃ／＞の情報が、任意のノードを経由し、任意のネットワークを経由し、ユーザノードＵ＜ａ＞に移動してはならないことを意味する。言い換えると、「ポリシー２」は、ファイル「／ｃ／」を、ネットワークを経由してユーザ「ａ」が読んではならないことを表わす。【０２５７】
「ポリシー３」は、ファイルノードＦ＜／ｃ／＞の情報が、任意のノードを経由してネットワークノードＮ＜ｐ４４３＞以外を通り、さらに任意のノードを経由してユーザノードＵ＜ｂ＞に移動してはならないことを意味する。言い換えると、「ポリシー３」は、ファイル「／ｃ／」を４４３ポート以外のネットワークを利用してユーザ「ｂ」が読んではいけないことを表わす。【０２５８】
「ポリシー４」は、ユーザノードＵ＜ｂ＞以外の情報が、任意のノードを経由してファイルノードＦ＜／ｂ／ｐｕｂｌｉｃ／＞に移動してはならないことを意味する。言い換えると、「ポリシー４」は、ユーザ「ｂ」以外のユーザがファイル「／ｂ／ｐｕｂｌｉｃ／」に書き込んではならないことを表わす。【０２５９】
「ポリシー５」は、ユーザノードＵ＜ｂ＞またはユーザノードＵ＜ｇ＞以外の情報が、任意のノードを経由してファイルノードＦ＜／ｂ／ｐｕｂｌｉｃ／ｓ／＞に移動してはならないことを意味する。言い換えると、「ポリシー５」は、ユーザ「ｂ」またはユーザ「ｇ」以外が、ファイル「／ｂ／ｐｕｂｌｉｃ／ｓ／」に書き込んではならないことを表わす。【０２６０】
次に、ステップＳ２０７における、パターンマッチング部５２が実行するパターンマッチング処理の具体例について説明する。【０２６１】
パターンマッチング処理において、パターンマッチング部５２は、データ伝達経路変換部５１からデータ伝達経路を受け取るとともに、ポリシー入力部１０からセキュリティ検証用ポリシーを受け取る。そして、パターンマッチング部５２は、データ伝達経路変換部５１から受け取ったデータ伝達経路の中から、ポリシー入力部１０から受け取ったセキュリティ検証用ポリシーに一致する経路を探索する。具体的には、セキュリティ検証用ポリシーに一致する経路に含まれているアークとノードとを探索して抽出する。図４１に示したセキュリティ検証用ポリシーは、正規表現に準じている。このため、パターンマッチング部５２によるパターンマッチング処理は、周知の正規表現の探索アルゴリズムを用いて実現できる。【０２６２】
次に、パターンマッチング部５２が、ステップＳ２１０の前に実行される処理として実行する違反経路検索処理について説明する。【０２６３】
図４２は、パターンマッチング部５２によるパターンマッチング処理によって探索された不適経路を表わすグラフを示しており、この図では、実線矢印部分が不適経路を示している。図４２において実線で囲まれているノードは、不適経路の始点、終点または通過点となっているノードである。図４３は、違反経路検索処理を示すフローチャートである。図４４は、図４２に表れている不適経路を取り出して示す図である。以下、図４２に表れている不適経路を検索し、図４４に示す不適経路を生成する処理について説明する。【０２６４】
違反経路検索処理において、パターンマッチング部５２は、まず、ステップＳ２４１において、不適経路の先頭ノード１２０１を取り出す。ステップＳ２４２において、先頭ノードに接続されたアークがあるかどうかを調べ、そのようなアークがあれば、パターンマッチング部５２は、ステップＳ２４３において、アーク１２０２とノード１２０３を取り出す。次いで、パターンマッチング部５２は、ステップＳ２４４において、ノード１２０３を先頭ノードとし、ステップＳ２４２に移行し、上述の処理を繰り返す。これにより、図４４に示す不適経路を生成することができる。そして、パターンマッチング部５２は、生成した不適経路を示すデータを設定情報検索部８０に向けて出力する。【０２６５】
次に、ステップＳ２１０における、設定情報検索部８０が実行する設定情報検索処理について説明する。図４５は、設定情報検索処理を示すフローチャートである。ここでは、図４４に示した不適経路が許容されている原因となっている不適設定を、設定情報検索部８０が検索する処理について説明する。【０２６６】
設定情報検索処理において、設定情報検索部８０は、まず、ステップＳ２９１において、パターンマッチング部５２から受け取った不適経路に含まれるノードを、データ伝達経路情報格納部３２に格納されている、アクセス権統合部４０によるアクセス権の統合後のデータ伝達経路から検索する。図４６は、アクセス権の統合後のデータ伝達経路から不適経路に含まれるノードが検索された状態の例を示している。図４６に示すように、アクセス権の統合後のデータ伝達経路から、不適経路に含まれるノード、すなわち太字で囲まれているノードが検索される。また、ステップＳ２９１では、パターンマッチング部５２から受け取った不適経路に基づいて、図４６に示すように、アクセス権の統合後のデータ伝達経路に対応するアークがあれば、不適経路に含まれる各ノードについてのデータ移動関係を示すアーク、すなわち太字黒矢印で示されたアークが検索される。【０２６７】
次いで、設定情報検索部８０は、ステップＳ２９２において、検索されたノードに対応するノードをアクセス権の統合前のデータ伝達経路から検索する。図４７は、アクセス権の統合前のデータ伝達経路における不適経路が検索された状態の例を示している。図４７に示すように、ステップＳ２９１において検索されたノードに対応するノードがアクセス権の統合前のデータ伝達経路から検索され、アクセス権の統合前のデータ伝達経路から不適経路に含まれるノード、すなわち太字で囲まれているノードが検索される。また、ステップＳ２９２では、パターンマッチング部５２から受け取った不適経路に基づいて、図４６に示すように、ステップＳ２９１において検索されたアークに対応するアークがアクセス権の統合前のデータ伝達経路にあれば、そのアーク（太字黒矢印のアーク）が検索される。【０２６８】
設定情報検索部８０は、ステップＳ２９３において、アクセス権の統合前のデータ伝達経路から検索されたノードに含まれる権限委譲のアークと別名定義のアークとを検索し、それらのアークに接続されているノードを検索する。ステップＳ２９３では、アクセス権の統合前のデータ伝達経路から検索されたノードに関係する権限委譲及び別名定義のアークが検索される、権限委譲及び別名定義のアークは、権限委譲元、権限委譲先、別名定義元、別名定義先のいずれかを示すアークである。さらに、ステップＳ２９３では、そのように検索されたアークに関係する全てのノード、すなわち権限委譲元、権限委譲先、別名定義元、別名定義先のいずれかとなっているノードが検索される。図４８は、権限委譲のアークと別名定義のアークとそれらのアークに接続されているノードが検索された状態の例を示している。この例では、図４８に示すように、ステップＳ２９３において、図４７に示すアクセス権の統合前のデータ伝達経路で検索された各ノードに基づいて、権限委譲のアークと別名定義のアークがそれぞれ１つ検索され、それらのアークに関係する４つのノードが検索される。【０２６９】
次に、設定情報検索部８０は、ステップＳ２９４において、ステップＳ２９３において新たに検索されたアークとノードに対してデータ統合で行った処理を逆の手順で適用し、不適経路を作成する原因となった全てのノードとアークを検索する。図４９は、不適経路を作成する原因となった全てのノードとアークが検索された状態の例を示している。この例では、図４９に示すように、ステップＳ２９４において、ステップＳ２９３において新たに検索されたアークとノードとに基づいて、別名定義関係にある２つのノードについて移動方向が同じとなる２つのデータ移動関係のアークと、データ移動先が権限委譲関係にあることを示す２つの権限委譲のアークのうちの１つとが検索されるとともに、新たに検索されたアークに関係するノードが検索され、さらに、図４７に示されている検索済みの不適経路が付加される。【０２７０】
そして、設定情報検索部８０は、ステップＳ２９５において、検索された全てのノードとアークに対してそれらが作成される原因となったセキュリティ設定情報を、データ伝達経路情報に含まれるセキュリティ設定情報のＩＤを利用して設定情報格納部３１から取り出す。図５０は、データ伝達経路情報における不適設定箇所を表わした状態の例を示し、図５１は、設定情報格納部３１から取り出されたセキュリティ設定情報の例を示している。図５０に示すように、設定情報検索部８０は、データ伝達経路情報格納部３２からデータ伝達経路情報（図５参照）を読み出し、図４９に示した不適経路に基づいて、データ伝達経路情報内の不適設定がなされている部分、例えば４角形で囲まれている部分を検索する。そして、図５１に示すように、設定情報検索部８０は、不適設定となっているセキュリティ設定の設定情報ＩＤに基づいて、設定情報格納部３１から、不適設定となっているセキュリティ単位情報を含むセキュリティ設定情報を読み出す。【０２７１】
上記の処理により、不適経路を生成する原因となった設定ミスを含むセキュリティ設定情報を取り出すことができる。【０２７２】
次に、ステップＳ２１１における、検証結果表示部６０による不適設定表示処理について説明する。【０２７３】
検証結果表示部６０は、設定情報検索部８０によって検索された不適設定を示す情報、例えば、図５０に示す不適設定箇所を示す情報や図５１に示す不適設定の内容を示す情報を表示画面に表示して、システム検証者などのユーザに報知する処理を実行する。このような具体的処理を実行することで、検証対象システム１１１における不適経路を探索して不適設定を報知することができる。【０２７４】
なお、上記の例では言及していないが、不適設定に基づく経路を表示するようにしてもよい。この場合、例えば、図５２に示すようなグラフを表示画面に表示することで、不適当である移動経路を強調して報知するようにすればよい。図５２には、不適経路のみが実線黒矢印によって表わされている。なお、不適経路が強調されていれば、どのような表示形式であってもよい。なお、図４９に示したような、不適経路を作成する原因となった全てのノードとアークが検索された状態のグラフを表示するようにしてもよい。【０２７５】
この例では、アクセス権統合部４０は、アクセス権を統合する際に、例えば、図３５に示す権限委譲を表わすアーク８０５などから、図３６に示すデータ移動関係を表わすアーク９０１を生成する処理を行う。上記の例では言及していないが、データ移動関係を表わすアーク９０１を生成するときに、アーク９０１の生成に利用した全てのアーク及びノード、すなわちデータ移動関係を特定するために利用された全てのアーク及びノードに付随する設定情報ＩＤを、新たに作成したアーク９０１の設定情報ＩＤとして複写するようにしてもよい。これにより、アクセス権の統合の際に生成されたデータ移動関係のアークには、そのアークの生成に利用された全てのアーク及びノードの設定情報ＩＤが対応付けされることになる。なお、設定情報ＩＤでなくセキュリティ設定情報がアーク及びノードに対応付けされていた場合には、そのセキュリティ設定情報を新たに生成されたデータ移動関係のアークに複写するようにすればよい。このように、アクセス権の統合の際に新たに生成されたデータ移動関係のアークに設定情報ＩＤを対応付けさせる機能を有するアクセス権統合部４０を備えたセキュリティ検証システム１００においては、設定情報検索部８０は、以下のような処理を行うようにすればよい。すなわち、この場合、設定情報検索部８０は、パターンマッチング部５２によって出力された不適経路のノード列から、不適経路を構成する全てのノードとアークを検索したあと、それらのノードとアークに対応付けされている設定情報ＩＤに基づいて、設定情報格納部３１からセキュリティ設定情報を検索し、検索によって抽出されたセキュリティ設定情報を検証結果表示部６０に出力する処理を行う。設定情報ＩＤでなくセキュリティ設定情報がアーク及びノードに対応付けされていた場合には、設定情報検索部８０は、設定情報格納部３１を検索することなく、不適経路を構成する全てのノードとアークに対応付けされているセキュリティ設定情報を検証結果表示部６０に出力するようにすればよい。【０２７６】
例２：
次に、上述したセキュリティ検証システム１００の具体例を、ユーザインタフェースの観点から説明する。ここでは、図２６に示したセキュリティ検証システム１００において、検査コンピュータ１２０が備える表示装置に表示される画面を中心に説明する。【０２７７】
図５３は、セキュリティ検証システム１００におけるユーザインターフェイスの全体像を示す基本画面の例を示している。基本画面には、複数のタブ１０１，１０２，１０３，１０４，１０５を表示する表示領域が設けられている。システム検証者などのユーザの操作によって、タブ１０１，１０２，１０３，１０４，１０５のいずれかが選択されると、選択されたタブに対応する画面が表示される。すなわち、基本画面では、検証者などによるタブの選択操作に応じて、画面の表示内容を切り替えることができ、複数の情報を表示することができる。なお、図５３には、アラートタブ１０３が選択されたときに表示されるアラート画面が示されている。【０２７８】
次に、セキュリティ検証システム１００にセキュリティ認証処理を実行させる場合における、検証者などによるユーザインタフェースの操作について説明する。【０２７９】
セキュリティ検証システム１００にセキュリティ認証処理を実行させるときには、システム検証者などのユーザは、先ず、検査コンピュータ１２０が備える操作部（不図示）を操作して、表示装置に基本画面（図５３参照）を表示させる。操作部としては、例えば、キーボードやマウスなどの情報入力装置が用いられる。【０２８０】
次いで、システム検証者などのユーザは、操作部の操作によってトポロジータブ１０１を選択し、トポロジー画面を表示させる。図５４及び図５５は、トポロジータブ１０１が選択されているときに表示装置に表示されるトポロジー画面の例を示している。基本画面においてトポロジータブ１０１が選択されると、検査コンピュータ１２０は、表示装置に図５４に示すトポロジー画面を表示させる。図５３は、設定情報収集部７０によって情報が収集されていないときのトポロジー画面の例を示している。【０２８１】
図５４に示すトポロジー画面には、設定情報表示窓２０１と、設定情報収集ボタン２０３と、設定情報収集対象設定ボタン２０４とが設けられている。ここでは、設定情報表示窓２０１には、情報が未収集であることを意味する「設定情報未収集表示」２０２がなされている。設定情報収集ボタン２０３は、設定情報収集部７０に対してセキュリティ設定情報の収集指示するためのボタンである。設定情報収集対象設定ボタン２０４は、セキュリティ設定の検証対象となるホストを選択するためのボタンである。なお、設定情報収集対象設定ボタン２０４を押すことで、セキュリティ設定の検証対象となるコンピュータまたは、プログラムの候補の一覧が表示され、その中からセキュリティ設定の検証対象を選択することもできる。【０２８２】
図５４に示すトポロジー画面が表示されると、検証者などは、操作部の操作によって設定情報収集ボタン２０３を押下またはクリックし、セキュリティ設定情報の収集指示、あるいはデータ伝達経路の生成指示を行う。【０２８３】
設定情報収集ボタン２０３の押下またはクリックによる収集指示に応じてセキュリティ設定情報が収集されると、例えば図５５に示すように、設定情報表示窓２０１に、収集されたセキュリティ設定情報に基づいて作成されたデータ伝達経路が表示される。ここでは、図５５に示すように、データ伝達経路生成部２１によって生成されたデータ伝達経路（図３３参照）が表示される。【０２８４】
図５５に示すトポロジー画面には、データ伝達経路が表示される表示領域３０１と、設定情報再収集ボタン３０２と、検証開始ボタン３０３と、設定情報収集対象設定ボタン２０４とが設けられている。すなわち、設定情報収集ボタン２０３は、セキュリティ設定情報の収集等が実行された後に、設定情報再収集ボタン３０２に変化する。また、図５５に示すトポロジー画面には、設定情報収集ボタン２０３が押下またはクリックされたことに応じて収集されたセキュリティ設定情報に基づいて生成されたデータ伝達経路が、設定情報表示窓２０１内の表示領域３０１に表示された状態が示されている。【０２８５】
設定情報再収集ボタン３０２は、設定情報収集部７０に対して改めてセキュリティ設定情報の収集指示を行い、設定情報表示窓２０１にデータ伝達経路を再描画させるための指示を行うためのボタンである。検証開始ボタン３０３は、データ伝達経路生成部２１によって生成されデータ伝達経路情報格納部３２に格納されたデータ伝達経路のアクセス権を統合する処理をアクセス権統合部４０に実行させ、アクセス権が統合された後のデータ伝達経路を検証部５０に送信させ、さらに、検証部５０でのセキュリティ検証の開始を指示するためのボタンである。【０２８６】
図５５に示すトポロジー画面が表示されると、検証者などは、操作部の操作によって検証開始ボタン３０３を押下またはクリックし、検証部５０での検証の開始指示を行う。この例では、検証の開始指示に応じて、アクセス権統合部４０によってアクセス権が統合され、さらにデータ伝達経路変換部５１によって変換されたデータ伝達経路が生成され、パターンマッチング部５２に送信される。そして、検証部５０は、セキュリティ検証用ポリシーの入力待ち状態となる。【０２８７】
次いで、検証者などは、操作部の操作によって検証に用いるセキュリティ検証用ポリシーの指定するための操作を行う。すなわち、検証者などは、操作部の操作によってポリシータブ１０２を選択し、ポリシー画面を表示させ、ポリシー画面においてセキュリティ検証用ポリシーを指定する。【０２８８】
図５６は、ポリシータブ１０２が選択されたときに表示装置に表示されるポリシー画面の例を示している。図５６に示すように、ポリシー画面には、セキュリティ検証用ポリシーの一覧表示がなされるポリシー一覧窓４０１が設けられる。ポリシー一覧窓４０１のチェックボックス４０２は、対象ポリシーを実際に用いて検証を行うかどうかを示すものである。すなわち、チェックボックス４０２がＯＮになっているポリシーだけが、ポリシー入力部１０によってパターンマッチング部５２に送信され、検証対象のセキュリティ検証用ポリシーとされる。なお、図５６においては、チェックボックス内が塗り潰し表示された状態が、そのチェックボックスがＯＮになっていることを示している。【０２８９】
ポリシー画面には、ポリシーの名前、書式、意味、分類などの付属情報のうちの少なくとも１つが表示されるポリシー詳細情報表示窓４０８が設けられている。書式とは、ポリシーの記述形式にしたがった表記のことである。ここでは、システム検証者などのユーザによる操作部の操作によって、ポリシー一覧窓４０１においてポリシーの名前４０３が選択されると、選択されたポリシーに関する詳細情報がポリシー詳細情報表示窓４０８に表示されるとともに、詳細情報を表示しているポリシーの名前が、図５６において破線囲み部分として表わされているように、強調表示される。【０２９０】
さらに、ポリシー画面には、検証開始ボタン４０６と、読込ボタン４０７と、ポリシー追加ボタン４０８と、保存ボタン４１０とが設けられている。読込ボタン４０７は、ポリシー格納部３３に保存されているポリシーの読込指示を行うためのボタンである。保存ボタン４１０は、ポリシー格納部３３へのポリシーの保存指示を行うためのボタンである。【０２９１】
この例では、ポリシー画面において、検証者などによる操作部の操作によって新規のポリシー４０５が選択されると、ポリシー詳細情報表示窓４０８のすべての情報がいったん空になる。そして、検証者などによる操作部の操作によって、ポリシー詳細情報表示窓４０８に新しいポリシーが書き込まれたあと、ポリシー追加ボタン４０９が押下またはクリックされると、新たなポリシーが、ポリシー一覧窓４０１に追加される。【０２９２】
セキュリティ検証システム１００では、検証者などは、ポリシー画面において、操作部の操作によって、検証に用いるポリシーを指定したあと、検証開始ボタン４０６を押下またはクリックする。すると、指定したセキュリティ検証用ポリシーがパターンマッチング部５２に送信されるとともに、指定したセキュリティ検証用ポリシーと既に入力されているデータ伝達経路とを用いたパターンマッチング処理が実行される。その後、さらに、設定情報検索部８０による設定情報検索処理が実行され、検索結果が検証結果表示部６０に送信される。【０２９３】
検証者などは、操作部の操作によって、アラートタブ１０３を押下またはクリックする。図５７は、アラートタブ１０３が選択されたときに表示装置に表示されるアラート画面の例を示している。図５７に示すように、アラート画面には、設定情報検索部８０による検索結果の一覧が表示される。アラート一覧表示窓４２１には、検証結果表示部６０によって、設定情報検索部８０によって検索された検索結果の全ての不適設定が表示される。不適設定として表示される項目は、例えば、セキュリティ検証用ポリシーの分類、名前、書式、そのセキュリティポリシーが示す禁止経路と一致していたデータ伝送経路のうち、少なくとも１つを含む。なお、アラート一覧表示窓４２１に、上述した図５０や図５１に示した不適設定の詳細内容が表示されるようにしてもよい。【０２９４】
検証者などは、操作部の操作によって、リザルトタブ１０４を押下またはクリックする。図５８は、リザルトタブ１０４が選択されたときに表示装置に表示されるリザルト画面の例を示している。図５８に示すように、リザルト画面には、設定情報検索部８０が探索した全ての不適経路を表わすグラフ（図４９参照）が表示される。リザルト画面には、検出結果表示窓４３１に、データ伝達経路のうち不適経路が強調表示されたグラフが表示される。また、ポリシー情報表示窓４３２には、検出結果表示窓４３１に表示されている違反経路（不適経路）に関する各種の情報を表示する。【０２９５】
この例では、検証者などによる操作部の操作によって表示経路変更ボタン４３３が選択されると、違反経路一覧が表示される。そして、検証者などによる操作部の操作によって、違反経路一覧の中から１つの違反経路が選択されると、検出結果表示窓４３１に表示される違反経路が変更される。なお、違反経路一覧は、例えば、図４２に示すような表示形式とされる。【０２９６】
そして、検証者などは、操作部の操作によって、ディテールタブ１０５を押下またはクリックする。図５９は、ディテールタブ１０５が選択されたときに表示装置に表示されるディテール画面の例を示している。図５９に示すように、ディテール画面には、検証結果表示部６０によって、不適経路の詳細が表示される。ここでは、設定情報検索部８０で不適設定として検索されたセキュリティ単位情報に対応する設定情報ファイルの一覧を、設定ミスの可能性のある設定情報ファイルの内容すなわちセキュリティ単位情報が表示される不適設定表示窓４５１に表示する。【０２９７】
ディテール画面には、不適設定表示窓４５１において検証者などによって選択された設定情報ファイルの内容が、設定ファイル内容表示窓４５２に表示される。さらに、現在表示している不適経路に関する情報が表示違反経路表示窓４５３に表示される。【０２９８】
上記のようにして、ユーザインターフェイスのための各種の画面表示がなされ、システム検証者などのユーザによる画面上の操作に基づいて各種の処理が実行され、実行結果が表示される。【０２９９】
例３：
図６０は、図２に示したセキュリティ検証システム１００の他の具体的構成を示している。なお、図６０に示すセキュリティ検証システム１００は、図２６と比較すると、データ伝達経路変換部５１にポリシー入力部からの情報入力がなされる構成となっている部分が異なり、他の構成は同一である。【０３００】
この例では、ポリシー入力部１０は、入力されたセキュリティ検証用ポリシーの先頭ノードをデータ伝達経路変換部５１に出力する。データ伝達経路変換部５１は、アクセス権統合部４０から受けたデータ伝達経路情報を、ポリシー入力部１０からのセキュリティ検証用ポリシーの先頭ノードをルートとするツリー構造に変換し、変換したツリー構造のデータをパターンマッチング部５２に出力する。パターンマッチング部５２は、ポリシー入力部１０からのセキュリティ検証用ポリシーを、データ伝達経路変換部５１によって変換されたツリー構造から検索し、検索結果を設定情報検索部８０に出力する。【０３０１】
次に、ステップＳ２０５に示した、この例におけるデータ伝達経路変換部５１によるデータ伝達経路変換処理の具体例について説明する。ここでは、例えば、図３８に示すデータ伝達経路が与えられたときのデータ伝達経路変換処理について説明する。【０３０２】
図６１Ａ及び図６１Ｂは、ポリシー入力部１０からセキュリティ検証用ポリシー「（Ｕ＜ａ＞｜Ｕ＜ｂ＞）．＊Ｆ＜ｅ＞」の先頭ノードとして「（Ｕ＜ａ＞｜Ｕ＜ｂ＞）」が与えられたときに、図３８に示すデータ伝達経路をこの例におけるデータ伝達経路変換処理によって変換した後のデータ伝達経路を示している。図６２は、この例におけるデータ伝達経路変換処理を示すフローチャートである。【０３０３】
データ伝達経路変換処理において、データ伝達経路変換部５１は、まず、ステップＳ４６１において、ポリシー入力部１０からセキュリティ検証用ポリシーの先頭ノードとして「（Ｕ＜ａ＞｜Ｕ＜ｂ＞）」を受信する。データ伝達経路変換部５１は、ステップＳ４６２において、受信したセキュリティ検証用ポリシーの先頭ノードが、グループ、すなわち、グループノードまたはＯＲで結ばれた複数のノードをグループにしたものであるかどうかを判断する。ステップＳ４６２において、先頭ノードがグループであった場合には、データ伝達経路変換部５１は、ステップＳ４６３において、そのグループに所属するノードの１つを先頭ノードとして選択する。この例では、先頭ノード「（Ｕ＜ａ＞｜Ｕ＜ｂ＞）」がグループであるから、ステップＳ４６３において、グループに当てはまる任意のノード（例えば（Ｕ＜ａ＞））が選択される。ステップＳ４６２において、セキュリティ検証用ポリシーの先頭ノードがグループでない場合、すなわち単独のノードであれば、データ伝達経路変換部５１は、ステップＳ４６４において、そのノードを先頭ノードとして選択する。【０３０４】
先頭ノードを選択すると、データ伝達経路変換部５１は、ステップＳ４６５において、選択したノードをルートとするツリー構造を作成する。ステップＳ４６５では、上述したステップＳ２１６〜ステップＳ２２３と同様の処理が実行される。その結果、この例では、図６１Ａに示すようなノード（例えば（Ｕ＜ａ＞））をルートとするツリー構造が生成される。【０３０５】
その後、ステップＳ４６６において、受信したセキュリティ検証用ポリシーの先頭ノードがグループであり、そのグループに所属するノードに未だ先頭ノードとして選択されていないノードがあるかどうかを判断し、そのようなノードがある場合には、データ伝達経路変換部５１は、ステップＳ４６２に戻り、その後、ステップＳ４６３において、そのノードを先頭ノードとして選択する。この例では、先頭ノード「（Ｕ＜ａ＞｜Ｕ＜ｂ＞）」がグループであり、ノード（例えば（Ｕ＜ａ＞））が既に先頭ノートして選択されているから、このステップＳ４６３において、グループに当てはまるノード（例えば（Ｕ＜ｂ＞））が選択される。そして、ステップＳ４６５において、選択したノードをルートとするツリー構造を作成する。その結果、この例では、図６１Ｂに示すようなノード（例えば（Ｕ＜ｂ＞））をルートとするツリー構造が生成される。【０３０６】
上記のステップＳ４６３〜ステップＳ４６６の処理は、グループに当てはまる全てのノードをルートするツリー構造のデータ伝達経路情報が作成されるまで繰り返される。【０３０７】
この例では、以上のようにして、データ伝達経路変換部５１が、ポリシー入力部１０から入力されたセキュリティ検証用ポリシーの先頭ノードを利用して、ツリー構造のデータ伝達経路情報に変換する処理を実行する。【０３０８】
例４：
次に、図１１に示したセキュリティ検証システム１００ｄの具体的例について説明する。ここでは、セキュリティ検証システム１００ｄにおけるセキュリティ検証処理（図１３参照）の具体的動作について説明する。【０３０９】
この例では、図６３に示すような４つのホストＳＥＲＶＥＲ１，ＳＥＲＶＥＲ２，ＦＩＲＥＷＡＬＬ及びＣＬＩＥＮＴから構成されるコンピュータシステムの設定検証を行う場合について説明する。なお、すべてのホストのＯＳは、Ｌｉｎｕｘで構成されてるものとし、ホストＳＥＲＶＥＲ１、ＳＥＲＶＥＲ２は、後述するサービスがインストールされたサーバとして動作するものとする。また、ホストＦＩＲＥＷＡＬＬは、「ｉｐｃｈａｉｎｓ」と呼ばれているファイアウォール用ソフトウェアが導入され、パケットフィルタリングを行う。ホストＣＬＩＥＮＴには、ユーザがログインして他のサーバの機能を利用するためなどに用いられるクライアントソフトが導入されている。【０３１０】
始めに、設定モデル入力部１１により、コンピュータシステムの構成及びセキュリティ設定情報を表わした設定モデルをこのシステムに入力する（ステップＳ３０１参照）。設定モデルは、以下の手順で、システム検証者などのユーザによって入力された各種情報を、設定モデル入力部１１が設定モデル格納部３４に格納することで入力される。【０３１１】
まず、設定モデル入力部１１は、検証者などのユーザの操作によって入力された検証対象となるホストを、設定モデル格納部３４に格納する。この処理は、検証者が検証対象となるホストを特定したことに基づいて行う。【０３１２】
ここでは、図６３に示すＳＥＲＶＥＲ１、ＳＥＲＶＥＲ２、ＦＩＲＥＷＡＬＬ、及びＣＬＩＥＮＴの４つのホストが存在するため、設定モデル入力部１１によってこれら４つのホストを入力する。４つのホストが入力されると、例えば図６４のように、検証対象となるホストが設定モデル格納部３４に格納される。【０３１３】
次に、検証者などは、設定モデル入力部１１を操作して、ホストのＩＰアドレスを入力する。この例では、図６５に示すようにＩＰアドレスがホストにそれぞれ割り当てられているものとする。この場合、検証者などは、ＩＰアドレスがどのホストに所属しているかを表わす関数「ｂ」を用いて、
ｂ（１９２．１６８．２．５）＝ＳＥＲＶＥＲ２，
ｂ（１９２．１６８．２．４）＝ＳＥＲＶＥＲ１，
ｂ（１９２．１６８．２．３）＝ｂ（１９２．１６８．１．１）＝ＦＩＲＥＷＡＬＬ，
ｂ（１９２．１６８．１．２）＝ＣＬＩＥＮＴ
と入力する。【０３１４】
ＩＰアドレスの所属情報は、ＯＳがＬｉｎｕｘの場合には、各ホストのディレクトリ「／ｅｔｃ／ｓｙｓｃｏｎｆｉｇ／ｎｅｔｗｏｒｋ−ｓｃｒｉｐｔ／」に格納された「ｉｆｃｆｇ−ｅｔｈ０、ｉｆｃｆｇ−ｅｔｈ１」などの設定ファイルに書かれている。具体的には、ホストＳＥＲＶＥＲ２には、図６６に示すファイル「ｉｆｃｆｇ−ｅｔｈ１」が格納されており、このファイル中の文字列「ＩＰＡＤＤＲ＝」以降に続く数字がＳＥＲＶＥＲ２に関連付けられたＩＰアドレスである。他のＩＰアドレスも同様である。【０３１５】
ホストのＩＰアドレスは、前述の４つのホストとあわせて、例えば図６７に示すように、設定モデル格納部３４に格納される。【０３１６】
次に、ネットワーク接続を表現したグラフＧを入力する。グラフＧは、各ＩＰアドレスを頂点とするグラフである。なお、この例では、検証対象のネットワークシステムが、図６８に示す構成であるとする。このグラフＧは、検証者がネットワーク機器の接続状況を確認し、設定モデル入力部１１に対するユーザ操作を行うことによって入力される。各ＩＰアドレスが図６７に示すように定義され、検証対象のネットワークシステムが図６８に示すような関係にあるため、検証対象のネットワーク接続を示すグラフＧは、例えば図６９の範囲ａに示すように記述され、設定モデル格納部３４に格納される。【０３１７】
次に、ユーザを入力する。図７０は、ホストとユーザの関係を示している。図７０では、角丸四角によって囲まれたノードがユーザを表わし、楕円で囲まれたノードがホストを表わし、その間の矢印はユーザのホストへの所属関係を表わしている。【０３１８】
図７０に示す関係は、ユーザが所属するホストを表わす関数「ｂ」を用いて、
ｂ（ｆｔｐ）＝ＳＥＲＶＥＲ２，
ｂ（ｓｔｕｄｅｎｔ）＝ＳＥＲＶＥＲ１，
ｂ（ｈａｎａｋｏ）＝ＳＥＲＶＥＲ１，
ｂ（ｔａｒｏ）＝ＣＬＩＥＮＴ
と記述することができる。【０３１９】
各ホストのユーザは、ＯＳのユーザ設定及びグループ設定により作成する。具体的には、Ｌｉｎｕｘの場合、ユーザ設定は、ディレクトリ「／ｅｔｃ／ｐａｓｓｗｄ」に格納され、グループ設定は、ディレクトリ「／ｅｔｃ／ｇｒｏｕｐ」に格納されている。【０３２０】
図７１は、ホストＳＥＲＶＥＲ１のユーザ設定を示している。この設定により、ホストＳＥＲＶＥＲ１には、ユーザ「ｈａｎａｋｏ」があることが把握できる。よって、ｂ（ｈａｎａｋｏ）＝ＳＥＲＶＥＲ１となる。【０３２１】
図７２は、ホストＳＥＲＶＥＲ１のグループ設定を示している。この設定により、ホストＳＥＲＶＥＲ１には、グループ「ｓｔｕｄｅｎｔ」があることが分かる。ユーザとグループは、設定モデルにおいて、共にユーザとして扱うためグループ「ｓｔｕｄｅｎｔ」もユーザとして扱い、ｂ（ｓｔｕｄｅｎｔ）＝ＳＥＲＶＥＲ１となることが把握できる。他のホストの設定についても同様である。【０３２２】
上記のようにして入力されたユーザは、前述の４つのホストやホストのＩＰアドレスとあわせて、例えば図７３のように設定モデル格納部３４に格納される。【０３２３】
次に、ファイルを入力する。各ホストのファイルは、ＯＳのファイルシステムを参照することによって作成する。具体的には、Ｌｉｎｕｘの場合、コマンド「ｌｓ  ？ａｌｒ」を実行することによって、ファイルの一覧を取得することができる。例えば、ホストＳＥＲＶＥＲ２上で取得できるファイルの一覧は、図７４に示すようになる。ファイルの一覧により、ホストＳＥＲＶＥＲ２には、ファイル「ｐａｐｅｒ．ｔｘｔ」があることが把握できる。よって、ｂ（ｐａｐｅｒ．ｔｘｔ）＝ＳＥＲＶＥＲ２となる。他のホストについても同様である。上記のようにして入力されたファイルは、前述の４つのホスト、ホストのＩＰアドレス、及びユーザとあわせて、例えば図７５に示すように設定モデル格納部３４に格納される。【０３２４】
次に、ネットワークアクセス表現を入力する。検証対象システムでは、ホストＦＩＲＥＷＡＬＬでパケットフィルタリングが行われている。例えば、送信元ＩＰアドレス「１９２．１６８．１．２」の任意のポート番号から、送信先ＩＰアドレス１９２．１９８．２．４のポート番号８０への通信が許可されているとする。この情報と、フィルタリングが行われているＩＰアドレスにより、ネットワークアクセス表現の設定ｎ（１９２．１６８．２．３，  １９２．１６８．１．２，  １９２．１６８．２．４，  ８０）が作成できる。このようにして入力されたネットワークアクセス表現は、例えば、図６９の範囲ｂに示すように記述され、設定モデル格納部３４に格納される。【０３２５】
次に、ファイルのアクセス制御行列表現を入力する。「アクセス制御行列表現」とは、ファイルに対するユーザのアクセス権限の有無を表わしたものであり、アクセス権限にはファイルの読み取り権限を表わす「ｒｅａｄ」と、ファイルの書き出し権限を表わす「ｗｒｉｔｅ」の２種類がある。例えば、コマンド「ｌｓ  ？ａｌｒ」の出力結果より、図７４に示すように、各ファイルに対してそのファイルの所有者と権限とを把握することができる。図７４に示す一覧では、ユーザ「ｆｔｐ」は、ファイル「ｐａｐｅｒ．ｔｘｔ」に対して、「ｒｅａｄ」権限と「ｗｒｉｔｅ」権限とを与えられている。この情報により、アクセス制御行列表現「ａｃｃ（ｆｔｐ，  ｒｅａｄ，  ｐａｐｅｒ．ｔｘｔ）、ａｃｃ（ｆｔｐ，  ｗｒｉｔｅ，  ｐａｐｅｒ．ｔｘｔ）」と記述できる。このように入力されたファイルのアクセス制御行列表現は、図６９の範囲ｅに示すように記述され、設定モデル格納部３４に格納される。【０３２６】
次に、サービス利用によりどのような権限獲得が引き起こされるか、すなわち権限獲得関係を入力する。「権限獲得」とは、あるユーザがサービスを利用して他のユーザの権限を獲得できることを表わしており、あるユーザが、他のユーザのＩＤ、パスワードなどの認証に必要な情報を保持しているとき、または、特別な認証を経ずに権限獲得できる場合には無条件に作成する。具体的には、ホスト上で実行されているネットワークサービスと、その設定を調べることによって作成できる。【０３２７】
この例では、ホストＳＥＲＶＥＲ１上でサービス「ｔｅｌｎｅｔ」が提供されており、かつ、ホストＣＬＩＥＮＴのユーザ「ｔａｒｏ」は、ホストＳＥＲＶＥＲ１のユーザ「ｈａｎａｋｏ」にサービス「ｔｅｌｎｅｔ」でアクセスするときのパスワードを知っているものとする。また、本例では、ホストＳＥＲＶＥＲ２では匿名ｆｔｐ（ａｎｏｎｙｍｏｕｓ  ＦＴＰ）サービスが提供されており、ホストＳＥＲＶＥＲ１上のグループ「ｓｔｕｄｅｎｔ」に属するユーザは無条件にこのサービス「ｆｔｐ」を利用できるものとする。その場合、ホストＣＬＩＥＮＴのユーザ「ｔａｒｏ」は、ホストＳＥＲＶＥＲ１のユーザ「ｈａｎａｋｏ」の権限をサービス「ｔｅｌｎｅｔ」によって獲得できる。このため、権限獲得関係は、ａｕｔｈ（ｔａｒｏ，  ｔｅｌｎｅｔ，  ｈａｎａｋｏ）となる。また、ホストＳＥＲＶＥＲ１のユーザ「ｓｔｕｄｅｎｔ」は、無条件でホストＳＥＲＶＥＲ２のユーザ「ｆｔｐ」の権限をサービス「ｆｔｐ」で獲得できる。このため、権限獲得関係は、ａｕｔｈ（ｓｔｕｄｅｎｔ，  ｆｔｐ，  ｆｔｐ）となる。【０３２８】
サービス「ｎｕｌｌ」は、ユーザがグループに所属していることを表わす。Ｌｉｎｕｘの場合、図７１に示すユーザ設定ファイルと、図７２に示すグループ設定ファイルとから、サービス「ｎｕｌｌ」を用いた権限獲得関係を作成することができる。具体的には、図７１に示すユーザ設定ファイルより、ユーザ「ｈａｎａｋｏ」のグループＩＤが「５０１」であり、図７２に示すグループ設定ファイルのグループＩＤが「５０１」であるグループが「ｓｔｕｄｅｎｔ」であることから、ユーザ「ｈａｎａｋｏ」は、グループ「ｓｔｕｄｅｎｔ」に所属していることが把握できる。よって、権限獲得関係として、ａｕｔｈ（ｈａｎａｋｏ，  ｎｕｌｌ，  ｓｔｕｄｅｎｔ）を作成することができる。【０３２９】
このように入力された権限獲得関係は、図６９の範囲ｃに示すように記述され、設定モデル格納部３４に格納される。【０３３０】
次に、カスケード関係を入力する。「カスケード関係」とは、あるサービスを利用して権限獲得したときに、引き続き利用できるサービスの種類を表わしたものである。これは、サービスの種類により決まっている。具体的には、サービス「ｔｅｌｎｅｔ」で権限を獲得したあとにサービス「ｆｔｐ」利用することはできるが、サービス「ｆｔｐ」で権限を獲得したあとにサービス「ｔｅｌｎｅｔ」を利用することはできないなどのように、サービスの種類によってあらかじめ定められている。また、利用できる権限の種類は、該当するサービスがホストにインストールされているか否かや、権限を獲得したユーザがサービスの実行権限が持っているか否かで決まる。本例では、サービス「ｔｅｌｎｅｔ」でホストＳＥＲＶＥＲ１のユーザ「ｈａｎａｋｏ」の権限を獲得したときに、サービス「ｎｕｌｌ」を利用することができる。よって、カスケード関係は、ｃａｓ（ｔｅｌｎｅｔ，  ｈａｎａｋｏ，  ｎｕｌｌ）となる。また、サービス「ｎｕｌｌ」を利用してホストＳＥＲＶＥＲ１のユーザ「ｓｔｕｄｅｎｔ」の権限を獲得したときに、サービス「ｆｔｐ」を利用することができる。よって、カスケード関係は、ｃａｓ（ｎｕｌｌ，  ｓｔｕｄｅｎｔ，  ｆｔｐ）となる。【０３３１】
このように入力されたカスケード関係は、図６９の範囲ｄに示すように記述され、設定モデル格納部３４に格納される。【０３３２】
さらに、サービスが利用するネットワークのポート番号を、図６９の範囲ｆに示すように入力する。なお、Ｌｉｎｕｘでは、ファイル「／ｅｔｃ／ｓｅｒｖｉｃｅｓ」を参照することによってサービス名とポート番号の対応を調べることができる。【０３３３】
以上のようにして、設定モデルを構成する各種の情報が入力され、設定モデル格納部３４に順次格納されることで、設定モデル格納部３４内に、検証対象システムのシステム構成（図７５等参照）を含む設定モデル（図６９参照）が構築される。すなわち、設定モデル格納部３４に設定モデルが入力される。【０３３４】
次に、ステップＳ３０２において、ポリシー入力部１０によりセキュリティ検証用ポリシーを入力する。この例で与えるセキュリティ検証用ポリシーは、ポリシー「ｆｌｏｗ（ｓｅｃｒｅｔ．ｔｘｔ，  ｐａｐｅｒ．ｔｘｔ）」であるものとする。このポリシー「ｆｌｏｗ（ｓｅｃｒｅｔ．ｔｘｔ，  ｐａｐｅｒ．ｔｘｔ）」は、ｓｅｃｒｅｔ．ｔｘｔから、ｐａｐｅｒ．ｔｘｔへのデータの移動があってはいけないことを表わしており、ｓｅｃｒｅｔ．ｔｘｔの内容をｐａｐｅｒ．ｔｘｔに書き込んではならないという禁止ポリシーである。【０３３５】
上記のようにして入力された設定モデルとポリシーとを用いて、検証部５０ａは、ステップＳ３０３において、ポリシーにマッチするモデルがあるか否かを検証する処理を行う。【０３３６】
検証部５０ａは、公知の言語処理系であるＰｒｏｌｏｇインタプリタを用いて実現することができる。ここで、ポリシー記述中の各述語のうち、「ａｃｃ」、「ａｕｔｈ」、及び「ｃａｓ」は、組み込み述語として実装する。【０３３７】
なお、それぞれの組み込み述語の実装の内容は、
ａｃｃ（Ｕ，  Ｓ，  Ｆ）：「設定モデル格納部中のアクセス制御行列表現に、（Ｕ，  Ｓ，  Ｆ）が含まれる場合にｔｒｕｅ（真）」
ｃａｓ（Ｓ１，  Ｕ，  Ｓ２）：「設定モデル格納部中のカスケード関係に、（Ｓ１，  Ｕ，  Ｓ２）が含まれる場合にｔｒｕｅ」
ａｕｔｈ（Ｕ１，  Ｓ，  Ｕ２）：「設定モデル格納部中の権限獲得関係に、（Ｕ１，  Ｓ，  Ｕ２）が含まれ、かつ、Ｕ１が属するホストから、Ｕ２が属するホストに対して、Ｕ２上でサービスＳを実現するポートへのコネクションが確立できる場合にｔｒｕｅ」
であるものとする。【０３３８】
ここで、ユーザ「Ｕ１」が属するホストから、ユーザ「Ｕ２」が属するホストに対して、ユーザ「Ｕ２」上でサービス「Ｓ」を実現するポートへのコネクションが確立できるか否かの判定は、設定モデル格納部３４に設定モデルとして格納されているネットワーク接続表現に、ユーザ「Ｕ１」が属するホストから、ユーザ「Ｕ２」が属するホストを結ぶ経路があり、かつ、その経路中で、当該ポートが、設定モデル格納部３４に設定モデルとして格納されているネットワークアクセス表現で許可されているか否かを検査することによって実現することができる。【０３３９】
また、データフロー関係を表わす述語ｆｌｏｗは、
ｆｌｏｗ  （Ｆ，  Ｆ）  ：−  ｔｒｕｅ．
ｆｌｏｗ  （Ｆ１，  Ｆ２）  ：−  ｆｌｏｗ２（Ｆ１，  Ｆ３），  ｆｌｏｗ（Ｆ３，  Ｆ２）．
ｆｌｏｗ２  （Ｆ１，  Ｆ２）：−  ａｃｃ  （Ｕ１，  ｒｅａｄ，  Ｆ１），  ａｕｔｈ２  （Ｕ３，  Ｓ１，  Ｕ１），  ａｕｔｈ２  （Ｕ３，  Ｓ２，  Ｕ２），  ａｃｃ  （Ｕ２，  ｗｒｉｔｅ，  Ｆ２）．
ａｕｔｈ２  （Ｕ，  Ｓ，  Ｕ）：−  ｔｒｕｅ．
ａｕｔｈ２  （Ｕ３，  Ｓ１，  Ｕ１）：−  ａｕｔｈ  （Ｕ３，  Ｓ１，  Ｕ２），  ｃａｓ  （Ｓ１，  Ｕ２，  Ｓ２），  ａｕｔｈ２  （Ｕ２，  Ｓ２，  Ｕ１）．
のようなＰｒｏｌｏｇプログラムによって記述できる。【０３４０】
したがって、ポリシー入力部１０によって記述されたポリシーが設定モデルとマッチするか否かは、上記の組み込み述語を備えたＰｒｏｌｏｇ処理系上の上記のＰｒｏｌｏｇプログラムによって判定することができる。【０３４１】
以上説明した機能を有する検証部５０ａを用いる構成とすることで、ポリシー「ｆｌｏｗ（ｓｅｃｒｅｔ．ｔｘｔ，  ｐａｐｅｒ．ｔｘｔ）」が、設定モデル格納部３４に格納された設定モデルにマッチするか否かを判定できる。【０３４２】
この例で示した設定モデルの場合、ポリシー「ｆｌｏｗ（ｓｅｃｒｅｔ．ｔｘｔ，  ｐａｐｅｒ．ｔｘｔ）」にマッチするという結果が得られる。【０３４３】
この例では、マッチした許可ポリシーを検証結果表示部６０によって表示するものとする。具体的は、図７６に示すように、検証したポリシーを表示して、検証者に提示する。また、図７６に示すように、ポリシーがあってはならない経路を示したものか、なくてはならない経路を示したものかを、ポリシーの種類として提示する。すなわち、ポリシーの種類が禁止ポリシーであるか許可ポリシーであるかを報知する。また、図７６に示すように、マッチした禁止ポリシーを表示するときに、その禁止ポリシーが示すあってはならない経路にマッチした設定モデルを合わせて表示してもよい。【０３４４】
さらに、ポリシー格納部３３にポリシーの説明などの付随情報が格納されているときは、説明文などの付随情報をあわせて表示するようにしてもよい。【０３４５】
以上のように、システム構成及び設定を、設定モデルとして入力し、あってはならないフローや、なくてはならないフローを示したポリシーを用いてモデルを検索し、ポリシーとモデルを表示する構成としたので、検証者は、表示されたポリシーやモデルを頼りに、設定を見直すことができ、複数のホストやプログラムの設定が複合的に関係した設定ミスを発見し修正することができる。【０３４６】
例５：
次に、図１６に示した第１の実施形態のセキュリティ検証用データ生成システムについての具体的な例について説明する。【０３４７】
図７７は、検証対象となるコンピュータシステムの構成例を示している。図７７に示す破線の四角はセグメント（ネットワークセグメント）を表わしていて、ここでは、インターネット（Ｉｎｔｅｒｎｅｔ）セグメント９５１、ＤＭＺ（ＤｅＭｉｌｉｔａｒｉｚｅｄ  Ｚｏｎｅ；非武装地帯）セグメント９５２、及びＬＡＮセグメント９５３の３つのセグメントがある。また、図７７では、ホストを実線の四角で表わしている。各セグメントにはホストが存在し、Ｉｎｔｅｒｎｅｔセグメント９５１には、ＩＰアドレスが１２．３４．５６．７であるＯｕｔｓｉｄｅ−Ｃｌｉｅｎｔ（外部クライアント）ホスト９５４がある。ＤＭＺセグメント９５２には、ＩＰアドレスが１０．５６．１．１であるＦｉｒｅ  Ｗａｌｌ（ファイアウォール）ホスト９５５と、ＩＰアドレスが１０．５６．１．１０であるＷＷＷホスト９５６と、ＩＰアドレスが１０．５６．１．２０であるＤａｔａ（データ）ホスト９５７とがある。ＬＡＮセグメント９５３には、ＩＰアドレスが１０．５６．２．１０であるＩｎｓｉｄｅ−Ｃｌｉｅｎｔ（内部クライアント）ホスト９５８がある。【０３４８】
Ｏｕｔｓｉｄｅ−Ｃｌｉｅｎｔホスト９５４では、ウェブ（ｗｅｂ）、ｆｔｐ、ｓａｍｂａの各クライアント（ｃｌｉｅｎｔ）アプリケーションが稼動しており、ｏｕｔｓｉｄｅｒ（外部）ユーザがある。Ｆｉｒｅ  Ｗａｌｌホスト９５５には、ｒｏｏｔ（ルート）ユーザがある。ＷＷＷホスト９５６では、ウェブサーバが稼働しており、ｗ−ｔａｎａｋａユーザと、ｗ−ｓｕｚｕｋｉユーザと、ｃｕｓｔｏｍｅｒユーザと、ｗｅｂｍａｓｔｅユーザがあり、“／ｐａｓｓｗｄ／顧客ＩＤ管理情報．ｘｍｌ”ファイルと、“／ｈｏｍｅ／ｗ−ｓｕｚｕｋｉ／ｉｎｄｅｘ．ｈｔｍｌ”ファイルがある。Ｄａｔａホスト９５７では、ｓａｍｂａサーバが稼動しており、ｇｕｅｓｔユーザと、ｓ−ｔａｎａｋａユーザと、ｓ−ｓｕｚｕｋｉユーザがあり、“／ｓｅｃｒｅｔ／４月顧客情報．ｘｍｌ”ファイルと、“／ｓｅｃｒｅｔ／アンケート．ｘｍｌ”ファイルと、“／ｓｅｃｒｅｔ／集計結果．ｘｍｌ”ファイルと、“／回路図．ｓｖｇ”ファイルがある。Ｉｎｓｉｄｅ−Ｃｌｉｅｎｔホスト９５８では、ウェブクライアントとｓａｍｂａクライアントとが稼動しており、ｔａｎａｋａユーザと、ｓｕｚｕｋｉユーザと、ｍｉｙａｍｏｔｏユーザと、ｗｗｗユーザがあり、“／ｓｅｃｒｅｔ／４月顧客情報．ｘｍｌ”ファイルがある。【０３４９】
図１６に示したセキュリティ検証用データ生成システムのシステム構成情報収集部１４０２は、図７７に例示したコンピュータシステムからシステム構成情報を収集する。属性情報入力部１４０３は、属性情報が入力され、その属性情報をシステム構成情報に付加して属性情報格納部１４０４に格納する。属性情報の入力を受け付ける際には、例えば、ディスプレイ装置（不図示）によりシステム構成情報を管理者あるいはオペレータに対して提示し、その管理者あるいはオペレータが入力した属性情報を受け付ければよい。【０３５０】
図７８は、ネットワーク構成情報属性が付加されたシステム構成情報すなわちネットワーク構成情報の一例を示している。この例では、「ｎｅｔｗｏｒｋｓｙｓｔｅｍ」エレメント内に、複数（ここででは３つ）の「ｓｅｇｍｅｎｔ」エレメントが記述されている。記述１６０１は、「ｓｅｇｍｅｎｔ」エレメントのうちの一つ、具体的にはＤＭＺセグメントのエレメントを示している。この記述１６０１を例に説明すると、「ｓｅｇｍｅｎｔ」エレメントには、セグメントの名称（この例では“ＤＭＺ”）が、ネットワーク構成情報属性のｎａｍｅ属性として記述されている。また、「ｓｅｇｍｅｎｔ」エレメント内には、そのセグメントに所属するホストの情報が格納されている。各ホストの情報は、ｈｏｓｔタグに囲まれた「ｈｏｓｔ」エレメントとして記述される。記述１６０２は、３つの「ｈｏｓｔ」エレメントを示している。各「ｈｏｓｔ」エレメントには、ｎａｍｅ属性として、各ホストの名称（この例では、“Ｆｉｒｅ  Ｗａｌｌ”，“ＷＷＷ”，及び“Ｄａｔａ”）が記述されている。各「ｈｏｓｔ」エレメント内には、記述１６０３に示すように、そのホストが持つＩＰアドレスが「ｉｐ」エレメントにおけるａｄｄｒｅｓｓ属性として記述されている。記述１６０３は、ホストＦｉｒｅ  Ｗａｌｌに関するものなので、このホストが保持する３つのＩＰアドレスを含んでいる。【０３５１】
図７８において、ｃａｔｅｇｏｒｙタグで囲まれた記述すなわち「ｃａｔｅｇｏｒｙ」エレメントは、セグメントのネットワークセグメント役割情報や、ホストの役割情報を表わす属性情報を表わしている。図示する例における「＜ｃａｔｅｇｏｒｙ＞ＤＭＺ＜／ｃａｔｅｇｏｒｙ＞」は、セグメントの役割がＤＭＺであることを示す属性情報である。また、「＜ｃａｔｅｇｏｒｙ＞ｐｕｂｌｉｃ＿ｗｗｗ＜／ｃａｔｅｇｏｒｙ＞」は、ホストの役割が“ｐｕｂｌｉｃ＿ｗｗｗ”であることを示す属性情報（ホスト構成情報属性）である。【０３５２】
図７９は、サービス情報属性が付加されたシステム構成情報すなわちサービス情報の一例を示している。この例では、サービス情報属性は、「Ｓｅｒｖｉｃｅ」エレメント内で、サービス名単位で管理されている。ここで、ｈｔｔｐサービスの「Ｓｅｒｖｉｃｅ」エレメントの記述である記述１７０１を用いて、「Ｓｅｒｖｉｃｅ」エレメントを説明する。「Ｓｅｒｖｉｃｅ」エレメント内には、暗号化の有無がｅｎｃｒｙｐｔｉｏｎ属性として記述される。記述１７０１では、ｅｎｃｒｙｐｔｉｏｎ属性が“ＯＦＦ”として記述されている。なお、ｅｎｃｒｙｐｔｉｏｎ属性が“ＯＦＦ”の場合、暗号化しないことを示し、“ＯＮ”の場合、暗号化することを示す。また、各「Ｓｅｒｖｉｃｅ」エレメントは、属性情報として「ｐｏｒｔ」エレメントを含む。「ｐｏｒｔ」エレメント内には、対象サービスが利用するポート番号が記述される。例えば、記述１７０１に含まれる「ｐｏｒｔ」エレメントの記述１７０２では、「８０」というポート番号が記述されている。これは、ｈｔｔｐサービスがＴＣＰにおける８０番ポートを使用することを意味する。また、特定のホストでのみ特定のポートでサービスが行われる場合には、記述１７０３に示すように、「ｐｏｒｔ」エレメントにポート番号ではなく、ＩＰアドレスが記述されることもある。【０３５３】
図８０は、ユーザ情報属性が付加されたシステム構成情報すなわちユーザ情報の一例を示している。この例では、「ＵｓｅｒＬｉｓｔ」エレメント内に、ユーザの役割ごとに「ＵｓｅｒＣａｔｅｇｏｒｙ」エレメントが記述されている。記述１８０１は、「ＵｓｅｒＣａｔｅｇｏｒｙ」エレメントのうちの一つを示している。「ＵｓｅｒＣａｔｅｇｏｒｙ」エレメントのｎａｍｅ属性には、ユーザの役割が記述される。例えば、記述１８０１の「ＵｓｅｒＣａｔｅｇｏｒｙ」エレメントのｎａｍｅ属性では、ユーザの役割として「営業」が記述されている。また、「ＵｓｅｒＣａｔｅｇｏｒｙ」エレメント内には、その「ＵｓｅｒＣａｔｅｇｏｒｙ」エレメントのｎａｍｅ属性が示す役割に該当するユーザが、それぞれ「Ｕｓｅｒ」エレメントとして記述される。例えば、記述１８０１の「ＵｓｅｒＣａｔｅｇｏｒｙ」エレメント内の記述１８０２では、「営業」という役割を担うユーザの「Ｕｓｅｒ」エレメントが２つ記述されている。「Ｕｓｅｒ」エレメントのｎａｍｅ属性には、ユーザの名前が記述される。記述１８０２に含まれる二つの「Ｕｓｅｒ」エレメントでは、それぞれｎａｍｅ属性として“ｓｕｚｕｋｉ”，“ｍｉｙａｍｏｔｏ”が記述されている。また、「Ｕｓｅｒ」エレメント内には、記述１８０３に示すように、ユーザが持っているユーザアカウントが「ＩＤ」エレメントとして記述される。図８０に例示する「ＩＤ」エレメントでは、ユーザアカウントの名前が「ＩＤ」エレメントのｎａｍｅ属性に記述され、ユーザアカウントが登録されているホストが「ＩＤ」エレメントのｈｏｓｔ属性に記述され、ユーザアカウントを管理しているアプリケーションがａｐｐｌｉｃａｔｉｏｎ属性に記述されている。例えば、記述１８０３における最初の「ＩＤ」エレメントでは、ｎａｍｅ属性、ｈｏｓｔ属性、ａｐｐｌｉｃａｔｉｏｎ属性は、それぞれ“ｓｕｚｕｋｉ”，“１０．５６．２．１０”，“ＯＳ”と記述されている。また、図２１に示したシステム構成情報（ユーザ情報）は、この「ＩＤ」エレメントの記述部分に相当する。したがって、図８０において、「ＩＤ」エレメントの記述部分は、システム構成情報（ユーザ情報）に該当し、図８０におけるそれ以外の記述部分、例えば、「営業」等の役割を示す役割情報や、「Ｕｓｅｒ」エレメントにおけるｎａｍｅ属性等は、ユーザ情報に付加されるユーザ情報属性に該当する。【０３５４】
図８１は、ファイル情報属性が付加されたシステム構成情報すなわちファイル情報の一例を示している。この例では、「ｃｏｎｔｅｎｔｓ」エレメント内において、ファイルが格納されているホストごとに、具体的には「ｈｏｓｔ」エレメントごとに、ファイル情報属性が記述されている。例えば、記述１９０１には、一つのホストに格納されているファイルのファイル情報属性が記述されている。「ｈｏｓｔ」エレメント内では、記述１９０２に示すように、ファイルごとに「ｆｉｌｅ」エレメントが記述される。「ｆｉｌｅ」エレメントのｎａｍｅ属性には、ファイルの格納場所及びファイル名が記述される。このファイル格納場所及びファイル名の記述はファイル情報に該当し、他の記述がファイル情報属性に該当する。例えば、記述１９０２では、“／ｐａｓｓｗｄ／顧客ＩＤ管理情報．ｘｍｌ”という記述がファイル情報（システム構成情報）に該当し、他の記述部分がファイル情報属性に該当する。また、「ｆｉｌｅ」エレメントには、そのファイルの内容、役割、あるいは種別を表わすファイル情報属性が、「ｃａｔｅｇｏｒｙ」エレメントとして記述される。例えば、記述１９０３に含まれる２つの「ｃａｔｅｇｏｒｙ」エレメントでは、“個人情報”、“顧客情報”というファイルの種別や役割が示されている。【０３５５】
本例のセキュリティ検証用データ生成システムは、構成としては図１６に示したセキュリティ検証用データ生成システムと同様のものであるから、アクセスポリシー生成部１４０５を備えている。このアクセスポリシー生成部１４０５は、システム構成情報に付加された属性情報を用いて、アクセスポリシーを作成する。アクセスポリシー生成部１４０５は、属性情報ではなく、「移動元」、「移動先」、「移動経路」そのものを直接示す情報を入力し、その情報を用いてアクセスポリシーを作成してもよい。【０３５６】
図８２は、アクセスポリシー生成部１４０５によって作成されたアクセスポリシーの一例を示している。この例では、アクセスポリシーは、ファイルとして作成され、ファイルとして管理される。図８２に示すように、アクセスポリシーは、ＩｎｐｕｔＰｏｌｉｃｙＬｉｓｔタグに囲まれた範囲に記述される。そして、ＩｎｐｕｔＰｏｌｉｃｙＬｉｓｔタグに囲まれた範囲内で、個々のアクセスポリシーは、「ＩｎｐｕｔＰｏｌｉｃｙ」エレメントとして記述される。図示するように、「ＩｎｐｕｔＰｏｌｉｃｙ」エレメント、すなわちＩｎｐｕｔＰｏｌｉｃｙタグに囲まれた記述は、複数存在してもよい。一つの「ＩｎｐｕｔＰｏｌｉｃｙ」エレメントにおいて、移動元は「Ｓｒｃ」エレメントとして記述され、移動先は「Ｄｓｔ」エレメントとして記述され、移動経路は「Ｓｅｒｖｉｃｅ」エレメントとして記述される。図示する例では、「ＩｎｐｕｔＰｏｌｉｃｙ」エレメント２００１の中に、移動元を示す「Ｓｒｃ」エレメント２００２と、移動先を示す「Ｄｓｔ」エレメント２００３と、移動経路を示す「Ｓｅｒｖｉｃｅ」エレメント２００４とが含まれている。【０３５７】
「Ｓｒｃ」エレメント及び「Ｄｓｔ」エレメントには、「ＮｏｄｅＳｔｒｉｎｇ」エレメントと「Ｄｏｍａｉｎ」エレメントが記述される。図８２に示す例では、「Ｓｒｃ」エレメント２００２には、「ＮｏｄｅＳｔｒｉｎｇ」エレメント２００５と「Ｄｏｍａｉｎ」エレメント２００６とが含まれている。「ＮｏｄｅＳｔｒｉｎｇ」エレメントには、アクセスポリシー作成時に、オペレータが直接指定した情報が記述される。オペレータが直接指定した情報とは、候補となる情報を提示してその中から選択されたものではなく、候補を提示しない状態でオペレータが指定した情報を意味する。例えば、「ＮｏｄｅＳｔｒｉｎｇ」エレメント２００５では、オペレータが直接指定した移動元として、「／ｍｎｔ／ａｐａｃｈｅ／ｈｔｄｏｃｓ／ｉｎｄｅｘ．ｈｔｍｌ」というファイルの格納場所及びファイル名が記述されている。また、「Ｄｏｍａｉｎ」エレメントには、ドメインが記述される。アクセスポリシー作成時に、オペレータに属性情報の選択候補を提示して、その候補の中から属性情報がオペレータによって選択された場合には、「Ｓｒｃ」エレメントや「Ｄｓｔ」エレメントは、「ＮｏｄｅＳｔｒｉｎｇ」エレメントの代わりに、「Ｃａｔｅｇｏｒｙ」エレメントを含む。例えば、図８２での２番目の「ＩｎｐｕｔＰｏｌｉｃｙ」エレメントは、「Ｃａｔｅｇｏｒｙ」エレメント２００７を含んでいる。この「Ｃａｔｅｇｏｒｙ」エレメント２００７は、送信元の属性情報の中から選択された「顧客情報」という属性情報を示している。【０３５８】
次に、アクセスポリシー作成時すなわち図２２に示すステップＳ６０３において、アクセスポリシー生成部１４０５がにオペレータに提示するユーザインタフェースについて説明する。図８３は、アクセスポリシー作成時にオペレータに提示される初期画面の一例を示している。【０３５９】
アクセスポリシー生成部１４０５は、アクセスポリシー作成時において、まず図８３に例示する初期画面をディスプレイ装置（不図示）表示する。アクセスポリシー生成部１４０５は、初期画面内のアクセスポリシー表示欄２１０１に、既に作成済みのアクセスポリシーを表示する。あるいは、推奨するアクセスポリシーとして、デフォルトとして設定されたアクセスポリシーをアクセスポリシー表示欄２１０１に表示してもよい。アクセスポリシー生成部１４０５は、アクセスポリシー表示欄２１０１に表示する各アクセスポリシーと対応させて、ラジオボックス２１０２と、編集ボタン２１０３と、削除ボタン２１０４とを表示する。ラジオボックス２１０２は、ラジオボックスに対応するアクセスポリシーを有効にするか無効にするかを指定するために用いられる。例えばマウスクリック等によって編集ボタン２１０３が操作された場合、アクセスポリシー生成部１４０５は、操作された編集ボタンに対応するアクセスポリシーの編集画面をディスプレイ装置に表示する。また、削除ボタン２１０４が操作された場合、アクセスポリシー生成部１４０５は、操作された削除ボタンに対応するアクセスポリシーを削除する。また、アクセスポリシー生成部１４０５は、初期画面内に新規作成ボタン２１０５を表示する。新規作成ボタン２１０５が操作された場合、アクセスポリシー生成部１４０５は、アクセスポリシー新規作成画面をディスプレイ装置に表示する。なお、編集画面は、アクセスポリシー新規作成画面と同様のユーザインタフェースを有し、オペレータに対して編集を促すものであればよい。【０３６０】
図８４は、アクセスポリシー新規作成画面の一例を示している。アクセスポリシー生成部１４０５は、アクセスポリシー新規作成画面内に、画面選択肢２２０１と決定ボタン２２０２と移動元入力欄２２０３と移動先入力欄２２０４と移動経路入力欄２２０５と適用ボタン２２０６とを表示する。画面選択肢２２０１は、移動元入力画面、移動先入力画面、及び移動経路入力画面のいずれかの選択をオペレータに促す選択肢の表示である。画面選択肢２２０１においてオペレータによる選択が行われ、決定ボタン２２０２が操作されると、アクセスポリシー生成部１４０５は、オペレータによる選択結果に応じて、移動元入力画面、移動先入力画面、または移動経路入力画面を表示する。すなわち、「移動元を作成する」が選択された場合には移動元入力画面を表示し、「移動先を作成する」が選択された場合には移動先入力画面を表示し、「移動経路を作成する」が選択された場合には移動経路入力画面を表示する。移動元入力画面、移動先入力画面、または移動経路入力画面では、それぞれ移動元、移動先、移動経路の情報を指定されるが、これらの各画面については、図８５〜図８７を用いて後述する。【０３６１】
また、移動先、移動元、移動経路の各項目の入力値をオペレータが予め把握している場合には、オペレータは、キーボード等の入力装置を用いて、移動元入力欄２２０３、移動先入力欄２２０４、及び移動経路入力欄２２０５にそれらの入力値を直接入力してもよい。移動元入力欄２２０３、移動先入力欄２２０４、及び移動経路入力欄２２０５に入力される値は、選択候補を提示しない状態でオペレータが指定する入力値、すなわちオペレータが直接指定する入力値である。【０３６２】
アクセスポリシー生成部１４０５は、適用ボタン２２０６が操作されると、移動元入力画面、移動先入力画面、及び移動経路入力画面において指定された移動元、移動先、移動経路の情報や、移動元入力欄２２０３、移動先入力欄２２０４、及び移動経路入力欄２２０５に入力された情報に基づいて、図８２に例示するアクセスポリシーを作成する。そして、アクセスポリシー生成部１４０５は、図８３に示す初期画面（図８３参照）を再び表示する。【０３６３】
図８５は、移動元入力画面の一例を示している。アクセスポリシー生成部１４０５は、移動元入力画面内に、移動元タイプ選択欄２３０１と移動元選択欄２３０２とドメイン選択欄２３０３と決定ボタン２３０８とを表示する。【０３６４】
移動元タイプ選択欄２３０１は、情報の移動元としてのファイルまたはユーザのいずれかの選択を、オペレータに対して促すものである。図８５に示す例では、プルダウンメニューにより、移動元としてファイルが選択されている。【０３６５】
ここでは、アクセスポリシー生成部１４０５は、移動元選択欄２３０２内に、移動元指定方法選択欄２３０４と選択肢表示欄２３０５とを表示する。移動元指定方法選択欄２３０４は、属性情報を用いずにファイル名やユーザ名等を指定するのか、あるいは属性情報を指定するのかの決定をオペレータに促すものである。この例では、移動元指定方法選択欄２３０４をプルダウンメニューにより実現している。移動元指定方法選択欄２３０４は、移動元タイプ選択欄２３０１で「ファイル」が指定されている場合に、例えば「ファイルカテゴリーで選択する」、「ディレクトリで指定する」、「ファイルで指定する」の指定方法のうちのいずれかの選択をオペレータに促すものである。また移動元タイプ選択欄２３０１で「ユーザ」が指定されている場合には、移動元指定方法選択欄２３０４は、「ユーザカテゴリーで選択する」、「ユーザ名で指定する」の指定方法のうちのいずれかの選択をオペレータに促す。【０３６６】
また、アクセスポリシー生成部１４０５は、移動元指定方法選択欄２３０４で選択された指定方法に応じた選択肢を選択肢表示欄２３０５に表示し、その選択肢の中から一つの項目を選択するようにオペレータに促す。図８５に示す例では、「ファイルカテゴリーで選択する」という指定方法が選択されたので、アクセスポリシー生成部１４０５は、「顧客情報」、「個人情報」、「一般情報」、「秘密情報」及び「機密情報」というファイル情報属性を選択肢として選択肢表示欄２３０５に表示しており、この例では、選択肢表示欄２３０５において「個人情報」が選択されている。アクセスポリシー生成部１４０５は、「ディレクトリで指定する」または「ファイルで指定する」という指定方法が移動元指定方法選択欄２３０４で選択された場合には、選択肢表示欄２３０５にディレクトリ名やファイル名を表示して、ディレクトリ名やファイル名の選択をオペレータに促す。なお、ディレクトリ名やファイル名は、属性情報に該当しない。アクセスポリシー生成部１４０５は、「ユーザカテゴリーで選択する」という指定方法が移動元指定方法選択欄２３０４で選択された場合には、例えば、「部長」、「課長」、「一般社員」、「ウェブ管理者」、「営業」等のユーザ情報属性を選択肢として選択肢表示欄２３０５に表示し、ユーザ情報属性の選択をオペレータに促す。「ユーザ名で指定する」という指定方法が移動元指定方法選択欄２３０４で選択された場合には、アクセスポリシー生成部１４０５は、選択肢表示欄２３０５にユーザ名を表示して、ユーザ名の選択をオペレータに促す。なお、ユーザ名も、属性情報に該当しない。【０３６７】
また、アクセスポリシー生成部１４０５は、ドメイン選択欄２３０３内に、ドメイン指定方法選択欄２３０６とドメイン選択肢表示欄２３０７とを表示する。ドメイン指定方法選択欄２３０６は、ドメインとして例えばセグメントを指定するのか、あるいはホストを指定するのかの選択をオペレータに促すものである。図示した例では、ドメイン指定方法選択欄２３０６は、プルダウンメニューにより実現されている。ドメイン指定方法選択欄２３０６は、例えば、「セグメントで指定する」、「ホストで指定する」、「ドメインを指定しない」という指定方法のうちのいずれかの選択をオペレータに促すものである。【０３６８】
アクセスポリシー生成部１４０５は、ドメイン指定方法選択欄２３０６で選択された指定方法に応じた選択肢をドメイン選択肢表示欄２３０７に表示し、その選択肢の中から一つの項目を選択するようにオペレータに促す。図８５に示す例では、「セグメントで指定する」という指定方法が選択されているので、アクセスポリシー生成部１４０５は、ネットワーク構成情報属性に含まれる「ＬＡＮ」、「ＤＭＺ」及び「Ｉｎｔｅｒｎｅｔ」というセグメント名を選択肢としてドメイン選択肢表示欄２３０７に表示しており、これらの中で「ＤＭＺ」が選択されている。アクセスポリシー生成部１４０５は、「ＬＡＮ」、「ＤＭＺ」及び「Ｉｎｔｅｒｎｅｔ」等の選択肢として、ネットワーク構成情報に付加された属性情報である「ｓｅｇｍｅｎｔ」エレメントのｎａｍｅ属性（図７８参照）を表示すればよい。アクセスポリシー生成部１４０５は、「ホストで指定する」という指定方法がドメイン指定方法選択欄２３０６で選択された場合、ドメイン選択肢表示欄２３０７にホストを表示して、ホストの選択をオペレータに促す。なお、この場合に選択されるホストは、属性情報に該当しない。また、アクセスポリシー生成部１４０５は、ドメイン指定方法選択欄２３０６において「ドメインを指定しない」という項目が選択された場合には、ドメイン選択肢表示欄２３０７を表示しなくてよい。【０３６９】
アクセスポリシー生成部１４０５は、決定ボタン２３０８を操作されると、移動元タイプ選択欄２３０１、移動元選択欄２３０２及びドメイン選択欄２３０３における、オペレータが指定した内容を確定し、アクセスポリシー新規作成画面（図８４参照）を表示する。図８５に示す例では、アクセスポリシー生成部１４０５は、移動元として「ＤＭＺ」セグメント内の「個人情報」ファイルが指定されたことを確定する。【０３７０】
図８６は、移動先入力画面の一例を示している。アクセスポリシー生成部１４０５は、移動先入力画面内に、移動先タイプ選択欄２４０１と移動先選択欄２４０２とドメイン選択欄２４０３と決定ボタン２４０８とを表示する。移動先入力画面の画面構成は、移動元入力画面の画面構成と同様である。移動先選択欄２４０２は、図８５に示す移動元選択欄２３０２と同様に、移動先指定方法選択欄２４０４と選択肢表示欄２４０５とを含む。ドメイン選択欄２４０３は、図８５に示すドメイン選択欄２３０３と同様に、ドメイン指定方法選択欄２４０６とドメイン選択肢表示欄２４０７とを含む。移動先入力画面における移動先のタイプの選択、移動先の選択、及びドメインの指定の態様は、移動元入力画面における移動元のタイプの選択、移動元の選択、及びドメインの指定の態様と同様である。【０３７１】
アクセスポリシー生成部１４０５は、決定ボタン２４０８が操作されると、移動先タイプ選択欄２４０１、移動先選択欄２４０２及びドメイン選択欄２４０３における指定内容を確定し、アクセスポリシー新規作成画面（図８４参照）を表示する。図８６に示す例では、アクセスポリシー生成部１４０５は、移動先として「ＬＡＮ」セグメント内の「営業」ユーザが指定されたことを確定する。【０３７２】
図８７は、移動経路入力画面の一例を示している。アクセスポリシー生成部１４０５は、移動経路入力画面内に、移動経路指定方法選択欄２５０１と移動経路指定欄２５０２と決定ボタン２５０３とを表示する。【０３７３】
移動経路指定方法選択欄２５０１は、サービス属性により移動経路を指定するのか、他の方法、例えば、サービス名やポート番号により移動経路を指定するのかの決定をオペレータに促すためのものである。ここでは、移動経路指定方法選択欄２５０１をプルダウンメニューにより実現している。移動経路指定方法選択欄２５０１は、選択候補として、例えば、「サービス属性」、「サービス名」、「ポート番号」を表示する。図８６には、「サービス属性」が選択された場合が示されている。【０３７４】
アクセスポリシー生成部１４０５は、移動元指定方法選択欄２５０１で選択された指定方法に応じた移動経路指定欄２５０２を表示する。図８６に示した例では、「サービス属性」が選択された結果、アクセスポリシー生成部１４０５は、「暗号化の有無」や「認証の有無」というサービス属性によって移動経路を指定する欄を表示しており、ここでは、暗号化を行わない移動経路が指定されている。アクセスポリシー生成部１４０５は、移動経路指定方法選択欄２５０１において「サービス名」や「ポート番号」が選択された場合、移動経路指定欄２５０２にサービス名やポート番号を表示して、サービス名やポート番号による移動経路の指定を促す。なお、この場合に指定されるサービス名やポート番号は、属性情報に該当しない。【０３７５】
アクセスポリシー生成部１４０５は、決定ボタン２５０３が操作されると、移動経路指定方法選択欄２５０１及び移動経路指定欄２５０２における指定内容を確定し、アクセスポリシー新規作成画面（図８４参照）を表示する。【０３７６】
移動元入力画面（図８５参照）、移動先入力画面（図８６参照）及び移動経路入力画面（図８７参照）における指定内容が確定した後、図８４に示したアクセスポリシー新規作成画面内の適用ボタン２２０６が操作されると、アクセスポリシー生成部１４０５は、指定内容に応じたアクセスポリシーを作成する。なお、移動元入力画面内のドメイン指定方法選択欄２３０６において「ドメインを指定しない」と指定された場合には、アクセスポリシー生成部１４０５は、「Ｓｒｃ」エレメント（図８２参照）内に「Ｄｏｍａｉｎ」エレメントを作成しない。同様に、移動先入力画面内のドメイン指定方法選択欄２４０６において「ドメインを指定しない」と指定された場合には、アクセスポリシー生成部１４０５は、「Ｄｓｔ」エレメント（図８２参照）内に「Ｄｏｍａｉｎ」エレメントを作成しない。【０３７７】
このように図８５〜図８７に例示した指定内容が確定され、図８４に示すアクセスポリシー新規作成画面が表示され、その後、適用ボタン２２０６（図８４参照）が操作されたとする。その場合、アクセスポリシー生成部１４０５は、『「ＤＭＺ」セグメント内の「個人情報」ファイルから「ＬＡＮ」セグメント内の「営業」部員に対して暗号で保護されていない経路を用いて情報が移動してはならない。』というアクセスポリシーを作成することになる。【０３７８】
次に、このようにしてアクセスポリシー生成部１４０５が作成したアクセスポリシーを、検証ポリシー生成部１４０７（図１６参照）が検証ポリシーに変換する動作を説明する。アクセスポリシーから検証ポリシーへの変換は、アクセスポリシーの移動元、移動先及び移動経路が属性を用いて指定されたときに、それらの属性に基づいて、実際のファイル名やユーザアカウントなどのシステム構成要素を検索して、検索結果を用いて移動元、移動先及び移動経路を表わすことにより実現する。検証ポリシーへの変換は、移動元や移動先として属性情報を用いて指定されたユーザについて、そのユーザをユーザアカウントに変換する動作と、移動元や移動先として属性情報を用いて指定されたファイルについて、そのファイルをファイル名に変換する動作と、移動経路として属性を用いて指定されたサービスについて、そのサービスをＩＰアドレスやポート番号に変換する動作と、に分けられる。以下、これらの３つの動作について説明する。【０３７９】
図８８に示すフローチャートは、移動元や移動先としてユーザが属性情報を用いて指定されているときに、そのユーザから変換されるユーザアカウントを検索する動作を示している。この動作は、上述した図２２でのステップＳ６０５やステップＳ６０７で行われる。【０３８０】
まず、検証ポリシー生成部１４０７は、ステップＳ７０１において、アクセスポリシーのユーザ指定にドメイン指定があるか否かを判定する。すなわち、検証ポリシー生成部１４０７は、ユーザを表わすアクセスポリシー内の「Ｓｒｃ」エレメントまたは「Ｄｓｔ」エレメントが「Ｄｏｍａｉｎ」エレメントを含んでいるか否かを判定する。なお、「Ｓｒｃ」エレメントまたは「Ｄｓｔ」エレメント内の「Ｄｏｍａｉｎ」エレメントは、ドメイン選択欄２３０３（図８５参照）やドメイン選択欄２４０３（図８６参照）においてドメインが指定された場合に、アクセスポリシー生成部によって生成されている。【０３８１】
ユーザを表わすアクセスポリシー内の「Ｓｒｃ」エレメントまたは「Ｄｓｔ」エレメントが「Ｄｏｍａｉｎ」エレメントを含んでいるとステップＳ７０１において判定した場合、検証ポリシー生成部１４０７は、ステップＳ７０２において、そのドメインの指定が、ネットワーク構成情報に付加された属性情報である「ｓｅｇｍｅｎｔ」エレメントのｎａｍｅ属性（図７８参照）を利用して行われたか否かを判定する。「ｓｅｇｍｅｎｔ」エレメントのｎａｍｅ属性を利用してドメイン指定が行われた場合というのは、アクセスポリシー生成部１４０５が、ネットワーク構成情報に付加された属性情報である「ｓｅｇｍｅｎｔ」エレメントのｎａｍｅ属性を選択肢としてドメイン選択肢表示欄２３０７（図８５参照）やドメイン選択肢表示欄２４０７（図８６参照）に表示し、その選択肢の中からドメインが指定された場合のことである。【０３８２】
「ｓｅｇｍｅｎｔ」エレメントのｎａｍｅ属性を利用してドメイン指定が行われたとステップＳ７０２で判定した場合には、検証ポリシー生成部１４０７は、ステップＳ７０３において、ネットワーク構成情報属性が付加されたシステム構成情報、すなわち図７８に示すネットワーク構成情報から、アクセスポリシー作成時にドメインとして指定されたセグメントに含まれる全てのホストのＩＰアドレスを検索する。一方、「ｓｅｇｍｅｎｔ」エレメントのｎａｍｅ属性を利用せずにドメイン指定が行われたと判定した場合には、検証ポリシー生成部１４０７は、ステップＳ７０４において、アクセスポリシー作成時にドメインとして指定されたホストのＩＰアドレスを、ネットワーク構成情報属性が付加されたシステム構成情報すなわちネットワーク構成情報から検索する。ステップＳ７０３，Ｓ７０４の後、ステップＳ７０５に移行する。【０３８３】
ステップＳ７０５において、検証ポリシー生成部１４０７は、以下のようにしてユーザアカウントを取り出す。検証ポリシー生成部１４０７は、アクセスポリシー作成時に移動元選択欄２３０２（図８５参照）または移動先選択欄２４０２（図８６参照）で指定された属性情報を有するユーザを、ユーザ情報属性が付加されたユーザ情報（図８０参照）の中から特定する。そして、そのユーザのユーザアカウントのうち、ステップＳ７０３またはステップＳ７０４で検索したＩＰアドレスに対応するユーザアカウントを取り出す。【０３８４】
ステップＳ７０１において、ユーザを表わすアクセスポリシー内の「Ｓｒｃ」エレメントまたは「Ｄｓｔ」エレメントが「Ｄｏｍａｉｎ」エレメントを含んでいないと判定した場合、検証ポリシー生成部１４０７は、ステップＳ７０６において、アクセスポリシー作成時に移動元選択欄２３０２または移動先選択欄２４０２で指定された属性情報を有するユーザのユーザアカウントを、ユーザ情報属性が付加されたユーザ情報の中から取り出す。【０３８５】
このように、検証ポリシー生成部１４０７は、移動元や移動先として属性情報を用いて指定されたユーザを、ステップＳ７０５またはステップＳ７０６で取り出したユーザアカウントに置き換えることにより、アクセスポリシーを変換する。この処理は、図２２に示すステップＳ６０５やステップＳ６０７で行われる。【０３８６】
図８９に示すフローチャートは、移動元や移動先としてファイルが属性情報を用いて指定されているときに、そのファイルから変換されるファイル名を検索する動作を示している。この動作は、上述した図２２でのステップＳ６０７の処理に相当する。【０３８７】
まず、検証ポリシー生成部１４０７は、ステップＳ７１１において、アクセスポリシーのファイル指定にドメイン指定があるか否かを判定する。すなわち、検証ポリシー生成部１４０７は、ファイルを表わすアクセスポリシー内の「Ｓｒｃ」エレメントまたは「Ｄｓｔ」エレメントが「Ｄｏｍａｉｎ」エレメントを含んでいるか否かを判定する。なお、「Ｓｒｃ」エレメントまたは「Ｄｓｔ」エレメント内の「Ｄｏｍａｉｎ」エレメントは、上述したようにドメイン選択欄２３０３やドメイン選択欄２４０３においてドメインが指定された場合に、アクセスポリシー生成部によって生成されている。【０３８８】
ファイルを表わすアクセスポリシー内の「Ｓｒｃ」エレメントまたは「Ｄｓｔ」エレメントが「Ｄｏｍａｉｎ」エレメントを含んでいると判定した場合、検証ポリシー生成部１４０７は、ステップＳ７１１において、ドメインの指定がネットワーク構成情報に付加された属性情報である「ｓｅｇｍｅｎｔ」エレメントのｎａｍｅ属性（図７８参照）を利用して行われたか否かを判定する。「ｓｅｇｍｅｎｔ」エレメントのｎａｍｅ属性を利用してドメイン指定が行われた場合というのは、アクセスポリシー生成部１４０５が、ネットワーク構成情報に付加された属性情報である「ｓｅｇｍｅｎｔ」エレメントのｎａｍｅ属性を選択肢としてドメイン選択肢表示欄２３０７（図８５参照）やドメイン選択肢表示欄２４０７（図８６参照）を表示し、その選択肢の中からドメインが指定された場合のことである。【０３８９】
「ｓｅｇｍｅｎｔ」エレメントのｎａｍｅ属性を利用してドメイン指定が行われたとステップＳ７１２でには、検証ポリシー生成部１４０７は、ステップＳ７１３において、ネットワーク構成情報属性が付加されたシステム構成情報すなわちネットワーク構成情報（図７８参照）から、アクセスポリシー作成時にドメインとして指定されたセグメントに含まれる全てのホストのＩＰアドレスを検索する。これに対し、「ｓｅｇｍｅｎｔ」エレメントのｎａｍｅ属性を利用せずにドメイン指定が行われたと判定した場合には、検証ポリシー生成部１４０７は、ステップＳ７１４において、アクセスポリシー作成時にドメインとして指定されたホストのＩＰアドレスを、ネットワーク構成情報属性が付加されたシステム構成情報すなわちネットワーク構成情報から検索する。ステップＳ７１３，Ｓ７１４の後、ステップＳ７１５に移行する。【０３９０】
ステップＳ７１５において、検証ポリシー生成部１４０７は、以下のようにしてファイル名を取り出す。検証ポリシー生成部１４０７は、ステップＳ７１３またはステップＳ７１４で検索したＩＰアドレスを属性として有するホストを、ファイル情報属性が付加されたファイル情報（図８１参照）の中から特定する。そして、そのホストに含まれるファイルのファイル名のうち、アクセスポリシー作成時に移動元選択欄２３０２（図８５参照）または移動先選択欄２４０２（図８６参照）で指定された属性情報を有するファイルのファイル名を取り出す。【０３９１】
ステップＳ７１１において、ファイルを表わすアクセスポリシー内の「Ｓｒｃ」エレメントまたは「Ｄｓｔ」エレメントが「Ｄｏｍａｉｎ」エレメントを含んでいないと判定した場合、検証ポリシー生成部１４０７は、ステップＳ７１６において、アクセスポリシー作成時に移動元選択欄２３０２または移動先選択欄２４０２で指定された属性情報を有するファイルのファイル名を、ファイル情報属性が付加されたファイル情報に含まれる全ファイルのファイル名の中から取り出す。【０３９２】
このように、検証ポリシー生成部１４０７は、移動元や移動先として属性情報を用いて指定されたファイルを、ステップＳ７１５またはステップＳ７１６で取り出したファイル名に置き換えることにより、アクセスポリシーを変換する。この処理は、図２２に示すステップＳ６１０で行われる。【０３９３】
図９０に示すフローチャートは、移動経路としてサービスが属性を用いて指定されているときに、そのサービスから変換されるＩＰアドレスやポート番号を検索する動作を示している。この動作は、上述した図２２でのステップＳ６０９の処理に相当する。【０３９４】
まず、検証ポリシー生成部１４０７は、ステップＳ７２１において、移動経路の指定が属性情報を用いて行われたか否かを判定する。例えば、図８６に例示するように、アクセスポリシー生成部１４０５が「暗号化の有無」や「認証の有無」というサービス属性によって移動経路を指定する指定欄２５０２を表示し、その指定欄２５０２において移動経路が指定されたか否かを判定する。移動経路の指定が属性情報を用いて行われていなければ処理を終了する。移動経路の指定が属性情報を用いて行われている場合には、検証ポリシー生成部１４０７は、ステップＳ７２２において、移動経路の指定に用いられた属性情報をもつＩＰアドレスまたはポート番号を、サービス情報属性が付加されたシステム構成情報すなわちサービス情報（図７９参照）から取り出す。【０３９５】
その後、検証ポリシー生成部１４０７は、移動経路として属性を用いて指定されたサービスを、ステップＳ７２２で取り出したＩＰアドレスまたはポート番号に置き換えることによって、アクセスポリシーを変換する。この処理は、上述の図２２に示すステップＳ６１０で行なわれる。【０３９６】
次に、具体例を用いて、図８５、図８６及び図８７に例示する指定内容に基づいて作成されたアクセスポリシーを検証ポリシーに変換する手順を説明する。図８５に示される指定内容では、移動元として、「ＤＭＺ」セグメントの「個人情報」ファイルが選択されている。そこで、検証ポリシー生成部１４０７は、属性情報格納部に格納されたネットワーク構成情報属性（図７８参照）から、ｎａｍｅ属性が“ＤＭＺ”となっている「ｓｅｇｍｅｎｔ」エレメントを取り出す。取り出した「ｓｅｇｍｅｎｔ」エレメントに含まれる情報が「ＤＭＺ」セグメントに関わる情報である。続いて、検証ポリシー生成部１４０７は、取り出した「ｓｅｇｍｅｎｔ」エレメントに含まれるＩＰアドレス一覧を取り出す。本例では、「１２．３４．５６．１」、「１０．５６．１．１」、「１０．５６．２．１」、「１０．５６．１．１０」、「１０．５６．１．２０」というＩＰアドレスが取り出される。【０３９７】
次に、検証ポリシー生成部１４０７は、取り出したＩＰアドレスを持つホストに含まれる「個人情報」ファイルを、ファイル情報属性（図８１参照）から取り出す。つまり、取り出したＩＰアドレスをａｄｄｒｅｓｓ属性として有する「ｈｏｓｔ」エレメントに含まれるファイルであって、ｃａｔｅｇｏｒｙタグとともに「個人情報（図８５で指定された属性情報）」が記述されているファイルを取り出す。本例では、ＩＰアドレスが「１０．５６．１．１０」のホストに含まれる「／ｐａｓｓｗｄ／顧客ＩＤ管理情報．ｘｍｌ」と、ＩＰアドレスが「１０．５６．１．２０」のホストに含まれる「／ｓｅｃｒｅｔ／４月顧客情報．ｘｍｌ」及び「／ｓｅｃｒｅｔ／アンケート．ｘｍｌ」というファイル名の情報を取り出す。【０３９８】
検証ポリシー生成部１４０７は、図８７に示す画面における移動経路の入力から途中経路を検索する。図８７に例示する画面では、暗号で保護されていない経路が指定されている。そこで、検証ポリシー生成部１４０７は、サービス情報属性から、暗号化のないサービスのポート番号を検索する。図７９に例示するサービス情報属性では、暗号化のない経路、すなわち「ｅｎｃｒｙｐｔｉｏｎ＝ＯＦＦ」となっているサービスは、「ｈｔｔｐ」、「ｓａｍｂａ」及び「ｆｔｐ」であり、これらのサービスのポート番号は、それぞれ「８０番ポート」、「１３９番ポート」、「２１番ポート」である。【０３９９】
検証ポリシー生成部１４０７は、移動先を検索する。図８６に例示する画面では、「ＬＡＮ」セグメント内の「営業」ユーザが移動先として指定されている。移動元検索と同様に、検証ポリシー生成部１４０７は、まずネットワーク構成情報属性から「ＬＡＮ」セグメントに所属するホストのＩＰアドレスを検索する。すなわち、ｎａｍｅ属性が“ＬＡＮ”となっている「ｓｅｇｍｅｎｔ」エレメントに含まれるＩＰアドレスを検索する。この結果、「１０．５６．２．１０」というＩＰアドレスが検索される。そして、検証ポリシー生成部１４０７は、ＩＰアドレス「１０．５６．２．１０」に対応する「営業」ユーザのＩＤをユーザ情報属性が付加されたユーザ情報（図８０参照）から検索する。この結果、「ｓｕｚｕｋｉ」というＩＤが検索される。【０４００】
次に、検証ポリシー生成部１４０７は、これまでに検索した移動元、移動経路、移動先をまとめて検証ポリシーとする。この結果、ファイル「／／１０．５６．１．１０／ｐａｓｓｗｄ／顧客ＩＤ管理情報．ｘｍｌ」と「／／１０．５６．１．２０／ｓｅｃｒｅｔ／４月顧客情報．ｘｍｌ」と「／／１０．５６．１．２０／ｓｅｃｒｅｔ／アンケート．ｘｍｌ」とが、暗号化されていない経路であるポート番号「８０」とポート番号「１３９」を通って、「１０．５６．２．１０」のユーザ「ｓｕｚｕｋｉ」に到達してはいけないという経路が得られる。これを例１に示した正規表現を用いる検証ポリシーで表現すると、「［Ｆ（“／ｐａｓｓｗｄ／顧客ＩＤ管理情報．ｘｍｌ”＠１０．５６．１．１０）Ｆ（“／ｓｅｃｒｅｔ／４月顧客情報．ｘｍｌ”＠１０．５６．１．２０）Ｆ（“／ｓｅｃｒｅｔ／アンケート．ｘｍｌ”＠１０．５６．１．２０）］．＊［  Ｎ（０．０．０．０−，  ２１，  ０．０．０．０−，  ０−）Ｎ（０．０．０．０−，  ８０，  ０．０．０．０−，  ０−）  Ｎ（０．０．０．０−，  １３９，  ０．０．０．０−，  ０−）］．＊Ｕ（ｓｕｚｕｋｉ＠１０．５６．２．１０）」となる。【０４０１】
以上のように、システム構成情報に付加した属性情報を利用することで、たとえ複雑なシステム構成の検証でも、複雑な検証ポリシーを人手で書くことなく、平易なアクセスポリシーの入力から、検証ポリシーを生成することができる。これにより、検証対象システムに対する特別な知識を持たないコンテンツの管理者や一般ユーザであっても、自らのコンテンツが適切に保護されているか、適切なアクセス権が与えられているかを検証するためのアクセスポリシーを作成し、検証ポリシーを生成し、検証部１５１０（図２３参照）の入力とすることで、不適切な設定を見つけることができるようになる。【０４０２】
上述したように、セキュリティ検証用データ作成システム及びセキュリティ検証システムは、いずれも、それらのシステムの各機能を発現するためのソフトウェアプログラムをコンピュータに読み込ませ、そのプログラムを実行させることによっても実現できるものである。したがって、本発明の範疇には、そのようなプログラム、そのようなプログラムを有するプログラムプロダクト、及びそのようなプログラムを格納した記録媒体も含まれるものである。
【図１】
2006057337.tif 000002
【図２】
2006057337.tif 000003
【図３】
2006057337.tif 000004
【図４】
2006057337.tif 000005
【図５】
2006057337.tif 000006
【図６】
2006057337.tif 000007
【図７】
2006057337.tif 000008
【図８】
2006057337.tif 000009
【図９】
2006057337.tif 000010
【図１０】
2006057337.tif 000011
【図１１】
2006057337.tif 000012
【図１２】
2006057337.tif 000013
【図１３】
2006057337.tif 000014
【図１４】
2006057337.tif 000015
【図１５】
2006057337.tif 000016
【図１６】
2006057337.tif 000017
【図１７】
2006057337.tif 000018
【図１８】
2006057337.tif 000019
【図１９】
2006057337.tif 000020
【図２０】
2006057337.tif 000021
【図２１】
2006057337.tif 000022
【図２２】
2006057337.tif 000023
【図２３】
2006057337.tif 000024
【図２４】
2006057337.tif 000025
【図２５】
2006057337.tif 000026
【図２６】
2006057337.tif 000027
【図２７Ａ】
2006057337.tif 000028
【図２７Ｂ】
2006057337.tif 000029
【図２８】
2006057337.tif 000030
【図２９Ａ】
2006057337.tif 000031
【図２９Ｂ】
2006057337.tif 000032
【図３０】
2006057337.tif 000033
【図３１】
2006057337.tif 000034
【図３２】
2006057337.tif 000035
【図３３】
2006057337.tif 000036
【図３４】
2006057337.tif 000037
【図３５】
2006057337.tif 000038
【図３６】
2006057337.tif 000039
【図３７】
2006057337.tif 000040
【図３８】
2006057337.tif 000041
【図３９】
2006057337.tif 000042
【図４０】
2006057337.tif 000043
【図４１】
2006057337.tif 000044
【図４２】
2006057337.tif 000045
【図４３】
2006057337.tif 000046
【図４４】
2006057337.tif 000047
【図４５】
2006057337.tif 000048
【図４６】
2006057337.tif 000049
【図４７】
2006057337.tif 000050
【図４８】
2006057337.tif 000051
【図４９】
2006057337.tif 000052
【図５０】
2006057337.tif 000053
【図５１】
2006057337.tif 000054
【図５２】
2006057337.tif 000055
【図５３】
2006057337.tif 000056
【図５４】
2006057337.tif 000057
【図５５】
2006057337.tif 000058
【図５６】
2006057337.tif 000059
【図５７】
2006057337.tif 000060
【図５８】
2006057337.tif 000061
【図５９】
2006057337.tif 000062
【図６０】
2006057337.tif 000063
【図６１Ａ】
2006057337.tif 000064
【図６１Ｂ】
2006057337.tif 000065
【図６２】
2006057337.tif 000066
【図６３】
2006057337.tif 000067
【図６４】
2006057337.tif 000068
【図６５】
2006057337.tif 000069
【図６６】
2006057337.tif 000070
【図６７】
2006057337.tif 000071
【図６８】
2006057337.tif 000072
【図６９】
2006057337.tif 000073
【図７０】
2006057337.tif 000074
【図７１】
2006057337.tif 000075
【図７２】
2006057337.tif 000076
【図７３】
2006057337.tif 000077
【図７４】
2006057337.tif 000078
【図７５】
2006057337.tif 000079
【図７６】
2006057337.tif 000080
【図７７】
2006057337.tif 000081
【図７８】
2006057337.tif 000082
【図７９】
2006057337.tif 000083
【図８０】
2006057337.tif 000084
【図８１】
2006057337.tif 000085
【図８２】
2006057337.tif 000086
【図８３】
2006057337.tif 000087
【図８４】
2006057337.tif 000088
【図８５】
2006057337.tif 000089
【図８６】
2006057337.tif 000090
【図８７】
2006057337.tif 000091
【図８８】
2006057337.tif 000092
【図８９】
2006057337.tif 000093
【図９０】
2006057337.tif 000094
【国際調査報告】
2006057337.tif 000095
2006057337.tif 000096
2006057337.tif 000097
2006057337.tif 000098