(57)【要約】      （修正有）【課題】  複数のセキュリティ設定が複合的に作用することで発生する障害の有無を検証することができるようにする。【解決手段】  セキュリティ検証処理では、先ず、検証対象の設定情報を収集し、収集した設定情報に従ってプログラム動作情報を読み出す。次に、収集された設定情報とプログラム動作情報とを用いてデータ伝達経路情報を生成し、アクセス権を統合し、アクセス権が統合されたデータ伝達経路情報をセキュリティ検証用ポリシーに一致するデータ伝達経路が探索できるようなデータ伝達経路情報に変換する。そして、データ伝達経路情報が示すデータ伝達経路にセキュリティ検証用ポリシーに一致するデータ伝達経路があるか否かを探索し、不適経路があった場合には、探索された不適経路を生成する原因となった不適設定を検索し、検索された不適設定を示す不適設定情報を表示する。【選択図】  図１
2005196728.tif 000002
【特許請求の範囲】
【請求項１】
検査対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証システムであって、
前記検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報にもとづいて生成された当該検査対象システムにおけるデータ移動を表わすデータ伝達経路を格納するデータ伝達経路格納手段と、
前記データ伝達経路格納手段に格納された前記検査対象システムにおけるデータ移動を表わすデータ伝達経路のアクセス権を統合するアクセス権統合手段と、
セキュリティ上不適切なデータ移動の経路である不適経路があらかじめ設定されたセキュリティ検証用ポリシーにもとづいて、アクセス権が統合されたデータ伝達経路から不適経路を探索する探索手段と、を備えた
ことを特徴とするセキュリティ検証システム。
【請求項２】
プログラム動作情報にもとづいて、探索手段によって探索された不適経路のデータ移動を許容している複合的なセキュリティ設定を検索するセキュリティ設定検索手段を備えた
請求項１記載のセキュリティ検証システム。
【請求項３】
セキュリティ設定検索手段によって検索された複合的なセキュリティ設定を表示する検索結果表示手段を備えた
請求項２記載のセキュリティ検証システム。
【請求項４】
探索手段によって探索された不適経路を表示する探索結果出力手段を備えた
請求項１から請求項３のうちいずれかに記載のセキュリティ検証システム。
【請求項５】
設定情報を格納する設定情報格納手段と、
前記設定情報格納手段に格納されている検査対象システム内のセキュリティ設定を示す設定情報を収集する設定情報収集手段と、
前記検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報を格納するプログラム動作情報格納手段と、
前記設定情報収集手段が収集した設定情報と、前記プログラム動作情報格納手段に格納されているプログラム動作情報とにもとづいて、データ伝達経路を生成するデータ伝達経路生成手段と、を備え、
前記データ伝達経路生成手段は、生成したデータ伝達経路をデータ伝達経路格納手段に格納する
請求項１から請求項４のうちいずれかに記載のセキュリティ検証システム。
【請求項６】
探索手段は、
アクセス権が統合されたデータ伝達経路をツリー構造のデータに変換するデータ変換手段を備え、
前記データ変換手段によって変換したデータ伝達経路に、セキュリティ検証用ポリシーが示す不適経路と一致する経路があるか否かを探索する
請求項１から請求項５のうちいずれかに記載のセキュリティ検証システム。
【請求項７】
検査対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証システムであって、
設定情報を格納する設定情報格納手段と、
前記設定情報格納手段に格納されている検査対象システム内のセキュリティ設定を示す設定情報を収集する設定情報収集手段と、
前記検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報を格納するプログラム動作情報格納手段と、
前記設定情報収集手段が収集した設定情報と、前記プログラム動作情報格納手段に格納されているプログラム動作情報とにもとづいて、データ伝達経路を生成するデータ伝達経路生成手段と、を備えた
ことを特徴とするセキュリティ検証システム。
【請求項８】
検査対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証システムであって、
前記検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報にもとづいて生成された当該検査対象システムの動作内容を表す動作モデルを格納する動作モデル格納手段と、
セキュリティ上適切または不適切なデータ移動があらかじめ設定されたセキュリティ検証用ポリシーが表す当該データ移動と、前記動作モデル格納手段に格納された動作モデルが表す前記検査対象システムの動作内容とが適合するか否かを検証する検証手段と、を備えた
ことを特徴とするセキュリティ検証システム。
【請求項９】
動作モデル格納手段に格納される検査対象システムの動作内容を表す動作モデルは、
前記検査対象システムを構成するホストに関わるホスト情報と、
前記検査対象システムのネットワーク構成を表わすネットワーク接続表現情報と、
前記ホストに所属しているユーザを表わすユーザ情報と、
データの格納場所を表わすファイル情報と、
前記検査対象システムにて前記ユーザに提供されるサービスを表すサービス情報と、
前記ユーザのアクセス権限を表わすアクセス制御情報と、
通信ネットワークのフィルタリングを表すネットワークアクセス情報と、
通信ネットワークを利用したユーザ間の権限獲得関係を表わしたネットワークサービスの権限獲得関係情報と、
前記ユーザが前記サービスを利用して他のユーザのアクセス権限を獲得したときに、当該他のユーザのアクセス権限によって前記ユーザが利用できるサービスを表わしたカスケード関係情報とにもとづいて生成される
請求項８記載のセキュリティ検証システム。
【請求項１０】
セキュリティ検証用ポリシーは、データ移動を表すデータフロー関係情報、または、権限獲得関係情報と、カスケード関係情報と、アクセス制御情報とを含む論理式によって記述される
請求項９記載のセキュリティ検証システム
【請求項１１】
通信ネットワークに接続された検査対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証装置であって、
セキュリティ上不適切なデータ移動の経路である不適経路があらかじめ設定されたセキュリティ検証用ポリシーにもとづいて、前記検査対象システムにおけるデータ移動を表わすデータ伝達経路から不適経路を探索する探索手段と、
前記検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報にもとづいて、前記探索手段によって探索された不適経路のデータ移動を許容している複合的なセキュリティ設定を検索するセキュリティ設定検索手段と、を備えた
ことを特徴とするセキュリティ検証装置。
【請求項１２】
セキュリティ設定検索手段によって検索された複合的なセキュリティ設定を表示する検索結果表示手段を備えた
請求項１１記載のセキュリティ検証装置。
【請求項１３】
プログラム動作情報にもとづいて、データ伝達経路のアクセス権を統合するアクセス権統合手段を備え、
探索手段は、
アクセス権が統合されたデータ伝達経路をツリー構造のデータに変換するデータ変換手段を有し、
前記データ変換手段によって変換したデータ伝達経路に、セキュリティ検証用ポリシーが示す不適経路と一致する経路があるか否かを探索する
請求項１１または請求項１２記載のセキュリティ検証装置。
【請求項１４】
検査対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証方法であって、
前記検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報にもとづいて生成された当該検査対象システムにおけるデータ移動を表わすデータ伝達経路を格納したデータ伝達経路格納手段から当該データ伝達経路を読み出し、
読み出したデータ伝達経路のアクセス権を統合し、
セキュリティ上不適切なデータ移動の経路である不適経路があらかじめ設定されたセキュリティ検証用ポリシーにもとづいて、アクセス権が統合されたデータ伝達経路から不適経路を探索する
ことを特徴とするセキュリティ検証方法。
【請求項１５】
プログラム動作情報にもとづいて、探索された不適経路のデータ移動を許容している複合的なセキュリティ設定を検索する
請求項１４記載のセキュリティ検証方法。
【請求項１６】
検索された複合的なセキュリティ設定を表示する
請求１５記載のセキュリティ検証方法。
【請求項１７】
設定情報を格納する設定情報格納手段に格納されている検査対象システム内のセキュリティ設定を示す設定情報を収集し、
収集した設定情報と、前記検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報を格納するプログラム動作情報格納手段に格納されている当該プログラム動作情報とにもとづいて、データ伝達経路を生成し、
生成したデータ伝達経路をアクセス権の統合に用いるためにデータ伝達経路格納手段に格納する
請求項１４から請求項１６のうちいずれかに記載のセキュリティ検証方法。
【請求項１８】
アクセス権が統合されたデータ伝達経路をツリー構造のデータに変換し、
ツリー構造のデータに変換したデータ伝達経路に、セキュリティ検証用ポリシーが示す不適経路と一致する経路があるか否かを探索する
請求項１４から請求項１７のうちいずれかに記載のセキュリティ検証方法。
【請求項１９】
検査対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証方法であって、
前記検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報にもとづいて生成された当該検査対象システムの動作内容を表す動作モデルを動作モデル格納手段に格納し、
セキュリティ上適切または不適切なデータ移動があらかじめ設定されたセキュリティ検証用ポリシーが表す当該データ移動と、前記動作モデル格納手段に格納した動作モデルが表す前記検査対象システムの動作内容とが適合するか否かを検証する
ことを特徴とするセキュリティ検証方法。
【請求項２０】
検査対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証させるためのセキュリティ検証用プログラムであって、
コンピュータに、
前記検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報にもとづいて生成された当該検査対象システムにおけるデータ移動を表わすデータ伝達経路を格納したデータ伝達経路格納手段から当該データ伝達経路を読み出すステップと、
読み出したデータ伝達経路のアクセス権を統合するステップと、
セキュリティ上不適切なデータ移動の経路である不適経路があらかじめ設定されたセキュリティ検証用ポリシーにもとづいて、アクセス権が統合されたデータ伝達経路から不適経路を探索するステップとを
実行させるためのセキュリティ検証用プログラム。
【請求項２１】
コンピュータに、
さらに、プログラム動作情報にもとづいて、探索された不適経路のデータ移動を許容している複合的なセキュリティ設定を検索するステップを
実行させる請求項２０記載のセキュリティ検証用プログラム。
【請求項２２】
コンピュータに、
さらに、検索された複合的なセキュリティ設定を表示するステップを
実行させる請求項２１記載のセキュリティ検証用プログラム。
【請求項２３】
コンピュータに、
さらに、設定情報を格納する設定情報格納手段に格納されている検査対象システム内のセキュリティ設定を示す設定情報を収集するステップと、
収集した設定情報と、前記検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報を格納するプログラム動作情報格納手段に格納されている当該プログラム動作情報とにもとづいて、データ伝達経路を生成するステップとを実行させ、
生成したデータ伝達経路をアクセス権の統合に使用させる
請求項２０から請求項２２のうちいずれかに記載のセキュリティ検証用プログラム。
【請求項２４】
コンピュータに、
さらに、アクセス権が統合されたデータ伝達経路をツリー構造のデータに変換するステップと、
ツリー構造のデータに変換したデータ伝達経路に、セキュリティ検証用ポリシーが示す不適経路と一致する経路があるか否かを探索するステップとを
実行させる請求項２０から請求項２３のうちいずれかに記載のセキュリティ検証用プログラム。
【請求項２５】
検査対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証させるためのセキュリティ検証用プログラムであって、
コンピュータに、
前記検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報にもとづいて生成された当該検査対象システムの動作内容を表す動作モデルを動作モデル格納手段に格納するステップと、
セキュリティ上適切または不適切なデータ移動があらかじめ設定されたセキュリティ検証用ポリシーが表す当該データ移動と、前記動作モデル格納手段に格納した動作モデルが表す前記検査対象システムの動作内容とが適合するか否かを検証するステップとを
実行させるためのセキュリティ検証用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティホールとなるソフトウェアのセキュリティ設定の複合的な誤りがあるか否かを検出して指摘することができるセキュリティ検証システム、セキュリティ検証装置、セキュリティ検証方法および、セキュリティ検証用プログラムに関する。
【背景技術】
【０００２】
近年のインターネットの普及に伴い、インターネットは電話網などと並ぶ重要な社会インフラとなりつつある。インターネットでは、ユーザは様々なサービスを受けることができる。インターネット上で提供されるサービスは、一般に、ユーザからの一連のリクエストを受け付け、受け付けたリクエストに応じた処理を実行し、その処理結果をユーザに送信することで実現されている。具体的には、ＷＷＷ（World Wide Web）によるサービスが広く普及しており、現在では電子商取引などの様々なサービスの基盤となっている。
【０００３】
上記のインターネット上で提供される様々なサービスは、インターネットに接続されたサーバと呼ばれるシステムによって実現されている。特に、インターネットに公開されたサーバは、匿名性の高い不特定多数のユーザからのリクエストを受け付けるため、いわゆるサイバー攻撃（サイバースペースへの攻撃）の対象となりやすく、セキュリティ上の大きな問題となっている。
【０００４】
このような、公開サーバに対するサイバー攻撃には、サーバの脆弱点（サーバソフトウェアの障害を引き起こすプログラムのミス）や不適設定（サーバソフトウェアの障害を引き起こすセキュリティ設定時の設定ミス）などのセキュリティホールを悪用し、サーバに悪意のあるリクエストを送りつけて不正動作させ、機密ファイルを盗むなどの悪意のある動作をさせるものがある。
【０００５】
このようなサイバー攻撃は、理想的には、サーバのセキュリティホールを無くすことによって、未然に防止することができる。しかし、ソフトウェアのセキュリティホールを完全に無くすことは非常に困難であり、現実的には不可能である。また、ソフトウェアの作成者とサーバ運用者は一般には同一でないため、サーバ運用者がソフトウェアの仕様を誤解して、セキュリティ上問題のある設定をしてしまう可能性は排除することができない。
【０００６】
従来、セキュリティを検証するための装置として、サーバ等の脆弱点の有無を検査し、コンピュータシステムのセキュリティの強さを判断するセキュリティ検証装置（例えば、特許文献１、非特許文献１参照）が提案されている。このセキュリティ検証装置は、具体的には、図５２に示すように、擬似攻撃手段５２０と、反応検査手段５３０と、脆弱点データベース５１０から構成されている。
【０００７】
図５２に示すセキュリティ検証装置では、擬似攻撃手段５２０が、検査対象となるコンピュータシステムの構成に従い、脆弱点データベース５１０から、検査対象を擬似攻撃するための攻撃手段を取り出す。擬似攻撃手段５２０は、取り出した攻撃手段を使用して、検査対象を擬似攻撃する。反応検査手段５３０は、攻撃された検査対象を調べ、検査対象の反応を、あらかじめ定義された攻撃手段に応じた反応と比較し、検査対象の脆弱点の有無を確認する。図５２に示すセキュリティ検証装置は、上記のようにして、すべての検査対象に擬似攻撃が実行され、脆弱点の有無から検査対象のセキュリティが検証されるシステムである。上記の技術を「従来技術１」と呼ぶ。
【０００８】
また、推奨設定との比較により、対象となるコンピュータシステムのセキュリティを検証するシステムがある（例えば非特許文献２参照）。このシステムでは、推奨設定がデータベースに登録されており、その推奨設定と実際の設定とを比較することでセキュリティが検証される。上記の技術を「従来技術２」と呼ぶ。
【０００９】
さらに、複数の脆弱点の相互関係をグラフに表現し脆弱点の組み合わせがより大きな脅威となっている場合を検証することができるセキュリティ検証方式が提案されている（例えば非特許文献３参照）。この方式は、複数の脆弱点をあらかじめ検出し、それらの脆弱点の相互関係をグラフに表現する。
【００１０】
例えば、検証対象に２つの脆弱点があるとする。１つ目がインターネットを経由してユーザ権限を奪取できる脆弱点であり、２つ目が任意のユーザが管理者の権限を奪取できる脆弱点ある。このとき２つ目脆弱点の任意のユーザが管理者の権限を奪取できる脆弱点は直接外部の者が利用することはできないため、脆弱点としては深刻ではない。このため、１つの脆弱点を検査するシステムでは、この脆弱点があったとしてもシステム全体としては、問題なしと判断することが多い。しかし、１の脆弱点を利用したあとであれば、２の脆弱点を利用することができる。つまり、この２つの脆弱点を組み合わせてはじめて深刻な脆弱点と判断できるのである。このような脆弱点の組み合わせを検証するために、ある脆弱点を利用した後で利用できる脆弱点を網羅的に有向グラフで連結していく。このようにして、複数の脆弱点の組み合わせを検証するシステムである。上記の技術を「従来技術３」と呼ぶ。
【００１１】
【特許文献１】特開２００２−２２９９４６号公報
【非特許文献１】“Ｉｎｔｅｒｎｅｔ  Ｓｃａｎｎｅｒ”、［ｏｎｌｉｎｅ］、［平成１５年１０月２７日検索］、インターネット＜ＵＲＬ：http://www.isskk.co.jp/product/Internet_Scanner.html＞
【非特許文献２】“Ｓｙｓｔｅｍ  Ｓｃａｎｎｅｒ”、［ｏｎｌｉｎｅ］、［平成１５年１０月２７日検索］、インターネット＜ＵＲＬ：http://www.isskk.co.jp/product/System_Scanner.html＞
【非特許文献３】ロナルド・Ｗ・リッチー（Ronald W.Ritchey）、ポール・アンマン（Paul Ammann）著,「2000 IEEE Symposium on Security and Privacy」，（米国），IEEE，２０００年３月，ｐ．１５６−１６５
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記の各従来技術では、セキュリティ設定の内容を検証対象とすることができないため、セキュリティ設定が不適設定であるか否かを検証することができないという第１の問題点がある。
【００１３】
すなわち、上記の各従来技術では、セキュリティ設定を検証するための擬似攻撃を行うことはできない。具体的には、例えば従来技術１や従来技術３では、擬似攻撃方式と呼ばれる検査方式が採用されているが、この検査方式では、脆弱点にあわせた攻撃方法をあらかじめ用意し、実際に攻撃することで検査することになる。このため、攻撃方法を作成できる脆弱点だけが検査の対象となり、擬似攻撃を作成することができないセキュリティ設定については、検証することができない。
【００１４】
なお、従来技術２では、セキュリティ設定における設定ミスの有無を検証するようにしているが、セキュリティ設定における明らかな設定ミスの検証しか行うことができない。すなわち、従来技術２では、パスワードが空であった場合などの各設定単独で検証可能な明らかな設定ミスについてしか検証対象とすることができず、各設定それぞれによっては設定ミスか否かの判断が困難な複合的な設定ミスにもとづく不適設定の有無を検証することはできない。一方、不正アクセスの多くは設定ミスが原因で起こっているため、障害となる設定ミスがあるか否かについては、厳格に検証できるようにすることが望ましい。
【００１５】
また、上記の各従来技術では、複数のセキュリティ設定の組み合わせにより不適設定となっているかどうかを判断することができないという第２の問題点もある。
【００１６】
すなわち、上記の各従来技術では、複合的な設定ミスにもとづく不適設定の有無を検証することはできない。具体的には、従来技術１や従来技術２では、１つの脆弱点もしくは、１つの設定だけで、コンピュータシステムが脆弱となるかどうかを判断できるものを検査対象としており、複数のセキュリティ設定の組み合わせを検証の対象にすることはできない。しかし、個々の設定はミスとは言えずセキュリティホールではないと判断されるようなものであっても、そのようなセキュリティ設定が複数合わさることによってコンピュータシステムのセキュリティホールとなることがある。
【００１７】
また、従来技術３では、セキュリティホールとなるような複数の脆弱点の組合せの有無を検証するようにしているが、セキュリティ設定の設定ミスは検証対象とされていない。
【００１８】
さらに、上記の各従来技術では、検査対象システムに対する負荷が高いという第３の問題点もある。
【００１９】
具体的には、例えば従来技術１では、擬似攻撃方式と呼ばれる検査方式が主流であり、この方式では、脆弱点を利用する攻撃が実際に行われるため、検査対象は実際に攻撃されるのと同じ負荷を受けることになる。このため、システムダウンを引き起こす負荷を与えるおそれのある検証方式は、検証対象の状況によっては適用できなくなる場合があり、検証対象がいかなる状況であっても検証できるようにすることが望ましい。
【００２０】
本発明は、上述した問題を解消し、セキュリティ設定の厳格な検証ができるようにすることを目的とする。
【００２１】
また、本発明は、複数のセキュリティ設定が複合的に作用することで発生する障害の有無を検証することができるようにすることを目的とする。
【００２２】
さらに、本発明は、検証時における検査対象の負荷を低減させることができるようにすることを目的とする。
【課題を解決するための手段】
【００２３】
本発明によるセキュリティ検証システム（例えばセキュリティ検証システム１００）は、検査対象システム（例えば検査対象１１１）におけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証システムであって、検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報（例えばプログラム動作情報格納手段３０に格納されている情報）にもとづいて生成された当該検査対象システムにおけるデータ移動を表わすデータ伝達経路を格納するデータ伝達経路格納手段（例えばデータ伝達経路格納手段３２）と、データ伝達経路格納手段に格納された検査対象システムにおけるデータ移動を表わすデータ伝達経路のアクセス権を統合するアクセス権統合手段（例えばアクセス権統合手段４０）と、セキュリティ上不適切なデータ移動の経路である不適経路があらかじめ設定されたセキュリティ検証用ポリシーにもとづいて、アクセス権が統合されたデータ伝達経路から不適経路を探索する探索手段（例えば検証部５０）と、を備えたことを特徴とする。
【００２４】
上記のように、検査対象システムにおけるデータ移動を表わすデータ伝達経路のアクセス権を統合したデータと、セキュリティ検証用ポリシーとを用いて不適経路を探索する構成としたので、セキュリティ設定の複合的なミスである不適設定が検証対象システムに存在しているか否かを容易に検証することができる。
【００２５】
プログラム動作情報にもとづいて、探索手段によって探索された不適経路のデータ移動を許容している複合的なセキュリティ設定を検索するセキュリティ設定検索手段（例えば設定情報検索手段８０）を備えていてもよい。
【００２６】
上記のように、探索された不適経路のデータ移動を許容している複合的なセキュリティ設定を検索する構成としたので、複合的なミスとなり不適設定の原因となっている各セキュリティ設定を指摘することができ、設定の修正を促すことができる。
【００２７】
セキュリティ設定検索手段によって検索された複合的なセキュリティ設定（例えば図４８参照）を表示する検索結果表示手段（例えば検証結果表示手段６０）を備えていてもよい。
【００２８】
上記のように、不適経路のデータ移動を許容している複合的なセキュリティ設定を表示する構成としたので、複合的なミスとなり不適設定の原因となっている各セキュリティ設定を指摘することができ、不適設定を回避するためのセキュリティ設定の修正を促すことができる。
【００２９】
探索手段によって探索された不適経路（例えば図４７のグラフ）を表示する探索結果出力手段（例えば検証結果表示手段６０）を備えていてもよい。
【００３０】
上記のように、不適経路を表示する構成としたので、不適経路を指摘することができ、不適設定を回避するためのセキュリティ設定の修正を促すことができる。
【００３１】
設定情報を格納する設定情報格納手段（例えば、設定情報格納手段３１）と、設定情報格納手段に格納されている検査対象システム内のセキュリティ設定を示す設定情報を収集する設定情報収集手段（例えば設定情報収集手段７０）と、検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報を格納するプログラム動作情報格納手段（例えばプログラム動作情報格納手段）と、設定情報収集手段が収集した設定情報と、プログラム動作情報格納手段に格納されているプログラムの動作を示すプログラム動作情報とにもとづいて、データ伝達経路を生成するデータ伝達経路生成手段（例えばデータ伝達経路生成手段２１）と、を備え、データ伝達経路生成手段は、生成したデータ伝達経路をデータ伝達経路格納手段に格納する（例えばステップＳ２０３の後）ように構成されていてもよい。
【００３２】
上記のように、検査対象システムにおけるデータ伝達経路は、例えば、設定情報とプログラム動作情報とによって生成される。
【００３３】
探索手段は、アクセス権が統合されたデータ伝達経路をツリー構造のデータに変換するデータ変換手段（例えばデータ伝達経路変換手段５１）を備え、データ変換手段によって変換したデータ伝達経路に、セキュリティ検証用ポリシーが示す不適経路と一致する経路があるか否かを探索する（例えばパターンマッチング手段５２によるステップＳ２０７，Ｓ２０８の処理）ように構成されていてもよい。
【００３４】
上記のように、データ伝達経路をツリー構造に変換する構成とすれば、検証対象システム内のデータの流れを総合的にモデル化することができ、検証対象のコンピュータにセキュリティ設定の複合的なミスである不適設定があるか否かを容易に検証することができる。
【００３５】
また、本発明によるセキュリティ検証システム（例えばセキュリティ検証システム１００ｂ）は、検査対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証システムであって、設定情報を格納する設定情報格納手段と、設定情報格納手段に格納されている検査対象システム内のセキュリティ設定を示す設定情報を収集する設定情報収集手段と、検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報を格納するプログラム動作情報格納手段と、設定情報収集手段が収集した設定情報と、プログラム動作情報格納手段に格納されているプログラム動作情報とにもとづいて、データ伝達経路を生成するデータ伝達経路生成手段と、を備えたことを特徴とする。
【００３６】
上記のように、検査対象システムのセキュリティ設定を示す設定情報を収集し、プログラム動作情報に従ってデータ伝達経路を生成する構成としたので、生成したデータ伝達経路を表示（例えば、データ伝達経路生成手段によって生成された当該検査対象システムにおけるデータ移動を表わすデータ伝達経路を表示するデータ伝達経路表示手段（例えばデータ伝達経路表示手段９０）によって表示する）することができるようになり、表示されたデータ伝達経路を確認することで、セキュリティ設定を示す個々の設定情報を確認することができる。従って、システム検証者などのユーザが、特定のプログラムの複合的な設定が間違っているということを、容易に認識することができる。
【００３７】
また、本発明によるセキュリティ検証システム（例えばセキュリティ検証システム１００ｄ）は、検査対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証システムであって、検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報にもとづいて生成された当該検査対象システムの動作内容を表す動作モデル（例えば設定モデル）を格納する動作モデル格納手段（例えば設定モデル格納手段３４）と、セキュリティ上適切または不適切なデータ移動があらかじめ設定されたセキュリティ検証用ポリシー（例えば図６６に示す「検証したポリシー」）が表す当該データ移動と、動作モデル格納手段に格納された動作モデルが表す検査対象システムの動作内容（例えば図６６に示す「ポリシーにマッチした設定モデル」）とが適合するか否かを検証する検証手段（例えば検証手段５０ａ）と、を備えたことを特徴とする。
【００３８】
上記のように、セキュリティ上適切または不適切なデータ移動があらかじめ設定されたセキュリティ検証用ポリシーと、検査対象システムの動作内容を表す動作モデルとが適合するかを検証する構成としたので、セキュリティ設定の複合的なミスである不適設定が検証対象システムに存在しているか否かを容易に検証することができる。
【００３９】
動作モデル格納手段に格納される検査対象システムの動作内容を表す動作モデルは、例えば、検査対象システムを構成するホストに関わるホスト情報（例えば図５６に示す情報）と、検査対象システムのネットワーク構成を表わすネットワーク接続表現情報（例えば図５８に示すネットワーク接続表現）と、ホストに所属しているユーザを表わすユーザ情報（例えば図６３に示すユーザ）と、データの格納場所を表わすファイル情報（例えば図６５に示すファイル）と、検査対象システムにてユーザに提供されるサービスを表すサービス情報（例えばサービス「ｓ」により表されるサービス名）と、ユーザのアクセス権限を表わすアクセス制御情報（例えば図５９の範囲ｅに示すアクセス制御行列表現）と、通信ネットワークのフィルタリングを表すネットワークアクセス情報（例えば図５９の範囲ｂに示すネットワークアクセス表現）と、通信ネットワークを利用したユーザ間の権限獲得関係を表わしたネットワークサービスの権限獲得関係情報（例えば図５９の範囲ｃに示す権限獲得関係）と、ユーザがサービスを利用して他のユーザのアクセス権限を獲得したときに、当該他のユーザのアクセス権限によってユーザが利用できるサービスを表わしたカスケード関係情報（例えば図５９の範囲ｄに示すカスケード関係）とにもとづいて生成される。
【００４０】
セキュリティ検証用ポリシーは、例えば、データ移動を表すデータフロー関係情報によって記述（例えば図６６に検証したポリシーとして示されているもの）される。また、セキュリティ検証用ポリシーは、例えば、権限獲得関係情報と、カスケード関係情報と、アクセス制御情報とを含む論理式によって記述（例えばステップＳ３１１にて図１４に示す規則に従って変形されることによって表現される形式で記述）される。
【００４１】
また、本発明によるセキュリティ検証装置（例えば検査コンピュータ１２０）は、通信ネットワークに接続された検査対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証装置であって、セキュリティ上不適切なデータ移動の経路である不適経路があらかじめ設定されたセキュリティ検証用ポリシーにもとづいて、検査対象システムにおけるデータ移動を表わすデータ伝達経路から不適経路を探索する探索手段と、検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報にもとづいて、探索手段によって探索された不適経路のデータ移動を許容している複合的なセキュリティ設定を検索するセキュリティ設定検索手段と、を備えたことを特徴とする。
【００４２】
上記のように、検査対象システムにおけるデータ移動を表わすデータ伝達経路と、セキュリティ検証用ポリシーとを用いて不適経路を探索する構成としたので、セキュリティ設定の複合的なミスである不適設定が検証対象システムに存在しているか否かを検証することができる。また、探索された不適経路のデータ移動を許容している複合的なセキュリティ設定を検索する構成としたので、複合的なミスとなり不適設定の原因となっている各セキュリティ設定を指摘することができ、設定の修正を促すことができる。
【００４３】
セキュリティ設定検索手段によって検索された複合的なセキュリティ設定を表示する検索結果表示手段を備えていてもよい。
【００４４】
上記のように、不適経路のデータ移動を許容している複合的なセキュリティ設定を表示する構成としたので、複合的なミスとなり不適設定の原因となっている各セキュリティ設定を指摘することができ、不適設定を回避するためのセキュリティ設定の修正を促すことができる。
【００４５】
プログラム動作情報にもとづいて、データ伝達経路のアクセス権を統合するアクセス権統合手段を備え、探索手段は、アクセス権が統合されたデータ伝達経路をツリー構造のデータに変換するデータ変換手段を有し、データ変換手段によって変換したデータ伝達経路に、セキュリティ検証用ポリシーが示す不適経路と一致する経路があるか否かを探索する構成とされていてもよい。
【００４６】
上記のように、アクセス権が統合されたデータ伝達経路をツリー構造に変換し、変換したデータ伝達経路を用いて不適経路を探索する構成としたので、検証対象システム内のデータの流れを総合的にモデル化することができ、検証対象のコンピュータにセキュリティ設定の複合的なミスである不適設定があるか否かを容易に検証することができる。
【００４７】
また、本発明のセキュリティ検証方法は、検査対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証方法であって、検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報にもとづいて生成された当該検査対象システムにおけるデータ移動を表わすデータ伝達経路を格納したデータ伝達経路格納手段（例えばデータ伝達経路情報格納手段３２）から当該データ伝達経路を読み出し（ステップＳ２０４の前）、読み出したデータ伝達経路のアクセス権を統合し（例えばステップＳ２０４）、セキュリティ上不適切なデータ移動の経路である不適経路があらかじめ設定されたセキュリティ検証用ポリシーにもとづいて、アクセス権が統合されたデータ伝達経路から不適経路を探索する（例えばステップＳ２０７，Ｓ２０８）ことを特徴とする。
【００４８】
上記のように、検査対象システムにおけるデータ移動を表わすデータ伝達経路のアクセス権を統合したデータと、セキュリティ検証用ポリシーとを用いて不適経路を探索する構成としたので、セキュリティ設定の複合的なミスである不適設定が検証対象システムに存在しているか否かを容易に検証することができる。
【００４９】
プログラム動作情報にもとづいて、探索された不適経路のデータ移動を許容している複合的なセキュリティ設定を検索する（例えばステップＳ２１０）構成とされていてもよい。
【００５０】
上記のように、探索された不適経路のデータ移動を許容している複合的なセキュリティ設定を検索する構成としたので、複合的なミスとなり不適設定の原因となっている各セキュリティ設定を指摘することができ、設定の修正を促すことができる。
【００５１】
検索された複合的なセキュリティ設定を表示する（例えばステップＳ２１１）構成とされていてもよい。
【００５２】
上記のように、不適経路のデータ移動を許容している複合的なセキュリティ設定を表示する構成としたので、複合的なミスとなり不適設定の原因となっている各セキュリティ設定を指摘することができ、不適設定を回避するためのセキュリティ設定の修正を促すことができる。
【００５３】
設定情報を格納する設定情報格納手段に格納されている検査対象システム内のセキュリティ設定を示す設定情報を収集し（例えばステップＳ２０１）、収集した設定情報と、検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報を格納するプログラム動作情報格納手段に格納されている当該プログラムの動作を示すプログラム動作情報とにもとづいて、データ伝達経路を生成し（例えばステップＳ２０２、Ｓ２０３）、生成したデータ伝達経路をアクセス権の統合（例えばステップＳ２０４）に用いるためにデータ伝達経路格納手段に格納するように構成されていてもよい。
【００５４】
上記のように、検査対象システムにおけるデータ伝達経路は、例えば、設定情報とプログラム動作情報とによって生成される。
【００５５】
アクセス権が統合されたデータ伝達経路をツリー構造のデータに変換し（例えばステップＳ２０５）、ツリー構造のデータに変換したデータ伝達経路に、セキュリティ検証用ポリシーが示す不適経路と一致する経路があるか否かを探索する（例えばステップＳ２０７，Ｓ２０８）ように構成されていてもよい。
【００５６】
上記のように、アクセス権が統合されたデータ伝達経路をツリー構造に変換し、変換したデータ伝達経路を用いて不適経路を探索する構成としたので、検証対象システム内のデータの流れを総合的にモデル化することができ、検証対象のコンピュータにセキュリティ設定の複合的なミスである不適設定があるか否かを容易に検証することができる。
【００５７】
また、本発明のセキュリティ検証方法は、検査対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証するセキュリティ検証方法であって、検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報にもとづいて生成された当該検査対象システムの動作内容を表す動作モデルを動作モデル格納手段に格納し（例えばステップＳ３０１）、セキュリティ上適切または不適切なデータ移動があらかじめ設定されたセキュリティ検証用ポリシーが表す当該データ移動と、動作モデル格納手段に格納した動作モデルが表す検査対象システムの動作内容とが適合するか否かを検証する（例えばステップＳ３０３，Ｓ３０６）ことを特徴とする。
【００５８】
上記のように、セキュリティ上適切または不適切なデータ移動があらかじめ設定されたセキュリティ検証用ポリシーと、検査対象システムの動作内容を表す動作モデルとが適合するかを検証する構成としたので、セキュリティ設定の複合的なミスである不適設定が検証対象システムに存在しているか否かを容易に検証することができる。
【００５９】
また、本発明のセキュリティ検証用プログラム（例えばセキュリティ検証システム１００に搭載されるプログラム）は、検査対象システムにおけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証させるためのセキュリティ検証用プログラムであって、コンピュータ（例えばセキュリティ検証システム１００、検査コンピュータ１２０）に、検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報にもとづいて生成された当該検査対象システムにおけるデータ移動を表わすデータ伝達経路を格納したデータ伝達経路格納手段から当該データ伝達経路を読み出すステップと、読み出したデータ伝達経路のアクセス権を統合するステップと、セキュリティ上不適切なデータ移動の経路である不適経路があらかじめ設定されたセキュリティ検証用ポリシーにもとづいて、アクセス権が統合されたデータ伝達経路から不適経路を探索するステップとを実行させる。
【００６０】
上記のように、検査対象システムにおけるデータ移動を表わすデータ伝達経路のアクセス権を統合したデータと、セキュリティ検証用ポリシーとを用いて不適経路を探索させる構成としたので、セキュリティ設定の複合的なミスである不適設定が検証対象システムに存在しているか否かを容易に検証させることができる。
【００６１】
コンピュータに、さらに、プログラム動作情報にもとづいて、探索された不適経路のデータ移動を許容している複合的なセキュリティ設定を検索するステップを実行させるように構成されていてもよい。
【００６２】
上記のように、探索された不適経路のデータ移動を許容している複合的なセキュリティ設定を検索させる構成としたので、複合的なミスとなり不適設定の原因となっている各セキュリティ設定を指摘させることができ、設定の修正を促すようにすることができる。
【００６３】
コンピュータに、さらに、検索された複合的なセキュリティ設定を表示するステップを実行させるように構成されていてもよい。
【００６４】
上記のように、不適経路のデータ移動を許容している複合的なセキュリティ設定を表示させる構成としたので、複合的なミスとなり不適設定の原因となっている各セキュリティ設定を指摘させることができ、不適設定を回避するためのセキュリティ設定の修正を促すようにすることができる。
【００６５】
コンピュータに、さらに、設定情報を格納する設定情報格納手段に格納されている検査対象システム内のセキュリティ設定を示す設定情報を収集するステップと、収集した設定情報と、検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報を格納するプログラム動作情報格納手段に格納されている当該プログラムの動作を示すプログラム動作情報とにもとづいて、データ伝達経路を生成するステップとを実行させ、生成したデータ伝達経路をアクセス権の統合に使用させるように構成されていてもよい。
【００６６】
上記のように、検査対象システムにおけるデータ伝達経路は、例えば、設定情報とプログラム動作情報とによって生成される。
【００６７】
コンピュータに、さらに、アクセス権が統合されたデータ伝達経路をツリー構造のデータに変換するステップと、ツリー構造のデータに変換したデータ伝達経路に、セキュリティ検証用ポリシーが示す不適経路と一致する経路があるか否かを探索するステップとを実行させるように構成されていてもよい。
【００６８】
上記のように、アクセス権が統合されたデータ伝達経路をツリー構造に変換させ、変換したデータ伝達経路を用いて不適経路を探索させる構成としたので、検証対象システム内のデータの流れを総合的にモデル化させることができ、検証対象のコンピュータにセキュリティ設定の複合的なミスである不適設定があるか否かを容易に検証させることができる。
【００６９】
また、本発明のセキュリティ検証用プログラム（例えばセキュリティ検証システム１００ｄに搭載されるプログラム）は、コンピュータ（例えばセキュリティ検証システム１００ｄ）に、検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報にもとづいて生成された当該検査対象システムの動作内容を表す動作モデルを動作モデル格納手段に格納するステップ（例えばステップＳ３０１）と、セキュリティ上適切または不適切なデータ移動があらかじめ設定されたセキュリティ検証用ポリシーが表す当該データ移動と、動作モデル格納手段に格納した動作モデルが表す検査対象システムの動作内容とが適合するか否かを検証するステップ（例えばステップＳ３０３，Ｓ３０６）とを実行させる。
【００７０】
上記のように、セキュリティ上適切または不適切なデータ移動があらかじめ設定されたセキュリティ検証用ポリシーと、検査対象システムの動作内容を表す動作モデルとが適合するかを検証させる構成としたので、セキュリティ設定の複合的なミスである不適設定が検証対象システムに存在しているか否かを容易に検証させることができる。
【発明の効果】
【００７１】
本発明によれば、検査対象のコンピュータにおけるデータ移動を表すデータ伝達経路と、セキュリティ上不適切なデータ移動の経路が設定されたセキュリティ検証用ポリシーとを比較する構成としたので、検証対象のコンピュータにセキュリティ設定の複合的なミスである不適設定があるか否かを容易に検証することができるという効果を有する。
【００７２】
また、複合的なミスである不適設定を探索する構成を含むようにすれば、不適設定の原因となっているセキュリティ設定を指摘することができ、設定の修正を促すことができるという効果を有する。
【００７３】
また、擬似攻撃のような負荷の高い手段を用いることなく、検証対象のコンピュータからセキュリティ設定情報（セキュリティに関連する設定情報）を収集するだけの構成としたので、検証対象のコンピュータに対して低負荷で検証することができるという効果を有する。
【発明を実施するための最良の形態】
【００７４】
以下、本発明の実施の形態について図面を参照して説明する。
実施の形態１．
図１は、本発明の第１の実施の形態におけるセキュリティ検証システム１００の構成の例を示すブロック図である。
【００７５】
図１に示すように、セキュリティ検証システム１００は、ポリシー入力手段１０と、データ伝達経路生成手段２１と、プログラム動作情報格納手段３０と、設定情報格納手段３１と、データ伝達経路情報格納手段３２と、ポリシー格納手段３３と、アクセス権統合手段４０と、検証部５０と、検証結果表示手段６０と、設定情報収集手段７０と、設定情報検索手段８０と、検査対象（検査対象システム）１１１とを含む。
【００７６】
検査対象１１１は、セキュリティ検証システム１００によるセキュリティ設定のミスの検証対象となるコンピュータを意味し、具体的には、例えばＯＳ（オペレーティングシステム：ＯＳ１１１ａ参照）、Ｗｅｂサーバ（Ｗｅｂサーバ１１１ｂ参照）、Ｗｅｂクライアント（Ｗｅｂクライアント１１１ｃ参照）などが該当する。
【００７７】
設定情報収集手段７０は、検証対象システム１１１から、検証対象システム１１１内のセキュリティ設定を示すセキュリティ設定情報を収集し、設定情報格納手段３１に格納する処理を実行する機能を有する。すなわち、設定情報収集手段７０は、検査対象１１１のコンピュータシステムから、セキュリティに関連する設定情報を収集する。
【００７８】
「セキュリティに関連する設定情報（セキュリティ設定情報）」とは、対象アプリケーションと、セキュリティ単位情報（「セキュリティ設定情報」とも言う）と、設定情報ファイル名とを含む情報を意味する。
【００７９】
設定情報格納手段３１は、例えばデータベース装置によって構成され、設定情報収集手段７０により収集されたセキュリティ設定情報を、設定情報ＩＤとともに格納する。
【００８０】
図２は、設定情報格納手段３１のデータ格納態様の例を示す説明図である。設定情報格納手段３１には、例えば図２に示すように、設定情報ＩＤと、セキュリティ設定情報とが格納される。
【００８１】
「設定情報ＩＤ」とは、各セキュリティ単位情報に対応して付与され、セキュリティ単位情報を識別するために一意に決められる識別符号である。「設定情報ＩＤ」には、セキュリティ単位情報の他、設定情報ファイル名と、対象アプリケーションとが対応付けされている。
【００８２】
「対象アプリケーション」とは、セキュリティ検証の対象となるアプリケーションプログラムを意味する。具体的には、例えば、ＯＳ（オペレーティングシステム：ＯＳ１１１ａ参照）、Ｗｅｂサーバ（Ｗｅｂサーバ１１１ｂ参照）、Ｗｅｂクライアント（Ｗｅｂクライアント１１１ｃ参照）のうち、対応するセキュリティ単位情報が示すセキュリティ設定がなされているアプリケーションが該当する。
【００８３】
「セキュリティ単位情報」とは、アークやノードを生成する原因となるセキュリティ設定情報の最小単位を示す情報である。具体的には、設定情報格納手段３１に格納されるセキュリティ単位情報は、例えば、対象アプリケーションに設定されている設定情報ファイルの内容、対象アプリケーションのユーザ管理ファイルの内容、ファイルやディレクトリに対するアクセス権などが該当する。
【００８４】
「設定情報ファイル名」とは、各セキュリティ単位情報の名称を示すであって、具体的には、セキュリティ単位情報を含むファイルの名前もしくは、セキュリティ単位情報のコンピュータシステム内における格納場所を示す情報である。
【００８５】
セキュリティ設定情報には、例えば、セキュリティ設定検証の対象となるアプリケーションプログラムの名称、ファイル名などの設定情報の格納場所の名称、ファイルまたはディレクトリの構造を示すファイル情報、対象アプリケーションによって管理されるユーザの情報を表わすユーザ情報、ユーザとファイルまたはディレクトリとの間のアクセス権を表わすアクセス権情報、プログラムの種別、バージョン情報、ネットワーク構成情報、ネットワークへのアクセス権の設定情報、脆弱点修正プログラム適用情報、ネットワークフィルタリングの設定情報、ＩＰアドレス、ホスト名などの情報のうちの少なくとも１つが含まれる。
【００８６】
プログラム動作情報格納手段３０は、セキュリティ設定収集手段７０が収集したセキュリティ設定情報から、ノードまたはアークを生成するために必要な、検証対象システム１１１で用いられるプログラムの動作仕様を記述したプログラム動作情報を記憶保持する。
【００８７】
プログラム動作情報格納手段３０には、検証対象システム１１１で用いられるプログラムの種別やバージョンごとに、プログラム動作情報が格納される。「プログラム動作情報」とは、セキュリティ設定情報と、モデル上に作成するノードまたはアークの種類とを含む情報である。
【００８８】
「モデル上に作成するノードまたはアークの種類」は、プログラムの種類、バージョン情報、および、そのバージョン情報からモデル上に作成されるノードまたはアークの種類を意味する。
【００８９】
なお、「プログラム動作情報」に、脆弱点情報を含んでもよい。これは、プログラムの不備といった脆弱点もプログラム動作情報としてモデルに反映させることができるからである。
【００９０】
図３は、プログラム動作情報格納手段３０のデータ格納態様の例を示す説明図である。プログラム動作情報格納手段３０には、図３に示すように、セキュリティ設定情報と、モデル上に作成するノードまたはアークの種類を示す情報とが対応付けされているプログラム動作情報が格納されている。
【００９１】
プログラム動作情報に含まれるセキュリティ設定情報は、検査対象１１１を示す対象アプリケーションと、セキュリティ単位情報と、設定情報ファイル名とを含む。図３に示すように、「セキュリティ単位情報」には、ファイル情報、ユーザ情報、グループ情報などがある。また、図３に示すように、「モデル上に作成するノードまたはアークの種類を示す情報」は、後述するホストレイヤ、ファイルノード、ユーザノード、グループノード、別名定義を表すアークなど、モデル上に作成するホストレイヤ、ノード、あるいはアークを示す情報となっている。
【００９２】
データ伝達経路生成手段２１は、検証対象システム１１１のセキュリティ設定情報（セキュリティに関連する設定情報：図２参照）と、プログラムの動作情報（図３参照）とにもとづいて、データ伝達経路を生成する機能を有する。この例では、検査対象システム１１１内でのデータが伝達する経路をモデル化したデータ伝達経路を生成する。
【００９３】
「データ伝達経路」は、検査対象システム１１１のセキュリティ設定情報やプログラムの動作情報から決定される検査対象システム１１１内のデータの移動経路（伝達経路）をモデル化し、有向グラフで表現したものである（図２２参照）。
【００９４】
「データ伝達経路」は、１つのコンピュータを表すホストレイヤと、１つのプログラムを表すプログラムレイヤとによって表現される。
【００９５】
プログラムレイヤは、ホストレイヤ上に表現される。プログラムレイヤは、ホストレイヤ上に複数あってもよい。プログラムレイヤは、対象となるプログラムで管理されるアークとノードで表現される。プログラムレイヤが複数あるときは、複数のプログラムで管理されるアークを含むプログラム間レイヤがあってもよい。また、複数のホストレイヤがあるときは、複数のホストレイヤで管理されるアークを含むホスト間レイヤがあってもよい。なお、すべてのノードが一意に表現される場合は、レイヤ構造を持たなくともよい。
【００９６】
ホストレイヤは、コンピュータやルータなどのネットワーク機器ごとに作られ、それらの機器に含まれるプログラムを表わすプログラムレイヤや、プログラム間レイヤを含む。
【００９７】
プログラムレイヤは、コンピュータやルータなどのネットワーク機器に含まれるプログラムごとに作られる。プログラムレイヤには、それぞれのプログラムで管理されるノードや、ノードの関係を表わすアークが含まれる。
【００９８】
すなわち、「データ伝達経路」は、ノードと、ノードの関係を表わすアークと、それらの構造を表わすレイヤとで表現される。ノードの関係を表わすアーク（有向グラフのアーク）には、データの移動（書き込みや読み込みなど）を表わすデータ移動関係と、ユーザ、グループ間の所属を表わす所属関係と、ファイルまたはディレクトリやユーザまたはグループの別名定義を表わす別名定義関係と、他のユーザに権限を譲渡する権限委譲関係とのうちの少なくとも１つが含まれる。
【００９９】
「データ移動関係」は、ユーザまたはグループがファイルまたはディレクトリに対するアクセス権があることと、ユーザまたはグループがネットワークストリームに対してデータを送受信可能なことを表わす。
【０１００】
具体的には、例えば、ユーザノードまたはグループノードから、ファイルノードに向かうデータ移動関係のアークは、ユーザまたはグループがデータをファイルまたはディレクトリに対して書き込むことが可能なことを表わす。また、ファイルノードまたはグループノードからユーザノードに向かうデータ移動関係のアークは、ファイルまたはディレクトリのデータを、ユーザまたはグループが読み込み可能なことを表わす。さらに、ユーザノードまたはグループノードからネットワークノードに向かうデータ移動関係のアークは、ユーザまたはグループがネットワークストリームに対してデータを送信できることを表わす。また、ネットワークノードからユーザノードまたはグループノードに向かうデータ移動関係のアークは、ユーザまたはグループがネットワークストリームからデータを受診可能なことを表わす。そして、ネットワークノード間のデータ移動関係のアークは、ネットワークストリームの間でデータを送受信可能であることを表わす。
【０１０１】
「所属関係」は、ユーザがグループに所属していることを表わす。具体的には、例えば、ユーザノードからグループノードに向かう所属関係のアークは、ユーザがアークでつながれたグループに所属していることを表わす。
【０１０２】
「別名定義関係」は、複数のファイルが同一のファイルであることを表わす。具体的には、例えば、ファイルノードからファイルノードへ向かう別名定義関係のアークは、両端のノードを管理するプログラムやファイルの名前は異なるが、実体は同一のものであることを表わす。
【０１０３】
「権限委譲関係」は、複数のユーザまたはグループが、同一のユーザまたはグループであることを表わす。また、「権限委譲関係」は、あるユーザまたはグループが行う操作が、他のユーザまたはグループの権限行われることを表わす。具体的には、例えば、ユーザまたはグループから、ユーザまたはグループに対する権限委譲関係のアークは、１つ目のユーザまたはグループが、２つ目のユーザまたはグループと同一であること、または、１つ目のユーザまたはグループが、２つ目のユーザまたはグループの権限で操作を行うことを表わしている。
【０１０４】
グラフのノードには、データを表わすファイルノード、ネットワークサービスが利用するネットワークストリームを表わすネットワークノード、ユーザアカウントを表わすユーザノード、ユーザアカウントのグループを表わすグループノードのうちの少なくとも１つが含まれる。
【０１０５】
データ伝達経路生成手段２１は、設定情報収集手段７０が収集したセキュリティ設定情報に従って、検査対象システム１１１で用いられるプログラムの動作仕様をプログラム動作情報格納手段３０に問い合わせ、検査対象システム１１１で実行され得る動作を示すプログラム動作情報と、セキュリティ設定情報とにもとづいて、プログラム内でのデータ伝達経路を生成する。
【０１０６】
データ伝達経路情報格納手段３２は、例えばデータベース装置によって構成され、データ伝達経路生成手段２１が生成したデータ伝達経路と、そのデータ伝達経路に含まれるアークとノードを作成する原因となったセキュリティ設定情報もしくはそのセキュリティ設定情報の保存場所を示す情報（設定情報ＩＤ）とを含むデータ伝達経路情報を格納する。ここで格納されるデータ伝達経路情報は、ノードとアークの接続関係が分かり、モデル化されたデータ伝達経路が生成できる情報とされる。なお、保存するデータ伝達経路情報は、アクセス権統合手段４０によってアクセス権が統合されたあとのデータ伝達経路情報であってもよい。
【０１０７】
図４は、データ伝達経路情報格納手段３２のデータ格納態様の例を示す説明図である。データ伝達経路情報格納手段３２には、図４に示すように、データ伝達経路をモデル化して表現するためのプログラムが格納される。
【０１０８】
データ伝達経路情報格納手段３２に格納されるプログラムのデータ構造は、１つのコンピュータに関する情報を格納する領域（図４における領域「Ｉ」）と、プログラムに関する情報を持つ領域（図４における領域「Ｇ」）と、複数のプログラムに関わる情報を格納する領域（図４における領域「Ｈ」）と、アークに関する情報を格納する領域（図４における領域「Ｆ」）と、ノードに関する情報を格納する領域（図４における領域「Ｃ」）と、ノードまたはアークを生成する原因となったセキュリティ設定情報の識別符号（設定情報ＩＤ）を格納する領域（図４における領域「Ｂ」，「Ｅ」）と、ノードまたはアークに接続するアークまたはノードの識別符号を格納する領域（図４における領域「Ａ」，「Ｄ」）とを含む。各々の領域は、複数あってもよく、コンピュータに関する情報を格納する領域が複数ある場合は、複数のコンピュータが関係する情報を格納する領域（図４における領域「Ｊ」）があってもよい。
【０１０９】
また、各領域には、name属性に名前や、ＩＤ属性に識別符号が、type属性にアークまたはノードの種類が格納される。具体的には、type属性は、例えば、データ移動関係の場合は”transfer”、権限委譲関係の場合は”commission”、別名定義関係の場合は”alias”、所属関係の場合は”attach”、ユーザノードの場合は”user”、グループノードの場合は”group”、ファイルノードの場合は”file”、ネットワークノードの場合は”network”となる。
【０１１０】
アクセス権統合手段４０は、複数のプログラムの動作をプログラム動作情報格納手段３０に問い合わせ、プログラム動作情報にもとづいて、複数のプログラムのアクセス権のうち、統合可能な複数のアクセス権を１つのアクセス権に統合する処理を実行する機能を有する。具体的には、アクセス権統合手段４０は、ノードの関係を表わす最大で４種類（データ移動関係、所属関係、別名定義関係、権限委譲関係）となるアークを、２種類（データ移動関係、所属関係）のアークに統合する処理を行う。なお、アクセス権統合手段４０は、アクセス権を統合することで、データ伝達経路情報を、セキュリティ検証用ポリシーと容易に比較できるデータに変換する。
【０１１１】
ポリシー入力手段１０は、ポリシー格納手段３３に格納されているセキュリティ検証用ポリシーを読み出して、検証部５０に入力する機能を有する。
【０１１２】
「ポリシー」は、アクセスをデータの移動経路で表わしたものであり、データの移動経路の少なくとも始点と、終点とを指定する。なお、ポリシーのうち、セキュリティ検証のために、不適切なアクセスをデータの移動経路で表わしたポリシー（図３０参照）を、特に「セキュリティ検証用ポリシー」と呼ぶ。
【０１１３】
すなわち、「セキュリティ検証用ポリシー」とは、検査対象システム１１１上の不適切なデータ伝達経路（あってはならないデータ伝達経路、不正なデータ伝達経路）が指定されたポリシーを意味する。「セキュリティ検証用ポリシー」は、例えばシステム管理者などによって、あらかじめ設定されてポリシー格納手段３３に格納されている。
【０１１４】
なお、「ポリシー」は、データの始点、終点だけでなく、途中経路を指定するようにしてもよい。途中経路を指定するようにすれば、情報漏洩などのリスクを考慮し、特定の経路を経由するデータ伝達経路を指定することができる。
【０１１５】
始点、終点、途中経路には、コンピュータシステムを構成するノードを指定する。ノードには、ファイルノード、ネットワークノード、ユーザノード、グループノードを少なくとも１つ含む。
【０１１６】
検証部５０は、アクセス権統合手段４０によってアクセス権が統合されたデータ伝達経路からセキュリティ検証用ポリシーに記述された経路を探索する処理を実行する機能を有する。検証部５０は、データ伝達経路変換手段５１と、パターンマッチング手段５２とを含む。
【０１１７】
データ伝達経路変換手段５１は、アクセス権統合手段４０によって複数のアクセス権が統合されたデータ伝達経路（図２５参照）を、ポリシー入力手段１０によって入力されたセキュリティ検証用ポリシーとの比較ができるようなデータ（図２８参照）に変換する機能を有する。すなわち、データ伝達経路変換手段５１は、データ伝達経路生成手段２１によって生成されたデータ伝達経路の表現形式を変換する。
【０１１８】
パターンマッチング手段５２は、データ伝達経路変換手段５１によって変換されたデータ伝達経路から、ポリシー入力手段１０によって入力されたセキュリティ検証用ポリシーに一致するデータ伝達経路（不適経路）を探索する機能を有する。
【０１１９】
設定情報検索手段８０は、パターンマッチング手段５２によって探索されて出力されたセキュリティ検証用ポリシーに一致したデータ伝達経路を示す情報（不適経路情報）と、データ伝達経路情報格納手段３２に格納されたデータ伝達経路情報とを用いて、不適経路が生成される原因となったセキュリティ設定情報（不適設定情報）を、設定情報格納手段３１に格納されたセキュリティ設定情報から検索する機能を有する。
【０１２０】
なお、本例では、設定情報検索手段８０が、設定情報格納手段３１に格納されたセキュリティ設定情報から不適設定情報を検索する構成とされているが、データ伝達経路情報（図４参照）に、設定情報ＩＤの代わりにセキュリティ設定情報が格納されている場合には、設定情報格納手段３１を検索することなく、不適設定情報を検索することができるようになる。この場合、設定情報検索手段８０は、パターンマッチング手段５２によって探索されて出力された不適経路情報と、データ伝達経路情報格納手段３２に格納されたデータ伝達経路情報とを用いて、不適経路を生成する原因となったすべてのノードとアークを検索し（図３４（ステップＳ２９１〜ステップＳ２９４）参照）、上記のデータ伝達経路情報を用いて検索したノードおよびアークとともに格納されているセキュリティ設定情報を検索することで、不適設定情報を検索する機能を有する。
【０１２１】
検証結果表示手段６０は、例えば液晶表示装置などの表示装置によって構成され、設定情報検索手段８０によって検索された不適設定情報が示す不適設定を画面表示する機能を有する。よって、設定ミスを犯した場所（セキュリティ設定情報の設定場所）を、検査対象システムのユーザに対して指摘することができる。なお、不適経路情報が示す不適経路も表示するようにしてもよい。
【０１２２】
次に、セキュリティ検証システム１００の動作について詳細に説明する。
図５は、第１の実施の形態におけるセキュリティ検証システム１００が実行するセキュリティ検証処理の例を示すフローチャートである。
【０１２３】
セキュリティ検証処理において、まず、設定情報収集手段７０は、検証対象１１１のセキュリティ設定情報を収集し（ステップＳ２０１）、収集したセキュリティ設定情報を設定情報格納手段３１に格納する。
【０１２４】
次に、データ伝達経路生成手段２１は、設定情報収集手段７０によって収集されて設定情報格納手段３１に格納されたセキュリティ設定情報を参照し、プログラム動作情報格納手段３０に対して検証対象１１１に関わるプログラム動作情報の問い合わせを行う（ステップＳ２０２）。すなわち、データ伝達経路生成手段２１は、設定情報収集手段７０が収集した、対象アプリケーションのプログラム名、設定情報ファイル名、その設定情報ファイル名が示す設定ファイルに対応付けされているセキュリティ単位情報にもとづいて、プログラム動作情報格納手段３０に対して、モデル上に生成するノードまたはアークの種類を問い合わせる。
【０１２５】
また、データ伝達経路生成手段２１は、設定情報収集手段７０によって収集されて設定情報格納手段３１に格納されたセキュリティ設定情報と、ステップＳ２０２の問い合わせによって読み出したプログラム動作情報とを用いて、データ伝達経路情報を生成する（ステップＳ２０３）。なお、データ伝達経路生成手段２１は、データ伝達経路情報を生成したあと、生成したデータ伝達経路情報をデータ伝達経路情報格納手段３２に格納する。
【０１２６】
データ伝達経路生成手段２１は、ステップＳ２０３にて、セキュリティ設定情報に含まれるユーザを表わす情報を用いて、作成するノードをプログラム動作情報格納手段３０に問い合わせ、ユーザ情報に含まれるユーザを表わすユーザノードを作成する。例えば、あるプログラムが管理するユーザＩＤが含まれていた場合は、ユーザノードを作成する。
【０１２７】
また、データ伝達経路生成手段２１は、ステップＳ２０３にて、セキュリティ設定情報に含まれるグループを表わす情報を用いて、作成するノードをプログラム動作情報格納手段３０に問い合わせ、グループ情報に含まれるグループを表わすグループノードを作成する。例えば、あるプログラムが管理するグループＩＤが含まれていた場合は、ユーザノードを作成する。
【０１２８】
また、データ伝達経路生成手段２１は、ステップＳ２０３にて、セキュリティ設定情報に含まれるサーバが利用するネットワークストリームの情報を用いて、作成するノードをプログラム動作情報格納手段３０に問い合わせ、ネットワークストリームを表わすグループノードを作成する。例えば、あるプログラムが利用するネットワークストリームが書かれていた場合は、ネットワークノードを作成する。
【０１２９】
また、データ伝達経路生成手段２１は、ステップＳ２０３にて、セキュリティ設定情報に含まれるファイル構造を表わす情報を用いて、作成するノードをプログラム動作情報格納手段３０に問い合わせ、ファイルやディレクトリを表わすファイルノードを作成する。例えば、あるプログラムが管理するファイルやディレクト構造が含まれていた場合は、それぞれのファイルやディレクトリに当たるファイルノードを作成する。
【０１３０】
さらに、データ伝達経路生成手段２１は、ステップＳ２０３にて、セキュリティ設定情報に含まれるファイル構造や、アクセス権を表わす情報や、プログラムがインストールされているという情報を用いて、作成するアークをプログラム動作情報格納手段３０に問い合わせ、データ移動関係を表わすアークを作成する。例えば、ユーザがファイルを読み込み可能である場合は、ファイルノードからユーザノードに向かうデータ移動関係を表わすアークを作成する。
【０１３１】
同様に、ファイルにユーザが書き込み可能な場合は、ユーザノードからファイルノードに向かうデータ移動関係を表わすアークを作成する。ユーザがネットワークストリームにデータを送出可能である場合は、ユーザノードからネットワークノードに向かうデータ移動関係を表わすアークを作成する。ユーザがネットワークストリームからデータを受信可能な場合は、ネットワークノードからユーザノードに向かうデータ移動関係を作成する。グループがファイルを読み込み可能である場合は、ファイルノードからグループノードに向かうデータ移動関係を表わすアークを作成する。
【０１３２】
また、同様に、ファイルにグループが書き込み可能な場合は、グループノードからファイルノードに向かうデータ移動関係を表わすアークを作成する。グループがネットワークストリームにデータを送出可能である場合は、グループノードからネットワークノードに向かうデータ移動関係を表わすアークを作成する。グループがネットワークストリームからデータを受信可能な場合は、ネットワークノードからグループノードに向かうデータ移動関係を作成する。ネットワークストリーム間でデータの送受信が可能な場合は、ネットワークストリーム間でデータの移動する方向にあわせてデータ移動関係のアークを作成する。
【０１３３】
さらにまた、データ伝達経路生成手段２１は、ステップＳ２０３にて、セキュリティ設定情報に含まれるグループに所属するユーザを特定する情報を用いて、作成するアークをプログラム動作情報格納手段３０に問い合わせ、所属関係を表わすアークを作成する。例えば、ユーザがグループに所属する場合、ユーザからグループに向かう所属関係のアークを作成する。
【０１３４】
さらに、データ伝達経路生成手段２１は、ステップＳ２０３にて、セキュリティ設定情報に含まれるプログラムの実行ユーザを表わす情報を用いて、作成するアークをプログラム動作情報格納手段３０に問い合わせ、権限委譲関係を表わすアークを作成する。例えば、あるプログラムで管理されているユーザが、プログラムの実行ユーザの設定により他のプログラムで管理されている他のユーザとして実行される場合は、あるユーザノードから、他のユーザノードに向かう権限委譲関係のアークを作成する。
【０１３５】
そして、データ伝達経路生成手段２１は、ステップＳ２０３にてセキュリティ設定情報に含まれるサーバのファイル情報やファイル構造情報を用いて、作成するアークをプログラム動作情報格納手段３０に問い合わせ、権限委譲関係を表わすアークを作成する。例えば、あるプログラムで管理されているファイルが他のプログラムで別の名前で管理されている場合は、あるプログラムで管理されているファイルノードから他のプログラムで管理されているファイルノードに向かう別名定義関係のアークを作成する。
【０１３６】
アクセス権統合手段４０は、データ伝達経路情報格納手段３２から、データ伝達経路生成手段２１によって生成されたデータ伝達経路情報を読み出して、読み出したデータ伝達経路情報が示すデータ伝達経路に別名定義関係を示すアークと権限委譲関係を示すアークが含まれていれば、これらのアークの両端にある4つのノードについて同じレイヤに所属するノード間のアクセス権を、レイヤを超えたデータ移動関係に統合する処理を行う（ステップＳ２０４）。つまり、別名定義関係を表すアークの起点にあるノードと権限委譲関係を表わすアークの起点にあるノード間のデータの移動と、各々のアークの終点にあるノード間のデータの移動が同じ方向（ユーザ（グループ）ノードからファイルノードへのデータの移動の方向、または、ファイルノードからユーザ（グループ）ノードへのデータ移動の方向）のときに、それらを統合したデータ移動関係のアークを新たに作成し、該当する別名定義関係と権限委譲関係のアークを削除する。
【０１３７】
データ伝達経路変換手段５１は、複数のプログラムにかかわるアクセス権が統合されたデータ伝達経路情報をアクセス権統合手段４０から受け取り、受け取ったデータ伝達経路情報を、セキュリティ検証用ポリシーに一致するデータ伝達経路が探索できるようなデータ伝達経路（図２８参照）を示すデータ伝達経路情報に変換する処理を行う（ステップＳ２０５）。
【０１３８】
次いで、ポリシー入力手段１０は、例えばオペレータからの指示に従い、望ましくないデータの移動経路を示すセキュリティ検証用ポリシーを、ポリシー格納手段３３から読み出して、パターンマッチング手段５２に入力する（ステップＳ２０６）。
【０１３９】
パターンマッチング手段５２は、データ伝達経路変換手段５１によって変換されたデータ伝達経路情報と、ポリシー入力手段１０によって入力されたセキュリティ検証用ポリシーとを比較し、データ伝達経路情報が示すデータ伝達経路にセキュリティ検証用ポリシーに一致するデータ伝達経路があるか否かを探索する（ステップＳ２０７）。
【０１４０】
ステップＳ２０７の探索処理は、ポリシー入力手段１０によって入力されたセキュリティ検証用ポリシーそれぞれについて繰り返し実行され（ステップＳ２０８のＮ）、ポリシー入力手段１０によって入力された全てのセキュリティ検証用ポリシーについて実行される。
【０１４１】
全てのセキュリティ検証用ポリシーについての探索処理を終えると（ステップＳ２０８のＹ）、パターンマッチング手段５２は、探索処理の結果を設定情報検索手段８０に出力する。
【０１４２】
探索処理の結果を受けると、設定情報検索手段８０は、不適経路が探索されているかを確認する（ステップＳ２０９）。
【０１４３】
不適経路があった場合には、設定情報検索手段８０は、設定情報格納手段３１に格納されているセキュリティ設定情報の中から、探索された不適経路を生成する原因となった不適設定を検索する処理を実行する（ステップＳ２１０）。
【０１４４】
そして、検証結果表示手段６０は、検索結果を受けると、検索された不適設定を示す不適設定情報を表示する処理を行う（ステップＳ２１１）。なお、不適経路がなかった場合に、不適設定が発見されなかったことを表示するようにしてもよい。
【０１４５】
以上説明したように、本発明の第１の実施の形態では、検査対象システム１１１で用いられているプログラムのセキュリティ設定情報にもとづくデータ伝達経路と、望ましくないデータの移動経路を示すセキュリティ検証用ポリシーとを比較して、不適設定にもとづく不適経路を含むデータ伝達経路を探索する構成としたので、検証対象システムの個々の設定を検証しただけでは、不適設定であるか否かを判定することができないような場合であっても、不適設定であることを特定し、ユーザに対して指摘することができるようになる。
【０１４６】
すなわち、それぞれの設定ミス単独では障害は生じないが、それらの設定ミスが複数あることによって支障が出る可能性のある複合的な設定ミスを探索することができるようになり、複合的な設定ミスの有無を検証することができ、セキュリティ設定の検証を厳格に行うことができるようになる。
【０１４７】
また、上述したように、検査対象システム１１１からセキュリティ設定情報を収集し、データ伝達経路をモデル化し、セキュリティ検証用ポリシーを指定することで不適設定の有無を検証する構成としたので、検査対象システム１１１の実際の稼働状況にあわせて不適設定を特定することができる。従って、実際に検査対象システム１１１を安全に運用することができるようになる。すなわち、検証対象システム１１１の運用前に検証することで、その検証結果を、セキュリティ設定を施す指針とすることができる。
【０１４８】
また、上述したように、擬似攻撃のような検査対象システム１１１の負荷が大きくなってしまうような方式を採用することなく、複合的な設定ミスの有無を検証するようにしているので、検証時における検査対象システム１１１の負荷を軽減させることができる。
【０１４９】
実施の形態２．
図６は、本発明の第２の実施の形態におけるセキュリティ検証システム１００ａの構成の例を示すブロック図である。以下の説明において、上述した第１の実施の形態におけるセキュリティ検証システム１００と同一の構成および処理を行う部分については、同一の符号を付与してその詳細な説明を省略する。
【０１５０】
図６に示すように、セキュリティ検証システム１００ａは、検査対象１１１と、設定情報収集手段７０と、設定情報格納手段３１と、プログラム動作情報格納手段３０と、データ伝達経路生成手段２１と、データ伝達経路情報格納手段３２と、アクセス権統合手段４０と、データ伝達経路表示手段９０とを含む。
【０１５１】
データ伝達経路表示手段９０は、例えば液晶表示装置などの表示装置によって構成され、データ伝達経路情報格納手段３２に格納されているデータ伝達経路情報が示すデータ伝達経路と、設定情報格納手段３１に格納されているセキュリティ設定情報とを関連付けて画面表示する機能を有する。具体的には、データ伝達経路生成手段２１によって生成されたデータ伝達経路や、アクセス権統合手段４０によって生成されたデータ伝達経路を画面表示する。
【０１５２】
次に、本発明の第２の実施の形態におけるセキュリティ検証システム１００ａの動作について説明する。図７は、セキュリティ検証システム１００ａが実行するセキュリティ検証処理の例を示すフローチャートである。
【０１５３】
セキュリティ検証処理において、まず、上述したステップＳ２０１〜ステップＳ２０４の処理を実行する。そして、データ伝達経路表示手段９０は、データ伝達経路情報格納手段３２に格納されているアクセス権統合手段４０が生成したデータ伝達経路情報が示すデータ伝達経路を、設定情報格納手段３１に格納されているセキュリティ設定情報に関連付けて画面表示する（ステップＳ４０１）。すなわち、アクセス権統合手段４０が生成したデータ伝達経路情報が示すデータ伝達経路情報と、そのデータ伝達経路情報に含まれている設定情報ＩＤに対応するセキュリティ単位情報を含むセキュリティ設定情報とを関連付けて表示する。
【０１５４】
なお、上記の例では、データ伝達経路表示手段９０が、アクセス権統合手段４０が生成したデータ伝達経路情報に含まれている設定情報ＩＤに対応するセキュリティ設定情報を、設定情報格納手段３１を検索して読み出す構成とされているが、アクセス権統合手段４０によって生成されたデータ伝達経路情報に、設定情報ＩＤの代わりにセキュリティ設定情報が格納されている場合には、設定情報格納手段３１を検索することなくセキュリティ設定情報を特定することができるようになる。この場合、データ伝達経路表示手段９０は、アクセス権統合手段４０が生成したデータ伝達経路情報が示すデータ伝達経路を、そのデータ伝達経路情報に含まれているセキュリティ設定情報を認識可能な表示態様（例えば強調表示）で表示するようにすればよい。
【０１５５】
以上説明したように、本発明の第２の実施の形態では、検証対象システム１１１からセキュリティ設定情報を収集し、データ伝達経路をモデル化し、データの伝達経路を画面表示する構成としたので、個々の設定だけでは分からない、複数のプログラムがかかわるデータの流れを確認することができる。そのため、システムの検証者は、実際の設定を施した後、データの流れを確認することで、その設定の正しさを検証することができる。
【０１５６】
また、上述したように、データの流れとその流れのつくる原因となっているセキュリティ設定が関連付けて表示されるため、セキュリティ検証システム１００ａの利用者にとっては、複合的な設定ミスの発見が容易となる。
【０１５７】
実施の形態３．
図８は、本発明の第３の実施の形態におけるセキュリティ検証システム１００ｂの構成の例を示すブロック図である。以下の説明において、上述した第２の実施の形態におけるセキュリティ検証システム１００ａと同一の構成および処理を行う部分については、同一の符号を付与してその詳細な説明を省略する。
【０１５８】
本例のセキュリティ検証システム１００ｂは、上述したセキュリティ検証システム１００ａと比較すると、アクセス権統合手段４０が備えられていない構成とされている。
【０１５９】
本例では、データ伝達経路表示手段９０は、データ伝達経路生成手段２１によって生成されたデータ伝達経路情報が示すデータ伝達経路をそのまま画面表示する。
【０１６０】
以上説明したように、第３の実施の形態では、検査対象１１１のコンピュータシステムのセキュリティ設定情報を収集し、プログラム動作情報に従ってデータ伝達経路を生成し、生成したデータ伝達経路を表示する構成としたので、表示されたデータ伝送経路を確認することで、個々のセキュリティ設定情報を確認することができる。従って、システム検証者などのユーザが、特定のプログラムの複合的な設定が間違っているということを、容易に認識することができる。
【０１６１】
実施の形態４．
図９は、本発明の第４の実施の形態におけるセキュリティ検証システム１００ｃの構成の例を示すブロック図である。以下の説明において、上述した第１の実施の形態におけるセキュリティ検証システム１００と同一の構成および処理を行う部分については、同一の符号を付与してその詳細な説明を省略する。
【０１６２】
本例のセキュリティ検証システム１００ｃは、上述したセキュリティ検証システム１００と比較すると、データ伝達経路生成手段２１に代えてデータ伝達経路入力手段２０を備え、設定情報収集手段７０に代えて設定情報入力手段７１を備える構成とされている。すなわち、データ伝達経路入力手段２０により、ユーザによって指定されたデータ伝達経路を入力し、設定情報入力手段７１により、ユーザによって指定されたセキュリティ設定情報を入力する構成とされている。
【０１６３】
データ伝達経路入力手段２０は、例えばシステム検証者などのユーザの操作によって指定（選択、入力）されたデータ伝達経路情報を、データ伝達経路情報格納手段３２に向けて出力し、データ伝達経路情報格納手段３２に格納させる機能を有する。
【０１６４】
設定情報入力手段７１は、例えばシステム検証者などのユーザの操作によって指定（選択、入力）されたセキュリティ設定情報（図２）を、設定情報格納手段３１に向けて出力し、設定情報格納手段３１に格納させる機能を有する。設定情報入力手段７１は、ユーザの操作に従って、データ伝達経路入力手段２０によって入力されたデータ伝達経路の各アークおよびノードについて、それらが入力される原因となるセキュリティ設定を示すセキュリティ設定情報をアークやノードに関連付けて入力する機能を有する。すなわち、ユーザが、ノードまたはアークを指定するとともに、そのノードまたはアークを作成する原因となるセキュリティ設定情報をあわせて指定したことに応じて、設定情報入力手段７１は、アークやノードに関連付けされたセキュリティ設定情報を設定情報格納手段３１に格納させる。
【０１６５】
設定情報入力手段７１は、例えばシステム検証者などのユーザの操作によって指定されたセキュリティ設定情報を、設定情報格納手段３１に向けて出力し、設定情報格納手段３１に格納させる機能を有する。設定情報入力手段７１は、ユーザの操作に従って、データ伝達経路入力手段２０によって入力されたデータ伝達経路の各アークおよびノードについて、それらが入力される原因となるセキュリティ設定を示すセキュリティ設定情報をアークやノードに関連付けて入力する機能を有する。
【０１６６】
本例のセキュリティ検証システム１００ｃは、ユーザが、検査対象１１１におけるプログラムのセキュリティ設定情報や動作情報を確認し、検証対象システム１１１内のデータの移動経路を示すデータ伝達経路情報を生成する技能を有している場合に有効である。すなわち、セキュリティ検証システム１００ｃは、ユーザによって生成されたデータ伝達経路情報に不適設定にもとづく不適経路が含まれているか否かを検証することができる。
【０１６７】
この例では、セキュリティ検証処理において、設定情報入力手段７１が、ユーザの操作に応じて、ユーザによって設定されたセキュリティ設定情報を設定情報格納手段３１に入力する。次いで、データ伝達経路入力手段２０が、ユーザの操作に応じて、ユーザによって設定されたデータ伝達経路情報をデータ伝達経路情報格納手段３２に入力する。その後、上述したステップＳ２０４〜ステップＳ２１１の処理が実行される。
【０１６８】
以上説明したように、第４の実施の形態では、システム検証者などのユーザが指定したセキュリティ設定情報およびデータ伝達経路情報を用いてセキュリティ検証処理を実行する構成としたので、ユーザによって生成されたデータ伝達経路情報に不適設定にもとづく不適経路が含まれているか否かを検証することができる。なお、セキュリティ設定情報またはデータ伝達経路情報のいずれか一方をユーザが指定するようにしてもよい。
【０１６９】
なお、上述した第４の実施の形態では、システム検証者などのユーザが指定したセキュリティ設定情報およびデータ伝達経路情報を用いる構成としていたが、本システム１００ｃ以外の他のシステムによって生成されたデータ伝達経路情報や、他のシステムによって収集されたセキュリティ設定情報を用いる構成としてもよい。このように構成すれば、他のシステムによって生成されたデータ伝達経路情報に不適設定にもとづく不適経路が含まれているか否かを検証することができるようになる。具体的には、例えばセキュリティ設定（機器の設定）を行うシステム（ネットワークやその機器を設定するシステム）について、そのシステムの出力を本システム１００への入力とすることで、これから施そうとする設定がセキュリティ検証用ポリシーと一致しているか否かを検証することができ、不適設定の指摘などを行うことができるため、より安全なセキュリティ設定やシステム設計を行うための対応を容易にとることができるようになる。また、例えばソフトウェアおよびハードウェアなどの資産管理ソフトウェアや、ソフトウェアのバージョンを管理するバージョン管理ソフトウェアと連携し、そのソフトウェアにもとづく出力を本システムの入力とすることで、現在運用中のシステムの設定の不備を指摘することができる。
【０１７０】
実施の形態５．
図１０は、本発明の第５の実施の形態におけるセキュリティ検証システム１００ｄの構成の例を示すブロック図である。以下の説明において、上述した第１の実施の形態におけるセキュリティ検証システム１００と同一の構成および処理を行う部分については、同一の符号を付与してその詳細な説明を省略する。
【０１７１】
図１０に示すように、セキュリティ検証システム１００ｄは、設定モデル入力手段１１と、設定モデル格納手段３４と、ポリシー入力手段１０と、ポリシー格納手段３３と、検証手段５０ａと、検証結果格納手段３５と、検証結果表示手段６０とを含む。
【０１７２】
ポリシー入力手段１０は、例えばシステム検証者などのユーザによって操作され、セキュリティ検証用ポリシーを記述してポリシー格納手段３３に格納する機能を有する。
【０１７３】
設定モデル入力手段１１は、例えばシステム検証者などのユーザによって操作され、システム構成に従って設定モデルを入力する機能を有する。なお、「設定モデル」については、後で詳しく説明する。
【０１７４】
設定モデル入力手段１１は、検査対象システムを構成する機器のセキュリティに関連する設定情報であるセキュリティ設定情報を反映した設定モデルを入力する。
【０１７５】
設定モデル格納手段３４は、例えばデータベース装置によって構成され、設定モデル入力手段１１によって入力された設定モデルを格納する。
【０１７６】
検証手段５０ａは、ポリシー格納手段３３に格納されたポリシーを取り出し、設定モデル格納手段３４に格納された設定モデルと比較し、セキュリティ検証用ポリシーにマッチする設定モデルが存在するか否かや、セキュリティ検証用ポリシーにマッチしない設定モデルが存在するか否かを検証する。
【０１７７】
なお、この実施の形態では、検査対象システムで満たされるべきでない条件を記述したポリシーだけでなく、検査対象システムで満たされるべき条件が記述されたポリシーについても「セキュリティ検証用ポリシー」と呼ぶことにする。また、両者を区別するため、前者を「禁止ポリシー」と呼び、後者を「許可ポリシー」と呼ぶことにする。「セキュリティ検証用ポリシー」は、例えば、詳細は後述するが、b()、acc()、cas()、auth()、flow()などの記号を用いて記述される。
【０１７８】
検証結果格納手段３５は、例えばデータベース装置によって構成され、検証手段５０ａによる検証結果を格納する。具体的には、検証結果格納手段３５は、検証結果として、セキュリティ検証用ポリシーにマッチする結果が出た場合には、該当するセキュリティ検証用ポリシーと、マッチした設定モデルを格納する。また、セキュリティ検証用ポリシーにマッチしない結果が出た場合は、該当するセキュリティ検証用ポリシーを格納する。このとき、マッチしなかったことを示す記号をあわせて格納してもよい。
【０１７９】
検証結果表示手段６０は、検証結果格納手段３５に格納されている検証手段５０ａによる検証結果をユーザに提示するために、セキュリティ検証用ポリシーと、マッチした設定モデルまたはマッチしなかったことを示す記号とをあわせて表示する処理を実行する機能を有する。
【０１８０】
ここで、「設定モデル」について説明する。
「設定モデル」とは、検査対象システムのセキュリティ設定情報と、プログラム動作情報とにもとづいて、検査対象システムの構成をモデル化したものである。設定モデルは、例えば、検証者や設計者により、検査対象システムの全体の構成と動作とが、モデル記述言語によって記述されたものである。「モデル記述言語」とは、例えばシステム構成やセキュリティ設定を表現することができる記述言語である。
【０１８１】
「設定モデル」は、プログラム動作情報（例えば図３参照）によって特定される複数の要素によって構成される。具体的には、設定モデルを構成する要素として、例えば、検査対象システムを構成するホストを表すホストの集合、検査対象システムのネットワーク構成を表わすネットワーク接続表現、ユーザやグループを表わすユーザの集合、データの格納場所を表わすファイルの集合、ユーザからファイルに対する操作やネットワークサービスを表すサービス名の集合、ファイルに対するユーザの権限を表わすアクセス制御行列表現、ネットワークのフィルタリングを現すネットワークアクセス表現、ネットワークを利用したユーザ間の権限獲得関係を表わしたネットワークサービスの権限獲得関係、ユーザがネットワークサービスや、ユーザとグループの所属関係を利用して他のユーザの権限を獲得したときに、権限を獲得したユーザの権限で利用できるサービスを表わしたカスケード関係などが該当する。
【０１８２】
以下、設定モデルを構成する要素について詳しく詳説する。
「ホスト」は、コンピュータやルータなどのネットワーク機器を表し、１つまたは複数のＩＰアドレスを有する。
【０１８３】
「ネットワーク接続表現」とは、検証対象システムのインターネット層レベルでのネットワーク構成を表し、ＩＰアドレスをノードとする無向グラフとして表される。具体的には、ＩＰアドレス「192.168.1.1」、ＩＰアドレス「192.168.1.2」、ＩＰアドレス「192.168.2.3」、ＩＰアドレス「192.168.2.4」、およびＩＰアドレス「192.168.2.5」の５つのＩＰアドレスをノードとし、向きを持たない接続関係が示されたグラフによって各ノードの接続構成が表現されたものが、その５つのＩＰアドレスから成るネットワーク接続表現である（図５８参照）。
【０１８４】
「ネットワークアクセス表現」とは、ネットワーク上をパケットが通るときに、そのパケットのＩＰアドレスまたはポート番号によってパケットの通過を拒否したり、許可したりするネットワークフィルタリング装置の動作をモデルで表現したものである。
【０１８５】
「ネットワークアクセス表現」は、ネットワークフィルタリングが行われているホストのＩＰアドレスと、制御対象のパケットの送信元ＩＰアドレスと、送信先ＩＰアドレスと、送信先ポート番号との４つの組の集合で表わされる。
【０１８６】
ネットワークアクセス表現は、例えば「n(ip1,s-ip,d-ip,d-port)」のような、上記の４つの組の内容を意味する記号によって表される。なお、この「n(ip1,s-ip,d-ip,d-port)」は、ＩＰアドレス「ip1」を有するホストで、送信元ＩＰアドレスが「s-ip」、送信先ＩＰアドレスが「d-ip」、送信先ポート番号が「d-port」であるＴＣＰ（Transmission Control Protocol）コネクションを許可していることを意味する。
【０１８７】
なお、「ネットワークアクセス表現」に送信元ポート番号を含めてもよい。このように構成すると、送信元ポート番号によるパケットフィルタリングも表現することができる。
【０１８８】
また、「ネットワークアクセス表現」にプロトコル種別を含めてもよい。このように構成すると、ＴＣＰパケットのフィルタリングだけでなく、ＵＤＰ（User Datagram Protocol）パケットのフィルタリングも表現することができる。
【０１８９】
また、「ネットワークアクセス表現」は、許可されたものを表現せずに、禁止されているものをモデルとして表現してもよい。このように構成すると、原則許可と設定されたシステムにおいては、ネットワークアクセス表現を短く簡便に記述することができる。
【０１９０】
この場合には、後述するパケットの通過の可否の判断を反転する必要がある。具体的には、許可されたネットワークアクセス表現の場合は、設定モデルにネットワークアクセス表現が含まれていれば、通信が許可されていると判断でき、禁止されたネットワークアクセス表現の場合は、設定モデルにネットワークアクセス表現が含まれていなければ、通信が許可されていると判断できる。
【０１９１】
「ユーザ」は、オペレーティングシステム（ＯＳ）や、アプリケーションソフトウェアの持つファイルアクセス制御機構におけるアクセス制御の主体を意味する。
【０１９２】
具体的には、Ｌｉｎｕｘオペレーティングシステムでは、ファイル「/etc/passwd」によって「ユーザ」が定義され、ファイル「/etc/group」によってグループが定義されるが、これらで定義されるユーザおよびグループが、設定モデルにおける「ユーザ」となる。
【０１９３】
また、Ａｐａｃｈｅサーバでは、ファイル「htpasswd」によって、サーバの持つファイルアクセス制御機構の主体を定義することができるが、これらも「ユーザ」に対応する。
【０１９４】
「ユーザ」は、いずれかのホストに所属している。このユーザの所属関係は、例えば、「b(u1)=h1で表現される。「b(u1)=h1」は、ユーザ「u1」が、ホスト「h1」に所属することを意味する。
【０１９５】
「ファイル」は、ＯＳやアプリケーションソフトウェアの持つファイルアクセス制御機構におけるアクセス制御の対象を意味する。
【０１９６】
「ファイル」は、データの中身そのものではなく、パス名などによって識別されるデータの置き場を表す。「ファイル」は、いずれかのホストに所属している。このファイルの所属関係は、例えば、「b(f1)=h1」で表現される。「b(f1)=h1」は、ファイル「f1」が、ホスト「h1」に所属することを意味する。
【０１９７】
「サービス名」は、ユーザがファイルに対して実行できる操作（例えば、読み込み「read」、書き込み「write」）の名前や、ネットワークを経由してユーザが受けられるサービス（例えば、「http」、「ssh」）の名前を意味する。また、空のサービスを表すサービス名「null」も定義される。サービス「null」によって、後述するとおり、一般のＯＳにおけるユーザとグループの関係を記述することができる。
【０１９８】
「アクセス制御行列表現」は、ユーザが、ファイルに対して、読み込みまたは書き込みを許可されているか否かを表わし、ユーザ「u」とファイル「f」および、読み込み、書き込みを表わすサービス「s」で表現される。
【０１９９】
アクセス制御行列表現「acc(u, s, f)」は、ユーザ「u」がファイル「f」にサービス「s」が可能であることを表わしている。具体的には、ユーザ「tutor」がファイル「answer.txt」を読み込み可能な場合は、アクセス制御行列表現は、acc (tutor, read, answer.txt)となる。
【０２００】
「権限獲得関係」とは、あるホストのユーザが、サービスを利用して、他のユーザの権限を獲得できることを表わしている。権限獲得関係「auth(u1, s, u2)」は、ユーザ「u1」がサービス「s」を利用してユーザ「u2」の権限を獲得できることを表わしている。
【０２０１】
具体的には、auth(student, telnet, guest)は、ユーザ「student」がサービス「telnet」を利用して、ユーザ「guest」としてログインすることができることを表す。この場合、ユーザ「student」はユーザ「guest」の権限で、ユーザ「guest」の属するホスト上のファイルにアクセスすることができる。
【０２０２】
また、auth(taro, null, student)は、ユーザ「taro」とグループ「student」が同一のホストに属する場合、ユーザ「taro」がグループ「student」に属することを表す。この場合、ユーザ「taro」が、無条件に、ユーザ「student」の権限で、グループ「student」の属するホスト上のファイルにアクセスすることができる。
【０２０３】
「カスケード関係」とは、ユーザがサービスを利用して、他のユーザの権限を獲得したときに、獲得したユーザの権限で利用できるサービスがある関係を意味する。
【０２０４】
「カスケード関係」は、権限獲得後のユーザと、権限を獲得するために利用したサービスの種類とによって決まり、サービス「s1」を利用して、ユーザ「u」の権限を獲得したときに、サービス「s2」が利用できるときに、記号cas(s1, u, s2)で表現される。
【０２０５】
具体的には、サービス「telnet」を利用してユーザ「u」の権限を獲得したときに、サービス「ftp」が利用できるときには、cas(telnet, u, ftp)となる。
【０２０６】
次に、セキュリティ検証用ポリシーを構成する各記号について説明する。
セキュリティ検証用ポリシーを構成する各記号b()、acc()、auth()、cas()は、それぞれ、所属関係、アクセス制御行列表現、権限獲得関係、カスケード関係を表現するために用いられる。また、セキュリティ検証用ポリシーを構成するflow()は、２つのファイルの間のデータフロー関係を表現するために用いられる。
【０２０７】
例えば、セキュリティ検証用ポリシー「flow(file-a, file-b)」とは、ファイル「file-a」からファイル「file-b」に対してデータが流れることを示している。つまり、ファイル「file-a」の内容が、任意のユーザやサービスを経由して「file-b」に書き込まれることを表わしている。
【０２０８】
これらの各述語（記号）を連結することによって、システム内のデータの流れを表現することができる。なお、この連結はＡＮＤ結合（「∧」で表す）、つまり、全ての述語が成り立つ場合に限り、全体が成り立つことを意味する。また、各述語には論理変数を用いることができるものとする。
【０２０９】
例えば、(b(U)=h)∧(b(F1)=h1)∧acc(U, read, f)∧auth(u1, ftp, U)∧acc(u1, write, F1)は、あるユーザ「U」がホスト「h」に所属し、あるファイル「F1」がホスト「h1」に所属し、ユーザ「U」がファイル「f」をreadし、ユーザ「u1」がサービス「ftp」を利用してユーザ「U」の権限を獲得し、ユーザ「u1」がファイル「F1」にwriteできることを表わしている。
【０２１０】
すなわち、ユーザ「u1」が、サービス「ftp」を用いてホスト「h」上のファイル「f」を読み込んだ後、ホスト「h1」上のあるファイルに書き込めることを表している。なお、述語において大文字アルファベットを用いた場合には、論理変数すなわち、任意のユーザ、ファイル、ホストまたは、サービスを表わすものとする。
【０２１１】
ポリシー格納手段３３は、ポリシー入力手段１０にて入力されたセキュリティ検証用ポリシーを記憶保持する。
【０２１２】
具体的には、ポリシー格納手段３３は、例えば図１１に示すような形式でセキュリティ検証用ポリシーを格納する。セキュリティ検証用ポリシーを格納するファイルやデータベースには、複数のセキュリティ検証用ポリシーを格納することができ、セキュリティ検証用ポリシーだけでなく、セキュリティ検証用ポリシーに付随する情報を格納してもよい。
【０２１３】
セキュリティ検証用ポリシーに付随する情報とは、ポリシーの分類や、人間に分かりやすいようにポリシーの意味を記載した説明などである。さらに、ポリシー格納手段３３は、セキュリティ検証用ポリシーが許可ポリシーを表わすものか禁止ポリシーを表わすものかを格納する。
【０２１４】
例えば、図１１に示すように、Policyエレメントのtype属性がallowのときは、ポリシーに該当する設定モデルがなくてはならないことを示す許可ポリシーを表わし、type属性がdenyのときは、ポリシーに該当するモデルがあってはならない禁止ポリシーを表わす。
【０２１５】
次に、セキュリティ検証システム１００ｄの動作について詳細に説明する。
図１２は、第５の実施の形態におけるセキュリティ検証システム１００ｄが実行するセキュリティ検証処理の例を示すフローチャートである。
【０２１６】
まず、セキュリティ検証者やシステム構築者などのユーザが設定モデル入力手段１１を操作して検証対象となるシステムや、これから構築しようとするシステムのシステム構成に従って設定モデルが入力されると、設定モデル入力手段１１は、入力された設定モデルを設定モデル格納手段３４に格納する（ステップＳ３０１）。
【０２１７】
次いで、ユーザがポリシー入力手段１０を操作して、システムが満たすべき条件または満たされるべきでない条件を示したセキュリティ設定用ポリシーを入力すると、ポリシー入力手段１０は、入力されたセキュリティ設定用ポリシーをポリシー格納手段３３に格納する（ステップＳ３０２)。
【０２１８】
次いで、検証者の指示に従って、検証手段５０ａは、ポリシー格納手段３３から１つ以上のセキュリティ設定用ポリシーを取り出す。
【０２１９】
入力されたポリシーが許可ポリシーであれば、検証手段５０ａは、その許可ポリシーにマッチする設定モデルが存在するか否かを検索する(ステップＳ３０３)。検索の結果一致する設定モデルが存在したときは、許可ポリシーを表示（ステップＳ３０４）するとともに、その許可ポリシーにマッチした設定モデルを表示する（ステップＳ３０５）。
【０２２０】
また、入力されたポリシーが禁止ポリシーであれば、検証手段５０ａは、その禁止ポリシーにマッチする設定モデルが存在するか否かを検索する（ステップＳ３０６）。
【０２２１】
そして、禁止ポリシーが設定モデルにマッチしなかった場合には、検証結果表示手段６０は、その禁止ポリシーを、マッチしなかったことを示す記号とともに表示する（ステップＳ３０７）。
【０２２２】
図１３は、図１２に示したセキュリティ検証処理におけるステップＳ３０３の処理の具体例を示すフローチャートである。
【０２２３】
まず、検証手段５０ａは、検証対象のポリシーにデータフロー関係が含まれる場合には、あらかじめ定められている図１４に示す書き換え規則によって、データフロー関係を権限獲得関係などによる表現に変形する（ステップＳ３１１）。本例では、変形後の許可ポリシーを示す各関係が、それぞれ、設定モデルを満たしているか否かを検証する。
【０２２４】
また、ポリシーが権限獲得関係を含む場合には、検証手段５０ａは、権限獲得関係に含まれる２つのユーザが所属しているホストのＩＰアドレスを利用して、２つのユーザをつなぐネットワークの構造をネットワーク接続表現から求める（ステップＳ３１２）。これにより、２つのユーザをつなぐネットワークを構成するＩＰアドレスの集合が求められる。
【０２２５】
次いで、検証手段５０ａは、求めたネットワーク構造のＩＰアドレスと２つのユーザの所属するＩＰアドレス、権限獲得関係に含まれるサービスが利用するポート番号を利用して、ネットワークアクセス権表現を検索する（ステップＳ３１３）。
【０２２６】
ネットワークアクセス権表現を検索すると、検証手段５０ａは、検索したネットワークアクセス権表現から該当するネットワークアクセスが許可されているか否かを確認する。
【０２２７】
具体的には、権限獲得関係のユーザのＩＰアドレスが送信元ＩＰアドレス「10.56.1.2」および送信先ＩＰアドレス「10.56.1.3」で、サービスが利用するポート番号が「80」で、２つのユーザを接続するＩＰアドレスの集合がＩＰアドレス「10.56.3.1」とＩＰアドレス「10.56.3.2」とである場合には、検証手段５０ａは、ネットワークアクセス権表現に、n(10.56.3.1,10.56.1.2,10.56.1.3,80)と、n(10.56.3.2,10.56.1.2,10.56.1.3,80)とが含まれているか否かを探索する。
【０２２８】
上記の各記号の何れか一方がネットワークアクセス権表現に含まれていなければ、セキュリティ検証用ポリシーに含まれる権限獲得関係は、設定モデルにマッチしないと判定される（ステップＳ３１４のＮ）。
【０２２９】
ネットワークアクセス権表現で通信が許可されていれば（ステップＳ３１４のＹ）、検証手段５０ａは、セキュリティ検証用ポリシーに含まれる関係のうちのネットワーク接続関係以外の各関係が、設定モデルで定義されているか否かを検索する（ステップＳ３１５）。ネットワーク接続関係以外の各関係に、設定モデルで定義されていない関係があれば、検証手段５０ａは、ポリシーが設定モデルにマッチしないと判定する（ステップＳ３１５のＮ）。
【０２３０】
セキュリティ検証用ポリシーに含まれる各関係のすべてが設定モデルで定義されていれば、検証手段５０ａは、ポリシーが設定モデルにマッチしていると判定し（ステップＳ３１５のＹ）、ポリシーを検索結果とともに検索結果格納手段に格納する（ステップＳ３１６）。
【０２３１】
以上に説明したように、上述した第５の実施の形態では、システム全体の設定を表わす設定モデルに対して、検証対象システム内のデータの移動を表現したポリシーを用いて検索する構成としたので、複数のコンピュータに関わる、設計者または検証者が意図した動作とは異なる設定（設定ミス）を発見することができる。
【０２３２】
なお、上述した実施の形態では特に言及していないが、セキュリティ検証システム１００，１００ａ，１００ｂ，１００ｃ，１００ｄの各部は、自己が内部または外部に備えるコンピュータプログラム（セキュリティ検証プログラム）に従って上述した各種の処理を実行する。すなわち、セキュリティ検証システム１００は、セキュリティ検証プログラムに従って、上述した図５に示す処理を実行する。具体的には、例えば、セキュリティ検証プログラムは、検査対象システム１１１におけるセキュリティ設定の複合的な誤りを示す不適設定の有無を検証させるためのセキュリティ検証用プログラムであって、例えばセキュリティ検証システム１００に、検査対象システムで用いられるプログラムの動作を記述したプログラム動作情報にもとづいて生成された当該検査対象システムにおけるデータ移動を表わすデータ伝達経路を格納したデータ伝達経路格納手段から当該データ伝達経路を読み出すステップと、読み出したデータ伝達経路のアクセス権を統合するステップと、セキュリティ上不適切なデータ移動の経路である不適経路があらかじめ設定されたセキュリティ検証用ポリシーにもとづいて、アクセス権が統合されたデータ伝達経路から不適経路を探索するステップとを実行させるプログラムである。さらに、セキュリティ検証プログラムは、例えばセキュリティ検証システム１００に、プログラム動作情報にもとづいて、探索された不適経路のデータ移動を許容している複合的なセキュリティ設定を検索するステップとを実行させるプログラムであってもよい。
【実施例１】
【０２３３】
次に、本発明の具体的実施例について説明する。
図１５は、本発明の第１の実施の形態におけるセキュリティ検証システム１００の具体的構成を示すブロック図である。なお、図１５では、図１に示した構成の一部（ポリシー格納手段３３）を省略している。
【０２３４】
図１５に示すように、セキュリティ検証システム１００は、検査対象コンピュータ１１０と、検査コンピュータ１２０とを備えている。検査対象コンピュータ１１０と、検査コンピュータ１２０とは、それぞれ、インターネットや専用回線などの通信ネットワーク１３０に接続されている。なお、検査対象コンピュータ１１０は、複数台備えられていてもよい。
【０２３５】
検査対象コンピュータ１１０は、検査対象１１１と、設定情報収集手段７０と、データ伝達経路生成手段２１と、アクセス権統合手段４０と、設定情報格納手段３１と、プログラム動作情報格納手段３０と、データ伝達経路情報格納手段３２とを含む。
【０２３６】
検査コンピュータ１２０は、ポリシー入力手段１０と、データ伝達経路変換手段５１と、パターンマッチング手段５２と、設定情報検索手段８０と、検証結果表示手段６０とを含む。
【０２３７】
ここで、設定情報収集手段７０と、データ伝達経路生成手段２１と、アクセス権統合手段４０と、設定情報格納手段３１と、プログラム動作情報格納手段３０と、データ伝達経路情報格納手段３２とのうち一部または全部が、検査コンピュータ１２０に含まれていてもよい。また、検査コンピュータ１２０は、検査対象コンピュータ１１０に含まれていてもよい。
【０２３８】
検査対象１１１は、ＯＳ１１１ａと、Ｗｅｂサーバ１１１ｂと、Ｗｅｂクライアント１１１ｃとで構成されている。本例では、ＯＳ１１１ａにLinux2.4系を、Ｗｅｂサーバ１１１ｂにApache 1.3を、Ｗｅｂクライアント１１１ｃにMozilla1.5を利用している。
【０２３９】
次に、本実施例におけるセキュリティ検証処理を、上述した図５を参照しつつ説明する。
【０２４０】
図１６は、ＯＳ１１１ａのユーザアカウントとグループの設定の例を示す説明図である。図１７は、ファイルのアクセス権の設定の例を示す説明図である。図１８は、Ｗｅｂサーバ１１１ｂの設定の例を示す説明図である。
【０２４１】
なお、図１６〜図１８では、上述した図４に示す設定と同様に、Ｌｉｎｕｘと呼ばれる広く利用されているプログラムによって各部の設定がなされた例が示されている。なお、他のソフトウェアによって設定するようにしてもよい。
【０２４２】
セキュリティ検証処理において、まず、設定情報収集手段７０は、図１６〜図１８に示すセキュリティ設定を、検査対象１１１から収集する（ステップＳ２０１）。
【０２４３】
図１６（Ａ）は、ＯＳ１１１aにおけるユーザ設定ファイル「/etc/passwd」の内容の例を示す説明図である。図１６（Ａ）には、ユーザ設定ファイル「/etc/passwd」の内容の抜粋が示されている。ユーザ設定ファイル「/etc/passwd」には、図１６（Ａ）に示すように、ＯＳ１１１a上で管理されているユーザを示す情報と、その所属グループを示す情報とが記されている。
【０２４４】
図１６（Ｂ）は、ＯＳ１１１ａにおけるグループ設定ファイル「/etc/group」の内容の例を示す説明図である。図１６（Ｂ）には、グループ設定ファイル「/etc/group」の内容の抜粋が示されている。グループ設定ファイル「/etc/group」には、図１６（Ｂ）に示すように、ＯＳ１１１ａ上で管理されているグループを示す情報と、そのグループに所属するユーザを示す情報とが記されている。
【０２４５】
図１７は、ＯＳ１１１ａにおけるファイルまたはディレクトリの構造とそのアクセス権の設定の例を示す説明図である。なお、図１７には、コマンド「ls -lar」を実行することによって得られるものの抜粋である。
【０２４６】
図１８（Ａ）は、ウェブサーバ１１１ｂの設定ファイル「httpd.conf」の内容の例を示す説明図である。図１８（Ａ）には、apacheの設定ファイル「httpd.conf」の内容の抜粋が示されている。設定ファイル「httpd.conf」には、図１８（Ａ）に示すように、ウェブサーバ１１１ｂが利用するファイルまたはディレクトリの指定を示す情報と、ファイルまたはディレクトリのアクセス権を示す情報と、ネットワークポートの設定を示す情報と、認証に利用するユーザ設定ファイルを示す情報などが記されている。
【０２４７】
図１８（Ｂ）は、ウェブサーバ１１１ｂの設定ファイルの内容の例を示す説明図である。図１８（Ｂ）には、認証に利用するユーザ設定ファイルとして図１８（Ａ）に示す設定ファイルに記されているファイル「／var／www／.htpasswd」の内容が示されている。このファイル「／var／www／.htpasswd」には、図１８（Ｂ）に示すように、ウェブサーバ１１１ｂが利用する認証のユーザを示す情報が記されている。
【０２４８】
次いで、設定情報収集手段７０は、収集したセキュリティ設定情報を設定情報格納手段３１に格納する。
【０２４９】
データ伝達経路生成手段２１は、設定情報収集手段７０が収集して設定情報格納手段３１に格納したセキュリティ設定情報に従って、プログラムごとにプログラム動作情報格納手段３０にプログラムの仕様を問い合わせる。具体的には、プログラム動作情報（図３参照）を参照し、図１６〜図１８に示すセキュリティ設定情報内の各プログラム毎に、モデル上に作成するノードまたはアークの種類を問い合わせ、各プログラムに対応するプログラムの仕様を含むプログラム動作情報を読み出す。
【０２５０】
データ伝達経路生成手段２１は、設定情報収集手段７０が収集して設定情報格納手段３１に格納したセキュリティ設定情報と、プログラム動作情報格納手段３０から読み出されたプログラム動作情報とにもとづいてノードやアークを作成して行き、データ伝達経路情報を生成する（ステップＳ２０３）。
【０２５１】
この例では、例えば、ＯＳ１１１ａのセキュリティ設定情報（図１６（Ａ），図１６（Ｂ）参照）から、ユーザには、「ａ」と、「ｂ」と、「ａｐａｃｈｅ」とがあることが分かる。また、グループには、「ａ」と「ａｐａｃｈｅ」とがあることが分かる。さらに、ユーザ「ａ」とユーザ「ｂ」とがグループ「ａ」に属しており、「ａｐａｃｈｅ」がグループ「ａｐａｃｈｅ」に所属していることが分かる。
【０２５２】
図１９は、ＯＳ１１１ａのセキュリティ設定情報にもとづいて生成されたデータ伝達経路を示す説明図である。
【０２５３】
ステップＳ２０３では、上記のセキュリティ設定情報にもとづいて、データ伝達経路生成手段２１が、以下の手順でデータ伝達経路を作成する。
【０２５４】
この例では、まず、データ伝達経路生成手段２１は、ユーザ「ａ」があることより、ノードＵ＜ａ＞５０１を作成し、グループ「ａ」が存在することより、ノードＧ＜ａ＞５０３を作成する。また、ユーザ「ａ」がグループ「ａ」に所属していることより、所属関係を表わすアーク５０２を作成する。
【０２５５】
上記の手順で全てのユーザと、全てのグループと、その所属関係とを反映させると、図１９に示したデータ伝達経路が生成される。
【０２５６】
ここで、Ｕ＜＞はユーザノードを表わし、Ｇ＜＞はグループノードを表わし、Ｆ＜＞はファイルノードを表わし、Ｎ＜＞はネットワークノードを表わすものとする。また、この例では、特に言及する場合を除き、各グラフにおいて、実線黒矢印はデータ移動関係を表わし、点線黒矢印は所属関係を表わし、実線矢印は別名定義を表わし、点線矢印は権限委譲を表わすものとする。
【０２５７】
図２０は、ＯＳ１１１ａが管理するディレクトリ構造（図１７参照）から作られるアークとオブジェクトとが加えられたデータ伝達経路を示す説明図である。
【０２５８】
データ伝達経路生成手段２１は、ディレクトリ構造にファイル「／ｈｏｍｅ／ａ／」が存在することよりノードＦ＜／ｈｏｍｅ／ａ／＞６０３を作成する。また、データ伝達経路生成手段２１は、このファイル「／ｈｏｍｅ／ａ／」のアクセス権の設定より、ユーザ「ａ」がファイルに書き込み権限があることから、データ移動関係のアーク６０１を作成し、読み込み権限があることから、データ移動関係のアーク６０２を作成する。上記のようにして、図２０に示すデータ伝達経路が生成される。
【０２５９】
図２１は、ウェブサーバ１１１ｂのセキュリティ設定情報（図１８参照）にもとづいて生成されたデータ伝達経路を示す説明図である。ウェブサーバ１１１ｂのセキュリティ設定情報によると、「Ｕｓｅｒ  ａｐａｃｈｅ」と記載されているため、ウェブサーバ１１１ｂの実行ユーザがＵ＜ａｐａｃｈｅ＞であることが分かる。従って、データ伝達経路生成手段２１は、ユーザノードＵ＜ａｐａｃｈｅ＞７０２を作成する。
【０２６０】
また、データ伝達経路生成手段２１は、ディレクトリ「／ｈｏｍｅ／ｂ／ｐｕｂｌｉｃ／ｓ／」にＢａｓｉｃ認証が設定され、「．ｈｔｐａｓｓｗｄ」ファイルにユーザ「ｇ」が設定されていることより、ユーザノードＵ＜ｇ＞７０１を作成する。
【０２６１】
さらに、ウェブサーバ１１１ｂの動作情報により、Ｕ＜ａｐａｃｈｅ＞は、Ｂａｓｉｃ認証が必要なファイルノード以外のファイルノードに対して読み書きが可能である。このため、データ伝達経路生成手段２１は、Ｂａｓｉｃ認証のディレクトリ以外に対しては、データ移動関係のアークを作成し、Ｕ＜ｇ＞は、Ｂａｓｉｃ認証のユーザであるため、Ｂａｓｉｃ認証のファイルノードおよびその他のファイルノードとデータ移動関係のアークを作成する。
【０２６２】
次に、ウェブクライアント１１１ｃおよびこれらのプログラム間の動作情報をプログラム動作情報格納手段３０に問い合わせる。ウェブクライアント１１１ｃがｈｔｔｐ（hypertext transfer protocol）を利用してデータを移動させることから、データ伝達経路生成手段２１は、ｈｔｔｐに関するネットワークノードを作成する。以上のように、各レイヤ内のノードとアークを生成する。
【０２６３】
次に、プログラム間レイヤの生成と、それに含まれるアークの生成について説明する。まず、ウェブサーバ１１１ｂとＯＳ１１１ａがインストールされていることより、ウェブサーバ１１１ｂのレイヤとＯＳ１１１ａのレイヤに関係づけられたプログラム間レイヤを作成する。次に、ウェブサーバ１１１ｂの動作情報より、ウェブサーバ１１１ｂのファイルノードに、ＯＳ１１１ａのファイルノードの別名定義があることが分かる。このため、データ伝達経路生成手段２１は、プログラム間レイヤを作成し、図２２（プログラム間レイヤは、ここでは明記していない）に示すように、ウェブサーバ１１１ｂの該当するファイルノードから、ＯＳ１１１ａの該当するファイルノードに対して、別名定義関係のアークを作成する。
【０２６４】
同様に、ウェブサーバ１１１ｂの動作情報より、ウェブサーバ１１１ｂのユーザに、ＯＳ１１１ａ上のユーザからの権限委譲であるものがあることが分かる。このため、データ伝達経路生成手段２１は、図２２に示すように、ウェブサーバ１１１ｂの該当するユーザから、ＯＳ１１１ａの該当するユーザに対して権限委譲関係を表わすアークを作成する。
【０２６５】
また、ウェブクライアント１１１ｃは、ウェブサーバ１１１ｂの８０番ポートを利用してデータを移動させ、ＯＳ１１１ａのＤｙｎａｍｉｃポートに対してもデータを移動させることが分かる。このため、データ伝達経路生成手段２１は、ＯＳ１１１ａとウェブクライアント１１１ｃに関連付けられたプログラム間レイヤと、ウェブサーバ１１１ｂとウェブクライアント１１１ｃに関連付けられたプログラム間レイヤとを作成し、図２２（プログラム間レイヤは、ここでは明記していない）に示すように、上記の各ポートに対してデータ移動関係を表わすアークを作成する。
【０２６６】
また、ウェブクライアント１１１ｃは、ウェブサーバ１１１ｂの８０番ポートを利用してデータを移動させ、ＯＳ１１１ａのＤｙｎａｍｉｃポートに対してもデータを移動させることが分かる。このため、データ伝達経路生成手段２１は、図２２に示すように、上記の各ポートに対してデータ移動関係を表わすアークを作成する。
【０２６７】
上記のようにして、データ伝達経路情報が生成される。図２２は、ステップＳ２０３にて生成されるデータ伝達経路情報が示すデータ伝達経路を示す説明図である。
【０２６８】
次に、アクセス権統合手段４０によるアクセス権統合処理（ステップＳ２０４）の具体例について説明する。図２６は、アクセス権統合処理の例を示すフローチャートである。アクセス権統合処理は、複数のプログラムにかかわるアクセス権を統合する処理である。
【０２６９】
図２３は、ステップＳ２０３にて生成されたデータ伝達経路情報が示すデータ伝達経路に以下の説明を行うための符号を付与した説明図である。
【０２７０】
図２３に示すように、ウェブサーバ１１１ｂ上のユーザＵ＜ａｐａｃｈｅ＞８０６は、ＯＳ１１１ａ上のどのファイルにどのようなアクセスが可能であるかは、一見しただけでは分からない。そこで、ウェブサーバ１１１ｂとＯＳ１１１ａとの間のアクセス権を統合する必要がある。
【０２７１】
アクセス権統合処理において、アクセス権統合手段４０は、まず、ウェブサーバ１１１ｂとＯＳ１１１ａとの間のアークのうち、任意の権限委譲関係を表わすアーク、または、別名定義関係を表わすアークに着目する。ここでは、権限委譲を表わすアーク８０５に着目する（ステップＳ１８１，ステップＳ１８２）。
【０２７２】
次いで、アクセス権統合手段４０は、権限委譲関係のアークの始点にあるノード８０６にデータ移動関係のアークがあるか確認する（ステップＳ１８３）。データ移動関係のアーク８０７があれば、それを選択する（ステップＳ１８４）。
【０２７３】
また、アクセス権統合手段４０は、選択したデータ移動関係を表わすアーク８０７をたどり移動元のノード８０９を選択する（ステップＳ１８５）。
【０２７４】
次いで、アクセス権統合手段４０は、選択したノード８０９に別名定義関係のアーク８０８があることを確認し（ステップＳ１８６）、別名定義関係のアーク８０８をたどり別名定義されているノード８０１を選択する（ステップＳ１８７）。
【０２７５】
別名定義されたノード８０１から、権限委譲されたノード８０３に向けてデータ移動があることを特定（アークは記述しない）する（ステップＳ１８８）。そして、ステップＳ１８８にて特定したデータ移動と、ステップＳ１８４のデータ移動の方向が同じであれば、図２４に示すように、別名定義されたノード８０１から、権限委譲関係のアークの始点にあるノード８０６に向けて新たなデータ移動関係のアーク９０１を作成する（ステップＳ１８９、ステップＳ１９０）。
【０２７６】
アクセス権統合手段４０は、統合すべきアーク（権限委譲関係を表わすアーク、別名定義関係のアーク）がなくなるまで上記の処理を繰り返し実行し、新たなデータ移動関係のアークを作成するとともに、権限委譲関係を表わすアークおよび別名定義関係のアークを消去して、図２５に示すような２種類のアーク（所属関係を表すアーク、データ移動関係を表すアーク）に統合されたグラフを作成する。
【０２７７】
次に、データ伝達経路変換手段５１によるデータ伝達経路変換処理（ステップＳ２０５）の具体例について説明する。データ伝達経路変換処理は、セキュリティ検証用ポリシーに一致するデータ伝達経路を探索することができるように、２種類のアーク（所属関係を表すアーク、データ移動関係を表すアーク）からなるグラフを、データ移動関係のアークだけからなるツリー構造（木構造、あるいは単に「木」や「ツリー」と呼ぶことがある）に変換する処理である。すなわち、データ伝達経路変換手段５１は、２種類のアークからなるグラフを、１種類のアークからなるツリー構造に変換する。
【０２７８】
ここでは、例えば、図２７に示すデータ伝達経路が与えられたときのデータ伝達経路変換処理について説明する。図２８は、図２７に示すデータ伝達経路を、データ伝達経路変換処理によって変換した後のデータ伝達経路を示す説明図である。図２９は、データ伝達経路変換処理の例を示すフローチャートである。
【０２７９】
データ伝達経路変換処理において、データ伝達経路変換手段５１は、まず、任意の利用していないノードを選択する（ステップＳ２１５）。ここで、「利用していないノード」とは、今回のデータ経路変換処理にて未だ利用していないノードを意味する。なお、ステップＳ２１５では、データ伝達経路の各ノードのうち、アークを示す矢印が入り込んでいない任意のノードが選択される。すなわち、この例では、ステップＳ２１５にて、図２７に示すノード１００１またはノード１００５が選択される。
【０２８０】
ステップＳ２１５にてノード１００１を選択すると、データ伝達経路変換手段５１は、選択したノード１００１をノード１１０１とし、ツリー構造のルートとして加える（ステップＳ２１６）。
【０２８１】
ノード１００１をツリーに加えると、データ伝達経路変換手段５１は、ツリーに加えたノード１００１に利用していないアークがあるかどうかを確認する（ステップＳ２１７）。ここで、「利用していないアーク」とは、今回のデータ経路変換処理にて未だ利用していないアークを意味する。
【０２８２】
利用していないアークがあった場合には、データ伝達経路変換手段５１は、そのアークがデータ移動関係であれば（ステップＳ２１８）、そのアークの行先にあるノード１００２を、ノード１１０２としてツリーに加える（ステップＳ２１９）。そして、ステップＳ２１７に戻る。
【０２８３】
また、利用していないアークが所属関係であれば（ステップＳ２１８、ステップＳ２２０）、データ伝達経路変換手段５１は、そのアークの行先にあるノードをツリーに加える（ステップＳ２２１）。具体的には、図２７に示すように、ツリーに加えたノード１００２に利用していない所属関係のアークがあるため、そのアークの行先にあるノード１００４をノード１１０３として、図２８に示すようにツリーに加える。
【０２８４】
所属関係のアークの行先にあるノードをツリーに加えると、データ伝達経路変換手段５１は、利用していないデータ移動関係のアークがあるか確認し（ステップＳ２２２）、あればそのアークの行先にあるノードをツリーに加え（ステップＳ２２３）、ステップＳ２１７に戻る。すなわち、所属関係のアークを利用してノードを訪問したあとは、データ移動関係のアークを利用して訪問できるノードがあるかだけを確認する。
【０２８５】
ステップＳ２１７にて利用していないアークがないと判定したとき、またはステップＳ２２２にて利用していないデータ移動関係のアークがないと判定したときには、データ伝達経路変換手段５１は、戻るノードがあるか否かを確認する（ステップＳ２２４）。
【０２８６】
戻るノードがあれば、データ伝達経路変換手段５１は、ノードを１つ戻し（ステップＳ２２６）、ステップＳ２１７に移行する。一方、戻るノードがなければ、データ伝達経路変換手段５１は、利用していないアークとノードとの組合せがあるか否か確認し（ステップＳ２２５）、あればステップＳ２１５に移行し、なければ処理を終了する。
【０２８７】
上記の手順で、すべてのアークを利用して、図２７に示すグラフ構造を変換すると、図２８に示すような、ノード１００１をノード１１０１としたルートと、ノード１００５をノード１１０９としたルートとを有するツリー構造が作成される。すなわち、図２８に示すツリー構造のデータ伝達経路に変換される。
【０２８８】
次に、ポリシー入力手段１０によるセキュリティ検証用ポリシー入力処理（ステップＳ２０６）の具体例について説明する。セキュリティ検証用ポリシー入力処理は、ユーザからのセキュリティ検証用ポリシーの指定を受け付け、検証部５０に入力する処理である。
【０２８９】
セキュリティ検証用ポリシーは、あってはならないデータ移動経路を表わすものであり、ノードの正規表現で記述される。なお、ノードの他に、ノードの集合を表わす記号を定義して利用するようにしてもよい。
【０２９０】
ここでは、例えば、［ＮＥＴ］は任意のネットワークノード表わし、［ＵＳＥＲ］は任意のユーザを表わすものとする。また、「．」は任意のノードを表わし、「＊」は直前のノードもしくは記号の０回以上の繰り返しを表わし、「｜」は「ＯＲ」を表わし、「＾」は直後のノード以外のノードを表わすものとする。この他、周知の正規表現を用いて表現することができる他の記号を用いるようにしてもよい。
【０２９１】
図３０は、ポリシー入力手段１０がユーザから受け付けるセキュリティ検証用ポリシーの表現例を示す説明図である。図３０には、「ポリシー１」から「ポリシー５」までのセキュリティ検証用ポリシーの５つの例が記載されている。
【０２９２】
「ポリシー１」は、ユーザノードＵ＜ａ＞の情報が任意のノードを経由してファイルノードＦ＜／ｄ／＞に移動してはならないことを意味する。言い換えると、「ポリシー１」は、ユーザ「ａ」がファイル「／ｄ／」に任意の経路で書き込んではならないことを表わす。
【０２９３】
「ポリシー２」は、ファイルノードＦ＜／ｃ／＞の情報が、任意のノードを経由し、任意のネットワークを経由し、ユーザノードＵ＜ａ＞に移動してはならないことを意味する。言い換えると、「ポリシー２」は、ファイル「／ｃ／」を、ネットワークを経由してユーザ「ａ」が読んではならないことを表わす。
【０２９４】
「ポリシー３」は、ファイルノードＦ＜／ｃ／＞の情報が任意のノードを経由してネットワークノードＮ＜ｐ４４３＞以外を通り、さらに任意のノードを経由してユーザノードＵ＜ｂ＞に移動してはならないことを意味する。言い換えると、「ポリシー３」は、ファイル「／ｃ／」を４４３ポート以外のネットワークを利用してユーザ「ｂ」が読んではいけないことを表わす。
【０２９５】
「ポリシー４」は、ユーザノードＵ＜ｂ＞以外の情報が、任意のノードを経由してファイルノードＦ＜／ｂ／ｐｕｂｌｉｃ／＞に移動してはならない。言い換えると、「ポリシー４」は、ユーザ「ｂ」以外のユーザがファイル「／ｂ／ｐｕｂｌｉｃ／」に書き込んではならないことを表わす。
【０２９６】
「ポリシー５」は、ユーザノードＵ＜ｂ＞またはユーザノードＵ＜ｇ＞以外の情報が、任意のノードを経由してファイルノードＦ＜／ｂ／ｐｕｂｌｉｃ／ｓ／＞に移動してはならない。言い換えると、「ポリシー５」は、ユーザ「ｂ」またはユーザ「ｇ」以外が、ファイル「／ｂ／ｐｕｂｌｉｃ／ｓ／」に書き込んではならないことを表わす。
【０２９７】
次に、パターンマッチング手段５２が実行するパターンマッチング処理（ステップＳ２０７）の具体例について説明する。
【０２９８】
パターンマッチング処理において、パターンマッチング手段５２は、データ伝達経路変換手段５１からデータ伝達経路を受け取るとともに、ポリシー入力手段１０からセキュリティ検証用ポリシーを受け取る。
【０２９９】
そして、パターンマッチング手段５２は、データ伝達経路変換手段５１から受け取ったデータ伝達経路の中から、ポリシー入力手段１０から受け取ったセキュリティ検証用ポリシーに一致する経路を探索する。具体的には、セキュリティ検証用ポリシーに一致する経路に含まれているアークとノードとを探索して抽出する。
【０３００】
図３０に示したセキュリティ検証用ポリシーは、正規表現に準じている。このため、パターンマッチング手段５２によるパターンマッチング処理は、周知の正規表現の探索アルゴリズムを用いて実現できる。
【０３０１】
次に、パターンマッチング手段５２が実行する違反経路検索処理（ステップＳ２１０の前に実行される処理）について説明する。
【０３０２】
図３１は、パターンマッチング手段５２によるパターンマッチング処理によって探索された不適経路を表すグラフを示す説明図である。図３１における実線矢印部分が不適経路を示す部分である。また、図３１にて実線で囲まれているノードは、不適経路の始点、終点または通過点となっているノードである。図３２は、違反経路検索処理の例を示すフローチャートである。
【０３０３】
図３３は、図３１に表れている不適経路を取り出して示す説明図である。ここでは、図３１に表れている不適経路を検索し、図３３に示す不適経路を生成する処理について説明する。
【０３０４】
違反経路検索処理において、パターンマッチング手段５２は、先ず、不適経路の先頭ノード１２０１を取り出す（ステップＳ２４１）。先頭ノードに接続されたアークがあれば（ステップＳ２４２）、パターンマッチング手段５２は、アーク１２０２とノード１２０３を取り出す（ステップＳ２４３）。
【０３０５】
次いで、パターンマッチング手段５２は、ノード１２０３を先頭ノードとし（ステップＳ２４４）、ステップＳ２４１移行の処理を繰り返す。これにより、図３３に示す不適経路を生成することができる。そして、パターンマッチング手段５２は、生成した不適経路を示すデータを設定情報検索手段８０に向けて出力する。
【０３０６】
次に、設定情報検索手段８０が実行する設定情報検索処理（ステップＳ２１０）について説明する。図３４は、設定情報検索処理の例を示すフローチャートである。
【０３０７】
この例では、図３３に示す不適経路が許容されている原因となっている不適設定を設定情報検索手段８０が検索する処理について説明する。
【０３０８】
設定情報検索処理において、設定情報検索手段８０は、先ず、パターンマッチング手段５２から受け取った不適経路に含まれるノードを、データ伝達経路情報格納手段３２に格納されているアクセス権統合手段４０によるアクセス権の統合後のデータ伝達経路から検索する（ステップＳ２９１）。
【０３０９】
図３５は、アクセス権の統合後のデータ伝達経路から不適経路に含まれるノードが検索された状態の例を示す説明図である。図３５に示すように、アクセス権の統合後のデータ伝達経路から、不適経路に含まれるノード（太字で囲まれているノード）が検索される。また、ステップＳ２９１では、パターンマッチング手段５２から受け取った不適経路にもとづいて、図３５に示すように、アクセス権の統合後のデータ伝達経路に対応するアークがあれば、不適経路に含まれる各ノードについてのデータ移動関係を示すアーク（太字黒矢印）が検索される。
【０３１０】
次いで、設定情報検索手段８０は、検索されたノードに対応するノードをアクセス権の統合前のデータ伝達経路から検索する（ステップＳ２９２）。
【０３１１】
図３６は、アクセス権の統合前のデータ伝達経路における不適経路が検索された状態の例を示す説明図である。図３６に示すように、ステップＳ２９１にて検索されたノードに対応するノードがアクセス権の統合前のデータ伝達経路から検索され、アクセス権の統合前のデータ伝達経路から不適経路に含まれるノード（太字で囲まれているノード）が検索される。また、ステップＳ２９２では、パターンマッチング手段５２から受け取った不適経路にもとづいて、図３５に示すように、ステップＳ２９１にて検索されたアークに対応するアークがアクセス権の統合前のデータ伝達経路にあれば、そのアーク（太字黒矢印）が検索される。
【０３１２】
また、設定情報検索手段８０は、アクセス権の統合前のデータ伝達経路から検索されたノードに含まれる権限委譲のアークと別名定義のアークとを検索し、それらのアークに接続されているノードを検索する（ステップＳ２９３）。ステップＳ２９３では、アクセス権の統合前のデータ伝達経路から検索されたノードに関係する権限委譲および別名定義のアーク（権限委譲元、権限委譲先、別名定義元、別名定義先のいずれかを示すアーク）が検索され、検索されたアークに関係する全てのノード（権限委譲元、権限委譲先、別名定義元、別名定義先のいずれかとなっているノード）が検索される。
【０３１３】
図３７は、権限委譲のアークと別名定義のアークとそれらのアークに接続されているノードが検索された状態の例を示す説明図である。この例では、図３７に示すように、ステップＳ２９３にて、図３６に示すアクセス権の統合前のデータ伝達経路で検索された各ノードにもとづいて、権限委譲のアークと別名定義のアークがそれぞれ１つ検索され、それらのアークに関係する４つのノードが検索される。
【０３１４】
さらに、設定情報検索手段８０は、ステップＳ２９３にて新たに検索されたアークとノードに対してデータ統合で行った処理を逆の手順で適用し、不適経路を作成する原因となった全てのノードとアークを検索する（ステップＳ２９４）。
【０３１５】
図３８は、不適経路を作成する原因となった全てのノードとアークが検索された状態の例を示す説明図である。この例では、図３８に示すように、ステップＳ２９４にて、ステップＳ２９３にて新たに検索されたアークとノードとにもとづいて、別名定義関係にある２つのノードについて移動方向が同じとなる２つのデータ移動関係のアークと、データ移動先が権限委譲関係にあることを示す２つの権限委譲のアークのうちの１つとが検索されるとともに、新たに検索されたアークに関係するノードが検索され、さらに、図３６に示されている検索済みの不適経路が付加される。
【０３１６】
そして、設定情報検索手段８０は、検索された全てのノードとアークに対してそれらが作成される原因となったセキュリティ設定情報を、データ伝達経路情報に含まれるセキュリティ設定情報のＩＤを利用して設定情報格納手段３１からセキュリティ設定情報を取り出す（ステップＳ２９５）。
【０３１７】
図３９は、データ伝達経路情報における不適設定箇所を表した状態の例を示す説明図である。図４０は、設定情報格納手段３１から取り出されたセキュリティ設定情報の例を示す説明図である。
【０３１８】
図３９に示すように、設定情報検索手段８０は、ステップＳ２９５にて、データ伝達経路情報格納手段３２からデータ伝達経路情報（図４参照）を読み出し、図３８に示した不適経路にもとづいて、データ伝達経路情報内の不適設定がなされている部分（例えば４角形で囲まれている部分）を検索する。
【０３１９】
そして、図４０に示すように、設定情報検索手段８０は、ステップＳ２９５にて、不適設定となっているセキュリティ設定の設定情報ＩＤにもとづいて、設定情報格納手段３１から、不適設定となっているセキュリティ単位情報を含むセキュリティ設定情報を読み出す。
【０３２０】
上記の処理により、不適経路を生成する原因となった設定ミスを含むセキュリティ設定情報を取り出すことができる。
【０３２１】
次に、検証結果表示手段６０による不適設定表示処理（ステップＳ２１１）について説明する。検証結果表示手段６０は、設定情報検索手段８０によって検索された不適設定を示す情報（例えば、図３９に示す不適設定箇所を示す情報、図４０に示す不適設定の内容を示す情報）を表示画面に表示して、ユーザに報知する処理を実行する。
【０３２２】
上記な具体的処理を実行することで、検証対象システム１１１における不適経路を探索して不適設定を報知することができる。
【０３２３】
なお、上記の例では言及していないが、不適設定にもとづく経路を表示するようにしてもよい。この場合、例えば、図４１に示すようなグラフを表示画面に表示することで、不適当である移動経路を強調して報知するようにすればよい。図４１には、不適経路のみが実線黒矢印によって表されている。なお、不適経路が強調されていれば、どのような表示形式であってもよい。なお、図３８に示したような、不適経路を作成する原因となった全てのノードとアークが検索された状態のグラフを表示するようにしてもよい。
【０３２４】
また、この例では、上述したように、アクセス権統合手段４０は、アクセス権を統合する際に、例えば、図２３に示す権限委譲を表すアーク８０５などから、図２４に示すデータ移動関係を表すアーク９０１を生成する処理を行う。上記の例では言及していないが、データ移動関係を表すアーク９０１を生成するときに、アーク９０１の生成に利用した全てのアークおよびノード（データ移動関係を特定するために利用された全てのアークおよびノード）に付随する設定情報ＩＤを新たに作成したアーク９０１の設定情報ＩＤとして複写するようにしてもよい。すなわち、アクセス権の統合の際に生成されたデータ移動関係のアークには、そのアークの生成に利用された全てのアークおよびノードの設定情報ＩＤが対応付けされることになる。なお、設定情報ＩＤでなくセキュリティ設定情報がアークおよびノードに対応付けされていた場合には、そのセキュリティ設定情報を新たに生成されたデータ移動関係のアークに複写するようにすればよい。
【０３２５】
上記のように、アクセス権の統合の際に新たに生成されたデータ移動関係のアークに設定情報ＩＤを対応付けさせる機能を有するアクセス権統合手段４０を備えたセキュリティ検証システム１００においては、設定情報検索手段８０は、以下のような処理を行うようにすればよい。すなわち、この場合、設定情報検索手段８０は、パターンマッチング手段５２によって出力された不適経路のノード列から、不適経路を構成する全てのノードとアークを検索したあと、それらのノードとアークに対応付けされている設定情報ＩＤにもとづいて設定情報格納手段３１からセキュリティ設定情報を検索し、検索によって抽出されたセキュリティ設定情報を検証結果表示手段６０に出力する処理を行う。なお、設定情報ＩＤでなくセキュリティ設定情報がアークおよびノードに対応付けされていた場合には、設定情報格納手段３１を検索することなく、不適経路を構成する全てのノードとアークに対応付けされているセキュリティ設定情報を検証結果表示手段６０に出力するようにすればよい。
【実施例２】
【０３２６】
次に、上述したセキュリティ検証システム１００の具体的実施例を、ユーザインタフェースの観点から説明する。ここでは、図１５に示したセキュリティ検証システム１００の検査コンピュータ１２０が備える図示しない表示装置に表示される画面を中心に説明する。
【０３２７】
図３７は、セキュリティ検証システム１００におけるユーザインターフェイスの全体像を示す基本画面の例を示す説明図である。
【０３２８】
図４２に示すように、基本画面には、複数のタブ１０１，１０２，１０３，１０４，１０５を表示する表示領域が設けられている。ユーザの操作によって、タブ１０１，１０２，１０３，１０４，１０５の何れかが選択されると、選択されたタブに対応する画面が表示される。すなわち、基本画面では、ユーザによるタブの選択操作に応じて、画面の表示内容を切り替えることができ、複数の情報を表示することができる。なお、図４２には、アラートタブ１０３が選択されたときに表示されるアラート画面が示されている。
【０３２９】
次に、セキュリティ検証システム１００にセキュリティ認証処理を実行させる場合におけるユーザによるユーザインタフェースの操作について説明する。
【０３３０】
セキュリティ検証システム１００にセキュリティ認証処理を実行させるときには、ユーザは、先ず、検査コンピュータ１２０が備える図示しない操作手段（例えばキーボードやマウスなどの情報入力手段）を操作して、図示しない表示装置に基本画面（図４２参照）を表示させる。
【０３３１】
次いで、ユーザは、操作手段の操作によってトポロジータブ１０１を選択し、トポロジー画面を表示させる。図４３、図４４は、トポロジータブ１０１が選択されているときに表示装置に表示されるトポロジー画面の例を示す説明図である。
【０３３２】
すなわち、基本画面においてトポロジータブ１０１が選択されると、検査コンピュータ１２０は、表示装置に図４３に示すトポロジー画面を表示させる。図３８には、設定情報収集手段７０によって情報が収集されていないときのトポロジー画面の例が示されている。
【０３３３】
図４３に示すトポロジー画面には、設定情報表示窓２０１と、設定情報収集ボタン２０３と、設定情報収集対象設定ボタン２０４とが設けられている。ここでは、設定情報表示窓２０１には、情報が未収集であることを意味する「設定情報未収集表示」２０２がなされている。
【０３３４】
設定情報収集ボタン２０３は、設定情報収集手段７０に対してセキュリティ設定情報の収集指示するためのボタンである。
【０３３５】
設定情報収集対象設定ボタン２０４は、セキュリティ設定の検証対象となるホストを選択するためのボタンである。なお、設定情報収集対象設定ボタン２０４を押すことで、セキュリティ設定の検証対象となるコンピュータまたは、プログラムの候補の一覧が表示され、その中からセキュリティ設定の検証対象を選択することもできる。
【０３３６】
図４３に示すトポロジー画面が表示されると、ユーザは、操作手段の操作によって設定情報収集ボタン２０３を押下し、セキュリティ設定情報の収集指示（あるいはデータ伝達経路の生成指示）を行う。
【０３３７】
設定情報収集ボタン２０３の押下による収集指示に応じてセキュリティ設定情報が収集されると、例えば図４４に示すように、設定情報表示窓２０１に、収集されたセキュリティ設定情報にもとづいて作成されたデータ伝達経路が表示される。ここでは、図４４に示すように、データ伝達経路生成手段２１によって生成されたデータ伝達経路（図２２参照）が表示される。
【０３３８】
図４４に示すトポロジー画面には、データ伝達経路が表示される表示領域３０１と、設定情報再収集ボタン３０２と、検証開始ボタン３０３と、設定情報収集対象設定ボタン２０４とが設けられている。すなわち、設定情報収集ボタン２０３は、セキュリティ設定情報の収集等が実行された後に、設定情報再収集ボタン３０２に変化する。
【０３３９】
図４４に示すトポロジー画面には、設定情報収集ボタン２０３が押下されたことに応じて収集されたセキュリティ設定情報にもとづいて生成されたデータ伝達経路が、設定情報表示窓２０１内の表示領域３０１に表示された状態が示されている。
【０３４０】
設定情報再収集ボタン３０２は、設定情報収集手段７０に対して改めてセキュリティ設定情報の収集指示を行い、設定情報表示窓２０１にデータ伝達経路を再描画させるための指示を行うためのボタンである。
【０３４１】
検証開始ボタン３０３は、データ伝達経路生成手段２１によって生成されデータ伝達経路情報格納手段３２に格納されたデータ伝達経路のアクセス権を統合する処理をアクセス権統合手段４０に実行させ、アクセス権が統合された後のデータ伝達経路を検証部５０に送信させ、さらに、検証部５０でのセキュリティ検証の開始を指示するためのボタンである。
【０３４２】
図４４に示すトポロジー画面が表示されると、ユーザは、操作手段の操作によって検証開始ボタン３０３を押下し、検証部５０での検証の開始指示を行う。この例では、検証の開始指示に応じて、アクセス権統合手段４０によってアクセス権が統合され、さらにデータ伝達経路変換手段５１によって変換されたデータ伝達経路が生成され、パターンマッチング手段５２に送信される。そして、検証部５０は、セキュリティ検証用ポリシーの入力待ち状態となる。
【０３４３】
次いで、ユーザは、操作手段の操作によって検証に用いるセキュリティ検証用ポリシーの指定するための操作を行う。すなわち、ユーザは、操作手段の操作によってポリシータブ１０２を選択し、ポリシー画面を表示させ、ポリシー画面においてセキュリティ検証用ポリシーを指定する。
【０３４４】
図４５は、ポリシータブ１０２が選択されたときに表示装置に表示されるポリシー画面の例を示す説明図である。
【０３４５】
図４５に示すように、ポリシー画面には、セキュリティ検証用ポリシーの一覧表示がなされるポリシー一覧窓４０１が設けられる。ポリシー一覧窓４０１のチェックボックス４０２は、対象ポリシーを実際に用いて検証を行うかどうかを示すものである。すなわち、チェックボックス４０２がＯＮ（図４５ではボックス内が塗り潰し表示された状態）になっているポリシーだけが、ポリシー入力手段１０によってパターンマッチング手段５２に送信され、検証対象のセキュリティ検証用ポリシーとされる。
【０３４６】
また、ポリシー画面には、ポリシーの名前、書式（ポリシーの記述形式に従った表記）、意味、分類などの付属情報のうちの少なくとも１つが表示されるポリシー詳細情報表示窓４０８が設けられている。なお、ここでは、ユーザによる操作手段の操作によって、ポリシー一覧窓４０１にてポリシーの名前４０３が選択されると、選択されたポリシーに関する詳細情報がポリシー詳細情報表示窓４０８に表示されるとともに、詳細情報を表示しているポリシーの名前が強調表示される（図４５における破線囲み部分）。
【０３４７】
さらに、ポリシー画面には、検証開始ボタン４０６と、読込ボタン４０７と、ポリシー追加ボタン４０８と、保存ボタン４１０とが設けられている。読込ボタン４０７は、ポリシー格納手段３３に保存されているポリシーの読込指示を行うためのボタンである。保存ボタン４１０は、ポリシー格納手段３３へのポリシーの保存指示を行うためのボタンである。
【０３４８】
この例では、ポリシー画面において、ユーザによる操作手段の操作によって新規のポリシー４０５が選択されると、ポリシー詳細情報表示窓４０８のすべての情報が一旦空になる。そして、ユーザによる操作手段の操作によって、ポリシー詳細情報表示窓４０８に新しいポリシーが書き込まれたあと、ポリシー追加ボタン４０９が押下されると、新たなポリシーが、ポリシー一覧窓４０１に追加される。
【０３４９】
ユーザは、ポリシー画面において、操作手段の操作によって、検証に用いるポリシーを指定したあと、検証開始ボタン４０６を押下する。すると、指定したセキュリティ検証用ポリシーがパターンマッチング手段５２に送信されるとともに、指定したセキュリティ検証用ポリシーと既に入力されているデータ伝達経路とを用いたパターンマッチング処理が実行される。その後、さらに、設定情報検索手段８０による設定情報検索処理が実行され、検索結果が検証結果表示手段６０に送信される。
【０３５０】
次に、ユーザは、操作手段の操作によって、アラートタブ１０３を押下する。図４６は、アラートタブ１０３が選択されたときに表示装置に表示されるアラート画面の例を示す説明図である。
【０３５１】
図４６に示すように、アラート画面には、設定情報検索手段８０による検索結果の一覧が表示される。アラート一覧表示窓４２１には、検証結果表示手段６０によって、設定情報検索手段８０によって検索された検索結果の全ての不適設定が表示される。不適設定として表示される項目は、例えば、セキュリティ検証用ポリシーの分類、名前、書式、そのセキュリティポリシーが示す禁止経路と一致していたデータ伝送経路のうち、少なくとも１つを含む。なお、アラート一覧表示窓４２１に、上述した図３９や図４０に示した不適設定の詳細内容が表示されるようにしてもよい。
【０３５２】
また、ユーザは、操作手段の操作によって、リザルトタブ１０４を押下する。図４７は、リザルトタブ１０４が選択されたときに表示装置に表示されるリザルト画面の例を示す説明図である。
【０３５３】
図４７に示すように、リザルト画面には、設定情報検索手段８０が探索した全ての不適経路を表すグラフ（図３８参照）が表示される。リザルト画面には、検出結果表示窓４３１に、データ伝達経路のうち不適経路が強調表示されたグラフが表示される。また、ポリシー情報表示窓４３２には、検出結果表示窓４３１に表示されている違反経路（不適経路）に関する各種の情報を表示する。
【０３５４】
この例では、ユーザによる操作手段の操作によって表示経路変更ボタン４３３が選択されると、違反経路一覧が表示される。そして、ユーザによる操作手段の操作によって、違反経路一覧の中から１つの違反経路が選択されると、検出結果表示窓４３１に表示される違反経路が変更される。なお、違反経路一覧は、例えば、図４１に示すような表示形式とされる。
【０３５５】
そして、ユーザは、操作手段の操作によって、ディテールタブ１０５を押下する。図４８は、ディテールタブ１０５が選択されたときに表示装置に表示されるディテール画面の例を示す説明図である。
【０３５６】
図４８に示すように、ディテール画面には、検証結果表示手段６０によって、不適経路の詳細が表示される。ここでは、設定情報検索手段８０で不適設定として検索されたセキュリティ単位情報に対応する設定情報ファイルの一覧を、設定ミスの可能性のある設定情報ファイルの内容（セキュリティ単位情報）が表示される不適設定表示窓４５１に表示する。
【０３５７】
また、ディテール画面には、不適設定表示窓４５１にてユーザによって選択された設定情報ファイルの内容が、設定ファイル内容表示窓４５２に表示される。さらに、現在表示している不適経路に関する情報が表示違反経路表示窓４５３に表示される。
【０３５８】
上記のようにして、ユーザインターフェイスのための各種の画面表示がなされ、ユーザによる画面上の操作にもとづいて各種の処理が実行され、実行結果が表示される。
【実施例３】
【０３５９】
次に、本発明の具体的実施例について説明する。
図４９は、本発明の第１の実施の形態におけるセキュリティ検証システム１００の他の具体的構成を示すブロック図である。なお、図４９に示すセキュリティ検証システム１００は、図１５と比較すると、データ伝達経路変換手段５１にポリシー入力手段からの情報入力がなされる構成となっている部分が異なり、他の構成は同一である。
【０３６０】
この例では、ポリシー入力手段１０は、入力されたセキュリティ検証用ポリシーの先頭ノードをデータ伝達経路変換手段５１に出力する。
【０３６１】
データ伝達経路変換手段５１は、アクセス権統合手段４０から受けたデータ伝達経路情報を、ポリシー入力手段１０からのセキュリティ検証用ポリシーの先頭ノードをルートとするツリー構造に変換し、変換したツリー構造のデータをパターンマッチング手段５２に出力する。
【０３６２】
パターンマッチング手段５２は、ポリシー入力手段１０からのセキュリティ検証用ポリシーを、データ伝達経路変換手段５１によって変換されたツリー構造から検索し、検索結果を設定情報検索手段８０に出力する。
【０３６３】
次に、この例におけるデータ伝達経路変換手段５１によるデータ伝達経路変換処理（ステップＳ２０５）の具体例について説明する。
【０３６４】
ここでは、例えば、図２７に示すデータ伝達経路が与えられたときのデータ伝達経路変換処理について説明する。図５０（Ａ）および図５０（Ｂ）は、ポリシー入力手段１０からセキュリティ検証用ポリシー「(U<a>｜U<b>).*F<e>」の先頭ノードとして「(U<a>｜U<b>)」が与えられたときに、図２７に示すデータ伝達経路をこの例におけるデータ伝達経路変換処理によって変換した後のデータ伝達経路を示す説明図である。図５１は、この実施例におけるデータ伝達経路変換処理の例を示すフローチャートである。
【０３６５】
データ伝達経路変換処理において、データ伝達経路変換手段５１は、まず、ポリシー入力手段１０からセキュリティ検証用ポリシーの先頭ノードとして「(U<a>｜U<b>)」を受信する（ステップＳ４６１）。
【０３６６】
受信したセキュリティ検証用ポリシーの先頭ノードが、グループ（グループノードまたはＯＲで結ばれた複数のノードをグループにしたもの）であった場合には、データ伝達経路変換手段５１は、そのグループに所属するノードの１つを先頭ノードとして選択する（ステップＳ４６２，ステップＳ４６３）。
【０３６７】
この例では、先頭ノード「(U<a>｜U<b>)」がグループであるから、ステップＳ４６３にてグループに当てはまる任意のノード（例えば(U<a>)）が選択される。
【０３６８】
なお、受信したセキュリティ検証用ポリシーの先頭ノードが単独のノードであれば、データ伝達経路変換手段５１は、そのノードを先頭ノードとして選択する（ステップＳ４６２，ステップＳ４６４）。
【０３６９】
先頭ノードを選択すると、データ伝達経路変換手段５１は、選択したノードをルートとするツリー構造を作成する（ステップＳ４６５）。ステップＳ４６５では、上述したステップＳ２１６〜ステップＳ２２３と同様の処理が実行される。
【０３７０】
この例では、図５０（Ａ）に示すようなノード（例えば(U<a>)）をルートとするツリー構造が生成される。
【０３７１】
その後、受信したセキュリティ検証用ポリシーの先頭ノードがグループであり、そのグループに所属するノードに未だ先頭ノードとして選択されていないノードがあれば、データ伝達経路変換手段５１は、そのノードを先頭ノードとして選択する（ステップＳ４６６，ステップＳ４６３）。
【０３７２】
この例では、先頭ノード「(U<a>｜U<b>)」がグループであり、ノード（例えば(U<a>)）が既に先頭ノートして選択されているから、このステップＳ４６３にてグループに当てはまるノード（例えば(U<b>)）が選択される。そして、選択したノードをルートとするツリー構造を作成する（ステップＳ４６５）。
【０３７３】
この例では、図５０（Ｂ）に示すようなノード（例えば(U<b >)）をルートとするツリー構造が生成される。
【０３７４】
上記の処理（ステップＳ４６３〜ステップＳ４６６）を、グループに当てはまる全てのノードをルートするツリー構造のデータ伝達経路情報が作成されるまで繰り返す。
【０３７５】
この実施例では、以上のようにして、データ伝達経路変換手段５１が、ポリシー入力手段１０から入力したセキュリティ検証用ポリシーの先頭ノードを利用して、ツリー構造のデータ伝達経路情報に変換する処理を実行する。
【実施例４】
【０３７６】
次に、本発明の第５の実施の形態についての具体的実施例について説明する。
ここでは、第５の実施の形態におけるセキュリティ検証処理（図１２参照）の具体的動作について説明する。
【０３７７】
この実施例では、図５３に示すような４つのホストから構成されるコンピュータシステムの設定検証を行う場合について説明する。
【０３７８】
なお、すべてのホストのＯＳは、Linuxで構成され、図５３に示すＳＥＲＶＥＲ１、ＳＥＲＶＥＲ２では、後述するサービスがインストールされたサーバとして動作するものとする。
【０３７９】
また、図５３に示すＦＩＲＥＷＡＬＬは、「ipchains」と呼ばれているソフトウェアが導入され、パケットフィルタリングを行う。さらに、図５３に示すＣＬＩＥＮＴには、ユーザがログインして他のサーバの機能を利用するためなどに用いられるクライアントソフトが導入されている。
【０３８０】
始めに、設定モデル入力手段１１により、コンピュータシステムの構成およびセキュリティ設定情報を表わした設定モデルを入力する（ステップＳ３０１参照）。設定モデルは、以下の手順でユーザによって入力された各種情報を、設定モデル入力手段１１が設定モデル格納手段３４に格納することで入力される。
【０３８１】
まず、設定モデル入力手段１１は、検証者などのユーザの操作によって入力された検証対象となるホストを、設定モデル格納手段３４に格納する。この処理は、検証者が検証対象となるホストを特定したことにもとづいて行う。
【０３８２】
ここでは、図５３に示すＳＥＲＶＥＲ１、ＳＥＲＶＥＲ２、ＦＩＲＥＷＡＬＬ、およびＣＬＩＥＮＴの４つのホストが存在するため、設定モデル入力手段１１によってこれら４つのホストを入力する。４つのホストが入力されると、例えば図５６のように、検証対象となるホストが設定モデル格納手段３４に格納される。
【０３８３】
次に、ユーザは、設定モデル入力手段１１を操作して、ホストのＩＰアドレスを入力する。この例では、図５４に示すように、ＩＰアドレスがホストにそれぞれ割り当てられているものとする。この場合、ユーザは、ＩＰアドレスがどのホストに所属しているかを表わす関数「b」を用いて、
b(192.168.2.5)=SERVER2、
b(192.168.2.4)=SERVER1、
b(192.168.2.3)=b(192.168.1.1)=FIREWALL、
b(192.168.1.2)=CLIENTと入力する。
【０３８４】
なお、ＩＰアドレスの所属情報は、Linuxの場合には、各ホストのディレクトリ「/etc/sysconfig/network-script/」に格納された「ifcfg-eth0、ifcfg-eth1」などの設定ファイルに書かれている。具体的には、ホストＳＥＲＶＥＲ２には、図５５に示すファイル「ifcfg-eth1」が格納されており、このファイル中の文字列「IPADDR=」以降に続く数字がＳＥＲＶＥＲ２に関連付けられたＩＰアドレスである。他のＩＰアドレスも同様である。
【０３８５】
ホストのＩＰアドレスは、前述の４つのホストとあわせて、例えば図５７に示すように設定モデル格納手段３４に格納される。
【０３８６】
次に、ネットワーク接続を表現したグラフＧを入力する。グラフＧは、各ＩＰアドレスを頂点とするグラフである。なお、この例では、検証対象のネットワークシステムが、図５８に示す構成であるとする。
【０３８７】
このグラフＧは、検証者がネットワーク機器の接続状況を確認し、設定モデル入力手段１１のユーザ操作によって入力される。
【０３８８】
各ＩＰアドレスが図５７に示すように定義され、検証対象のネットワークシステムが図５８に示すような関係にあるため、検証対象のネットワーク接続を示すグラフＧは、例えば図５９の範囲ａに示すように記述され、設定モデル格納手段３４に格納される。
【０３８９】
次に、ユーザを入力する。図６０は、ホストとユーザの関係を示す説明図である。図６０では、角丸四角によって囲まれたノードがユーザを表わし、楕円で囲まれたノードがホストを表し、その間の矢印はユーザのホストへの所属関係を表している。
【０３９０】
図６０に示す関係は、ユーザが所属するホストを表わす関数「ｂ」を用いて、
b(ftp)=SERVER2、
b(student)=SERVER1、
b(hanako)=SERVER1、
b(taro)=CLIENTと記述することができる。
【０３９１】
各ホストのユーザは、ＯＳのユーザ設定およびグループ設定により作成する。具体的には、Linuxの場合、ユーザ設定は、ディレクトリ「/etc/passwd」に格納され、グループ設定は、ディレクトリ「/etc/group」に格納されている。
【０３９２】
図６１は、ＳＥＲＶＥＲ１のユーザ設定を示す説明図である。この設定により、ＳＥＲＶＥＲ１には、ユーザ「hanako」があることが把握できる。よって、b(hanako)=SERVER1となる。
【０３９３】
また、図６２は、ＳＥＲＶＥＲ１のグループ設定を示す説明図である。この設定によりＳＥＲＶＥＲ１には、グループ「student」があることが分かる。ユーザとグループは、設定モデルにおいて、共にユーザとして扱うためグループ「student」もユーザとして扱い、b(student)=SERVER1となることが把握できる。他のホストの設定についても同様である。
【０３９４】
上記のようにして入力されたユーザは、前述の４つのホストやホストのＩＰアドレスとあわせて、例えば図６３のように設定モデル格納手段３４に格納される。
【０３９５】
次に、ファイルを入力する。各ホストのファイルは、ＯＳのファイルシステムを参照することによって作成する。
【０３９６】
具体的には、Linuxの場合、コマンド「ls ?alr」を実行することによって、ファイルの一覧を取得することができる。例えば、ホストＳＥＲＶＥＲ２上で取得できるファイルの一覧は、図６４に示すようになる。ファイルの一覧により、ＳＥＲＶＥＲ２には、ファイル「paper.txt」があることが把握できる。よって、b(paper.txt)=SERVER2となる。他のホストについても同様である。
【０３９７】
上記のようにして入力されたファイルは、前述の４つのホスト、ホストのＩＰアドレス、およびユーザとあわせて、例えば図６５のように設定モデル格納手段３４に格納される。
【０３９８】
次に、ネットワークアクセス表現を入力する。検証対象システムでは、ホストＦＩＲＥＷＡＬＬでパケットフィルタリングが行われている。例えば、送信元ＩＰアドレス「192.168.1.2」の任意のポート番号から、送信先IPアドレス192.198.2.4のポート番号80への通信が許可されているとする。この情報と、フィルタリングが行われているＩＰアドレスにより、ネットワークアクセス表現の設定n(192.168.2.3,192.168.1.2,192.168.2.4,80)が作成できる。
【０３９９】
このようにして入力されたネットワークアクセス表現は、例えば、図５９の範囲ｂに示すように記述され、設定モデル格納手段３４に格納される。
【０４００】
次に、ファイルのアクセス制御行列表現を入力する。「アクセス制御行列表現」とは、ファイルに対するユーザのアクセス権限の有無を表わしたものであり、アクセス権限にはファイルの読み取り権限を表す「read」と、ファイルの書き出し権限を表す「write」の２種類がある。
【０４０１】
例えば、コマンド「ls ?alr」の出力結果より、図６４に示すように、各ファイルに対してそのファイルの所有者と権限とを把握することができる。図６４に示す一覧では、ユーザ「ftp」は、ファイル「paper.txt」に対して、「read」権限と「write」権限とを与えられている。この情報により、アクセス制御行列表現「acc(ftp,read,paper.txt)、acc(ftp,write,paper.txt)」と記述できる。
【０４０２】
このように入力されたファイルのアクセス制御行列表現は、図５９の範囲ｅに示すように記述され、設定モデル格納手段３４に格納される。
【０４０３】
次に、サービス利用により、どのような権限獲得が引き起こされるか（権限獲得関係）を入力する。「権限獲得」とは、あるユーザがサービスを利用して他のユーザの権限を獲得できることを表わしており、あるユーザが、他のユーザのＩＤ、パスワードなどの認証に必要な情報を保持しているとき、または、特別な認証を経ずに権限獲得できる場合は無条件に作成する。
【０４０４】
具体的には、ホスト上で実行されているネットワークサービスと、その設定を調べることによって作成できる。
【０４０５】
本実施例では、ＳＥＲＶＥＲ１上でサービス「telnet」が提供されており、かつ、ＣＬＩＥＮＴのユーザ「taro」は、ＳＥＲＶＥＲ１のユーザ「hanako」にサービス「telnet」でアクセスするときのパスワードを知っているものとする。
【０４０６】
また、本例では、ＳＥＲＶＥＲ２ではアノニマスｆｔｐ（anonymous FTP）サービスが提供されており、ＳＥＲＶＥＲ１上のグループ「student」に属するユーザは無条件にこのサービス「ftp」を利用できるものとする。
【０４０７】
その場合、ＣＬＩＥＮＴのユーザ「taro」は、ＳＥＲＶＥＲ１のユーザ「hanako」の権限をサービス「telnet」によって獲得できる。このため、権限獲得関係は、auth(taro, telnet,  hanako)となる。
【０４０８】
また、ＳＥＲＶＥＲ１のユーザ「student」は、無条件でＳＥＲＶＥＲ２のユーザ「ftp」の権限をサービス「ftp」で獲得できる。このため、権限獲得関係は、auth(student, ftp, ftp)となる。
【０４０９】
また、サービス「null」は、ユーザがグループに所属していることを表わす。Linuxの場合、図６１に示すユーザ設定ファイルと、図６２に示すグループ設定ファイルとから、サービス「null」を用いた権限獲得関係を作成することができる。
【０４１０】
具体的には、図６１に示すユーザ設定ファイルより、ユーザ「hanako」のグループＩＤが「５０１」であり、図６２に示すグループ設定ファイルのグループＩＤが「５０１」であるグループが「student」であることから、ユーザ「hanako」は、グループ「student」に所属していることが把握できる。よって、権限獲得関係として、auth(hanako, null, student)を作成することができる。
【０４１１】
このように入力された権限獲得関係は、図５９の範囲ｃに示すように記述され、設定モデル格納手段３４に格納される。
【０４１２】
次に、カスケード関係を入力する。「カスケード関係」とは、あるサービスを利用して権限獲得したときに、引き続き利用できるサービスの種類を表わしたものである。これは、サービスの種類により決まっている。具体的には、サービス「telnet」で権限を獲得したあとにサービス「ftp」利用することはできるが、サービス「ftp」で権限を獲得したあとにサービス「telnet」を利用することはできないなどのように、サービスの種類によってあらかじめ定められている。
【０４１３】
また、利用できる権限の種類は、該当するサービスがホストにインストールされているか否かや、権限を獲得したユーザがサービスの実行権限が持っているか否かで決まる。本実施例では、サービス「telnet」でＳＥＲＶＥＲ１のユーザ「hanako」の権限を獲得したときに、サービス「null」を利用することができる。よって、カスケード関係は、cas (telnet,  hanako, null)となる。
【０４１４】
また、サービス「null」を利用してＳＥＲＶＥＲ１のユーザ「student」の権限を獲得したときに、サービス「ftp」を利用することができる。よって、カスケード関係は、cas (null, student, ftp)となる。
【０４１５】
このように入力されたカスケード関係は、図５９の範囲ｄに示すように記述され、設定モデル格納手段３４に格納される。
【０４１６】
さらに、サービスが利用するネットワークのポート番号を、図５９の範囲ｆに示すように入力する。なお、Linuxでは、ファイル「/etc/services」を参照することによってサービス名とポート番号の対応を調べることができる。
【０４１７】
以上のようにして、設定モデルを構成する各種の情報が入力され、設定モデル格納手段３４に順次格納されることで、設定モデル格納手段３４内に、検証対象システムのシステム構成（図６５等参照）を含む設定モデル（図５９参照）が構築される。すなわち、設定モデル格納手段３４に設定モデルが入力される。
【０４１８】
次に、ポリシー入力手段１０によりセキュリティ検証用ポリシーを入力する（ステップＳ３０２）。本実施例で与えるセキュリティ検証用ポリシーは、ポリシー「flow(secret.txt,paper.txt)」であるものとする。
【０４１９】
このポリシー「flow(secret.txt,paper.txt)」は、secret.txtから、paper.txtへのデータの移動があってはいけないことを表わしており、secret.txtの内容をpaper.txtに書き込んではならないという禁止ポリシーである。
【０４２０】
上記のようにして入力された設定モデルとポリシーとを用いて、検証手段５０ａは、ポリシーにマッチするモデルがあるか否かを検証する処理を行う（ステップＳ３０３）。
【０４２１】
検証手段５０ａは、公知の言語処理系であるＰｒｏｌｏｇインタプリタを用いて実現することができる。ここで、ポリシー記述中の各述語のうち、「acc」、「auth」、および「cas」は、組み込み述語として実装する。
【０４２２】
なお、それぞれの組み込み述語の実装の内容は、
acc (U, S, F)：「設定モデル格納手段中のアクセス制御行列表現に、(U, S, F) が含まれる場合にtrue」
cas (S1, U, S2)：「設定モデル格納手段中のカスケード関係に、(S1,U, S2)が含まれる場合にtrue」
auth (U1, S, U2)：「設定モデル格納手段中の権限獲得関係に、(U1, S, U2)が含まれ、かつ、U1が属するホストから、U2が属するホストに対して、U2上でサービスSを実現するポートへのコネクションが確立できる場合にtrue」であるものとする。
【０４２３】
ここで、ユーザ「U1」が属するホストから、ユーザ「U2」が属するホストに対して、ユーザ「U2」上でサービス「Ｓ」を実現するポートへのコネクションが確立できるか否かの判定は、設定モデル格納手段３４に設定モデルとして格納されているネットワーク接続表現に、ユーザ「U1」が属するホストから、ユーザ「U2」が属するホストを結ぶ経路があり、かつ、その経路中で、当該ポートが、設定モデル格納手段３４に設定モデルとして格納されているネットワークアクセス表現で許可されているか否かを検査することによって実現することができる。
【０４２４】
また、データフロー関係を表す述語flowは、
flow (F, F) :- true.
flow (F1, F2) :- flow2(F1, F3), flow(F3, F2).
flow2 (F1, F2):- acc (U1, read, F1), auth2 (U3, S1, U1), auth2 (U3, S2, U2), acc (U2, write, F2).
auth2 (U, S, U):- true.
auth2 (U3, S1, U1):- auth (U3, S1, U2), cas (S1, U2, S2), auth2 (U2, S2, U1).
のようなＰｒｏｌｏｇプログラムによって記述できる。
【０４２５】
従って、ポリシー入力手段１０によって記述されたポリシーが設定モデルとマッチするか否かは、上記の組み込み述語を備えたＰｒｏｌｏｇ処理系上の上記Ｐｒｏｌｏｇプログラムによって判定することができる。
【０４２６】
以上説明した機能を有する検証手段５０ａを用いる構成とすることで、ポリシー「flow(secret.txt,paper.txt)」が、設定モデル格納手段３４に格納された設定モデルにマッチするか否かを判定できる。
【０４２７】
本実施例で示した設定モデルの場合は、ポリシー「flow(secret.txt,paper.txt)」にマッチするという結果が得られる。
【０４２８】
この例では、マッチした許可ポリシーを検証結果表示手段６０によって表示するものとする。具体的は、図６６に示すように、検証したポリシーを表示して、検証者に提示する。
【０４２９】
また、図６６に示すように、ポリシーがあってはならない経路を示したものか、無くてはならない経路を示したものかを、ポリシーの種類として提示する。すなわち、ポリシーの種類が禁止ポリシーであるか許可ポリシーであるかを報知する。
【０４３０】
また、図６６に示すように、マッチした禁止ポリシーを表示するときに、その禁止ポリシーが示すあってはならない経路にマッチした設定モデルを合わせて表示してもよい。
【０４３１】
さらに、ポリシー格納手段３３にポリシーの説明などの付随情報が格納されているときは、説明文などの付随情報をあわせて表示するようにしてもよい。
【０４３２】
以上のように、システム構成および設定を、設定モデルとして入力し、あってはならないフローや、無くてはならないフローを示したポリシーを用いてモデルを検索し、ポリシーとモデルを表示する構成としたので、検証者は、表示されたポリシーやモデルを頼りに、設定を見直すことができ、複数のホストやプログラムの設定が複合的に関係した設定ミスを発見し修正することができる。
【図面の簡単な説明】
【０４３３】
【図１】本発明の第１の実施の形態におけるセキュリティ検証システムの構成の例を示すブロック図である。
【図２】設定情報格納手段に格納されるデータの構造の例を示す説明図である。
【図３】プログラム動作情報格納手段に格納されるデータの構造の例を示す説明図である。
【図４】データ伝達経路情報格納手段に格納されるデータの構造の例を示す説明図である。
【図５】本発明の第１の実施の形態におけるセキュリティ検証システムが実行するセキュリティ検証処理の例を示すフローチャートである。
【図６】本発明の第２の実施の形態におけるセキュリティ検証システムの構成の例を示すブロック図である。
【図７】本発明の第２の実施の形態におけるセキュリティ検証システムが実行するセキュリティ検証処理の例を示すフローチャートである。
【図８】本発明の第３の実施の形態におけるセキュリティ検証システムの構成の例を示すブロック図である。
【図９】本発明の第４の実施の形態におけるセキュリティ検証システムの構成の例を示すブロック図である。
【図１０】本発明の第５の実施の形態におけるセキュリティ検証システムの構成の例を示すブロック図である。
【図１１】ポリシー格納手段に格納されるポリシーの構造の例を示す説明図である。
【図１２】本発明の第５の実施の形態におけるセキュリティ検証システムが実行するセキュリティ検証処理の例を示すフローチャートである。
【図１３】本発明の第５の実施の形態における検証手段が実行する処理の例を示すフローチャートである。
【図１４】ポリシーを変換する規則の例を示す説明図である。
【図１５】本発明の第１の実施例におけるセキュリティ検証システム１００の構成を示すブロック図である。
【図１６】検査対象コンピュータにおけるＯＳのユーザアカウントとグループの設定の例を示す説明図である。
【図１７】検査対象コンピュータにおけるファイルのアクセス権の設定の例を示す説明図である。
【図１８】検査対象コンピュータにおけるウェブサーバの設定の例を示す説明図である。
【図１９】検査対象コンピュータにおけるＯＳのセキュリティ設定情報にもとづいて生成されたデータ伝達経路を表すグラフを示す説明図である。
【図２０】検査対象コンピュータにおけるＯＳが管理するディレクトリ構造から作られるアークとオブジェクトとが加えられたデータ伝達経路を表わすグラフを示す説明図である。
【図２１】検査対象コンピュータにおけるウェブサーバのセキュリティ設定情報にもとづいて生成されたデータ伝達経路を表わすグラフを示す説明図である。
【図２２】データ伝達経路生成手段によって生成されるデータ伝達経路を表わすグラフを示す説明図である。
【図２３】データ伝達経路生成手段によって生成されるデータ伝達経路を表わすグラフを示す説明図である。
【図２４】アクセス権統合手段によって１つのアクセス権が統合された状態のデータ伝達経路を表わすグラフを示す説明図である。
【図２５】アクセス権統合手段によってすべてのアクセス権が統合された状態のデータ伝達経路を表わすグラフを示す説明図である。
【図２６】アクセス権統合処理の例を示すフローチャートである。
【図２７】データ伝達経路変換手段に入力されるデータ伝達経路の例を表わすグラフを示す説明図である。
【図２８】データ伝達経路変換手段から出力される変換後のデータ伝達経路の例を表わすツリー構造を示す説明図である。
【図２９】データ伝達経路変換処理の例を示すフローチャートである。
【図３０】ポリシー入力手段により入力されるセキュリティ検証用ポリシーの例を示す説明図である。
【図３１】パターンマッチング処理によって探索された不適経路を表すグラフを示す説明図である。
【図３２】不適経路検索処理の例を示すフローチャートである。
【図３３】探索された不適経路を取り出して示す説明図である。
【図３４】設定情報検索処理の例を示すフローチャートである。
【図３５】アクセス権の統合後のデータ伝達経路から不適経路に含まれるノードが検索された状態の例を示す説明図である。
【図３６】アクセス権の統合前のデータ伝達経路における不適経路が検索された状態の例を示す説明図である。
【図３７】権限委譲のアークと別名定義のアークとそれらのアークに接続されているノードが検索された状態の例を示す説明図である。
【図３８】不適経路を作成する原因となった全てのノードとアークが検索された状態の例を示す説明図である。
【図３９】データ伝達経路情報における不適設定箇所を表した状態の例を示す説明図である。
【図４０】設定情報格納手段から取り出されたセキュリティ設定情報の例を示す説明図である。
【図４１】パターンマッチング処理によって探索された不適経路の表示画面の例を示す説明図である。
【図４２】セキュリティ検証システムにおけるユーザインターフェイスの全体像を示す基本画面の例を示す説明図である。
【図４３】トポロジー画面の例を示す説明図である。
【図４４】トポロジー画面の例を示す説明図である。
【図４５】ポリシー画面の例を示す説明図である。
【図４６】アラート画面の例を示す説明図である。
【図４７】リザルト画面の例を示す説明図である。
【図４８】ディテール画面の例を示す説明図である。
【図４９】セキュリティ検証システム１００の他の構成を示すブロック図である。
【図５０】データ伝達経路変換手段から出力される変換後のデータ伝達経路の例を表わすツリー構造を示す説明図である。
【図５１】データ伝達経路変換処理の他の例を示すフローチャートである。
【図５２】従来の検証技術を表わすブロック図である。
【図５３】本発明の第４の実施例における検証対象のホスト構成を示す説明図である。
【図５４】検証対象システムのＩＰアドレス構成とホストとの関係を示す説明図である。
【図５５】検証対象システムを構成するホストにおけるＩＰアドレスの設定を示す説明図である。
【図５６】設定モデル格納手段に格納されたホスト構成を示す説明図である。
【図５７】設定モデル格納手段に格納されたＩＰアドレスを示す説明図である。
【図５８】検証対象システムのネットワーク接続を示す説明図である。
【図５９】設定モデル格納手段に格納された設定モデルの要素を示す説明図である。
【図６０】検証対象システムのシステム構成を示す説明図である。
【図６１】検証対象システムのユーザ設定を示す説明図である。
【図６２】検証対象システムのグループ設定を示す説明図である。
【図６３】設定モデル格納手段に格納されたユーザを示す説明図である。
【図６４】検証対象システムのファイルアクセス権の設定を示す説明図である。
【図６５】設定モデル格納手段に格納されたファイルを示す説明図である。
【図６６】検証対象システムの検証結果の表示状態を示す説明図である。
【符号の説明】
【０４３４】
１０                    ポリシー入力手段
１１                    設定モデル入力手段
２０                    データ伝達経路入力手段
２１                    データ伝達経路生成手段
３０                    プログラム動作情報格納手段
３１                    設定情報格納手段
３２                    データ伝達経路情報格納手段
３３                    ポリシー格納手段
３４                    設定モデル格納手段
３５                    検証結果格納手段
４０                    アクセス権統合手段
５０                    検証部
５０ａ                  検証手段
５１                    データ伝達経路変換手段
５２                    パターンマッチング手段
６０                    検証結果表示手段
７０                    設定情報収集手段
７１                    設定情報入力手段
８０                    設定情報検索手段
９０                    データ伝達経路表示手段
１００，１００ａ，１００ｂ，１００ｃ，１００ｄ  セキュリティ検証システム
１１０                  検査対象コンピュータ
１１１                  検査対象
１１１ａ                オペレーティングシステム
１１１ｂ                ウェブサーバ
１１１ｃ                ウェブクライアント
１２０                  検査コンピュータ
１３０                  通信ネットワーク
【図１】
2005196728.tif 000003
【図２】
2005196728.tif 000004
【図３】
2005196728.tif 000005
【図４】
2005196728.tif 000006
【図５】
2005196728.tif 000007
【図６】
2005196728.tif 000008
【図７】
2005196728.tif 000009
【図８】
2005196728.tif 000010
【図９】
2005196728.tif 000011
【図１０】
2005196728.tif 000012
【図１１】
2005196728.tif 000013
【図１２】
2005196728.tif 000014
【図１３】
2005196728.tif 000015
【図１４】
2005196728.tif 000016
【図１５】
2005196728.tif 000017
【図１６】
2005196728.tif 000018
【図１７】
2005196728.tif 000019
【図１８】
2005196728.tif 000020
【図１９】
2005196728.tif 000021
【図２０】
2005196728.tif 000022
【図２１】
2005196728.tif 000023
【図２２】
2005196728.tif 000024
【図２３】
2005196728.tif 000025
【図２４】
2005196728.tif 000026
【図２５】
2005196728.tif 000027
【図２６】
2005196728.tif 000028
【図２７】
2005196728.tif 000029
【図２８】
2005196728.tif 000030
【図２９】
2005196728.tif 000031
【図３０】
2005196728.tif 000032
【図３１】
2005196728.tif 000033
【図３２】
2005196728.tif 000034
【図３３】
2005196728.tif 000035
【図３４】
2005196728.tif 000036
【図３５】
2005196728.tif 000037
【図３６】
2005196728.tif 000038
【図３７】
2005196728.tif 000039
【図３８】
2005196728.tif 000040
【図３９】
2005196728.tif 000041
【図４０】
2005196728.tif 000042
【図４１】
2005196728.tif 000043
【図４２】
2005196728.tif 000044
【図４３】
2005196728.tif 000045
【図４４】
2005196728.tif 000046
【図４５】
2005196728.tif 000047
【図４６】
2005196728.tif 000048
【図４７】
2005196728.tif 000049
【図４８】
2005196728.tif 000050
【図４９】
2005196728.tif 000051
【図５０】
2005196728.tif 000052
【図５１】
2005196728.tif 000053
【図５２】
2005196728.tif 000054
【図５３】
2005196728.tif 000055
【図５４】
2005196728.tif 000056
【図５５】
2005196728.tif 000057
【図５６】
2005196728.tif 000058
【図５７】
2005196728.tif 000059
【図５８】
2005196728.tif 000060
【図５９】
2005196728.tif 000061
【図６０】
2005196728.tif 000062
【図６１】
2005196728.tif 000063
【図６２】
2005196728.tif 000064
【図６３】
2005196728.tif 000065
【図６４】
2005196728.tif 000066
【図６５】
2005196728.tif 000067
【図６６】
2005196728.tif 000068