(57)【要約】  管理対象システムのセキュリティを該管理対象システムの運用時を含めて管理するセキュリティ管理システムであって、管理対象システムの状態が、当該管理対象システムの望ましい状態を規定した状態規則を満たしていない場合に、状態規則を満たす状態を目標状態として決定する状態遷移手段と、目標状態を決定した際の管理対象システムの状態と、当該目標状態との差分を変更するための所定の処理を、当該目標状態を決定した際の管理対象システムの状態において実施すべき対策として決定するアクション決定手段とを有する。
2009037897.tif 000002
【特許請求の範囲】
【請求項１】
管理対象システムのセキュリティを該管理対象システムの運用時を含めて管理するセキュリティ管理システムであって、
管理対象システムの状態が、当該管理対象システムの望ましい状態を規定した状態規則を満たしていない場合に、前記状態規則を満たす状態を目標状態として決定する状態遷移手段と、
前記目標状態を決定した際の前記管理対象システムの状態と、当該目標状態との差分を変更するための所定の処理を、当該目標状態を決定した際の前記管理対象システムの状態において実施すべき対策として決定するアクション決定手段とを有するセキュリティ運用管理システム。
【請求項２】
前記状態遷移手段は、前記管理対象システムの現在の状態が、当該管理対象システムの望ましい状態を規定した状態規則を満たしているか否かを判定し、満たしていない場合に前記状態規則を満たす状態を前記目標状態として決定し、
前記アクション決定手段は、前記管理対象システムの現在の状態と前記状態遷移手段によって決定された目標状態との差分を変更するための所定の処理を、実施すべき対策として決定する、請求項１に記載のセキュリティ運用管理システム。
【請求項３】
前記状態規則は、前記管理対象システムにおけるセキュリティに関わる診断項目に対して割り当てられた所定の状態変数に関する制約式で示され、
前記状態遷移手段は、前記管理対象システムから収集した診断項目の現在の状態が、前記状態規則としての制約式を満たしていない場合に、当該制約式を満たす診断項目の状態の組み合わせによって示される前記管理対象システムの状態を前記目標状態として決定し、
前記アクション決定手段は、前記管理対象システムから収集した診断項目のうち、現在の状態が、前記目標状態における当該診断項目の状態と異なる診断項目を、前記目標状態における当該診断項目の状態に変更するための処理を、実施すべき対策として決定する、請求項１または請求項２に記載のセキュリティ運用管理システム。
【請求項４】
前記状態規則は、前記管理対象システムにおけるセキュリティに関わる診断項目に対して割り当てられた所定の状態変数に関する制約式および前記状態変数の取るべき最適の値を指定する目的関数で示され、
前記状態遷移手段は、前記管理対象システムから収集した前記診断項目の現在の状態が、前記状態規則としての制約式を満たしていない場合に、前記制約式を満たし、かつ前記状態規則としての目的関数によって最適解とされる診断項目の状態の組み合わせによって示される管理対象システムの状態を前記目標状態として決定する、請求項１から請求項３のうちのいずれか１項に記載のセキュリティ運用管理システム。
【請求項５】
前記管理対象システムに対する要件を定義したポリシ情報を記憶するポリシ情報記憶手段と、
前記ポリシ情報で定義された要件別に、該要件を満たす際の前記管理対象システムの状態を定義づけた状態モデルを記憶する要件別状態モデル記憶手段と、
前記ポリシ情報記憶手段に記憶されているポリシ情報と、前記要件別状態モデル記憶手段に記憶されている状態モデルとに基づいて、前記管理対象システムの望ましい状態を定義づけた状態規則を導出するポリシ変換手段とを有し、
前記ポリシ変換手段は、前記管理対象システムに対する要件を可能な限り多く満たすシステム状態を規定する状態規則として、満たすべき要件を満たした際の前記管理対象システムの状態における状態変数の取りうる値を限定する制約式と、可能な限り満たしたい要件を全て満たした際の前記管理対象システムの状態における状態変数の値によって最大または最小となる目的関数とを導出する、請求項１から請求項４のうちのいずれか１項に記載のセキュリティ運用管理システム。
【請求項６】
前記ポリシ変換手段は、前記管理対象システムに対する要件の種類に応じて、前記満たすべき要件と、前記可能な限り満たしたい要件とを区別する、請求項５に記載のセキュリティ運用管理システム。
【請求項７】
前記管理対象システムに対する要件の種類には、セキュリティに関する要件と、利便性に関する要件とが含まれる、請求項６に記載のセキュリティ運用管理システム。
【請求項８】
前記ポリシ変換手段は、前記管理対象システムに対する要件の優先順位に従い、前記目的関数における当該要件を満たした際の前記管理対象システムの状態における状態変数の値を重みづける、請求項５から請求項７のうちのいずれか１項に記載のセキュリティ運用管理システム。
【請求項９】
前記ポリシ変換手段は、前記管理対象システムの現在の状態と前記目標状態との差分が小さければ小さいほど、目的とする最大値または最小値に近づく目的関数を導出する、請求項５から請求項８のうちのいずれか１項に記載のセキュリティ運用管理システム。
【請求項１０】
前記ポリシ変換手段は、前記管理対象システムの現在の状態と前記目標状態との差分に対応するアクションの実行しやすさに基づいて、前記目的関数における前記差分に応じた変化量を重みづける、請求項９に記載のセキュリティ運用管理システム。
【請求項１１】
前記管理対象システムのシステム状態が前記状態規則を満たしているか否かの判定結果を、当該管理対象システムのセキュリティ管理者またはユーザに表示する状況表示手段を有する、請求項１から請求項１０のうちのいずれか１項に記載のセキュリティ運用管理システム。
【請求項１２】
前記アクション決定手段によって実施すべき対策として決定された所定の処理を、前記管理対象システム上で実行するアクション実行手段を有する、請求項１から請求項１１のうちのいずれか１項に記載のセキュリティ運用管理システム。
【請求項１３】
当該セキュリティ運用管理システムを、管理対象システムとする、請求項１から請求項１２のうちのいずれか１項に記載のセキュリティ運用管理システム。
【請求項１４】
前記管理対象システムの望ましい状態を規定した状態規則に基づき、予め当該管理対象システムがとりうる状態に対して前記状態規則を満たす状態を前記目標状態として規定する状態遷移規則を生成する状態遷移規則生成手段を有し、
前記状態遷移手段は、前記状態遷移規則に従って前記目標状態を決定する、請求項１または請求項２に記載のセキュリティ運用管理システム。
【請求項１５】
前記状態遷移規則生成手段は、前記管理対象システムがとりうる状態に対し、該状態において生じる診断項目の変化の状況と対応づけた目標状態を規定する状態遷移規則を生成し、
前記状態遷移手段は、前記管理対象システムの状態と該状態において生じた診断項目の変化の状況とに基づいて、前記状態遷移規則に従い、前記目標状態を決定する、請求項１４に記載のセキュリティ運用管理システム。
【請求項１６】
前記状態規則は、前記管理対象システムにおけるセキュリティに関わる診断項目に対して割り当てられた所定の状態変数に関する制約式によって示され、
前記状態遷移規則生成手段は、前記制約式を満たさない状態変数の組み合わせ全てを非目標状態の一覧として示すデータ構造を生成し、前記データ構造に含まれる前記非目標状態に遷移しうる状態に対し、当該非目標状態への遷移を防止することを規定した状態遷移規則を生成する、請求項１５に記載のセキュリティ運用管理システム。
【請求項１７】
前記管理対象システムに対する要件を定義したポリシ情報を記憶するポリシ情報記憶手段と、
前記ポリシ情報で定義された要件別に、該要件を満たす際の前記管理対象システムの状態を定義づけた状態モデルを記憶する要件別状態モデル記憶手段とを有し、
前記状態遷移規則生成手段は、前記ポリシ情報記憶手段に記憶されているポリシ情報と、前記要件別状態モデル記憶手段に記憶されている状態モデルとに基づいて、前記管理対象システムに対する要件を可能な限り多く満たすシステム状態間の遷移を規定する状態遷移規則を生成する、請求項１４から請求項１６のうちのいずれか１項に記載のセキュリティ運用管理システム。
【請求項１８】
前記状態遷移規則生成手段は、前記管理対象システムに対する要件の種類に応じて、満たすべき要件と、前記可能な限り満たしたい要件とを区別する、請求項１７に記載のセキュリティ運用管理システム。
【請求項１９】
前記管理対象システムに対する要件の種類には、セキュリティに関する要件と、利便性に関する要件とが含まれる、請求項１８に記載のセキュリティ運用管理システム。
【請求項２０】
前記状態遷移規則生成手段は、前記管理対象システムに対する要件の優先順位に従い、最適な状態遷移規則を生成する、請求項１７から請求項１９のうちのいずれか１項に記載のセキュリティ運用管理システム。
【請求項２１】
管理対象システムのセキュリティを該管理対象システムの運用時を含めて管理するためのセキュリティ運用管理方法であって、
前記管理対象システムの状態が、当該管理対象システムの望ましい状態を規定した状態規則を満たしていない場合に、前記状態規則を満たす状態を目標状態として決定し、
前記目標状態を決定した際の前記管理対象システムの状態と、当該目標状態との差分を変更するための所定の処理を、当該目標状態を決定した際の前記管理対象システムの状態において実施すべき対策として決定するセキュリティ運用管理方法。
【請求項２２】
前記管理対象システムの現在の状態が、当該管理対象システムの望ましい状態を規定した状態規則を満たしているか否かを判定し、満たしていない場合、前記状態規則を満たす状態を前記目標状態として決定し、
前記管理対象システムの現在の状態と前記決定された目標状態との差分を変更するための所定の処理を、実施すべき対策として決定する、請求項２１に記載のセキュリティ運用管理方法。
【請求項２３】
前記管理対象システムにおけるセキュリティに関わる診断項目に対して割り当てられた所定の状態変数に関する制約式で示される状態規則を用い、
前記管理対象システムから収集した診断項目の現在の状態が、前記状態規則としての制約式を満たしているか否かを判定し、前記制約式を満たしていない場合、前記制約式を満たす診断項目の状態の組み合わせによって示される前記管理対象システムの状態を前記目標状態として決定し、
前記管理対象システムから収集した診断項目のうち、現在の状態が、前記目標状態における当該診断項目の状態と異なる診断項目を、前記目標状態における当該診断項目の状態に変更するための処理を、実施すべき対策として決定する、請求項２１または請求項２２に記載のセキュリティ運用管理方法。
【請求項２４】
前記管理対象システムにおけるセキュリティに関わる診断項目に対して割り当てられた所定の状態変数に関する制約式および前記状態変数の取るべき最適の値を指定する目的関数で示される状態規則を用い、
前記管理対象システムから収集した前記診断項目の現在の状態が、前記状態規則としての制約式を満たしていない場合に、前記制約式を満たし、かつ前記状態規則としての目的関数によって最適解とされる診断項目の状態の組み合わせによって示される前記管理対象システムの状態を前記目標状態として決定する、請求項２１から請求項２３のうちのいずれか１項に記載のセキュリティ運用管理方法。
【請求項２５】
前記管理対象システムに対する要件を定義したポリシ情報と、前記ポリシ情報で定義された要件別に、該要件を満たす際の前記管理対象システムの状態を定義づけた状態モデルとを記憶しておき、
前記ポリシ情報と、前記状態モデルとに基づいて、前記管理対象システムに対する要件を可能な限り多く満たすシステム状態を規定する状態規則として、満たすべき要件を満たした際の前記管理対象システムの状態における状態変数の取りうる値を限定する制約式と、可能な限り満たしたい要件を全て満たした際の前記管理対象システムの状態における状態変数の値によって最大または最小となる目的関数とを導出する、請求項２１から請求項２４のうちのいずれか１項に記載のセキュリティ運用管理方法。
【請求項２６】
前記管理対象システムの望ましい状態を規定した状態規則に基づき、予め当該管理対象システムがとりうる状態に対して前記状態規則を満たす状態を前記目標状態として規定する状態遷移規則を生成し、
前記状態遷移規則に従って前記目標状態を決定する、請求項２１に記載のセキュリティ運用管理方法。
【請求項２７】
前記管理対象システムに対する要件を定義したポリシ情報と、前記ポリシ情報で定義された要件別に、該要件を満たす際の前記管理対象システムの状態を定義づけた状態モデルとを記憶しておき、
前記ポリシ情報と、前記状態モデルとに基づいて、前記管理対象システムに対する要件を可能な限り多く満たすシステム状態間の遷移を規定する状態遷移規則を生成する、請求項２６に記載のセキュリティ運用管理方法。
【請求項２８】
管理対象システムのセキュリティを該管理対象システムの運用時を含めて管理するためのセキュリティ運用管理用プログラムであって、
コンピュータに、
前記管理対象システムの状態が、当該管理対象システムの望ましい状態を規定した状態規則を満たしていない場合に、前記状態規則を満たす状態を目標状態として決定する状態遷移手順と、
前記目標状態を決定した際の前記管理対象システムの状態と、当該目標状態との差分を変更するための所定の処理を、当該目標状態を決定した際の前記管理対象システムの状態において実施すべき対策として決定するアクション決定手順とを実行させるためのセキュリティ運用管理用プログラム。
【請求項２９】
コンピュータに、
前記状態遷移手順で、前記管理対象システムの現在の状態が、当該管理対象システムの望ましい状態を規定した状態規則を満たしているか否かを判定させ、満たしていない場合に、前記状態規則を満たす状態を前記目標状態として決定させ、
前記アクション決定手順で、管理対象システムの現在の状態と前記状態遷移手順によって決定された目標状態との差分を変更するための所定の処理を、実施すべき対策として決定させる、請求項２８に記載のセキュリティ運用管理用プログラム。
【請求項３０】
前記管理対象システムにおけるセキュリティに関わる診断項目に対して割り当てられた所定の状態変数に関する制約式で示される状態規則を用い、
コンピュータに、
前記状態遷移手順で、前記管理対象システムから収集した診断項目の現在の状態が、前記状態規則としての制約式を満たしているか否かを判定させ、前記制約式を満たしていない場合、前記制約式を満たす診断項目の状態の組み合わせによって示される前記管理対象システムの状態を前記目標状態として決定させ、
アクション決定手順で、前記管理対象システムから収集した診断項目のうち、現在の状態が、前記目標状態における当該診断項目の状態と異なる診断項目を、前記目標状態における当該診断項目の状態に変更するための処理を、実施すべき対策として決定させる、請求項２８または請求項２９に記載のセキュリティ運用管理用プログラム。
【請求項３１】
前記管理対象システムにおけるセキュリティに関わる診断項目に対して割り当てられた所定の状態変数に関する制約式および前記状態変数の取るべき最適の値を指定する目的関数で示される状態規則を用い、
コンピュータに、
前記状態遷移手順で、前記管理対象システムから収集した前記診断項目の現在の状態が、前記状態規則としての制約式を満たしていない場合に、前記制約式を満たし、かつ前記状態規則としての目的関数によって最適解とされる診断項目の状態の組み合わせによって示される前記管理対象システムの状態を前記目標状態として決定させる、請求項２８から請求項３０のうちのいずれか１項に記載のセキュリティ運用管理用プログラム。
【請求項３２】
コンピュータに、
前記管理対象システムに対する要件を定義したポリシ情報と、前記ポリシ情報で定義された要件別に、該要件を満たす際の前記管理対象システムの状態を定義づけた状態モデルとに基づいて、前記管理対象システムに対する要件を可能な限り多く満たすシステム状態を規定する状態規則として、満たすべき要件を満たした際の前記管理対象システムの状態における状態変数の取りうる値を限定する制約式と、可能な限り満たしたい要件を全て満たした際の前記管理対象システムの状態における状態変数の値によって最大または最小となる目的関数とを導出するポリシ変換手順を実行させる、請求項３０または請求項３１に記載のセキュリティ運用管理用プログラム。
【請求項３３】
コンピュータに、
前記管理対象システムの望ましい状態を規定した状態規則に基づき、予め当該管理対象システムがとりうる状態に対して前記状態規則を満たす状態を前記目標状態として規定する状態遷移規則を生成する状態遷移規則生成手順を実行させ、
前記状態遷移手順で、前記状態遷移規則に従って前記目標状態を決定させる、請求項２８に記載のセキュリティ運用管理用プログラム。
【請求項３４】
コンピュータに、
前記状態遷移規則生成手順で、前記管理対象システムに対する要件を定義したポリシ情報と、前記ポリシ情報で定義された要件別に、該要件を満たす際の前記管理対象システムの状態を定義づけた状態モデルとに基づいて、前記管理対象システムに対する要件を可能な限り多く満たすシステム状態間の遷移を規定する状態遷移規則を生成させる、請求項３３に記載のセキュリティ運用管理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理対象システムのセキュリティを該管理対象システムの運用時を含めて管理するセキュリティ運用管理システム、セキュリティ運用管理方法およびセキュリティ運用管理用プログラムに関する。
【背景技術】
【０００２】
システムのＩＣＴ（Information  and  Communication  Technology）技術への依存度が増すにつれて、情報セキュリティの重要性がますます高まっている。それに伴い、近年多様なセキュリティツールが実用化され、多くの組織でその導入が進んでいる。その一方で、多様なセキュリティツールを運用、管理し、システムのセキュリティを維持していくことは容易でなく、多くの組織でセキュリティ管理上の大きな課題となっている。【０００３】
セキュリティ管理の目的は、セキュリティ上の脆弱性に対し、そのリスクの大きさに応じた対策を実施することである。なお、ここでいう脆弱性には、システムで稼働させているソフトウェアの脆弱性（例えば、バグ）だけでなく、セキュリティ上の脅威を顕在化するすべての事象を含む。例えば、「データの漏洩」という脅威に対しては、ＰＣ（Personal  Computer）を持ち運びやすいこと（ノートＰＣであること）という事象も脆弱性のひとつである。【０００４】
なお、セキュリティ管理は、システムの設計時や実装時だけでなく、運用中にも実施しなくてはならない。このような、運用時を含めて実施されるセキュリティ管理を、設計時や実装時だけに実施するセキュリティ管理と区別するために、セキュリティ運用管理と呼ぶ。【０００５】
セキュリティ運用管理に関し、セキュリティ上の脆弱性と対応策との対応づけを事前に定義し、それに基づいてセキュリティ運用管理を行う方法が、例えば、特開２００３−２４２１１２号公報（以下、特許文献１と称する）や、特表２００５−５１５５４１号公報（以下、特許文献２と称する）にて提案されている。【０００６】
特許文献１に記載されているセキュリティ運用管理システムは、ネットワークサーバの設定情報を保持する機器設定情報ＤＢと、セキュリティ問題を検出する診断項目および該セキュリティ問題の対処情報を保持するセキュリティ情報ＤＢと、該機器設定情報ＤＢに保持されている設定情報によるネットワークサーバのセキュリティ問題を検証し、セキュリティ対処策の導出を行う診断モジュールとを具備する。特許文献１で開示されている診断モジュールは、セキュリティ情報ＤＢからセキュリティ問題を検出する診断項目を取得し、その診断項目について設定情報によりネットワークサーバのセキュリティ問題が存在するかどうかを検証する。そして、セキュリティ問題が存在する場合に対処情報をセキュリティ情報ＤＢから取得し、対処情報を設定情報と比較することでセキュリティ対策を導出している。【０００７】
特許文献２は、管理対象システムに関する情報を取得することによって発見される事象（以下、イベントと称する）に対し、セキュリティを保つために管理対象システムに対し実行する処理（以下、アクションと称する）を、単純な対応表ではなく「一連の論理規則（具体的には、パラメータ値をビットパターンに対応づけることによって成り立つ論理規則）」に基づいて導出する方法を開示している。以下、特許文献１や特許文献２に記載されているように、予め定めておいたイベントとアクションの対応づけに基づいてセキュリティ対策を導出する方法を従来技術１と呼ぶ。【０００８】
また、セキュリティリスクと実施すべき対策の間を、フォールトツリーや重みをあらわす表で関連づけたルールを用いて記述することによって、システムの設計時における最適なセキュリティ対策の組み合わせを生成する方法が、例えば、特開２００４−１３３６３４号公報（以下、特許文献３と称する）や、永井、他，「セキュリティ対策目標の最適決定技法の提案」，情報処理学会論文誌，２０００年，Ｖｏｌ．４１，Ｎｏ．８（以下、非特許文献１と称する）や、兵藤、他，「セキュリティ対策案選択問題のモデル化」，電子情報通信学会技法ＩＳＥＣ２００３−４６，２００３年７月（以下、非特許文献２と称する）に記載されている。以下、特許文献３や非特許文献１，２に記載されているように、セキュリティリスクと対策との間の関連性を記述したルールを用いて、システム設定時における最適なセキュリティ対策の組み合わせを生成する方法を従来技術２と呼ぶ。【０００９】
従来技術１，２では、脆弱性への回避策を不可逆的に適用することを主な目的としている。しかし、現実のセキュリティ運用管理は、システムの変化に応じ、セキュリティリスクと業務効率とのバランスを考慮して、セキュリティ対策の切り替えが必要とされる場合が多い。【００１０】
例えば、ＰＣをセキュリティ的に保護されたイントラネット内で利用する場合と、公衆インターネットに接続して利用する場合とで、実施すべきセキュリティ対策を切り替えることが行われている。これは、公衆インターネットに接続される場合には、世界中の悪意を持った第三者に攻撃される可能性があるため、イントラネット内で利用する場合は無視できるようなセキュリティ上の脅威にも対応する必要があるからである。逆に、イントラネットに接続される場合には、攻撃される可能性が少ないため、業務効率を優先してネットワークサービス等（例えば、ファイル共有機能）を実行したいといった要望があるからである。【００１１】
従って、ノートＰＣのように持ち運び可能なＰＣに適用するセキュリティ対策を導出する際には、インターネットに接続されているか、イントラネットに接続されているか等のシステムの状態によって、どの項目を脅威とし、それに対してどのような対策をとるかを切り替えて実行できることが望ましい。【００１２】
しかし、一般にシステムは多くの状態を取るため、従来技術１のような、予め定めておいたイベントとアクションとの対応づけに基づいてセキュリティ対策を導出する方法では、状態毎に最適な対策を導出するための定義（イベントとアクションとの対応づけの定義）を記述することは困難である。例えば、個々の脆弱性に対して所定の回避策を不可逆的に適用するだけであれば、新たな脆弱性の定義が追加された等によって現在の状態が所定の回避策が全て実施された状態である目標状態になければ、その目標状態に移行するための状態遷移が存在するだけであり、図１ａに示すように、状態遷移の数と状態の数とは同等である。ところが、システムの変化に応じて、セキュリティ対策を相互に切り替える場合には、図１ｂに示すように、状態遷移の数は状態の数よりも遙かに多くなる。図１ｂでは、例えば、システムの状況が４つの状態で表せる場合に、その状況下におけるシステムの変化に応じて異なる目標状態に遷移する様子を示している。例えば、状態１に対応する状況下において、ある変化が発生した場合には状態２が目標状態となる。なお、発生した変化によっては状態３や状態４が目標状態となる場合もある。このようなシステムの変化に応じてセキュリティ対策を切り替えるような可逆的な対策の実施を、従来技術１のようなイベントに対するアクションを記述する方法で実現しようとした場合、状態に応じた条件づけをしなければならず、このような状態に応じた条件づけを含むイベントとアクションとの対応づけの定義を、網羅的かつ一貫性をもって記述することは困難である。【００１３】
なお、従来技術２は、従来技術１のように、状態に応じてイベントとアクションとの対応づけを逐一記述するのに比べ、セキュリティリスクと対策との関係をルールとして記述する点で、網羅的かつ一貫性をもった記述はし易い。しかし、従来技術２は、セキュリティリスクを考慮したシステム設計の支援を目的としたものであって、現在のシステムがどのような状況にあるのかを検知し、その内容に基づいてセキュリティ対策を決定しようということは考慮されていない。すなわち、状態によって最適とするセキュリティ対策が変化するような状況を想定したルールの策定方法等については言及しておらず、管理対象システムの運用中に、最適とするセキュリティ対策の自動的な切り替えを実施することはできない。
【発明の開示】
【００１４】
本発明は、システムの状態変化に応じたセキュリティ対策を容易に網羅的かつ一貫性をもって実施することができるセキュリティ運用管理システム、セキュリティ運用管理方法およびセキュリティ運用管理プログラムを提供することを目的とする。
【００１５】
本発明によるセキュリティ運用管理システムは、管理対象システムのセキュリティを該管理対象システムの運用時を含めて管理するセキュリティ管理システムであって、管理対象システムの状態が、当該管理対象システムの望ましい状態を規定した状態規則を満たしていない場合に、前記状態規則を満たす状態を目標状態として決定する状態遷移手段と、前記目標状態を決定した際の前記管理対象システムの状態と、当該目標状態との差分を変更するための所定の処理を、当該目標状態を決定した際の前記管理対象システムの状態において実施すべき対策として決定するアクション決定手段とを有する。
【００１６】
また、本発明によるセキュリティ運用管理方法は、管理対象システムのセキュリティを該管理対象システムの運用時を含めて管理するためのセキュリティ運用管理方法であって、前記管理対象システムの状態が、当該管理対象システムの望ましい状態を規定した状態規則を満たしていない場合に、前記状態規則を満たす状態を目標状態として決定し、前記目標状態を決定した際の前記管理対象システムの状態と、当該目標状態との差分を変更するための所定の処理を、当該目標状態を決定した際の前記管理対象システムの状態において実施すべき対策として決定する。
【００１７】
また、本発明によるセキュリティ運用管理用プログラムは、管理対象システムのセキュリティを該管理対象システムの運用時を含めて管理するためのセキュリティ運用管理用プログラムであって、コンピュータに、前記管理対象システムの状態が、当該管理対象システムの望ましい状態を規定した状態規則を満たしていない場合に、前記状態規則を満たす状態を目標状態として決定する状態遷移手順と、前記目標状態を決定した際の前記管理対象システムの状態と、当該目標状態との差分を変更するための所定の処理を、当該目標状態を決定した際の前記管理対象システムの状態において実施すべき対策として決定するアクション決定手順とを実行させる。
【００１８】
本発明によれば、システムの状態変化に応じたセキュリティ対策を容易に網羅的かつ一貫性をもって実施することができる。
【図面の簡単な説明】
【００１９】
【図１ａ】状態の数と状態遷移の数との関係を示す図である。
【図１ｂ】状態の数と状態遷移の数との関係を示す図である。
【図２】本発明の第１の実施形態によるセキュリティ運用管理システムの構成例を示すブロック図である。
【図３】本発明の第１の実施形態によるセキュリティ運用管理システムのより具体的な構成例を示すブロック図である。
【図４】本発明の第１の実施形態の動作例を示すフローチャートである。
【図５】図３に示したイベント定義格納手段に格納されるイベント定義の例を示す図である。
【図６】図３に示した状態規則格納手段に格納される状態規則の例を示す図である。
【図７】図３に示したアクション定義格納手段に格納されるアクション定義の例を示す図である。
【図８】本発明の第２の実施形態によるセキュリティ運用管理システムの構成例を示すブロック図である。
【図９】図８に示したポリシ格納手段に格納されるポリシ情報の一例を示す図である。
【図１０】図８に示したモデル格納手段に格納される状態モデルの例を示す図である。
【図１１】本発明の第２の実施形態にて導出される状態規則の例を示す図である。
【図１２】本発明の第３の実施形態によるセキュリティ運用管理システムの構成例を示すブロック図である。
【図１３】本発明の第３の実施形態におけるアクション定義格納手段に格納されるアクション定義の例を示す図である。
【図１４】本発明の第２の実施形態にて導出される状態規則の例を示す図である。
【図１５】本発明の第３の実施形態における状態遷移の一例を示す図である。
【図１６】本発明の第４の実施形態によるセキュリティ運用管理システムの構成例を示すブロック図である。
【図１７】本発明の第４の実施形態の動作例を示すフローチャートである。
【図１８】本発明の第５の実施形態によるセキュリティ運用管理システムの構成例を示すブロック図である。
【図１９】図１８に示した状態遷移規則生成手段の状態遷移規則の生成処理のアルゴリズムを疑似コードで示す図である。
【図２０】本発明の第６の実施形態によるセキュリティ運用管理システムの構成例を示すブロック図である。
【図２１】図２０に示したポリシコンパイル手段の状態遷移規則の生成処理の一例を示すフローチャートである。
【図２２】図２０に示したポリシコンパイル手段による状態遷移規則の生成処理のアルゴリズムを疑似コードで示す図である。
【図２３】図２０に示したモデル格納手段に格納される状態モデルの他の例を示す図である。
【図２４ａ】セキュリティ要件を満たす状態集合ＴＳの一例を示す図である。
【図２４ｂ】セキュリティ要件を満たす状態集合ＴＳの一例を示す図である。
【図２５ａ】セキュリティ要件を満たさない状態集合ＴＮＳの一例を示す説明図である。
【図２５ｂ】セキュリティ要件を満たさない状態集合ＴＮＳの一例を示す説明図である。
【図２６ａ】セキュリティ要件および利便性要件を満たす状態集合ＴＳＡの一例を示す図である。
【図２６ｂ】セキュリティ要件および利便性要件を満たす状態集合ＴＳＡの一例を示す図である。
【図２７】生成される状態遷移規則の一例を示す図である。
【発明を実施するための最良の形態】
【００２０】
（第１の実施形態）
以下に、本発明の第１の実施形態を図面を参照して説明する。【００２１】
図２は、本発明の第１の実施形態によるセキュリティ運用管理システムの構成例を示すブロック図である。【００２２】
図２に示すように、本実施形態によるセキュリティ管理システムは、状態遷移手段１０１と、アクション決定手段１０２とを備える。【００２３】
状態遷移手段１０１は、検知された管理対象システムの状態（具体的には、設定状況や脆弱性として認識される事象）を入力として、状態規則に基づいて、状態遷移が必要であれば目標状態とする遷移先状態を探索（決定）する。【００２４】
ここで、状態規則とは、管理対象システムの望ましい状態を示す情報であって、本実施形態では、管理対象システムのセキュリティに関わる診断項目に対し割り当てられた所定の変数（以下、ステート変数と称する）に関する制約式で示した情報である。なお、制約式とは、変数（この場合、ステート変数）のとりうる値を限定するための式であって、具体的には、変数と、数値を示すアトム（それ以上は分解できない基本となるデータ）と、＝，≦といった大小関係や、ＡＮＤ（論理積），ＯＲ（論理和），ＮＯＴ（否定）といった論理関係を示す演算子とから構成された情報である。なお、変数の値を直接変更する演算子（代入演算子）は制約式には含まれない（上記“＝”は等号を表す演算子として示している）。【００２５】
また、アクション決定手段１０２は、現在の状態から目標状態とされた遷移先状態へ、管理対象システムの状態を変化させるために必要なアクションを決定する。具体的には、アクション決定手段１０２は、目標状態とされたシステムの状態を表現する各項目の値（各設定や各脆弱性の状態値）と異なる項目に対し、現在の状態を表現している該項目の値を、目標状態とされたシステム状態における該項目の値に変更するのに必要なアクションを、実行すべきアクションとして決定する。なお、アクション決定手段１０２は、予め定められているアクション定義から、該当する項目の値を変更できるアクションを検索することによって、実行すべきアクションを決定してもよい。【００２６】
以下に、より具体的な構成例を用いて説明する。【００２７】
図３は、本発明の第１の実施形態によるセキュリティ運用管理システムのより具体的な構成例を示すブロック図である。【００２８】
図３に示すセキュリティ運用管理システムは、コンピュータ１００と、管理対象システム２００とを備える。【００２９】
コンピュータ１００は、プログラム制御により動作する中央処理装置やプロセッサ、データ処理装置等を備えたコンピュータであって、状態遷移手段１０１と、アクション決定手段１０２の他に、スキャナ手段１０３と、イベント定義格納手段１０４と、アクション定義格納手段１０５と、状態規則格納手段１０６とを含む。また、管理対象システム２００は、アクション実行手段２０１を含む。なお、スキャナ手段１０３は、管理対象システム２００に含まれていてもよい。また、コンピュータ１００そのものが管理対象システム２００であってもよい。その場合、アクション実行手段２０１はコンピュータ１００に含まれることになる。【００３０】
スキャナ手段１０３は、管理対象システム２００の設定を示す情報（以下、設定情報と称する）や脆弱性を示す情報（以下、脆弱性情報と称する）を収集し、イベント定義格納手段１０４に格納されているイベント定義に基づいて、収集した設定情報や脆弱性情報をイベントに変換し、状態遷移手段１０１に入力する。【００３１】
イベント定義格納手段１０４は、イベント定義を格納する。ここで、イベント定義とは、管理対象システム２００の設定または脆弱性の状態を表すステート変数と、その値の取得方法を示す情報とを含む情報である。【００３２】
状態遷移手段１０１は、本例では、スキャナ手段１０３から入力されるイベント（管理対象システム２００の現在の状態を示す情報）に対し、状態規則格納手段１０６に格納されている状態規則に基づいて、必要があれば状態遷移を行う。すなわち、目標状態とする遷移先状態を探索（決定）する。【００３３】
状態規則格納手段１０６は、本例における状態規則を格納する。具体的には、スキャナ手段１０３が収集する項目（管理対象システムの情報セキュリティに関わる設定項目や脆弱性）に対応するステート変数に関する制約式という形式で記述された、管理対象システム２００の望ましい状況を示す状態規則を格納する。【００３４】
アクション決定手段１０２は、本例では、アクション定義格納手段１０５に格納されているアクション定義に基づいて、現在の状態から目標状態とされた遷移先状態へ、管理対象システムの状態を変化させることができるアクションを、実施すべき対策として決定する。【００３５】
アクション定義格納手段１０５は、アクション定義を格納する。ここで、アクション定義とは、管理対象システム２００の設定や脆弱性として認識された事象を変更するための方法（操作方法等）を記述した情報である。【００３６】
アクション実行手段２０１は、アクション決定手段１０２が決定したアクションを実行し、当該管理対象システム２００の設定を変更したり、脆弱性として認識された事象を変更する。【００３７】
なお、本例において、状態遷移手段１０１，アクション決定手段１０２，スキャナ手段１０３は、具体的には、コンピュータ１００が備えるプログラム制御により動作する中央処理装置やプロセッサ、データ処理装置等によって実現される。また、イベント定義格納手段１０４，アクション定義格納手段１０５，状態規則格納手段１０６は、コンピュータ１００が備える記憶装置によって実現される。また、アクション実行手段２０１は、例えば、管理対象システム２００が備えるプログラム制御により動作する中央処理装置やプロセッサ、データ処理装置等によって実現される。【００３８】
次に、本実施形態の動作について説明する。【００３９】
図４は、本発明の第１の実施形態の動作例を示すフローチャートである。【００４０】
図４に示すように、まず、ステップＳ１０１において、管理対象システム２００の起動時に、スキャナ手段１０３は、イベント定義に基づいて、管理対象システム２００の設定や管理対象システム２００上に存在する脆弱性として認識される事象について調べ、イベントに変換する。具体的には、スキャナ手段１０３は、診断項目として定義されている管理対象システム２００の設定または脆弱性として認識される事象の現在の状態を収集し、収集した各診断項目の現在の状態を、該診断項目に対し割り当てられているステート変数がとりうる値に変換することによって、現時点におけるシステム状態を示すイベント変数を生成する。【００４１】
図５は、図３に示したイベント定義格納手段１０４に格納されるイベント定義の例を示す図である。【００４２】
図５に示す例では、ステート変数としてｘ１〜ｘ５の５つの変数が定義され、各ステート変数は、ネットワーク接続状態（ステート変数ｘ１），ネットワーク接続先（ステート変数ｘ２），アンチウイルスツールの状態（ステート変数ｘ３）、ファイル共有の状態（ステート変数ｘ４），クライアントファイアウォールの状態（ステート変数ｘ５）に対し割り当てられている。本例では、全てのステート変数が０か１かの二通りの値を取るものとして定義されている。なお、二通り以上の値を取るように定義することも可能である。【００４３】
これら各診断項目の状態は、スクリプトを実行したり、状態収集用のプログラムをインストールして実行したり、既存の脆弱性管理ツールのログを解釈したり、ＷＭＩ（Windows  Management  Instrumentation）のようなシステム管理用のインタフェースを利用したりすることによって収集することができる。図５に示す例では、取得方法として、ＷｉｎｄｏｗｓのＪＳｃｒｉｐｔを利用して、Ｗｉｎｄｏｗｓ  Ｆｉｒｅｗａｌｌの状態を取得する方法が具体的に示されている。スキャナ手段１０３は、このようなスクリプトを管理対象システム２００上で実行して、そのＥｘｉｔコードを該当するステート変数の値として所定の形式のイベント変数に代入することにより、ステップＳ１０１の動作を実施できる。なお、スキャナ手段１０３は、例えば、いずれの項目に変化があった場合に、管理対象システム２００の現在の状態を各ステート変数に格納される値で示すステート変数を状態遷移イベントとして、状態遷移手段１０１に入力するようにしてもよい。イベント変数は、例えば、各ステート変数に格納される値を所定の順序で結合した値を格納する変数であってもよい。なお、本実施形態では、いずれの項目に変化があった場合に、状態遷移手段１０１で、現在のシステム状態を示す各ステート変数の値が取得できればよい。なお、Ｗｉｎｄｏｗｓは登録商標である。【００４４】
次に、状態遷移手段１０１は、状態遷移イベントとして入力されるイベント変数の値（現在の管理対象システム２００の状態を示す各ステート変数に格納される値の集合）と状態規則格納手段１０６に格納されている状態規則とに基づき、目標状態を決定する。ここでは、状態遷移手段１０１は、ステップＳ１０２において、各ステート変数に格納される値の集合によって示される現在のシステム状態が、状態規則格納手段１０６に格納されている状態規則を満たすかどうかを検査する。【００４５】
図６は、図３に示した状態規則格納手段１０６に格納される状態規則の例を示す図である。【００４６】
図６に示す例では、以下の３つの状態規則が定義されている。なお、それぞれはＯＲ結合されることを前提としている。すなわち、３つの状態規則のいずれかが満たされる場合が管理対象システム２００の望ましい状況を表す。
・状態規則１：ｘ＝０
・状態規則２：（ｘ１＝１）ＡＮＤ（ｘ２＝１）ＡＮＤ（ｘ３＝１）ＡＮＤ（（ｘ４＝０）ＯＲ（ｘ５＝１））
・状態規則３：（ｘ１＝１）ＡＮＤ（ｘ２＝０）ＡＮＤ（（ｘ３＝１）ＯＲ（ｘ５＝１））
なお、状態規則１は、ネットワークに接続されていなければ安全であることを意味している。また、状態規則２は、インターネットに接続されている場合、アンチウイルスツールは有効にし、かつ、ファイル共有を無効にするか、クライアントファイアウォールを有効にしなくてはならないことを意味している。また、状態規則３は、イントラネットに接続されている場合、アンチウイルスツールかクライアントファイアウォールを有効にしなくてはならないことを意味している。【００４７】
ステップＳ１０３において、状態規則が満たされる場合、現在の管理対象システム２００の状態は、セキュリティ上の問題が生じていない状況（望ましい状況）であるといえるため、状態遷移は行わない。すなわち、ステップＳ１０７に移行し、次にスキャナ手段１０３で管理対象システム２００の設定または脆弱性として認識された事象が変更されたことが検出されるまで、何も行わず待機状態とする。例えば、図６に示した状態規則が格納されている場合に、イベント変数として、（ｘ１，ｘ２，ｘ３，ｘ４，ｘ５）＝（１，０，１，−，−）という値が得られた場合がこれに相当する（ここでは、状態規則３が満たされている）。なお、“−”はどのような値であってもよいことを示している。【００４８】
一方、ステップＳ１０３において、状態規則が満たされない場合、現在の管理対象システム２００の状態は、セキュリティ上の問題が生じている状況（望ましくない状況）であるといえるため、ステップＳ１０４において、状態遷移手段１０１は、状態規則を満たすことになる管理対象システム２００の状態、すなわちステート変数の組み合わせを探索し、その状態を目標状態に設定する。このような制約を満たす変数の組み合わせは、例えば、Vipin  Kumar,  "Algorithms  for  Constraint-Satification  Problems:  A  Survey",  AI  Magazine  SPRING  1992,  p.32-44に記載されたような制約充足問題を解く公知のアルゴリズムや、H.Paul  Williams,  "Model  Building  in  Mathematical  Programming,  John  Wiley  and  Sons,  Chichester  New  York,  4.  edition,  1999.に記載されたような整数計画問題を解く公知のアルゴリズムを用いて算出すればよい。【００４９】
例えば、制約充足問題を解くアルゴリズムとして、バックトラッキングによる解法を用いてもよい。これは、制約式中の変数に順に値を代入していき、その結果として別の制約式の一部が成り立たなくなれば、別の選択肢がある変数の代入まで後戻りして別の値を代入していき、最終的に全ての制約式を満たす変数を見つける方法である。さらに、制約同士の整合性を調べて効率化する制約伝播法や、代入していく変数の順序を最適化した高速化手段を用いてもよい。【００５０】
また、例えば、整数計画問題を解くアルゴリズムとして、分岐限定法による解法を用いてもよい。これは、変数が整数でなければシンプレックス法などによって高速に解くことができる性質を利用し、変数が整数という制約を除いてまず問題を解き、その解が整数にならなかった変数の値域を境に分割するような制約式を持った子問題に分割する。そして、ある子問題が、別の子問題で得られた解よりも良い解を出す見込みがなければ取り除いていくことで、高速に最適解を導く手法である。さらに、整数にならない解を取り除く切除平面を制約式として追加する切除平面法や、それと分岐限定法を組み合わせた分岐カット法といった高速化手段を用いてもよい。【００５１】
例えば、図６に示した状態規則が格納されている場合に、イベント変数として、（ｘ１，ｘ２，ｘ３，ｘ４，ｘ５）＝（１，１，１，１，０）という値が得られた場合がこれに相当する（すなわち、状態規則１〜３のいずれも満足していない）。この場合、状態遷移手段１０１は、状態規則を満たすステート変数の組み合わせを探索する。探索結果としては、例えば、（ｘ１，ｘ２，ｘ３，ｘ４，ｘ５）＝（１，１，１，１，１）であってもよい。ここで探索された状態規則を満たすステート変数の組み合わせによって示される管理対象システム２００の状態を目標状態とする。【００５２】
次に、アクション決定手段１０２は、ステップＳ１０５において、現在のシステム状態を示している各ステート変数の値の組み合わせが、目標状態とされた各ステート変数の値の組み合わせとなるように、システム状態を変更するためのアクションを決定する。具体的には、アクション決定手段１０２は、目標状態とされたステート変数の値と異なるステート変数に対し、現在の値を目標状態とされた該ステート変数の値に変更するのに必要なアクションを、アクション定義格納手段１０５に格納されているアクション定義から検索する。【００５３】
図７は、図３に示したアクション定義格納手段１０５に格納されるアクション定義の例を示す図である。【００５４】
図７に示すように、アクション定義は、ステート変数と、その値を変更するために実行するアクションの情報とを対応づけた情報であってもよい。アクションは、例えば、スクリプト言語を用いて記述された実行ファイルの内容として示されていてもよい。この場合、アクションの情報として、実行ファイルのファイル名等を対応づけてもよい。図７に示す例では、例えば、ステート変数ｘ５を変更するためのアクションとして、ＪＳｃｒｉｐｔの内容が示されている。本例では、このＪＳｃｒｉｐｔを、管理対象システム２００上で変更したい値を引数として実行することにより、ステート変数ｘ５に対応する項目であるＷｉｎｄｏｗｓ  Ｆｉｒｅｗａｌｌを有効にしたり、無効にしたりすることができる。【００５５】
なお、設定や脆弱性として認識された事象を機械的に変更する手段がない場合は、ユーザに設定を変更するように警告するスクリプトをアクションとして定義してもよい。例えば、ネットワークの接続先を変更しようとした場合、ケーブルの差し替えや場所の移動が必要になり、機械的に変更することができない場合には、ネットワークの接続先を変更するようにユーザに促す警告を表示するスクリプトをアクションとして定義すればよい。【００５６】
アクション実行手段２０１は、ステップＳ１０６において、アクション決定手段１０２により決定されたアクションを実行し、当該管理対象システム２００の設定または脆弱性として認識された事象を変更する。上記例の場合、クライアントファイアウォールを有効にするスクリプトを実行する。その結果、クライアントファイアウォールが有効になる。【００５７】
以上のように、本実施形態によれば、セキュリティ運用管理の規則を、望ましいセキュリティ状態を規定した状態規則として記述、保持し、現在のシステムの状態が通知されると、その状態に対する目標状態を決定し、その目標状態となるようにアクションを実行するというように構成されているため、システムの状態変化に応じたセキュリティ対策を、網羅的かつ一貫性をもって実現することができる。【００５８】
また、状態に応じてイベントとアクションとの対応づけを逐一記述する従来技術と比べて、望ましいセキュリティ情報を記述するだけでよいため、記述すべき情報を大幅に減らすことができ、より容易に、システムの状態変化に応じたセキュリティ対策を網羅的かつ一貫性をもって実現することができる。その結果、セキュリティ運用管理の質を向上させつつ、工数を削減することができる。【００５９】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。【００６０】
図８は、本発明の第２の実施形態によるセキュリティ運用管理システムの構成例を示すブロック図である。【００６１】
図８に示すセキュリティ運用管理システムは、図３に示した第１の実施形態と比べて、状態規則格納手段１０６に代わり、ポリシ格納手段１０７と、ポリシ変換手段１０８と、モデル格納手段１０９とを備える点が異なる。【００６２】
ポリシ格納手段１０７は、セキュリティ運用管理を実施する上での管理対象システム２００に対する要件を定義したポリシを示す情報（以下、ポリシ情報と称する）を格納する。【００６３】
図９は、図８に示したポリシ格納手段１０７に格納されるポリシ情報の一例を示す図である。【００６４】
一般的に、管理対象システム２００に対する要件は、複数存在する。本実施形態では、例えば、図９に示すように、各要件に対しポリシ変数として定義し、そのポリシ変数の組み合わせで示される要件の集合をポリシとする。なお、ポリシ情報において定義されるポリシ変数は、その要件が満たされる場合に１、満たされない場合に０の値をとるものとする。【００６５】
なお、セキュリティ管理者は、満たしたい要件に対応するポリシ変数の定義を、ポリシ情報として登録するようにしてもよいし、予め定義しておいたポリシ変数に対し、どの要件を満たしたいかを示す有効フラグ（有効＝１／無効＝０）を対応づけて登録するようにしてもよい。また、要件は、例えば、そのシステム上でどのようなセキュリティ上の脅威に対応したいかというセキュリティ要件を表すものと、どのようなサービスを実現したいかという利便性要件を表すものとに分類できる。ポリシ格納手段１０７は、これら要件の種類についてもポリシ情報として保持する。【００６６】
図９に示した例では、５つの要件がそれぞれポリシ変数ｙ１〜５に割り当てられて定義されていることを示している。
・ポリシ変数ｙ１：「ウイルスの脅威に対応する（ウイルス感染を防ぐ）」というセキュリティ要件
・ポリシ変数ｙ２：「外部犯対策を行う（外部犯による攻撃を防ぐ）」というセキュリティ要件
・ポリシ変数ｙ３：「内部犯対策を行う（内部犯による攻撃を防ぐ）」というセキュリティ要件
・ポリシ変数ｙ４：「ファイル共有を利用する」という利便性要件
・ポリシ変数ｙ５：「インターネット上でファイルを公開する」という利便性要件
なお、図９に示した例において、外部犯は、外部ネットワークを介した侵入により攻撃をするタイプを示し、建物に侵入して攻撃するようなタイプは含まないものとする。なお、内部犯は、内部ネットワーク（ここではイントラネット）を介した侵入により攻撃をするタイプを示している。【００６７】
また、モデル格納手段１０９は、ポリシとして定義される各要件に応じた状態規則を、状態モデルとして格納する。すなわち、状態モデルは、ポリシとして定義される各要件を満たす際のシステム状態を定義した制約式であると言える。【００６８】
図１０は、図８に示したモデル格納手段１０９に格納される状態モデルの例を示す図である。【００６９】
図１０に示す状態モデルは、ポリシとして定義される各要件を満たす際のシステム状態を、対応するポリシ変数を用いた条件命題論理式（ここでは、Ａ→Ｂという形式の論理式をいう）で記述した例である。図１０では、例えば、ポリシ変数ｙ１が割り当てられた要件についての状態モデルとして、ポリシ変数ｙ１で示される要件を満たすためには、次の制約式（条件命題論理式の右辺）を満たすべきであることが示されている。
ｙ→（ｘ１＝０）∨（（ｘ２＝０）∧（（ｘ３＝１）∨（ｘ５＝１）））∨（（ｘ２＝１）∧（ｘ３＝１））
これは、ウイルス感染を防ぐには、ネットワークに接続されていないか、イントラネットに接続され、かつファイアウォールまたはアンチウイルスツールのいずれかが有効か、もしくはアンチウイルスツールが有効でなくてはならないことを示している。【００７０】
ポリシ変換手段１０８は、ポリシ格納手段１０７に格納されているポリシ情報と、モデル格納手段１０９に格納されている状態モデルとに基づいて、状態規則を導出する。なお、本実施形態では、状態規則として、管理対象システムの望ましい状態を、ステート変数に関する制約式と目的関数とで示す情報を導出する例に示している。なお、目的関数とは、ある変数に関する関数を最大または最小にすることを目的として示すことによって、その変数の取るべき最適の値を指定する情報である。すなわち、ポリシ変換手段１０８は、管理対象システム２００に対する要件を可能な限り多く満たした際の管理対象システム２００の状態を定めるために、ステート変数の取りうる値を限定する制約式と、ステート変数の取るべき最適の値を指定する目的関数とを状態規則として導出する。なお、ステート変数の取るべき最適の値を指定する目的関数は、例えば、各要件が満たされたか否かを示すポリシ変数の取りうる値をステート変数を用いて限定する制約式と、全ポリシ変数が要件を満たした場合に最大（または最小）となる関数とを定義した上で、その関数を最大（または最小）にすることを目的として示せばよい。【００７１】
本例では、状態遷移手段１０１は、ポリシ変換手段１０８によって変換された状態規則に基づいて、状態遷移を行う。なお、他の点に関しては、第１の実施形態と同様である。【００７２】
なお、本例において、ポリシ変換手段１０８は、具体的には、コンピュータ１００が備えるプログラム制御により動作する中央処理装置やプロセッサ、データ処理装置等によって実現される。また、ポリシ格納手段１０７，モデル格納手段１０９は、コンピュータ１００が備える記憶装置によって実現される。【００７３】
次に、本実施形態におけるポリシ変換手段１０８が行う状態規則導出処理について説明する。ここでは、ポリシ情報として図９に示した例が登録され、かつ状態モデルとして図１０に示した例が登録されている場合を例に説明する。なお、セキュリティ管理者が設定したポリシ変数の有効フラグは、（Ｙ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５）＝（１，１，０，１，０）であったとする。なお、Ｙ１〜５は、それぞれポリシ変数ｙ１〜５に対応し、そのポリシ変数が対応している要件が有効であるか否かを示す有効フラグの値を示している。【００７４】
図１１は、本発明の第２の実施形態において導出される状態規則の例を示す図である。【００７５】
まず、ポリシ変換手段１０８は、状態規則の一制約式として、ポリシ格納手段１０７に格納されているポリシ情報に基づいて、ポリシとして設定されている要件（有効とされている要件）のうち、要件の種類が「セキュリティ」であるものについて、その要件についての状態モデルから、その要件を満たす際に満たすべきステート変数に関する制約式を取得する。ここでは、セキュリティ要件を満たすべき要件として、該要件を満たした際のシステム状態を定義づけている。図１０に示した状態モデルの場合、ポリシ情報に「セキュリティ要件」として設定されているポリシ変数を用いた条件命題論理式から、その条件命題論理式の右辺を状態規則の一制約式として取り出せばよい。ここでは、図１１における制約式ｇ１１，ｇ１２が取り出される。【００７６】
また、ポリシとして設定されている要件（有効とされている要件）のうち、要件の種類が「利便性」であるものについて、その要件についての状態モデルから、その要件を満たすならば、満たさなければならないステート変数に関する制約式を、条件命題論理式という形式にして取得する。ここでは、利便性要件を可能な限り満たしたい要件として、その要件を満たすならば満たさなければならないシステム状態を定義づけている。なお、ポリシ変数ｙ４は、その要件を満たすことを最適解として導出するための目的関数に用いる変数に用いられる。例えば、図１０に示した状態モデルの場合、ポリシ情報に「利便性要件」として設定されているポリシ変数に対応づけられた状態モデルとして登録されている条件命題論理式を、そのまま制約式として取り出せばよい。なお、仮に状態モデルとして、その要件を満たす際のステート変数に関する制約式のみが登録されている場合には、ポリシ変数を左辺に、その制約式を右辺に用いた条件命題論理式を生成して、状態規則の一制約式として導出すればよい。ここでは、図１１における制約式ｇ１３が取り出される。【００７７】
次に、ポリシ変換手段１０８は、ポリシとして設定されている満たすべき要件（有効とされている要件）のうち、可能な限り満たしたい要件とした利便性要件に対し割り当てられているポリシ変数の値の総和を最大とする目的関数を設定する。例えば、図９に示したポリシ情報において、ポリシとして設定されている満たすべき要件（有効とされている要件）のうち、要件の種類が「利便性」である要件に対し割り当てられているポリシ変数はｙ４であるから、ｍａｘｉｍｉｚｅ（ｙ４）という目的関数ｆ１１が設定される。なお、仮にポリシ変数ｙ５が割り当てられた要件が有効とされている場合には、ポリシ変数ｙ４を用いた条件命題論理式（制約式ｇ１３）の他に、ポリシ変数ｙ５を用いた条件命題論理式が取得されるとともに、ｍａｘｉｍｉｚｅ（ｙ４＋ｙ５）という目的関数が設定されることになる。【００７８】
ポリシ変換手段１０８は、これらの制約式の集合および目的関数を、状態規則として状態遷移手段１０１に入力すればよい。【００７９】
状態遷移手段１０１は、状態規則として入力された制約式と目的関数とを最も満たすことになる変数の値の組み合わせを、制約最適化問題に帰着させたり、整数計画問題に帰着させることによって、算出する。状態遷移手段１０１は、できるだけ多くの要件を満たすように探索する。なお、本例では、ポリシ変換手段１０８が、利便性要件をセキュリティ要件よりも優先度を下げた形で状態規則として入力するため、結果として、利便性要件が実現可能な場合のみ、利便性要件が満たされることになる。【００８０】
以上のように、本実施形態によれば、セキュリティ管理者が複雑な状態規則を記述する必要なしに、より容易にセキュリティ運用管理を実現することができる。なぜなら、イベント定義、アクション定義、および要件に応じた状態モデルは多くの組織で共通の内容であるため、セキュリティ管理者が状態モデルを作成する必要性は乏しく、本実施形態では、セキュリティ専門家が事前に作成しておいた要件に応じた状態モデルを利用し、セキュリティ管理者は、各要件の有効性を示すポリシ情報を記述するだけでよいからである。【００８１】
また、セキュリティに関する要件だけでなく、利便性に関する要件も指定できるようにすることで、セキュリティ管理者の意図をより明確に反映しやすくなる。一般に、セキュリティ対策をどの程度厳しく実施するかは、それに伴うセキュリティ向上という効果と、コストと利便性の低下という逆効果とのトレードオフを考慮して決定される。そして、利便性に関する要件は、システムの用途、業務慣行などによりまちまちである。従って、セキュリティに関する要件だけでなく、利便性に関する要求を個別に指定できるようにすることで、各々の組織においてセキュリティ運用管理上の要件（全体的な要件）をより反映しやすくなる。【００８２】
また、単純に状態モデルにポリシ変数の値を代入して制約問題に帰着したのでは、過制約（制約を満たす解の組み合わせが存在しないこと）が生じやすいが、それを避けるために、本実施形態におけるポリシ変換手段１０８では、要件の種類毎に優先順位を設けて状態規則を導出している。なお、上記に示した例では、利便性に関する要件はセキュリティに関する要件よりも優先順位を下げて状態規則を導出している。すなわち、利便性に関する要件を満たす際のシステム状態となったときに最大値をとる目的関数として導出している。また、状態遷移手段１０１が、ポリシ変換手段１０８が優先順位に基づいて導出した状態規則に従い、できるだけ多くの要件を満たすように探索することによって、セキュリティ要件が実現可能な場合にのみ、利便性要件が満たされるようにするといった優先度に応じた状態遷移を実現できる。例えば、インターネットに接続した場合はファイル共有が利用できないが（セキュリティ要件のみが満たされ、利便性要件は満たされない）、イントラネットに接続した場合はファイル共有が利用できる（セキュリティ要件と利便性要件の両方が満たされる）といった状態遷移を実現することができる。【００８３】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。【００８４】
図１２は、本発明の第３の実施形態によるセキュリティ運用管理システムの構成例を示すブロック図である。【００８５】
図１２に示すセキュリティ運用管理システムは、図８に示した第２の実施形態と比べて、現在状態格納手段１１０を備える点が異なる。【００８６】
現在状態格納手段１１０は、管理対象システム２００の現在のシステム状態（各ステート変数の値）を保持する。【００８７】
本実施形態では、ポリシ変換手段１０８は、現在状態格納手段１１０によって示されるイベントを受信する前の現在のシステム状態と、イベントによって示される変化後の現在のシステム状態とによって示される変化の状況や、対応の困難性を考慮した上で、状態規則を導出する。【００８８】
ポリシ変換手段１０８でそのような状態規則を導出するために、アクション定義格納手段１０５が格納するアクション定義に、アクションごとにそのアクションの実行しやすさを示す種類が追加される。【００８９】
図１３は、本発明の第３の実施形態におけるアクション定義格納手段１０５に格納されるアクション定義の例を示す図である。【００９０】
図１３に示すように、アクション定義として、ステート変数に対応づけられたアクションに対し、アクションの実行しやすさを示す種類の情報を含む。図１３では、例えば、ステート変数ｘ１に対応づけられたアクションが“自動対応”という種類に属することが示されている。また、ステート変数ｘ２に対応づけられたアクションが“即時対応困難”という種類に属することが示されている。また、ステート変数ｘ３に対応づけられたアクションが“手動対応”という種類に属することが示されている。ここで、“自動対応”は、そのアクションをシステムが機械的に実行可能なものをいう。また、“手動対応”は、システムのユーザによって手作業ですぐに実行可能なものをいう。また、“即時対応困難”は、手作業でもすぐには実行できるとは限らず、時間がかかるものをいう。なお、他の点に関しては、第２の実施形態と同様である。【００９１】
ポリシ変換手段１０８は、スキャナ手段１０３からイベント変数の値（現在の管理対象システム２００の状態を示す各ステート変数に格納される値の集合）が入力されると、現在状態格納手段１１０に格納されている、イベント変数を受け取る前の時点における現在のシステム状態（変化前のシステム状態）を示す各ステート変数の値と、イベント変数によって示される現在のシステム状態（変化後のシステム状態）を示す各ステート変数の値とに基づき、管理対象システム２００の状態変化の状況を認識する。具体的には、現在のシステム状態を示す変化後の各ステート変数の値と、どのステート変数にどのような変化が生じたのかを得る。ポリシ変換手段１０８は、これら状態変化の状況を認識した後に、現在状態格納手段１１０に格納される現在の管理対象システム２００の状態を示す各ステート変数の値を更新する。【００９２】
次に、本実施形態におけるポリシ変換手段１０８が行う状態規則導出処理について説明する。ここでは、アクション定義として図１３に示した例が登録され、ポリシ情報として図９に示した例が登録され、かつ状態モデルとして図１０に示した例が登録されている場合を例に説明する。なお、セキュリティ管理者が設定したポリシ変数の有効フラグは、（Ｙ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５）＝（１，１，０，１，０）であったとする。また、図１３は、本例において導出される状態規則の例を示す説明図である。【００９３】
まず、ポリシ変換手段１０８は、ポリシ格納手段１０７に格納されているポリシ情報に基づいて、ポリシとして設定されている要件（有効とされている要件）のうち、要件の種類が「セキュリティ」であるもの（満たすべき要件）について、その要件を満たす際に満たすべきステート変数に関する制約式を取得する。また、要件の種類が「利便性」であるもの（可能な限り満たしたい要件）について、その要件についての状態モデルから、その要件を満たすならば、満たさなければならないステート変数に関する制約式を、条件命題論理式という形式にして取得する。なお、本動作は第２の実施形態と同様である。ここでは、図１４における制約式ｇ２１〜ｇ２３が取り出される。【００９４】
次に、ポリシ変換手段１０８は、０か１かの二通りの値をとる新たなポリシ変数ｚ１を導入し、現在のシステム状態において変化したステート変数の値（イベント変数受信前と比べて変化したステート変数の値）と、そのステート変数の最終的な値（目標状態における値）とが等しい場合に１となる制約式を生成する。【００９５】
例えば、イベント変数によって示される現在のシステム状態を示す各ステート変数の値が、（ｘ１，ｘ２，ｘ３，ｘ４，ｘ５）＝（Ｘ１，Ｘ２，Ｘ３，Ｘ４，Ｘ５）であったとする。なお、Ｘ１〜５は、それぞれステート変数ｘ１〜５に対応し、現在のシステム状態（ここでは、イベント受信後）を示す情報としてステート変数に格納される値を示している。なお、本例では、Ｘ１〜５は、いずれも０か１かの二通りの値をとる整数である。このとき、入力された状態遷移イベントが、例えば、スキャナ手段１０３からステート変数ｘ４の変化によるものであった場合には、ｚ１＝（ｘ４＝Ｘ４）という制約式ｇ２４を生成すればよい。なお、これは、「できるだけ直前に生じた状態変化を元に戻すようなアクションは生成しない」という要件に対応するポリシ変数ｚ１が満たされたか否かを、ステート変数を用いた制約式で表現した例である。なお、ポリシ変数ｚ１は、その要件が満たされる場合に１、満たされない場合に０の値をとることになる。なお、変化したステート変数が二通り以上の値をとる場合には、ｚ１＝（ｘ４≠Ｘ４’）という制約式を生成すればよい。なお、Ｘ４’は、イベント変数受信前のシステム状態においてステート変数ｘ４に格納される値を示している。【００９６】
次に、さらに０か１かの二通りの値をとる新たなポリシ変数ｚ２を導入し、アクションの種類が“即時対応困難”に属するアクションを引き起こすステート変数に変更が生じなければ１となる制約式を生成する。図１３に示した例の場合、“即時対応困難”に属するアクションを引き起こすステート変数（すなわち、“即時対応困難”に属するアクションを実行すると変更される項目に対応づけられたステート変数）はｘ２であるので、ｚ２＝（ｘ２＝Ｘ２）という制約式ｇ２５を生成すればよい。これは、「即時対応困難なアクションをできるだけ避ける」という要件に対応するポリシ変数ｚ２が満たされたか否かを、ステート変数を用いた制約式で表現した例である。なお、ポリシ変数ｚ２は、その要件が満たされる場合に１、満たされない場合に０の値をとることになる。なお、仮に、“即時対応困難”に属するアクションを引き起こすステート変数がｘ２とｘ３の２つであった場合には、ｚ２＝（（ｘ２＝Ｘ２）∧（ｘ３＝Ｘ３））という制約式を生成すればよい。【００９７】
次に、さらに０か１かの二通りの値をとる新たなポリシ変数ｚ３を導入し、目標状態となるシステム状態においてセキュリティ管理者が設定した利便性要件が全て満たされていれば１となる制約式を生成する。図９に示したポリシ情報の場合、利便性要件を表すポリシ変数はｙ４とｙ５であり、そのうち有効とされている要件はｙ４であるので、ｚ３＝（ｙ４＝１）という制約式ｇ２６を生成すればよい。これは、「できるだけ利便性要件を全て満たす」という要件に対応するポリシ変数ｚ３が満たされたか否かを、ステート変数を用いた制約式で表現した例である。なお、ポリシ変数ｚ３は、その要件が満たされる場合に１、満たされない場合に０の値をとることになる。なお、仮に、有効とされている利便性要件がｙ４とｙ５の２つであった場合には、ｚ３＝（（ｙ４＝１）∧（ｙ５＝１））という制約式を生成すればよい。【００９８】
次に、さらに０か１かの二通りの値をとる新しいポリシ変数ｚ４を導入し、現在のシステム状態から目標状態となるシステム状態に遷移する際に、アクションの種類が“手動対応”に属するアクションを引き起こすステート変数に変更が生じなければ１となる制約式を生成する。図１３に示した例の場合、“手動対応”に属するアクションを引き起こすステート変数（すなわち、“手動対応”に属するアクションを実行すると変更される項目に対応づけられたステート変数）はｘ３であるので、ｚ４＝（ｘ３＝Ｘ３）という制約式ｇ２７を生成すればよい。これは、「人手を介するアクションをできるだけ避ける」という要件に対応するポリシ変数ｚ４が満たされたか否かを、ステート変数を用いた制約式で表現した例である。なお、ポリシ変数ｚ４は、その要件が満たされる場合に１、満たされない場合に０の値をとることになる。なお、仮に、“手動対応”に属するアクションを引き起こすステート変数がｘ２とｘ３の２つであった場合には、ｚ４＝（（ｘ２＝Ｘ２）∧（ｘ３＝Ｘ３））という制約式を生成すればよい。【００９９】
次に、さらに０からステート変数の数（ここでは５）までの値をとる新たなポリシ変数ｚ５を導入し、現在のシステム状態における各ステート変数の値が目標状態とされるシステム状態における各ステート変数の値と同じである程大きくなるような制約式を生成する。ステート変数がｘ１〜５の５つであった場合には、ｚ５＝（ｘ１＝Ｘ１）＋（ｘ２＝Ｘ２）＋（ｘ３＝Ｘ３）＋（ｘ４＝Ｘ４）＋（ｘ５＝Ｘ５）という制約式ｇ２８を生成すればよい。これは、「できるだけ実施するアクションを減らす」という要件に対応するポリシ変数ｚ５がどれだけ満たされているかを、ステート変数を用いた制約式で表現した例である。なお、ポリシ変数ｚ５は、その要件が最も満たされる場合にステート変数の数（ここでは５）、最も満たされない場合に０の値をとることになる。【０１００】
最後に、可能な限り満たしたい要件に対し割り当てられているポリシ変数（ここでは、ｚ１〜５）の値の総和を最大とする目的関数を設定する。ここでは、ｚ１＞ｚ２＞ｚ３＞ｚ４＞ｚ５の優先順位で、できるだけｚ１〜４までの条件を満たしつつ、ｚ５の値を大きくするような目的関数を生成する。なお、この目的関数は、「できるだけ直前に生じた状態変化を元に戻すようなアクションを避け、さらにできるだけ即対応困難なアクションを避け、さらにできるだけ利便性を低下させずに、さらにできるだけ人手を介するアクションを避け、さらに、できるだけ実行するアクションを減らす」ことができるような状態を目標状態とすることを表している。例えば、ｚ１〜５を、ｚ５が取りうる値よりも大きく、さらに優先順位が大きいほど大きい値で重み付けした上で、その値の総和を最大とする目的関数を設定してもよい。図１４に示した例では、ｍａｘｉｍｉｚｅ（ｚ５＋５・ｚ４＋１０・ｚ３＋２０・ｚ２＋４０・ｚ１）という目的関数ｆ２１が設定されている。なお、ｚ５に対する重み付けに対し、ｚ２に対する重み付けやｚ４に対する重み付けを大きな値にすることは、同じ数のアクションを実行する場合に、アクションが実行しやすい診断項目を変化させた方が目的関数においてその差分に応じた変化量が大きく見積もられることを意味している。【０１０１】
ポリシ変換手段１０８は、これらの制約式の集合および目的関数を、状態規則として状態遷移手段１０１に入力すればよい。なお、本実施形態では、スキャナ手段１０３からイベント（新しいステート変数の値）を受信するたびに、ポリシ変換手段１０８で状態規則を生成し、その状態規則に基づいて状態遷移手段１０１が状態遷移を行えばよい。なお、ポリシ変換手段１０８は、状態規則を生成した後は、次のイベント受信に再度状態変化の度合いを測るために、現在状態格納手段１１０に格納している現管理対象システム２００の現在の状態を、受信したイベントによって示される各ステート変数の値に更新する。【０１０２】
以上のように、本実施形態によれば、状態規則となる目標状態を示すステート変数を用いた制約式および目的関数を、要件の種類だけでなく、現在のシステム状態に基づくアクションの実効性も考慮にいれて導出するので、状態の変化に追随して、最小限の状態変化でシステムのセキュリティを保つことができる。また、システムが長時間セキュアでない状態に放置されたり、システムのユーザを煩わせて業務を阻害することを避けることができる。なぜなら、「できるだけ直前に生じた状態変化を元に戻すようなアクションは生成しない」、「できるだけ実行すべきアクションを減らす」、「即時対応困難なアクションをできるだけ避ける」、「人手を介するアクションをできるだけ避ける」といった目的が組み込まれた状態規則を導出するからである。【０１０３】
図１５は、本発明の第３の実施形態における状態遷移の一例を示す図である。【０１０４】
図１５における例１と例２とで、同一のイベント（Ｘ３＝０［アンチウイルスツールの無効化］への変化）を検知したが、現在のシステム状態の違いによって、対処方法が異なる例を示している。【０１０５】
なお、例１は、インターネットに接続した状態（Ｘ２＝１）でアンチウイルスツールを無効にした場合の例である。なお、他のステート変数も合わせた現在のシステム状態は、（Ｘ１，Ｘ２，Ｘ３，Ｘ４，Ｘ５）＝（１，１，１，０，０）である。この場合、ネットワークを遮断する（ｘ１＝０への切替）という対処方法（アクション）を取ることになる状態遷移ｓｔ１１と、イントラネットに接続し直す（ｘ２＝０への切替）という対処方法を取ることになる状態遷移ｓｔ１２とが、図１４に示した状態規則に含まれる制約式ｇ２１とｇ２２とを満たすことになる。ここで、イントラネットに接続し直す（ｘ２＝０への変化）という対処方法は、即時対応困難であり、セキュリティ的に問題が大きい。従って、本実施形態では、利便性の低下が生じるものの、ネットワークを遮断する（ｘ１＝０への変化）という対処方法を取ることになる状態遷移ｓｔ１２を行うべく、目標状態として（ｘ１，ｘ２，ｘ３，ｘ４，ｘ５）＝（０，１，０，０，０）が設定される。【０１０６】
また、例２は、イントラネットに接続した状態（Ｘ２＝０）でアンチウイルスツールを無効にした場合の例である。なお、他のステート変数も合わせた現在のシステム状態は、（Ｘ１，Ｘ２，Ｘ３，Ｘ４，Ｘ５）＝（１，０，１，０，０）である。この場合、ファイアウォールを有効にする（ｘ５＝１への切替）という対処方法を取ることになる状態遷移ｓｔ２１と、ネットワークを遮断する（ｘ１＝０への切替）という対処方法を取ることになる状態遷移ｓｔ２２とが、図１４に示した状態規則に含まれる制約式ｇ２１とｇ２２とを満たすことになる。ここで、ファイアウォールを有効にするという対処方法は自動対応可能であり、かつ利便性の低下を引き起こさない。従って、本実施形態では、ファイアウォールを有効にする（ｘ５＝１への切替）という対処方法を取ることになる状態遷移ｓｔ２１を行うべく、目標状態として（ｘ１，ｘ２，ｘ３，ｘ４，ｘ５）＝（１，０，０，０，１）が設定される。【０１０７】
このように、本実施形態では、対策の実施しやすさや、利便性の低下を考慮して、最適なセキュリティ対策を実施することができる。なお、各項目の優先順位は、必ずしも上記の通りでなくてよい。また、その優先順位自体をポリシとして記述できるようにしてもよい。【０１０８】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。【０１０９】
図１６は、本発明の第４の実施形態によるセキュリティ運用管理システムの構成例を示すブロック図である。【０１１０】
図１６に示すセキュリティ運用管理システムは、図３に示した第１の実施形態と比べて、状況表示手段１１１を備える点が異なる。【０１１１】
状況表示手段１１１は、管理対象システム２００が状態規則を満たしているか否かを、セキュリティ管理者に対し表示する。ここで、状況表示手段１１１は、管理対象システム２００のセキュリティ管理者だけでなく、管理対象システム２００のユーザに対しても表示するようにしてもよい。このようにすると、管理対象システム２００のユーザに対して、アクションの実行し忘れを直接喚起することができる。【０１１２】
次に、本実施形態の動作について説明する。【０１１３】
図１７は、本発明の第４の実施形態の動作例を示すフローチャートである。なお、図１７において、図４に示した第１の実施形態と同じ動作については、同じステップ番号を付し説明を省略している。【０１１４】
状態遷移手段１０１による検査の結果、ステップＳ１０３において、状態規則が満たされる場合には、状況表示手段１１１は、ステップＳ２０２において、セキュリティが満たされている旨を、セキュリティ管理者に表示する。状況表示手段１１１は、例えば、状態遷移手段１０１からの通知を受けて、各ステート変数によって示めされる現在のシステム状態とともに、セキュリティが満たされている旨を示すステータス画面を、当該セキュリティ運用管理システムが備える所定のディスプレイ装置に表示するようにしてもよい。【０１１５】
一方、ステップＳ１０３において、状態規則が満たされない場合には、状況表示手段１１１は、ステップＳ２０１において、セキュリティが満たされていない旨を、セキュリティ管理者に表示する。状況表示手段１１１は、例えば、状態遷移手段１０１からの通知を受けて、各ステート変数によって示される現在のシステム状態とともに、セキュリティが満たされていない旨を示すステータス画面を、当該セキュリティ運用管理システムが備える所定のディスプレイ装置に表示するようにしてもよい。なお、管理対象システム２００のユーザに表示する場合には、例えば、管理対象システム２００が備える所定のディスプレイ装置に表示するようにしてもよい。また、例えば、それを受信した管理対象システム２００が画面上に表示するようなメッセージを、管理対象システム２００宛てに送信することによって、管理対象システム２００上に表示させるようにしてもよい。【０１１６】
なお、本実施形態では、第１の実施形態の構成に状況表示手段１１１を追加する例を示したが、第２の実施形態および第３の実施形態に対しても同様に適用可能である。【０１１７】
以上のように、本実施形態によれば、現在のシステム状態が状態規則として定義されたとおりの状態にあるかどうかを表示することにより、管理対象システム２００のセキュリティ管理者やユーザがそのシステムのセキュリティ状態をリアルタイムに知ることができる。特に、設定や脆弱性として認識された事象を機械的に変更する手段がなく、アクションとして単にユーザに警告を表示するだけの場合には有効である。なぜならば、実際にユーザが警告どおりの対策をしたかどうかを、セキュリティ管理者やユーザ自身が確かめることができ、対策のし忘れを抑制することができるからである。【０１１８】
（第５の実施形態）
次に、本発明の第５の実施形態について説明する。本発明の第１〜４の実施の形態では、イベント受信時に、制約充足問題や制約最適化問題を解いていたため、モデルやポリシーが複雑になると、イベント受信後にアクションを実行するまでに時間がかかってしまう可能性がある、という課題がある。本実施の形態ではその課題を解決する。【０１１９】
図１８は、本発明の第５の実施形態によるセキュリティ運用管理システムの構成例を示すブロック図である。【０１２０】
図１８に示すセキュリティ運用管理システムは、図３に示した第１の実施形態と比べて、現在状態格納手段１１０と、状態遷移規則生成手段１１１と、状態遷移規則格納手段１１２とを備える点が異なる。【０１２１】
現在状態格納手段１１０は、第３の実施形態と同様に、管理対象システム２００の現在のシステム状態（各ステート変数の値）を保持する。なお、第３の実施形態では、ポリシ変換手段１０８が、現在状態格納手段１１０に格納される現在の管理対象システム２００の状態を示す各ステータス変数の値を更新する例を示したが、本実施形態では、状態遷移手段１０１が、管理対象システム２００の状態変化の状況を認識した後に、更新すればよい。【０１２２】
状態遷移規則生成手段１１１は、状態規則格納手段１０６に格納されている状態規則に基づいて、どのような状態遷移をとればよいのかを事前に導出して、状態遷移規則として、状態遷移規則格納手段１１２に格納する。【０１２３】
状態遷移規則格納手段１１２は、状態遷移規則生成手段１１１が生成した状態遷移規則を格納する。ここで、状態遷移規則は、監視対象システムがとりうる状態において、あるステート変数が変化したときに遷移先となる状態を規定するものである。導出された状態遷移規則は、例えば、監視対象システムのある状態に対し、それを遷移前の状態として、その状態において変化しうるステート変数およびその変化後の値を示す情報と、遷移先の状態を示す情報とを対応づけた情報の集合として生成、格納される。【０１２４】
また、本実施形態における状態遷移手段１０１は、状態遷移規則格納手段１１２に格納された状態遷移規則に従って、状態遷移を行う。状態遷移手段１０１は、より具体的には、現在状態格納手段１１０に格納されている、イベント変数を受け取る前の時点における現在のシステム状態（変化前のシステム状態）を示す各ステート変数の値と、スキャナ手段１０３から入力されるイベント変数によって示される現在のシステム状態（変化後のシステム状態）を示す各ステート変数の値とに基づき、管理対象システム２００の状態変化の状況を認識した上で、その状態変化に対し定義されている状態遷移規則に従って、状態遷移を行う。【０１２５】
次に、状態遷移規則生成手段１１１の状態遷移規則の生成処理について説明する。【０１２６】
図１９は、図１８に示した状態遷移規則生成手段１１１の状態遷移規則の生成処理のアルゴリズムを疑似コードで示す図である。【０１２７】
ここで、まず、説明のため用語と記号を定義する。以下、「ステート変数の値の組み合わせ」を単に「状態」と呼ぶ。そして、ある状態Ｓのｎ番目のステート変数の値をＳ（ｎ）と記す。また、状態Ｓのｎ番目のステート変数の値域（取りうる値の集合）をｄ（ｎ）と記す。また、状態Ｓのｎ番目の変数の値をａに変更した状態を、Ｓ［ｎ：ａ］と記す。なお、ａ∈ｄ（ｎ）である。また、ある状態Ｓのｎ番目の変数の値がａに変更することによって、別の状態Ｔに遷移する状態遷移をδ（Ｓ，Ｔ，ｎ：ａ）と記す。また、図１９中のｃｌｏｓｅｓｔ（Ｘ，Ｙ）という関数は、状態の集合Ｘから、状態Ｙに最も近い要素（Ｘｊ（ｉ）＝Ｙ（ｉ）となるステート変数（ｉ＝１〜Ｎ）を最も多く持つ状態Ｘｊ）を返す関数である。また、ｇｅｎｅｒａｔｅ  δは、状態遷移δを規定する制約式（一状態遷移規則）を生成する命令である。【０１２８】
状態遷移規則生成手段１１１は、まず、状態規則を満たさない状態を列挙する。ここで列挙された状態の集合をＴＮＳと呼ぶ。次に、集合ＴＮＳに含まれる全ての状態Ｓに対し（図１９の０１行目）、その状態の１番目のステート変数からＮ番目のステート変数まで順に（０２行目）、そのステート変数の値を現在値Ｓ（ｎ）以外の値ａに変更した（０３行目）とき、その変更後の状態Ｓ［ｎ：ａ］が集合ＴＮＳに含まれていない場合に（０６行目）、集合ＴＮＳの補集合からＴ（ｎ）＝Ｓ（ｎ）である状態Ｔを取り出し、集合Ｘと置く（０７行目）。ここで、集合Ｘは、n番目のステート変数をａからＳ（ｎ）に変更することによって、状態Ｓに遷移する状態のうち、状態規則を満たすものの集合である。【０１２９】
ここで、もし、Ｘが空集合であれば（０８行目）、ｎ番目のステート変数をａからＳ（ｎ）に変更することによって状態Ｓに遷移する状態の中で状態規則を満たすことになる状態は一つも無いことを意味するので、状態Ｓ［ｎ：ａ］からステート変数をａからＳ（ｎ）に変更できないことになる。従って、状態Ｓ［ｎ：ａ］に戻る状態遷移δ（Ｓ［ｎ：ａ］，Ｓ［ｎ：ａ］，ｎ：Ｓ（ｎ））を規定する状態遷移規則を生成する（０９行目）。【０１３０】
一方、Ｘが空集合でなければ（１０行目）、集合Ｘから、状態Ｓ［ｎ：ａ］に最も近い要素（Ｘｊ（ｉ）＝Ｓ［ｎ：ａ］（ｉ）となるステート変数（ｉ＝１〜Ｎ）を最も多く持つ状態Ｘｊ）をＰとし（１１行目）、状態Ｓ［ｎ：ａ］からｎ番目のステート変数がＳ（ｎ）に変更されたときの遷移先状態を状態Ｐとする状態遷移δ（Ｓ［ｎ：ａ］，Ｐ，ｎ：Ｓ（ｎ））を規定した状態遷移規則を生成する（１２行目）。【０１３１】
次に、本実施形態における状態遷移手段１０１の動作について説明する。本実施形態では、状態遷移手段１０１は、現在状態格納手段１１０に格納されている現在の状態（当該コンピュータ１００が現在認識している監視対象システムの状態、すなわち、イベントを受信する前の監視対象システムの状態）と、スキャナ手段１０３から通知されたイベントとをキーにして、状態遷移規則格納手段１１２に格納されている状態遷移規則を検索する。そして、合致する状態遷移規則が存在する場合には、その状態遷移規則に従って、遷移先状態（目標状態）を決定し、アクション決定手段１０２に、通知後の現在の状態から遷移先の状態へ遷移するために必要なアクションを決定させる。アクション決定手段１０２は、例えば、通知後の現在の状態と目標状態とで異なるステート変数を、目標状態における値に変更するのに必要なアクションを、アクション定義格納手段１０５に格納されているアクション定義から検索すればよい。【０１３２】
なお、合致する状態遷移規則が存在しない場合には、状態遷移手段１０１は、通知後の現在の状態は、状態規則を満たしているとして、アクション決定手段１０２には何も通知しない。【０１３３】
以上のように、本実施形態によれば、状態規則が指定された時点で、状態遷移規則生成手段１１１が状態遷移規則を生成しておくことによって、管理対象システムの運用時に随時通知されるイベントに対する処理を、第２の実施形態と比較して大幅に高速化することができる。その結果、状態遷移手段１０１の実行時間を、状態遷移規則を検索する分の一定時間内で終わらせることを保障することができ、イベントを受信した後、リアルタイムでアクションを実施することを保証できるという効果がある。【０１３４】
なお、本実施形態では、状態規則を満たすうち状態変化が最も小さい状態を遷移先（すなわち、目標状態）として規定する状態遷移規則を生成する例を示したが、状態遷移規則生成手段１１１は、例えば、状態規則を満たす状態の全てを目標状態として規定する状態遷移規則を生成することも可能である。そのような場合には、状態遷移手段１０１が、現在の状態および変化の状況等を加味して、そのうちのいずれかを目標状態として決定すればよい。【０１３５】
（第６の実施形態）
次に、本発明の第６の実施形態について説明する。【０１３６】
図２０は、本発明の第６の実施形態によるセキュリティ運用管理システムの構成例を示すブロック図である。【０１３７】
図２０に示すセキュリティ運用管理システムは、図１２に示した第３の実施形態と比べて、ポリシ変換手段１０７がポリシコンパイル手段１１３に置き換わり、さらに、状態遷移規則格納手段１１２を備える点が異なる。【０１３８】
ポリシコンパイル手段１１３は、現在状態格納手段１１０によって示されるイベントを受信する前の現在のシステム状態と、イベントによって示される変化後の現在のシステム状態とによって示される変化の状況や、対応の困難性を考慮した上で、どのような状態遷移をとればよいのかを事前に導出して、状態遷移規則として、状態遷移規則格納手段１１２に格納する。【０１３９】
また、本実施形態における状態遷移手段１０１は、状態遷移規則格納手段１１２に格納された状態遷移規則に従って、状態遷移を行う。なお、これは、第５の実施形態と同様である。【０１４０】
次に、ポリシコンパイル手段１１３の状態遷移規則の生成処理について説明する。【０１４１】
図２１は、図２０に示したポリシコンパイル手段１１３の状態遷移規則の生成処理の一例を示すフローチャートである。【０１４２】
図２１に示すように、ポリシコンパイル手段１１３は、まず、ステップＡ１０１において、ポリシとして設定されている要件（有効とされている要件）のうち、要件の種類が「セキュリティ」である要件（満たすべき要件）を満たす際に満たすべきステート変数に関する制約式に基づき、該制約式（すなわち、セキュリティ制約）を満たす状態を列挙する。以下、この状態列挙によって生成される表（集合）をＴＳと呼ぶ。また、ステップＡ１０２において、上記制約式（セキュリティ制約）を満たさない状態を列挙する。以下、この状態列挙によって生成される表（集合）をＴＮＳと呼ぶ。さらに、ステップＡ１０３において、要件の種類が「利便性」である要件を満たす際に満たすべきステート変数に関する制約式に基づき、該制約式（すなわち、セキュリティ要件および利便性要件）を満たす状態を列挙する。以下、この状態列挙によって生成される表（集合）をＴＳＡと呼ぶ。【０１４３】
そして、ステップＡ１０４において、集合ＴＮＳに含まれる全ての状態に対して、図２１で示されるアルゴリズムに基づいて、状態遷移規則を導出（生成）する。【０１４４】
図２２は、図２０に示したポリシコンパイル手段１１３による状態遷移規則の生成処理のアルゴリズムを疑似コードで示す説明図である。なお、図２２中のｔｙｐｅ（ｎ）は、ｎ番目のステート変数の「種類」（図９参照）を返す関数を示している。【０１４５】
ポリシコンパイル手段１１３は、より具体的には、集合ＴＮＳに含まれる全ての状態Ｓに対して、集合ＴＳに含まれ、１つの変数の値の変更で状態Ｓに遷移する全ての状態Ｔに対して、その状態遷移を規則した状態遷移規則を導出する。【０１４６】
次に、具体的な例によって、図２１のフローチャートおよび図２２のアルゴリズムを説明する。ここでは、図９に示したポリシ情報と、図２３に示す状態モデルと、図１３に示したアクション定義が定められているものとする。また、セキュリティ管理者が設定したポリシ変数の有効フラグは、（Ｙ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５）＝（１，１，０，１，０）であったとする。なお、図２３に示した状態モデルは、既に説明した図１０に示した状態モデルの例におけるポリシ変数ｙ４として定義した要件を、より実際の設定例に近い形に変更した例である。なお、図２３では、ポリシ変数ｙ４が割り当てられた要件についての状態モデルとして、ポリシ変数ｙ４で示される要件を満たすためには、次の制約式を満たすべきであることが示されている。これは、ファイル共有を利用するには、ネットワークに接続されていて、かつファイル共有が有効でなくてはならないことを示している。
（ｘ１＝１）∧（ｘ４＝１）
まず、ポリシコンパイル手段１１３は、図２３より、セキュリティ要件であるポリシＹ１およびＹ２を満たす制約式として、以下の制約式を導出する。
（（ｘ１＝０）∨（（ｘ２＝０）∧（（ｘ３＝１）∨（ｘ５＝１）））∨（（ｘ２＝１）∧（ｘ３＝１）））∧（（ｘ＝０）∨（ｘ２＝０）∨（（ｘ２＝１）∧（（ｘ４＝０）∨（ｘ５＝１））））
上記制約式を満たす状態集合ＴＳの一例を図２４ａおよび図２４ｂに示す。また、上記制約式を満たさない状態集合ＴＮＳの一例を図２５ａおよび図２５ｂに示す。【０１４７】
ここで、図２４ａや図２５ａのように、変数の組み合わせを単なる表の形式で保持すると、変数の数が増えると指数関数的に巨大な記憶容量が必要となってしまうが、図２４ｂや図２５ｂのようなデータ構造で保持すると、記憶容量を大幅に削減することが可能である場合が多い。このデータ構造は、変数の値が２値の場合はＢＤＤ（Binary  Decision  Diagram  ）と呼ばれる。例示したＢＤＤでは、破線がノードの値が０の場合を示している。また、実線がノードの値が１の場合を示している。また、ｘ１のノード（開始ノード）から二重円で示したノードまでの経路が、許可された変数の組み合わせを表す。例えば、構築したＢＤＤの情報として、開始ノードから終端ノードまでの各経路を示す情報（経路の通過点となるノードの情報およびそのノードを結ぶ線の種類の情報）として保持してもよい。なお、変数の値が３値以上であっても、同様のデータ構造（有限オートマトン）によって表すことができる。あるいは、３値以上の変数は複数の２値変数に置き換えることができるので、そのように置き換えた上でＢＤＤによって表すことができる。例えば、０から３までの数値を表す変数ｙは、（ｙ＝０）⇔（ｘ１＝０∧ｘ２＝０），（ｙ＝１）⇔（ｘ１＝０∧ｘ２＝１），（ｙ＝２）⇔（ｘ１＝１∧ｘ２＝０），（ｙ＝３）⇔（ｘ１＝１∧ｘ２＝１）と定義すれば２つの２値変数ｘ１とｘ２に置き換えることができる。従って、例えば、（ｙ＝２）∨（ｘ＝１）という制約は、（ｘ１＝１∧ｘ２＝０）∨（ｘ＝１）という制約に書き換えた上でＢＤＤによって表すことができる。【０１４８】
図２４ｂでは、例えば、ｘ１のノードから破線が二重円で示したノード（以下、終端ノードと称する）に接続されている。これは、ｘ１＝０の場合にはそれ以降のノードの値については全ての組み合わせが許可されていることを示し、図２４ａにおけるσ０〜σ１５で示す状態を列挙したことと同意となる。また、例えば、ｘ１（実線）→ｘ２（実線）→ｘ３という経路において、ｘ３のノードからでる線が実線のみとなっていることによって、ｘ１＝１かつｘ２＝１の場合には、ｘ３＝１しか許可されないことを示している。そして、その後は、ｘ３（実線）→ｘ４（破線）→終端ノードという経路と、ｘ３（実線）→ｘ４（実線）→ｘ５（実線）→終端ノードという経路とがとりうることが示されている。これは、図２４ａにおけるσ２８とσ２９とσ３１で示す状態に対応している。なお、各状態の識別子として示しているσの後につづく数値は、ｘ１〜ｘ５の値を組み合わせたものを二進数で表現された数値の十進表記を割り当てている。例えば、σ２８は、（ｘ１，ｘ２，ｘ３，ｘ４，ｘ５）＝（１，１，１，０，０）の状態に対し割り当てた識別子であることがわかる。【０１４９】
また、ポリシコンパイル手段１１３は、要件の種類が「利便性」であるものについて制約式（図２３ａおよび図２３ｂに示した例では、ポリシ変数ｙ４に対し定義されている制約式）を取得し、セキュリティ要件に加えて利便性の要件も満たす状態を列挙して、集合ＴＳＡを導出する。【０１５０】
本例では、上記で示した制約式に加え、さらに利便性要件を満たすための制約式（（ｘ１＝１）∧（ｘ４＝１））を満たす状態を列挙することにより、集合ＴＳＡを導出する。【０１５１】
図２６ａおよび図２６ｂは、導出される集合ＴＳＡの例を示す図である。【０１５２】
図２６ａおよび図２６ｂに示すように、本例における集合ＴＳＡは、図２４ａおよび図２４ｂに示した集合ＴＳから、ｘ＝１かつｘ４＝１の状態を抜き出したものとなる。【０１５３】
次に、図２１のステップＡ１０４における状態遷移規則の導出処理の一例である図２２のアルゴリズムを説明する。【０１５４】
まず、セキュリティ要件を満たさない状態の集合であるＴＮＳから状態を１つ選択し、Ｓと置く（図２２の０１行目）。ここでは、Ｓ＝σ２４とする。なお、σ２４は、（ｘ１，ｘ２，ｘ３，ｘ４，ｘ５）＝（１，１，０，０，０）の状態である。そして、状態Ｓに対して、１番目のステート変数から順に、以下の処理を行う（０２行目）。まず、処理対象としたステート変数（ここでは、ｎ＝１である１番目のステート変数ｘ１）の値を変更した状態を１つ選定し、Ｓ［ｎ：ａ］と置く（０３行目）。なお、本例では、ステート変数は２値であるため、状態Ｓ［ｎ：ａ］は１つ存在するのみである。状態Ｓ＝σ２４におけるステート変数ｘ１の値を変更した状態Ｓ［ｎ：ａ］は、ａ＝０であるＳ［１：０］＝σ８である。【０１５５】
状態Ｓ［ｎ：ａ］が定まると、その状態Ｓ［ｎ：ａ］を元に、以下の処理を行う。まず、状態Ｓ［ｎ：ａ］が状態集合ＴＮＳに含まれるか否かを検査する（０４行目）。【０１５６】
状態Ｓ［ｎ：ａ］（ここでは、σ８）が集合ＴＮＳに含まれる場合には、状態Ｓ［ｎ：ａ］についての状態遷移規則は生成しない（０５行目）。なぜなら、セキュリティ上禁止された状態Ｓ［ｎ：ａ］（σ８）から、セキュリティ上禁止された状態Ｓ（σ２４）への状態遷移は生じないからである。従って、０３行目に戻り、他に状態Ｓにおいて処理対象としたステート変数の値を変更した状態があればその値での走査に移行する。なお、０３行目において、他に該当する状態がなければ、０２行目に戻り、次のステート変数（ｎ＝２）を処理対象とする処理に移行する。また、０２行目において、次のステート変数がなければ、すなわち全てのステート変数に対する処理が完了した場合には、０１行目に戻り、集合ＴＮＳから次の状態を処理対象（状態Ｓ）とする処理に移行する。【０１５７】
一方、状態Ｓ［ｎ：ａ］（ここでは、σ８）が集合ＴＮＳに含まれない場合には（０６行目）、状態集合ＴＳの中から、１番目のステート変数の値が１（変更前の値）である状態を取り出し、集合Ｘを生成する（０７行目）。なお、図２５ａおよび図２５ｂに示した例では、σ８が集合ＴＮＳに含まれないので、０７行目に移り、セキュリティ要件を満たす状態の集合であるＴＳの中から１番目のステート変数の値がＳ（ｎ）、すなわちｘ１＝１である状態の集合Ｘを生成する。なお、この集合Ｘも、表形式ではなく、ＢＤＤ（あるいは有限オートマトン）の形式で表すようにしてもよい。【０１５８】
ここで、Ｘが空集合であれば（０８行目）、セキュリティ上許可された状態Ｓ［ｎ：ａ］でステート変数ｎの値がａからＳ（ｎ）に変化した場合に、再度状態Ｓ［ｎ：ａ］に戻ることを示す状態遷移δ（Ｓ［ｎ：ａ］，Ｓ［ｎ：ａ］，ｎ：Ｓ（ｎ））を規定する状態遷移規則を生成する（０９行目）。これは、Ｘが空集合であることにより、セキュリティ上許可された状態Ｓ［ｎ：ａ］（ここでは、σ８）から、ｎ番目のステート変数の値をａ（ここでは、ｘ１＝０）からＳ（ｎ）に変更したまま、セキュリティ上許可された状態に遷移することができないことを意味しているからである。【０１５９】
なお、状態Ｓがσ２４である場合、Ｘ＝｛σ１７，σ１９，σ２０，σ２１，σ２２，σ２３，σ２８，σ２９，σ３１｝となり、Ｘは空集合でないため、１１行目に進む。【０１６０】
Ｘが空集合でない場合（１１行目）、集合Ｘから即時実行困難なステート変数が状態Ｓから変更されていないものを抽出して、集合Ｙを生成する。本例の場合、即時実行困難なステート変数は、図１３によりｘ２が該当する。従って、集合Ｘから、ステート変数ｘ２＝Ｓ（２）＝１であるものを抽出し、Ｙ＝｛σ２８，σ２９，σ３１｝となる。【０１６１】
ここで、Ｙが空集合であれば（１２行目）、即時実行困難なステート変数の変更なしで状態Ｓに移行できる状態がないため、この制約を満たすことは諦め、集合ＸをそのままＹと置く。すなわち、Ｙ＝Ｘとする（１３行目）。【０１６２】
次に、Ｓ［ｎ：ａ］が、セキュリティ要件および利便性要件を満たす状態の集合であるＴＳＡに含まれるか否かを判定する（１５行目）。【０１６３】
Ｓ［ｎ：ａ］が集合ＴＳＡに含まれる場合、ＹとＴＳＡとの積集合Ｚを計算する（１６行目）。この処理は、遷移元の状態が可用性制約（利便性要件）を満たしていれば、遷移先でも可能な限り可用性制約を満たすための処理である。本例の場合、Ｓ［１：０］は、集合ＴＳＡに含まれないので、１７行目に進む。【０１６４】
Ｓ［ｎ：ａ］が集合ＴＳＡに含まれない場合（１７行目）、この制約を満たすことを諦め、集合ＹをそのままＺと置く。すなわち、Ｚ＝Ｙとする（１８行目）。【０１６５】
なお、１９，２０行目の処理は、１６行目で積集合Ｚを計算した結果、集合Ｚが空となった場合に、集合ＺをそのままＹと置く処理である。【０１６６】
次に、集合Ｚから、手動対応のステート変数が状態Ｓから変更されていないものを抽出して、集合Ｗを生成する（２３行目）。本例の場合、手動対応のステート変数は、図１３によりｘ３が該当する。従って、集合Ｚから、ステート変数ｘ３＝Ｓ（３）＝０であるものを抽出した結果、Ｗ＝φ（空集合）となる。【０１６７】
ここで、集合Ｗが空集合であれば（２５行目）、手動対応のステート変数の変更なしで状態Ｓに移行できる状態がないため、この制約を満たすことは諦め、集合ＺをそのままＷと置く。すなわち、Ｗ＝Ｚと再設定される（２６行目）。【０１６８】
次に、集合Ｗから、状態Ｓ［ｎ：ａ］に最も近いもの（異なるステート変数の数が最も少ないもの）を選び、状態Ｐと置く（２８行目）。本例では、集合Ｗ＝｛σ２８，σ２９，σ３１｝＝｛（１，１，１，０，０），（１，１，１，０，１），（１，１，１，１，１）｝から、Ｓ［１：０］＝σ８＝（０，１，０，０，０）に最も近いものとして、状態σ２８が選択される。状態σ２８＝（１，１，１，０，０）は、２つのステート変数（ｘ１，ｘ３）の変更でＳ［１：０］にすることができるので、集合Ｗの中で最もＳ［１：０］に近い状態である。ここでは、Ｐ＝σ２８＝（１，１，１，０，０）となる。【０１６９】
最後に、選択した状態Ｐを用いて、状態遷移規則を生成する（２９行目）。より具体的には、状態Ｓ［ｎ：ａ］において、ステート変数ｎ←Ｓ（ｎ）とするイベントを受信した場合に、状態Ｐに移行する状態遷移δ（Ｓ［ｎ：ａ］，Ｐ，ｎ：Ｓ（ｎ））を規定した状態遷移規則を生成する。本例では、状態Ｓ［ｎ：ａ］＝σ８＝（０，１，０，０，０）でｘ１←１というイベントを受信した場合に、状態Ｓ＝σ２４＝（１，１，０，０，０）でなく、状態Ｐ＝σ２８＝（１，１，１，０，０）に移行する状態遷移を規定する状態遷移規則を生成する。以上が、ある状態Ｓについて、あるステート変数を処理対象としたときに選定したそのステート変数のある変更値をもつ状態Ｓ［ｎ：ａ］についての状態遷移規則生成処理である。【０１７０】
上記の処理を、処理対象としたステート変数が取り得る他の変更値、および状態Ｓの全てのステート変数、さらに集合ＴＮＳ（セキュリティ要件を満たさない状態集合）に含まれる全ての状態Ｓに対して実行することによって、セキュリティ制約を満たさない状態への状態遷移を回避する状態遷移規則を生成することができる。【０１７１】
図２７は、生成される状態遷移規則の一例を示す図である。【０１７２】
図２７に示す内容が、状態遷移規則格納手段１１２に格納される。図２７では、例えば、状態σ０＝（０，０，０，０，０）でｘ１←１というイベントを受信した場合に、状態σ１６＝（１，０，０，０，０）でなく、状態σ１７＝（１，０，０，０，１）に移行する状態遷移が規定されている。【０１７３】
次に、本実施形態における状態遷移手段１０１の動作について説明する。【０１７４】
状態遷移手段１０１は、現在状態格納手段１１０に格納されている現在の状態（イベントが通知される前の監視対象システムの状態）と、スキャナ手段から通知されたイベントをキーにして、状態遷移規則格納手段１１２に格納されている状態遷移規則を検索する。そして、合致する状態遷移規則が存在する場合には、その状態遷移規則に従って、遷移先状態（目標状態）を決定し、アクション決定手段１０２に、通知後の現在の状態から目標状態へ遷移するために必要なアクションを決定させる。アクション決定手段１０２は、例えば、通知後の現在の状態と目標状態とで異なるステート変数を、目標状態における値に変更するのに必要なアクションを、アクション定義格納手段１０５に格納されているアクション定義から検索すればよい。【０１７５】
なお、合致する状態遷移規則が存在しない場合には、状態遷移手段１０１は、通知後の現在の状態は、状態規則を満たしているとして、アクション決定手段１０２には何も通知しない。【０１７６】
例えば、図２７に示した例では、通知前の現在の状態が、状態σ０＝（０，０，０，０，０）でｘ１←１というイベントを受信した場合には、この組み合わせにおける状態遷移規則が格納されているため、目標状態は、状態σ１７＝（１，０，０，０，１）と決定される。アクション決定手段１０２は、状態σ０でｘ１←１となった状態σ１６＝（１，０，０，０，０）と、目標状態σ１７＝（１，０，０，０，１）との差分であるｘ５を、目標状態の値＝１とするアクションを決定する。【０１７７】
以上のように、本実施形態によれば、モデルとポリシが指定された時点で、ポリシコンパイル手段１１３が状態遷移規則を生成しておくことによって、管理対象システムの運用時に随時通知されるイベントに対する処理を、第２の実施形態と比較して大幅に高速化することができる。その結果、状態遷移手段１０１の実行時間を、状態遷移規則を検索する分の一定時間内で終わらせることを保障することができ、イベントを受信した後、リアルタイムでアクションを実施することを保証できるという効果がある。【０１７８】
また、状態遷移規則を生成する際に、アクションの種類（即時実行の困難さ、手動実行が必要か）や、利便性要件を、優先順位に基づいて考慮して最適な状態遷移を生成している。そのため、第３の実施形態の効果と同様の効果を本実施の形態でも実現することができる。【０１７９】
なお、上記実施形態には、管理対象システムの状態が、管理対象システムの望ましい状態を規定した状態規則を満たしていない場合に、前記状態規則を満たす状態を目標状態として決定する状態遷移手段と、前記目標状態を決定した際の管理対象システムの状態と、該目標状態との差分を変更するための所定の処理を、該目標状態を決定した際の管理対象システムの状態において実施すべき対策として決定するアクション決定手段とを備えたセキュリティ運用管理システムの構成が示されている。【０１８０】
また、上記実施形態には、管理対象システムの現在の状態が、管理対象システムの望ましい状態を規定した状態規則を満たしているか否かを判定し、満たしていない場合に状態規則を満たす状態を目標状態として決定する状態遷移手段と、管理対象システムの現在の状態と状態遷移手段によって決定された目標状態との差分を変更するための所定の処理を、実施すべき対策として決定するアクション決定手段とを備えたセキュリティ運用管理システムの構成が示されている（第１の実施形態参照）。【０１８１】
また、上記実施形態には、状態規則が、該管理対象システムにおけるセキュリティに関わる診断項目に対し割り当てられた所定の状態変数に関する制約式で示され、状態遷移手段が、管理対象システムから収集した診断項目の現在の状態が、状態規則としての制約式を満たしていない場合に、制約式を満たす診断項目の状態の組み合わせによって示される管理対象システムの状態を目標状態として決定し、アクション決定手段が、管理対象システムから収集した診断項目のうち、現在の状態が、目標状態における該診断項目の状態と異なる診断項目を、目標状態における該診断項目の状態に変更するための処理を、実施すべき対策として決定するセキュリティ運用管理システムの構成が示されている（例えば、第１の実施形態参照）。【０１８２】
また、上記実施形態には、状態規則が、管理対象システムにおけるセキュリティに関わる診断項目に対し割り当てられた所定の状態変数に関する制約式および状態変数の取るべき最適の値を指定する目的関数で示され、状態遷移手段が、管理対象システムから収集した診断項目の現在の状態が、状態規則としての制約式を満たしていない場合に、制約式を満たし、かつ状態規則としての目的関数によって最適解とされる診断項目の状態の組み合わせによって示される管理対象システムの状態を目標状態として決定するセキュリティ運用管理システムが示されている（例えば、第２の実施形態参照）。【０１８３】
また、上記実施形態には、管理対象システムに対する要件を定義したポリシ情報を記憶するポリシ情報記憶手段と、ポリシ情報で定義された要件別に、該要件を満たす際の管理対象システムの状態を定義づけた状態モデルを記憶する要件別状態モデル記憶手段と、ポリシ情報記憶手段に記憶されているポリシ情報と、要件別状態モデル記憶手段に記憶されている状態モデルとに基づいて、管理対象システムの望ましい状態を定義づけた状態規則を導出するポリシ変換手段とを備え、ポリシ変換手段が、管理対象システムに対する要件を可能な限り多く満たすシステム状態を規定する状態規則として、満たすべき要件を満たした際の管理対象システムの状態における状態変数の取りうる値を限定する制約式と、可能な限り満たしたい要件を全て満たした際の管理システムの状態における状態変数の値によって最大または最小となる目的関数とを導出するセキュリティ運用管理システムの構成が示されている（例えば、第２の実施形態参照）。【０１８４】
また、上記実施形態には、ポリシ変換手段が、管理対象システムに対する要件の種類に応じて、満たすべき要件と、可能な限り満たしたい要件とを区別するセキュリティ運用管理システムの構成が示されている（例えば、第２の実施形態参照）。【０１８５】
また、上記実施形態には、管理対象システムに対する要件の種類に、セキュリティに関する要件と、利便性に関する要件とが含まれるセキュリティ運用管理システムの構成が示されている（例えば、第２の実施形態参照）。【０１８６】
また、上記実施形態には、ポリシ変換手段が、管理対象システムに対する要件の優先順位に従い、目的関数における該要件を満たした際の管理対象システムの状態における状態変数の値を重みづけるセキュリティ運用管理システムの構成が示されている（例えば、第３の実施形態参照）。【０１８７】
また、上記実施形態には、ポリシ変換手段が、管理対象システムの現在の状態と目標状態との差分が小さければ小さいほど、目的とする最大値または最小値に近づく目的関数を導出するセキュリティ運用管理システムの構成が示されている（例えば、第３の実施形態におけるポリシ変数ｚ１〜ｚ５に係る説明を参照。）。【０１８８】
また、上記実施形態には、ポリシ変換手段が、管理対象システムの現在の状態との差分に対応するアクションの実行しやすさに基づいて、目的関数における差分に応じた変化量を重みづけるセキュリティ運用管理システムの構成が示されている（例えば、第３の実施形態におけるポリシ変数ｚ２，ｚ４に係る説明を参照。）。【０１８９】
また、上記実施形態には、管理対象システムのシステム状態が状態規則を満たしているか否かの判定結果を、該管理対象システムのセキュリティ管理者またはユーザに表示する状況表示手段（例えば、状況表示手段１１１）を備えたセキュリティ運用管理システムの構成が示されている。【０１９０】
また、上記実施形態には、アクション決定手段によって実施すべき対策として決定された所定の処理を、管理対象システム上で実行するアクション実行手段（例えば、アクション実行手段２０１）を備えたセキュリティ運用管理システムの構成が示されている。【０１９１】
また、上記実施形態には、当該セキュリティ運用管理システムを、管理対象システムとするセキュリティ運用管理システムの構成が示されている。なお、上記実施形態は、第１の実施形態の説明において示したように、コンピュータ１００そのものが管理対象システム２００であった場合の実施形態に相当する。【０１９２】
また、上記実施形態には、管理対象システムの望ましい状態を規定した状態規則に基づき、予め該管理対象システムがとりうる状態に対して状態規則を満たす状態を目標状態として規定する状態遷移規則を生成する状態遷移規則生成手段（例えば、状態遷移規則生成手段１１１）を備え、状態遷移手段は、状態遷移規則に従って目標状態を決定するセキュリティ運用管理システムの構成が示されている（第５の実施形態参照）。【０１９３】
また、上記実施形態には、状態遷移規則生成手段が、管理対象システムがとりうる状態に対し、該状態において生じる診断項目の変化の状況と対応づけた目標状態を規定する状態遷移規則を生成し、状態遷移手段が、管理対象システムの状態と該状態において生じた診断項目の変化の状況とに基づいて、状態遷移規則に従い、目標状態を決定するセキュリティ運用管理システムの構成が示されている（第５の実施形態参照）。【０１９４】
また、上記実施形態には、状態規則が、管理対象システムにおけるセキュリティに関わる診断項目に対し割り当てられた所定の状態変数に関する制約式によって示され、状態遷移生成手段が、制約式を満たさない状態変数の組み合わせ全てを非目標状態の一覧として示すデータ構造を生成し、そのデータ構造に含まれる非目標状態に遷移しうる状態に対し、該非目標状態への遷移を防止することを規定した状態遷移規則を生成するセキュリティ運用管理システムの構成が示されている（第５の実施形態参照）。ここで、非目標状態への遷移を防止することを規定した状態遷移規則を生成するとは、非目標状態に移行しうる状態における診断項目の変化が非目標状態への遷移となる場合に、データ構造に含まれる非目標状態以外の状態を目標状態として規定する状態遷移規則を生成することを示している。【０１９５】
また、上記実施形態には、管理対象システムに対する要件を定義したポリシ情報を記憶するポリシ情報記憶手段と、ポリシ情報で定義された要件別に、該要件を満たす際の管理対象システムの状態を定義づけた状態モデルを記憶する要件別状態モデル記憶手段とを備え、状態遷移規則生成手段は、ポリシ情報記憶手段に記憶されているポリシ情報と、要件別状態モデル記憶手段に記憶されている状態モデルとに基づいて、管理対象システムに対する要件を可能な限り多く満たすシステム状態間の遷移を規定する状態遷移規則を生成するセキュリティ運用管理システムの構成が示されている（第６の実施形態参照）。なお、ここでいう状態遷移規則生成手段は、第６の実施形態のポリシコンパイル手段１１３によって実現されている。【０１９６】
また、上記実施形態には、状態遷移規則生成手段が、管理対象システムに対する要件の種類に応じて、満たすべき要件と、可能な限り満たしたい要件とを区別するセキュリティ運用管理システムの構成が示されている（第６の実施形態参照）。また、上記実施形態には、管理対象システムに対する要件の種類の例として、セキュリティに関する要件と、利便性に関する要件とが示されている。【０１９７】
また、上記実施形態には、状態遷移規則生成手段は、管理対象システムに対する要件の優先順位に従い、最適な状態遷移規則を生成するセキュリティ運用管理システムの構成が示されている（例えば、図２１のアルゴリズムを参照。）。
【産業上の利用可能性】
【０１９８】
本発明は、単体の情報機器からなるセキュリティ運用管理装置、単体の情報機器に対しセキュリティ運用管理を行うセキュリティ運用管理システム、または複数の情報機器を備えた情報システムに対しセキュリティ運用管理を行うセキュリティ運用管理システム、それに用いる方法およびプログラムといった用途に適用できる。【０１９９】
以上、実施例を参照して本願発明を説明したが、本願発明は上記実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。【０２００】
この出願は、２００７年９月２０日に出願された日本出願特願２００７−２４３８１９、並びに、２００８年２月１９日に出願された日本出願特願２００８−３７５７１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１ａ】
2009037897.tif 000003
【図１ｂ】
2009037897.tif 000004
【図２】
2009037897.tif 000005
【図３】
2009037897.tif 000006
【図４】
2009037897.tif 000007
【図５】
2009037897.tif 000008
【図６】
2009037897.tif 000009
【図７】
2009037897.tif 000010
【図８】
2009037897.tif 000011
【図９】
2009037897.tif 000012
【図１０】
2009037897.tif 000013
【図１１】
2009037897.tif 000014
【図１２】
2009037897.tif 000015
【図１３】
2009037897.tif 000016
【図１４】
2009037897.tif 000017
【図１５】
2009037897.tif 000018
【図１６】
2009037897.tif 000019
【図１７】
2009037897.tif 000020
【図１８】
2009037897.tif 000021
【図１９】
2009037897.tif 000022
【図２０】
2009037897.tif 000023
【図２１】
2009037897.tif 000024
【図２２】
2009037897.tif 000025
【図２３】
2009037897.tif 000026
【図２４ａ】
2009037897.tif 000027
【図２４ｂ】
2009037897.tif 000028
【図２５ａ】
2009037897.tif 000029
【図２５ｂ】
2009037897.tif 000030
【図２６ａ】
2009037897.tif 000031
【図２６ｂ】
2009037897.tif 000032
【図２７】
2009037897.tif 000033
【手続補正書】
【提出日】平成21年2月18日(2009.2.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
管理対象システムのセキュリティを該管理対象システムの運用時を含めて管理するセキュリティ運用管理システムであって、
管理対象システムの状態が、当該管理対象システムの診断項目のセキュリティ上の望ましい状態を規定した状態規則を満たしていない場合に、前記状態規則を満たす状態を目標状態として決定する状態遷移手段と、
前記目標状態と異なる状態の診断項目の状態を前記目標状態に変更するための対策を事前に定義されたアクション情報に基づき実施すべき対策として決定するアクション決定手段とを有するセキュリティ運用管理システム。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２１
【補正方法】変更
【補正の内容】
【請求項２１】
管理対象システムのセキュリティを該管理対象システムの運用時を含めて管理するためのセキュリティ運用管理方法であって、
前記管理対象システムの状態が、当該管理対象システムの診断項目のセキュリティ上の望ましい状態を規定した状態規則を満たしていない場合に、前記状態規則を満たす状態を目標状態として決定し、
前記目標状態と異なる状態の診断項目の状態を前記目標状態に変更するための対策を事前に定義されたアクション情報に基づき実施すべき対策として決定するセキュリティ運用管理方法。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２８
【補正方法】変更
【補正の内容】
【請求項２８】
管理対象システムのセキュリティを該管理対象システムの運用時を含めて管理するためのセキュリティ運用管理用プログラムであって、
コンピュータに、
前記管理対象システムの状態が、当該管理対象システムの診断項目のセキュリティ上の望ましい状態を規定した状態規則を満たしていない場合に、前記状態規則を満たす状態を目標状態として決定する状態遷移手順と、
前記目標状態と異なる状態の診断項目の状態を前記目標状態に変更するための対策を事前に定義されたアクション情報に基づき実施すべき対策として決定するアクション決定手順とを実行させるためのセキュリティ運用管理用プログラム。
【国際調査報告】
2009037897.tif 000034
2009037897.tif 000035