(57)【要約】【課題】  情報家電、ＰＣ等の様々な情報処理装置において、ユーザや、プログラム等、使用環境に応じた最適なアクセス制御ルールの効率的な自動生成処理を可能とした装置および方法を提供する。【解決手段】  情報家電、ＰＣ等のさまざまな情報処理装置に搭載するアクセス制御ルールの生成において、プログラム実行トレースによって各リソースのアクセス履歴情報を取得するとともに、ディレクトリの同一性、種別同一性、カテゴリ同一のネットワークポートなどの情報等のリソース関連性に基づいて、プログラム実行時の各リソースに対するアクセス有無を類推し、かつ、アクセス制御ルールの適用プログラム、ユーザ、機器と売り試用環境に応じてバランス設定した効用関数、具体的には、フォールスポジティブおよびフォールスネガティブのバランスを調整した効用関数を適用してベイズ推定に基づくアクセス制御ルールを設定する。【選択図】  図２
2005044243.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のリソースに対するアクセス制御ルールを生成するアクセス制御ルール生成装置であり、
アクセス制御ルールの適用対象プログラムを実行し、リソースアクセス履歴情報を含むプログラム実行トレースを取得し、予め設定されたリソース間の関連性情報に基づいて、前記プログラムの実行における各リソースのアクセス有無を推定する実行トレース解析処理部と、
各リソース毎に予め設定されたアクセス発生有無各々に対応する初期確率と、その尤度情報と、フォールスポジティブおよびフォールスネガティブのバランス調整に基づいて設定した効用関数を入力するパラメータ入力処理部と、
前記実行トレース解析処理部から入力するプログラム実行時における各リソースのアクセス有無情報と、前記パラメータ入力処理部から入力する初期確率、尤度情報、および効用関数に基づくベイズ推定処理により各リソース毎のアクセス制御ルールを設定するセキュリティポリシ生成部と、
を有することを特徴とするアクセス制御ルール生成装置。
【請求項２】
前記セキュリティポリシ生成部は、
前記実行トレース解析処理部から入力するプログラム実行時における各リソースのアクセス有無情報と、前記パラメータ入力処理部から入力する初期確率、尤度情報とに基づいて、各リソースの正当アクセスの事後確率と、不正アクセスの事後確率を算出する確率演算処理部と、
前記確率演算処理部の算出した事後確率データと、前記パラメータ入力処理部から入力する効用関数に基づいて、各リソース毎のアクセス禁止に伴う期待損失値と、アクセス許可に伴う期待損失値を算出する期待損失演算処理部と、
前記期待損失演算処理部の算出する期待損失値に基づいて、各リソース毎のアクセス制御ルールを設定するアクセス判断処理部と、
を有することを特徴とする請求項１に記載のアクセス制御ルール生成装置。
【請求項３】
前記フォールスポジティブおよびフォールスネガティブのバランス調整に基づいて設定した効用関数は、それぞれフォールスポジティブ効用関数ｆｐ（）と、フォールスネガティブ効用関数ｆｎ（）であり、前記効用関数ｆｐ（）、ｆｎ（）は、バランス設定のための重み付け係数を決定する重み関数ω（ｆｐ）、ω（ｆｎ）を含み、該重み関数ω（ｆｐ）、ω（ｆｎ）は、アクセス制御ルールの適用対象となるプログラム、または機器の少なくともいずれかに基づいて設定される関数であり、該重み関数ω（ｆｐ）、ω（ｆｎ）の設定により、フォールスポジティブ優先、あるいはフォールスネガティブ優先の設定調整を行った効用関数であることを特徴とする請求項１に記載のアクセス制御ルール生成装置。
【請求項４】
前記効用関数ｆｐ（）、ｆｎ（）は、重み付け係数の比：ω（ｆｎ）／ω（ｆｐ）＞１を満足するフォールスポジティブ優先設定とした効用関数であることを特徴とする請求項３に記載のアクセス制御ルール生成装置。
【請求項５】
前記効用関数ｆｐ（）、ｆｎ（）は、重み付け係数の比：ω（ｆｐ）／ω（ｆｎ）＞１を満足するフォールスネガティブ優先設定とした効用関数であることを特徴とする請求項３に記載のアクセス制御ルール生成装置。
【請求項６】
前記実行トレース解析処理部において適用するリソース間の関連性情報は、
同一ディレクトリにあるリソースを関連性ありとする情報であり、
前記実行トレース解析処理部は、
前記プログラムの実行におけるリソースアクセスの発生したリソースと同一ディレクトリにあるリソースをプログラム実行におけるアクセス発生リソースとして類推する処理を実行する構成であることを特徴とする請求項１に記載のアクセス制御ルール生成装置。
【請求項７】
前記実行トレース解析処理部において適用するリソース間の関連性情報は、
同一種別のリソースを関連性ありとする情報であり、
前記実行トレース解析処理部は、
前記プログラムの実行におけるリソースアクセスの発生したリソースと同一種別のリソースをプログラム実行におけるアクセス発生リソースとして類推する処理を実行する構成であることを特徴とする請求項１に記載のアクセス制御ルール生成装置。
【請求項８】
前記実行トレース解析処理部において適用するリソース間の関連性情報は、
同一カテゴリのネットワークポートを関連性のあるリソースとする情報であり、
前記実行トレース解析処理部は、
前記プログラムの実行におけるリソースアクセスの発生したネットワークポートと同一カテゴリのネットワークポートをプログラム実行におけるアクセス発生リソースとして類推する処理を実行する構成であることを特徴とする請求項１に記載のアクセス制御ルール生成装置。
【請求項９】
前記リソースは、情報処理装置内のハードウェア、およびプログラム、システムデータ、ユーザデータを含むソフトゥェアを含むことを特徴とする請求項１に記載のアクセス制御ルール生成装置。
【請求項１０】
情報処理装置のリソースに対するアクセス制御ルールを生成するアクセス制御ルール生成方法であり、
アクセス制御ルールの適用対象プログラムを実行し、リソースアクセス履歴情報を含むプログラム実行トレースを取得し、予め設定されたリソース間の関連性情報に基づいて、前記プログラムの実行における各リソースのアクセス有無を推定する実行トレース解析処理ステップと、
各リソース毎に予め設定されたアクセス発生有無各々に対応する初期確率と、その尤度情報と、フォールスポジティブおよびフォールスネガティブのバランス調整に基づいて設定した効用関数を入力するパラメータ入力処理ステップと、
前記実行トレース解析処理において取得したプログラム実行時における各リソースのアクセス有無情報と、前記パラメータ入力処理において入力する初期確率、尤度情報、および効用関数に基づくベイズ推定処理により各リソース毎のアクセス制御ルールを設定するセキュリティポリシ生成ステップと、
を有することを特徴とするアクセス制御ルール生成方法。
【請求項１１】
前記セキュリティポリシ生成ステップは、
前記実行トレース解析処理において取得したプログラム実行時における各リソースのアクセス有無情報と、前記パラメータ入力処理において入力する初期確率、尤度情報とに基づいて、各リソースの正当アクセスの事後確率と、不正アクセスの事後確率を算出する確率演算処理ステップと、
前記確率演算処理ステップにおいて算出した事後確率データと、前記パラメータ入力処理ステップにおいて入力した効用関数に基づいて、各リソース毎のアクセス禁止に伴う期待損失値と、アクセス許可に伴う期待損失値を算出する期待損失演算処理ステップと、
前記期待損失演算処理ステップにおいて算出した期待損失値に基づいて、各リソース毎のアクセス制御ルールを設定するアクセス判断処理ステップと、
を有することを特徴とする請求項１０に記載のアクセス制御ルール生成方法。
【請求項１２】
前記フォールスポジティブおよびフォールスネガティブのバランス調整に基づいて設定した効用関数は、それぞれフォールスポジティブ効用関数ｆｐ（）と、フォールスネガティブ効用関数ｆｎ（）であり、前記効用関数ｆｐ（）、ｆｎ（）は、バランス設定のための重み付け係数を決定する重み関数ω（ｆｐ）、ω（ｆｎ）を含み、該重み関数ω（ｆｐ）、ω（ｆｎ）は、アクセス制御ルールの適用対象となるプログラム、または機器の少なくともいずれかに基づいて設定される関数であり、該重み関数ω（ｆｐ）、ω（ｆｎ）の設定により、フォールスポジティブ優先、あるいはフォールスネガティブ優先の設定調整を行った効用関数であることを特徴とする請求項１０に記載のアクセス制御ルール生成方法。
【請求項１３】
前記効用関数ｆｐ（）、ｆｎ（）は、重み付け係数の比：ω（ｆｎ）／ω（ｆｐ）＞１を満足するフォールスポジティブ優先設定とした効用関数であることを特徴とする請求項１２に記載のアクセス制御ルール生成方法。
【請求項１４】
前記効用関数ｆｐ（）、ｆｎ（）は、重み付け係数の比：ω（ｆｐ）／ω（ｆｎ）＞１を満足するフォールスネガティブ優先設定とした効用関数であることを特徴とする請求項１２に記載のアクセス制御ルール生成方法。
【請求項１５】
前記トレース解析処理ステップにおいて適用するリソース間の関連性情報は、
同一ディレクトリにあるリソースを関連性ありとする情報であり、
前記実行トレース解析処理ステップは、
前記プログラムの実行におけるリソースアクセスの発生したリソースと同一ディレクトリにあるリソースをプログラム実行におけるアクセス発生リソースとして類推する処理を実行することを特徴とする請求項１０に記載のアクセス制御ルール生成方法。
【請求項１６】
前記実行トレース解析処理ステップにおいて適用するリソース間の関連性情報は、
同一種別のリソースを関連性ありとする情報であり、
前記実行トレース解析処理ステップは、
前記プログラムの実行におけるリソースアクセスの発生したリソースと同一種別のリソースをプログラム実行におけるアクセス発生リソースとして類推する処理を実行することを特徴とする請求項１０に記載のアクセス制御ルール生成方法。
【請求項１７】
前記実行トレース解析処理ステップにおいて適用するリソース間の関連性情報は、
同一カテゴリのネットワークポートを関連性のあるリソースとする情報であり、
前記実行トレース解析処理ステップは、
前記プログラムの実行におけるリソースアクセスの発生したネットワークポートと同一カテゴリのネットワークポートをプログラム実行におけるアクセス発生リソースとして類推する処理を実行することを特徴とする請求項１０に記載のアクセス制御ルール生成方法。
【請求項１８】
情報処理装置のリソースに対するアクセス制御ルール生成処理を実行するコンピュータ・プログラムであり、
アクセス制御ルールの適用対象プログラムを実行し、リソースアクセス履歴情報を含むプログラム実行トレースを取得し、予め設定されたリソース間の関連性情報に基づいて、前記プログラムの実行における各リソースのアクセス有無を推定する実行トレース解析処理ステップと、
各リソース毎に予め設定されたアクセス発生有無各々に対応する初期確率と、その尤度情報と、フォールスポジティブおよびフォールスネガティブのバランス調整に基づいて設定した効用関数を入力するパラメータ入力処理ステップと、
前記実行トレース解析処理において取得したプログラム実行時における各リソースのアクセス有無情報と、前記パラメータ入力処理において入力する初期確率、尤度情報、および効用関数に基づくベイズ推定処理により各リソース毎のアクセス制御ルールを設定するセキュリティポリシ生成ステップと、
を有することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセス制御ルール生成装置、およびアクセス制御ルール生成方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、情報家電、ＰＣ等、様々な情報処理装置におけるデバイス、データファイルなどに対するアクセス制御を適切に実行するためのアクセスルールを効率的に構築することを可能としたアクセス制御ルール生成装置、およびアクセス制御ルール生成方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
情報家電、ＰＣ等の情報処理装置においては、各機器に応じたデータ処理、例えば文書作成、データベース検索、図表作成、ゲームプログラム、通信処理、インターネット接続処理等、機器に格納されたプログラムに従った様々なデータ処理が実行される。このようなデータ処理において、各プログラムは自身が動作するために必要なリソース、すなわち、データファイル、システムファイル、ネットワークポート、あるいはハードディスク等の記憶手段などの各種デバイス等のリソースをライブラリやオペレーティングシステムを経由してアクセスする。
【０００３】
しかし、情報家電、ＰＣ等の情報処理装置の多くはネットワーク接続がなされ、プログラムのバグやセキュリティホールを利用して計算機上のリソースを不正にアクセスするという攻撃が頻繁に行なわれており、大きな問題になっている。これらの攻撃が成功すると、任意のファイルの読み込み／改竄／削除／実行など行なわれるため、大きな被害を受ける。そのため、この問題に対するセキュリティ対策が非常に重要な課題となっている。ネットワーク接続のなされていないＰＣ等であっても、正当なユーザ以外の不正なユーザによるＰＣの操作がなされた場合には、データやデバイスに不正なアクセスがなされると、データ改竄等の可能性があり被害を発生させる。
【０００４】
これらの攻撃に対しての対策はいくつか提案されている。対策の方向性として、
（１）各攻撃毎に個別の対策を施す方法と、
（２）各攻撃を区別しない汎用的な対策を施す方法、
の２種類がある。
【０００５】
（１）の個別の対策の具体例としては、スタックオーバフロー対策である［Ｓｔａｃｋ  Ｇｕａｒｄ］，［Ｓｔａｃｋ  Ｓｍａｓｈｉｎｇ  Ｐｒｏｔｅｃｔｏｒ］，［ＰａＸ］，［ｌｉｂｓａｆｅ］などの手法がある。
【０００６】
［Ｓｔａｃｋ  Ｇｕａｒｄ］や、［Ｓｔａｃｋ  Ｓｍａｓｈｉｎｇ  Ｐｒｏｔｅｃｔｏｒ］は、スタックの改竄を検知し、攻撃されたプログラムの実行を停止することによって被害を食い止める方式である。［ＰａＸ］は、スタック上のコードの実行を禁止することによって、攻撃されたプログラム上のスタックオーバフローしたコードの実行を食い止める方式である。［ｌｉｂｓａｆｅ］は脆弱性のある関数をオーバライドし、入力データのチェック等を行なうことによってスタックオーバフローを未然に防ぐ方式である。その他の個別対策としては、プログラム自身のセキュリティホールやバグ修正、あるいは機能や仕様の変更を行うなどの対症療法的な手法がある。
【０００７】
（２）の汎用的な対策としては、ＯＳレベルやアプリケーションレベルにおいてリソースへのアクセス制御を行う方法がある。例えばアクセス制御の方式の具体例として、［アクセス制御リスト／表方式］、［ＴｙｐｅＥｎｆｏｒｃｅｍｅｎｔ方式］、［Ｒｏｌｅ  ＢａｓｅｄＡｃｃｅｓｓ  Ｃｏｎｔｒｏｌ方式］、［Ｃｏｍｐａｒｔｍｅｎｔ方式］等が提案されている。これらのアクセス制御方式は基本的には全て、ＰＣ等の計算機上の能動的主体が受動的主体にどのようなアクセスを許可するか／禁止するかを定義し、その内容に従って実際のアクセス制御を行なう手法である。
【０００８】
これらの方式の違いは能動的主体、受動的主体、アクセスの形態の定義の仕方である。アクセス制御リスト／表形式は、能動的主体をプログラム、受動的主体をファイルやデバイスなどの実際の計算機リソース、アクセスを各リソースに対して行なえる形態をそのまま用いる方式である。Ｔｙｐｅ  Ｅｎｆｏｒｃｅｍｅｎｔ方式は、能動的主体はプログラムの集合、受動的主体は計算機リソースの集合、アクセスは各リソースに対して行なえる形態をそのまま用いる方式である。本方式では、プログラムの集合や計算機リソースの集合は任意の組み合わせが定義できる。Ｒｏｌｅ  Ｂａｓｅｄ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ方式は、能動的主体はユーザ、受動的主体とアクセス形態を合わせたもの（権限とよぶ）を用いて、ユーザに権限を付与する形を取る方式である。ユーザや権限はアクセス制御の設定を行なうものが自由に定義する。Ｃｏｍｐａｒｔｍｅｎｔ方式は、能動的主体はプロセスサブツリー、受動的主体は計算機リソース、アクセス形態は各リソースに対して行なえる形態をそのまま用いる方式である。
【０００９】
個別対策は既に攻撃方法が判明している攻撃を分析して行なうものであるため、攻撃に対して最適な防御がとれる反面、未知の攻撃に対しては無力な場合が多い。一方、汎用的な対策では個別対策ほどは最適な防御は取れないが既知／未知を問わず攻撃に対して一定の防御効果を発揮するという特徴がある。
【００１０】
近年、プログラムのセキュリティホールは毎日の様に報告されており、これら全てをキャッチアップしていくことは現実的には難しく且つ常に対応するまでのタイムラグが発生するため、汎用的な対策が非常に重要になっている。汎用的な対策である各種のアクセス制御を利用する場合、必ずアクセス制御のための設定であるセキュリティポリシを作成する必要がある。セキュリティポリシとは能動的主体、すなわちプロセスやユーザ等が、受動的主体、すなわち、各種計算機リソースにどの様なアクセス態様、すなわち読み取り（ｒｅａｄ）、書き込み（ｗｒｉｔｅ）等のアクセス態様を許可するかあるいは禁止するかを表したルールの集合である。セキュリティポリシに基づくアクセス制御構成を開示した従来技術としては、例えば特許文献１に記載の技術がある。
【００１１】
しかし、セキュリティポリシは、保護したい対象や動作させるプログラムなどを全てを網羅的に含めなければならないため、非常に大量の設定（例えば数百から数万行程度）になるという作成困難性の問題がある。また、各プログラムやユーザが実際にどのように計算機リソースにアクセスするかを記述するには、プログラムの知識やその運用状態などの知識を持っていなければならないため、非常に高度な知識と技術が要求されるという問題がある。
【００１２】
従って、人間がマニュアル処理により一から最適なセキュリティポリシを作成することは非常に時間を要する困難な作業となり、実際の問題としてこの作業の困難さのためにアクセス制御機構はあまり普及していない。
【００１３】
このセキュリティポリシの作成の困難さの問題を解決するためにセキュリティポリシを自動生成するいくつかの方法が提案されている。このセキュリティポリシの自動生成手法は、以下の（Ａ），（Ｂ）２種類に分類できる。
【００１４】
（Ａ）１つ目は、プログラムを事前に実行し、その実行結果にあったリソースアクセスを人間が判断し、セキュリティポリシとして組み込む方法である。この方式を取るものは多く、例えば［ＳＥＬｉｎｕｘ］，［Ｌｉｎｕｘ  Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ］，［Ｊａｎｕｓ］等多くのアクセス制御機構が採用している。
【００１５】
（Ｂ）２つ目は、ソースコードを解析し、コードからリソースアクセスを抽出する方法である。この方式は、［Ｊａｖａ］のセキュリティ機構用のものとして［Ａｃｃｅｓｓ  Ｒｉｇｈｔｓ  Ａｎａｌｙｓｉｓ  ｆｏｒ  Ｊａｖａ］という論文として、ＩＢＭから提案されているものがある。
【００１６】
上記（Ａ）の方法は、プログラムを実行した範囲内のみをセキュリティポリシに組み込むため、精度の高いセキュリティポリシを作成するためにはプログラムの全てのパターンを実行する必要があり、プログラムの実行の手間が非常に大きいという問題がある。
【００１７】
また、（Ｂ）の方法は、プログラムのソースコードからパラメータを抽出するためセキュリティポリシ生成の手間は少ないが、実行時に渡されるパラメータ（プログラムの引数や設定ファイルの内容など）が解析できない。その結果、充分なリソースアクセスを抽出できず生成したセキュリティポリシの精度が低いという問題がある。
【００１８】
このように、これまでのセキュリティポリシの自動生成手法では、セキュリティポリシの精度と生成の手間の削減の両方を同時に満たすことはできない。さらに上記（Ａ），（Ｂ）の手法に共通の問題点として、セキュリティポリシの生成に対して、［ｆａｌｓｅ  ｎｅｇａｔｉｖｅ］や、［ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ］のリスクのバランスを考慮せず、常に［ｆａｌｓｅ  ｎｅｇａｔｉｖｅ］を最小、［ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ］は無視というバランスのみを適用しているという点がある。
【００１９】
［ｆａｌｓｅ  ｎｅｇａｔｉｖｅ］とは不正アクセスを正常アクセスと見なすことであり、この場合、禁止すべきリソースアクセスを許可してしまうセキュリティポリシを生成すること指す。［ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ］とは正常アクセスを不正アクセスと見なすことであり、この場合、許可すべきリソースアクセスを禁止してしまうセキュリティポリシを生成すること指す。セキュリティに関する判断を行なう場合、常にリスクのバランスを見て判断を行なうべきである。
【００２０】
ＰＣ等の情報処理装置（計算機）は様々な用途に用いられており、セキュリティを考える場合は用途に合わせて多様な［ｆａｌｓｅ  ｎｅｇａｔｉｖｅ］、［ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ］のバランスを取る必要がある。例えば、情報家電へのアクセス制御機構の適用を考えた場合、これらの情報家電は、コンピュータの知識がない一般のユーザが利用することが多い。従って、正常アクセスを不正アクセスと見なす［ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ］を頻繁に発生させると、ユーザは、正しい操作が誤りであったと誤解してしまい、操作のやり直し当を行わずに操作をあきらめてしまうといった場合が発生する。このような正常利用時にアクセス制限により操作の継続を停止してしまうことは問題である。従って、コンピュータの知識がない一般のユーザが利用することが多い情報家電等の機器に設定するセキュリティポリシは、通常の利用時に問題が発生しない設定とすることが最優先となる。つまり［ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ］を最小にすることが求められる。しかしながら、既存のセキュリティポリシの自動生成方法ではこのような適用先の要求に合わせたセキュリティポリシの生成ができないという問題がある。
【特許文献１】特開２００２−２１５４４０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
上述したように、既存のセキュリティポリシの自動生成手法として知られる２つの手法、すなわち、
（Ａ）プログラムの事前実行により、実行結果にあったリソースアクセスを人間が判断し、セキュリティポリシとして組み込む方法、
（Ｂ）ソースコードを解析し、コードからリソースアクセスを抽出する方法、
上記２つの手法が知られているが、（Ａ）の方法は、プログラムの実行範囲に基づくセキュリティポリシの設定を基本とするため、精度の高いセキュリティポリシを作成するためにはプログラムの全てのパターンを実行する必要があり、プログラムの実行の手間が非常に大きいという問題がある。（Ｂ）の方法は、プログラムのソースコードからパラメータを抽出するためセキュリティポリシ生成の手間は少ないが、実行時に渡されるパラメータ（プログラムの引数や設定ファイルの内容など）が解析が困難となり、その結果、充分なリソースアクセスを抽出できず生成したセキュリティポリシの精度が低いという問題がある。
【００２２】
また、（Ａ）、（Ｂ）の両方法とも一律なポリシ設定手法であるため、機器に応じたあるいはアプリケーションに応じた［ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ］および、［ｆａｌｓｅ  ｎｅｇａｔｉｖｅ］のバランスの調整処理ができないという問題がある。
【００２３】
本発明は、このような既存のセキュリティポリシの自動生成手法における問題点に鑑みてなされたものであり、セキュリティポリシの自動生成を少ない手間と精度を両立させて実現するアクセス制御ルール生成装置、およびアクセス制御ルール生成方法、並びにコンピュータ・プログラムを提供することを目的とする。
【００２４】
さらに、［ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ］および、［ｆａｌｓｅ  ｎｅｇａｔｉｖｅ］のバランスを考慮したセキュリティポリシの生成を可能としたアクセス制御ルール生成装置、およびアクセス制御ルール生成方法、並びにコンピュータ・プログラムを提供することを目的とする。
【００２５】
さらに、具体的には、本発明はプログラムの実行トレース結果にあるリソースアクセスからそのプログラムが行なうと思われるリソースアクセスかどうかを類推し、さらにそのリソースへのアクセスが不正である確率／正当である確率とその被害の大きさを考慮して最終的なアクセスの許可／不許可を決定するという方式を実現することによって、少ない手間と精度の両立および［ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ］と、［ｆａｌｓｅ  ｎｅｇａｔｉｖｅ］とののバランスを考慮したセキュリティポリシの生成を可能にするアクセス制御ルール生成装置、およびアクセス制御ルール生成方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２６】
本発明の第１の側面は、
情報処理装置のリソースに対するアクセス制御ルールを生成するアクセス制御ルール生成装置であり、
アクセス制御ルールの適用対象プログラムを実行し、リソースアクセス履歴情報を含むプログラム実行トレースを取得し、予め設定されたリソース間の関連性情報に基づいて、前記プログラムの実行における各リソースのアクセス有無を推定する実行トレース解析処理部と、
各リソース毎に予め設定されたアクセス発生有無各々に対応する初期確率と、その尤度情報と、フォールスポジティブおよびフォールスネガティブのバランス調整に基づいて設定した効用関数を入力するパラメータ入力処理部と、
前記実行トレース解析処理部から入力するプログラム実行時における各リソースのアクセス有無情報と、前記パラメータ入力処理部から入力する初期確率、尤度情報、および効用関数に基づくベイズ推定処理により各リソース毎のアクセス制御ルールを設定するセキュリティポリシ生成部と、
を有することを特徴とするアクセス制御ルール生成装置にある。
【００２７】
さらに、本発明のアクセス制御ルール生成装置の一実施態様において、前記セキュリティポリシ生成部は、前記実行トレース解析処理部から入力するプログラム実行時における各リソースのアクセス有無情報と、前記パラメータ入力処理部から入力する初期確率、尤度情報とに基づいて、各リソースの正当アクセスの事後確率と、不正アクセスの事後確率を算出する確率演算処理部と、前記確率演算処理部の算出した事後確率データと、前記パラメータ入力処理部から入力する効用関数に基づいて、各リソース毎のアクセス禁止に伴う期待損失値と、アクセス許可に伴う期待損失値を算出する期待損失演算処理部と、前記期待損失演算処理部の算出する期待損失値に基づいて、各リソース毎のアクセス制御ルールを設定するアクセス判断処理部と、を有することを特徴とする。
【００２８】
さらに、本発明のアクセス制御ルール生成装置の一実施態様において、前記フォールスポジティブおよびフォールスネガティブのバランス調整に基づいて設定した効用関数は、それぞれフォールスポジティブ効用関数ｆｐ（）と、フォールスネガティブ効用関数ｆｎ（）であり、前記効用関数ｆｐ（）、ｆｎ（）は、バランス設定のための重み付け係数を決定する重み関数ω（ｆｐ）、ω（ｆｎ）を含み、該重み関数ω（ｆｐ）、ω（ｆｎ）は、アクセス制御ルールの適用対象となるプログラム、または機器の少なくともいずれかに基づいて設定される関数であり、該重み関数ω（ｆｐ）、ω（ｆｎ）の設定により、フォールスポジティブ優先、あるいはフォールスネガティブ優先の設定調整を行った効用関数であることを特徴とする。
【００２９】
さらに、本発明のアクセス制御ルール生成装置の一実施態様において、前記効用関数ｆｐ（）、ｆｎ（）は、重み付け係数の比：ω（ｆｎ）／ω（ｆｐ）＞１を満足するフォールスポジティブ優先設定とした効用関数であることを特徴とする。
【００３０】
さらに、本発明のアクセス制御ルール生成装置の一実施態様において、前記効用関数ｆｐ（）、ｆｎ（）は、重み付け係数の比：ω（ｆｐ）／ω（ｆｎ）＞１を満足するフォールスネガティブ優先設定とした効用関数であることを特徴とする。
【００３１】
さらに、本発明のアクセス制御ルール生成装置の一実施態様において、前記実行トレース解析処理部において適用するリソース間の関連性情報は、同一ディレクトリにあるリソースを関連性ありとする情報であり、前記実行トレース解析処理部は、前記プログラムの実行におけるリソースアクセスの発生したリソースと同一ディレクトリにあるリソースをプログラム実行におけるアクセス発生リソースとして類推する処理を実行する構成であることを特徴とする。
【００３２】
さらに、本発明のアクセス制御ルール生成装置の一実施態様において、前記実行トレース解析処理部において適用するリソース間の関連性情報は、同一種別のリソースを関連性ありとする情報であり、前記実行トレース解析処理部は、前記プログラムの実行におけるリソースアクセスの発生したリソースと同一種別のリソースをプログラム実行におけるアクセス発生リソースとして類推する処理を実行する構成であることを特徴とする。
【００３３】
さらに、本発明のアクセス制御ルール生成装置の一実施態様において、前記実行トレース解析処理部において適用するリソース間の関連性情報は、同一カテゴリのネットワークポートを関連性のあるリソースとする情報であり、前記実行トレース解析処理部は、前記プログラムの実行におけるリソースアクセスの発生したネットワークポートと同一カテゴリのネットワークポートをプログラム実行におけるアクセス発生リソースとして類推する処理を実行する構成であることを特徴とする。
【００３４】
さらに、本発明のアクセス制御ルール生成装置の一実施態様において、前記リソースは、情報処理装置内のハードウェア、およびプログラム、システムデータ、ユーザデータを含むソフトゥェアを含むことを特徴とする。
【００３５】
さらに、本発明の第２の側面は、
情報処理装置のリソースに対するアクセス制御ルールを生成するアクセス制御ルール生成方法であり、
アクセス制御ルールの適用対象プログラムを実行し、リソースアクセス履歴情報を含むプログラム実行トレースを取得し、予め設定されたリソース間の関連性情報に基づいて、前記プログラムの実行における各リソースのアクセス有無を推定する実行トレース解析処理ステップと、
各リソース毎に予め設定されたアクセス発生有無各々に対応する初期確率と、その尤度情報と、フォールスポジティブおよびフォールスネガティブのバランス調整に基づいて設定した効用関数を入力するパラメータ入力処理ステップと、
前記実行トレース解析処理において取得したプログラム実行時における各リソースのアクセス有無情報と、前記パラメータ入力処理において入力する初期確率、尤度情報、および効用関数に基づくベイズ推定処理により各リソース毎のアクセス制御ルールを設定するセキュリティポリシ生成ステップと、
を有することを特徴とするアクセス制御ルール生成方法にある。
【００３６】
さらに、本発明のアクセス制御ルール生成方法の一実施態様において、前記セキュリティポリシ生成ステップは、前記実行トレース解析処理において取得したプログラム実行時における各リソースのアクセス有無情報と、前記パラメータ入力処理において入力する初期確率、尤度情報とに基づいて、各リソースの正当アクセスの事後確率と、不正アクセスの事後確率を算出する確率演算処理ステップと、前記確率演算処理ステップにおいて算出した事後確率データと、前記パラメータ入力処理ステップにおいて入力した効用関数に基づいて、各リソース毎のアクセス禁止に伴う期待損失値と、アクセス許可に伴う期待損失値を算出する期待損失演算処理ステップと、前記期待損失演算処理ステップにおいて算出した期待損失値に基づいて、各リソース毎のアクセス制御ルールを設定するアクセス判断処理ステップと、を有することを特徴とする。
【００３７】
さらに、本発明のアクセス制御ルール生成方法の一実施態様において、前記フォールスポジティブおよびフォールスネガティブのバランス調整に基づいて設定した効用関数は、それぞれフォールスポジティブ効用関数ｆｐ（）と、フォールスネガティブ効用関数ｆｎ（）であり、前記効用関数ｆｐ（）、ｆｎ（）は、バランス設定のための重み付け係数を決定する重み関数ω（ｆｐ）、ω（ｆｎ）を含み、該重み関数ω（ｆｐ）、ω（ｆｎ）は、アクセス制御ルールの適用対象となるプログラム、または機器の少なくともいずれかに基づいて設定される関数であり、該重み関数ω（ｆｐ）、ω（ｆｎ）の設定により、フォールスポジティブ優先、あるいはフォールスネガティブ優先の設定調整を行った効用関数であることを特徴とする。
【００３８】
さらに、本発明のアクセス制御ルール生成方法の一実施態様において、前記効用関数ｆｐ（）、ｆｎ（）は、重み付け係数の比：ω（ｆｎ）／ω（ｆｐ）＞１を満足するフォールスポジティブ優先設定とした効用関数であることを特徴とする。
【００３９】
さらに、本発明のアクセス制御ルール生成方法の一実施態様において、前記効用関数ｆｐ（）、ｆｎ（）は、重み付け係数の比：ω（ｆｐ）／ω（ｆｎ）＞１を満足するフォールスネガティブ優先設定とした効用関数であることを特徴とする。
【００４０】
さらに、本発明のアクセス制御ルール生成方法の一実施態様において、前記トレース解析処理ステップにおいて適用するリソース間の関連性情報は、同一ディレクトリにあるリソースを関連性ありとする情報であり、前記実行トレース解析処理ステップは、前記プログラムの実行におけるリソースアクセスの発生したリソースと同一ディレクトリにあるリソースをプログラム実行におけるアクセス発生リソースとして類推する処理を実行することを特徴とする。
【００４１】
さらに、本発明のアクセス制御ルール生成方法の一実施態様において、前記実行トレース解析処理ステップにおいて適用するリソース間の関連性情報は、同一種別のリソースを関連性ありとする情報であり、前記実行トレース解析処理ステップは、前記プログラムの実行におけるリソースアクセスの発生したリソースと同一種別のリソースをプログラム実行におけるアクセス発生リソースとして類推する処理を実行することを特徴とする。
【００４２】
さらに、本発明のアクセス制御ルール生成方法の一実施態様において、前記実行トレース解析処理ステップにおいて適用するリソース間の関連性情報は、同一カテゴリのネットワークポートを関連性のあるリソースとする情報であり、前記実行トレース解析処理ステップは、前記プログラムの実行におけるリソースアクセスの発生したネットワークポートと同一カテゴリのネットワークポートをプログラム実行におけるアクセス発生リソースとして類推する処理を実行することを特徴とする。
【００４３】
さらに、本発明の第３の側面は、
情報処理装置のリソースに対するアクセス制御ルール生成処理を実行するコンピュータ・プログラムであり、
アクセス制御ルールの適用対象プログラムを実行し、リソースアクセス履歴情報を含むプログラム実行トレースを取得し、予め設定されたリソース間の関連性情報に基づいて、前記プログラムの実行における各リソースのアクセス有無を推定する実行トレース解析処理ステップと、
各リソース毎に予め設定されたアクセス発生有無各々に対応する初期確率と、その尤度情報と、フォールスポジティブおよびフォールスネガティブのバランス調整に基づいて設定した効用関数を入力するパラメータ入力処理ステップと、
前記実行トレース解析処理において取得したプログラム実行時における各リソースのアクセス有無情報と、前記パラメータ入力処理において入力する初期確率、尤度情報、および効用関数に基づくベイズ推定処理により各リソース毎のアクセス制御ルールを設定するセキュリティポリシ生成ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００４４】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００４５】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００４６】
本発明の構成によれば、情報家電、ＰＣ等のさまざまな情報処理装置に搭載するアクセス制御ルールの生成において、プログラム実行トレースによって各リソースのアクセス履歴情報を取得するとともに、ディレクトリの同一性、種別同一性、カテゴリ同一のネットワークポートなどの情報等のリソース関連性に基づいて、プログラム実行時の各リソースに対するアクセス有無を類推し、かつ、アクセス制御ルールの適用プログラム、ユーザ、機器等の使用環境に応じてバランス設定した効用関数、具体的には、フォールスポジティブおよびフォールスネガティブのバランスを調整した効用関数を適用してベイズ推定に基づくアクセス制御ルールを設定する構成としたので、情報家電、ＰＣ等の様々な情報処理装置における使用環境に応じた最適なアクセス制御ルールの効率的な自動生成処理が可能となる。
【００４７】
また、本発明の構成によれば、フォールスポジティブおよびフォールスネガティブのバランス調整に基づいて設定した効用関数を入力し、このパラメータに基づいてアクセス制御ルールを設定する構成としたので、フォールスポジティブ優先設定、あるいはフォールスネガティブ優先設定など、アクセス制御ルールの適用対象となるプログラムや機器、などの使用環境に応じた任意の設定が可能であり、要求に応じた最適なアクセス制御ルールをパラメータの変更のみで容易に生成することが可能となる。
【００４８】
さらに、本発明の構成によれば、プログラムの実行トレースの取得においてアクセスの有無の判定をするのみならず、リソースの関連性、具体的には、
（１）プログラム実行トレース中にアクセスリソースとして記録されたアクセスファイルと同じディレクトリにあるファイルを関連性のあるファイルとして抽出する方式、
（２）プログラム実行トレース中にアクセスリソースとして記録されたアクセスファイルと同じ種別のファイルやデバイスを関連性のあるファイル、デバイスとして抽出する方式、
（３）プログラム実行トレース中にアクセスリソースとして記録されたネットワークポートと同じカテゴリにあるポートを抽出する方式、
これらいずれかの方式あるいはこれらの組み合わせを適用して各リソースのアクセス有無の類推を実行する構成としたので、プログラムの実行トレースにおける実際のアクセスの発生の有無に関わらず、情報処理装置の有する各リソースについてのアクセス類推が可能であり、類推したアクセス有無に基づくアクセス制御ルールを生成する構成としたので、効率的に、かつ精度の高いアクセス制御ルールの生成が可能となる。
【発明を実施するための最良の形態】
【００４９】
以下、図面を参照しながら本発明のアクセス制御ルール生成装置、およびアクセス制御ルール生成方法、並びにコンピュータ・プログラムについて詳細に説明する。
【００５０】
まず、本発明のアクセス制御ルール生成装置、およびアクセス制御ルール生成方法を適用して生成したアクセス制御ルールの適用処理構成について、図１を参照して説明する。図１は、情報家電、ＰＣ等の情報処理装置における様々なプログラムの実行形態を説明する図である。図１に示すように情報処理装置では、ユーザの実行するデータ処理、例えば文書作成や、データベース検索、通信処理、ゲームなど、様々なプログラムが動作する。図１には、プログラムＡ１１０、プログラムＢ１２０、プログラムＡ１３０を示してある。
【００５１】
各プログラムは自身が動作するために必要なリソース、すなわち、システムファイルデータファイル、ネットワークポート、ハードディスク、ＣＰＵ等のハードウェアデバイスを、ライブラリやオペレーティングシステム（ＯＳ）１５０を経由してアクセスする。図１には各プログラムの実行においてアクセスするリソースとして、デバイスＡ〜Ｃ・・からなるデバイス１５２、ネットワーク接続に適用するソケットＡ〜Ｃ・・からなるネットワークソケット１５３、システムファイルデータファイル等のファイルＡ〜Ｃ・・からなるファイル１５４を例示している。
【００５２】
各プログラムの実行におけるこれらのリソースに対するアクセスについての正当性を判断し、正当でないアクセスであると判断した場合にアクセスを拒否する制御機構として、図１に示すアクセス制御部が設定される。
【００５３】
図１には、アクセス制御部として、各プログラム対応のアクセス制御機構であるプログラム対応アクセス制御部Ａ１１１、プログラム対応アクセス制御部Ｂ１２１、プログラム対応アクセス制御部Ｃ１３１、および、オペレーティングシステム（ＯＳ）１５０側に設定されたＯＳ側アクセス制御部１５１を示してある。
【００５４】
例えばプログラムＡ１１０を実行する際のユーザの操作、入力に基づく各種リソースに対するアクセス要求の正当性、妥当性については、プログラム対応アクセス制御部Ａ１１１、およびＯＳ側アクセス制御部１５１において判定され、判定結果に基づいてリソースに対するアクセスの許可あるいは禁止処理がなされる。プログラムＢ１２０を実行する際のユーザの操作、入力に基づく各種リソースに対するアクセス要求の正当性、妥当性については、プログラム対応アクセス制御部Ｂ１２１、およびＯＳ側アクセス制御部１５１において判定され、判定結果に基づいてリソースに対するアクセスの許可あるいは禁止処理がなされる。
【００５５】
なお、図には、プログラム対応のアクセス制御部と、ＯＳ側のアクセス制御部とを持つ構成例を示してあるが、これらのいずれか一方のアクセス制御部を持つ構成としてもよい。
【００５６】
これらのアクセス制御部は、アクセスの正当性を判断する指針としてのセキュリティポリシを記憶部に保持し、セキュリティポリシに従ってユーザの入力、操作に基づくアクセス要求についての正当性、妥当性を判定する。セキュリティポリシは、情報処理装置の持つハードウェア、およびユーザデータを含む各種ソフトウェアからなる情報処理装置においてアクセス可能な各リソースに対するアクセスルールを定めたデータである。
【００５７】
以下に説明する本発明のアクセス制御ルール生成装置、およびアクセス制御ルール生成方法を適用して、アクセスルールの生成処理が実行される。本発明のアクセス制御ルール生成処理は、アクセスルールを設定する対象となるプログラムの実行処理を伴う自動生成処理として行われる。
【００５８】
図２に本発明のアクセス制御ルール生成装置の構成を示すブロック図を示す。なお、図２に示す構成図は、アクセス制御ルール生成装置の持つ処理機能を示す図である。具体的なハードウェアとしては、いわゆるデータ処理部としてのＣＰＵ、メモリ領域としてのＲＡＭ，ＲＯＭ、データ入力部、データ出力部等を備えたＰＣ等の情報処理装置によって構成可能である。ＰＣ等の情報処理装置において説明するアクセス制御ルール生成処理シーケンスに従った処理を実行することにより、アクセス制御ルール生成処理が行われる。アクセス制御ルール生成処理シーケンスは、コンピュータ・プログラムとして設定可能である。アクセス制御ルール生成処理シーケンスを記録したコンピュータ・プログラムに従ってＣＰＵ制御の下に処理を実行することで、アクセス制御ルール自動生成が実行される。図２に示す構成図は、アクセス制御ルールの自動生成処理において実行される各処理を個別に機能ブロックとして示したブロック図である。
【００５９】
図２を参照して本発明のアクセス制御ルール生成処理について説明する。アクセス制御ルール生成装置は、図２に示すように、アクセスルールを設定する対象となるプログラムの実行トレースの取得および解析を行なう実行トレース解析処理部２１０、ユーザからの各種パラメータの入力部としてのパラメータ入力処理部２２０、実行トレース結果および入力パラメータからセキュリティポリシを生成するセキュリティポリシ生成処理部２３０から構成される。
【００６０】
実行トレース解析処理部２１０は、リソースアクセス記録処理部２１１、リソースアクセス類推処理部２１２からなる。これらは、ハードウェアとしては、ＣＰＵ、メモリ、ＲＡＭ，ＲＯＭ等の二次記憶装置等から構成される。パラメータ入力処理部２２０は、確率初期分布入力処理部２２１、効用関数入力処理部２１４からなる。これらはハードウェアとしては、ＣＰＵ、メモリ、二次記憶装置等から構成される。セキュリティポリシ生成処理部２３０は、確率演算処理部２３１、期待損失値演算処理部２３２、アクセス判断処理部２３３、セキュリティポリシ変換処理部２３４を有する。これらはＣＰＵ、メモリ、二次記憶装置等から構成される。
【００６１】
実行トレース解析処理部２１０におけるリソースアクセス記録処理部２１１は、アクセスルールを設定する対象となるプログラムを実行過程におけるリソースアクセスの実行トレース結果を記録し、取得した実行トレース結果をリソースアクセス類推処理部２１２に提供する。
【００６２】
リソースアクセス類推処理部２１２は、実行トレース解析処理部２１０から受領したプログラム実行トレース結果からリソースアクセスの関連性を抽出する。リソースアクセス関連性の抽出方法としては、例えば、
（１）プログラム実行トレース中にアクセスリソースとして記録されたアクセスファイルと同じディレクトリにあるファイルを関連性のあるファイルとして抽出する方式、
（２）プログラム実行トレース中にアクセスリソースとして記録されたアクセスファイルと同じ種別のファイルやデバイスを関連性のあるファイル、デバイスとして抽出する方式、
（３）プログラム実行トレース中にアクセスリソースとして記録されたネットワークポートと同じカテゴリにあるポートを抽出する方式、
これらの各方式のいずれかを適用する、あるいは組み合わせて適用する方法、総合的に適用する方法等がある。
【００６３】
なお、ファイルの種別とは、ファイルのデータ形式、例えばテキストデータファイル、音声データファィル、ビデオデータファイル、実行ファイル等のデータ形式に基づく種別、あるいは属性、すなわち、システム用ファィル、ユーザ用ファィル等の属性に基づく種別によって各ファイルを分類し、プログラム実行トレース中にアクセスリソースとして記録されたアクセスファイルと同じ種別のファイルを関連性のあるファイルとして抽出する。
【００６４】
また、デバイスの種別とは、デバイスの種類、すなわち、ＨＤＤ、ＦＤＤ、ネットワーク、音声、ビデオ、メモリ、クロック等の個々のデバイスを区分して設定する。さらに、ネットワークポートのカテゴリ分けは、ＩＡＮＡ（Ｉｎｔｅｒｎｅｔ  Ａｓｓｉｇｎｅｄ  Ｎｕｍｂｅｒｓ  Ａｕｔｈｏｒｉｔｙ）が定義しているカテゴリ、すなわち、［Ｗｅｌｌ−ｋｎｏｗｎ］，［Ｒｅｇｉｓｔｅｒｅｄ］，［Ｄｙｎａｍｉｃ］の各ポートや、ＴＣＰ／ＩＰを実装した装置で利用されているカテゴリ区分を適用する。
【００６５】
なお、ファイル、デバイス、ネットワークソケット（ポート）等のリソースの区分については、上記設定に限らず、様々な設定が可能であり、任意の設定に基づいて関連性の有無を判定することが可能である。
【００６６】
パラメータ入力処理部２２０は確率初期分布入力処理部２２１、効用関数入力処理部２２２からなる。確率初期分布入力処理部２２１では、初期確率Ｐ（Ｘ）と尤度Ｐ（Ｄ｜Ｘ）から構成される初期確率分布をユーザ入力に基づいて、あるいは記憶手段から受領し、セキュリティポリシ生成部２３０の確率演算処理部２３１に出力する。効用関数入力処理部２２２は、リスクの大きさとフォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）と、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）のバランスを表現する効用関数Ｕ（Ａ｜Ｘ）をユーザ入力に基づいて、あるいは記憶手段から受領し、セキュリティポリシ生成部２３０の期待損失値演算処理部２３２に出力する。
【００６７】
フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）とは不正アクセスを正常アクセスと見なしてしまう誤った処理態様であり、設定されたアクセスルールに基づくアクセス制御を実行した場合に、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）が発生すると、禁止すべきリソースアクセスを許可してしまうということである。フォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）は、正常アクセスを不正アクセスと見なす誤った処理態様であり、設定されたアクセスルールに基づくアクセス制御を実行した場合に、フォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）が発生すると、許可すべきリソースアクセスを禁止してしまうということになる。
【００６８】
完璧なアクセスルールの生成を行うことは困難であり、フォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）が発生した場合のリスクの大きさ、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）が発生した場合のリスクの大きさを考慮したアクセスルールを設定することが必要となる。
【００６９】
なお、本発明のアクセス制御ルール生成処理においては、ベイズ理論を適用した処理を行っている。ベイズ理論は、不特定の状況（＝不完全情報）下における特定事象の発生確率を予測する手法である。すなわち、結果（状況）に基づいて原因（事象）の発生確率を推定する統計的推論手法である。
【００７０】
ベイズ理論の概要について簡単に説明する。ある確率変数Ｘに対する初期確率をＰ（Ｘ）とする。例えばＸ１＝喫煙者、Ｘ２＝非喫煙者としたとき、喫煙者である確率Ｐ（Ｘ１）＝０．４、非喫煙者である確率Ｐ（Ｘ２）＝０．６等が事前確率として設定される。
【００７１】
このとき、事象Ｄが観測されたときの確率変数Ｘの尤度、すなわち、確率変数Ｘの場合にＤが観測される確率をＰ（Ｄ｜Ｘ）とする。具体的には、Ｄ１＝肺がんとしたとき、尤度Ｐ（Ｄ１｜Ｘ１）は、喫煙者が肺がんにかかる確率を示し、尤度Ｐ（Ｄ１｜Ｘ２）は、非喫煙者が肺がんにかかる確率を示す。例えば、
尤度Ｐ（Ｄ１｜Ｘ１）＝０．０９
尤度Ｐ（Ｄ１｜Ｘ２）＝０．０３
のように算出される。
【００７２】
また、観測結果Ｄの元での確率変数Ｘに対する事後確率をＰ（Ｘ｜Ｄ）とする。これは、すなわち事象Ｄが観測された場合の確率変数Ｘの確率を示す。具体的には、肺がんの人が喫煙者である事後確率は、Ｐ（Ｘ１｜Ｄ）として示される。
【００７３】
肺がんの人が喫煙者である事後確率は、Ｐ（Ｘ１｜Ｄ）の計算は、下記条件、すなわち、
喫煙者である初期確率Ｐ（Ｘ１）＝０．４
非喫煙者である初期確率Ｐ（Ｘ２）＝０．６
尤度Ｐ（Ｄ１｜Ｘ１）＝０．０９
尤度Ｐ（Ｄ１｜Ｘ２）＝０．０３
とした場合、
【００７４】
Ｐ（Ｘ１｜Ｄ）＝０．４×０．０９／（０．４×０．０９＋０．６×０．０３）
≒０．６６６７
となる。
このようにベイズ理論は、結果に基づいて、原因の確率を推定する理論である。
【００７５】
本発明のアクセス制御ルール生成処理においては、初期確率Ｐ（Ｘ）と尤度Ｐ（Ｄ｜Ｘ）が、リソース毎に定義される。また、損失（リスク）の大きさを表す値と、アクセスルール適用先（プログラムや機器）の要求に基づいたフォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）のバランスを表す重み付け係数から構成される関数として設定される効用関数Ｕ（Ａ｜Ｘ）についても、リソース毎に定義される。
【００７６】
本方式における確率モデルを表現するためのパラメータ：Ｘ，Ｄ，Ａは、下記の定義を持つパラメータである。
Ｘ＝｛正当アクセス（Ｘ１），不正アクセス（Ｘ２）｝
Ｄ＝｛事象が観測できた（Ｄ１），事象が観測できない（Ｄ２）｝
Ａ＝｛アクセス禁止（Ａ１），アクセス許可（Ａ２）｝
となる。
【００７７】
よって本確率モデルにおいて、初期確率Ｐ（Ｘ）は、Ｐ（Ｘ１），Ｐ（Ｘ２）の２種類となり、尤度はＰ（Ｄ１｜Ｘ１），Ｐ（Ｄ１｜Ｘ２），Ｐ（Ｄ２｜Ｘ１），Ｐ（Ｄ２｜Ｘ２）の４種類となる。初期確率Ｐ（Ｘ１），Ｐ（Ｘ２）は、事前知識がない状態での各リソースに対応する不正アクセスの確率および正当アクセスの確率を示す。
【００７８】
尤度Ｐ（Ｄ１｜Ｘ１），Ｐ（Ｄ１｜Ｘ２），Ｐ（Ｄ２｜Ｘ１），Ｐ（Ｄ２｜Ｘ２）は、不正アクセスおよび正当アクセスの場合に実行トレース解析処理部２１０における推論処理において利用される各方式の事象の観測結果を示す条件付き確率を表す。
【００７９】
初期確率Ｐ（Ｘ１），Ｐ（Ｘ２）、および尤度Ｐ（Ｄ１｜Ｘ１），Ｐ（Ｄ１｜Ｘ２），Ｐ（Ｄ２｜Ｘ１），Ｐ（Ｄ２｜Ｘ２）の例を図３に示す。これらの確率分布は過去の攻撃事例を分析すること等で得ることができる。
【００８０】
図３に示す例において、例えばリソースとしてのファイルＡは、種別がシステムファイルであり、初期確率は、
Ｐ（Ｘ１）＝０．９
Ｐ（Ｘ２）＝０．１
である。
すなわち、ファイルＡに対するアクセスが正当である初期確率は０．９であり、不正である初期確率は０．１である。
【００８１】
また、尤度は、
Ｐ（Ｄ１｜Ｘ１）＝０．９５
Ｐ（Ｄ１｜Ｘ２）＝０．０５
Ｐ（Ｄ２｜Ｘ１）＝０．１
Ｐ（Ｄ２｜Ｘ２）＝０．９
である。
すなわち、ファイルＡに対する正当アクセスが観察される確率Ｐ（Ｄ１｜Ｘ１）＝０．９５、ファイルＡに対する不正アクセスが観察される確率Ｐ（Ｄ１｜Ｘ２）＝０．０５、ファイルＡに対する正当アクセスが観察されない確率Ｐ（Ｄ２｜Ｘ１）＝０．１、ファイルＡに対する不正アクセスが観察されない確率Ｐ（Ｄ２｜Ｘ２）＝０．９である。
【００８２】
以下、ファイルＢ、デバイスＩ，Ｊ、ポートＸ，Ｙ他、アクセスルールの設定対象としてのリソースの個々について、初期確率および尤度が過去の攻撃事例を分析すること等で取得され、これらの情報が、ユーザ入力あるいは記憶部から取得されて、パラメータ入力処理部２２０の確率処理分布入力処理部２１１を介して、セキュリティポリシ生成処理部
２３０の確率演算処理部に入力される。
【００８３】
効用関数Ｕ（Ａ｜Ｘ）は、Ａ，Ｘの取りうる値で４通りのパラメータを取るが内容を考慮すると以下のように定義できる。
Ｕ（Ａ１｜Ｘ１）＝ｆｐ（）（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ時の損失を表す，ｆｐ（）≦０）
Ｕ（Ａ１｜Ｘ２）＝０（適切に禁止時の損失を表す）
Ｕ（Ａ２｜Ｘ１）＝０（適切に許可時の損失を表す）
Ｕ（Ａ２｜Ｘ２）＝ｆｎ（）（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ時の損失を表す，ｆｎ（）≦０）
【００８４】
以上から、入力すべき効用関数はｆｐ（），ｆｎ（）の２種類となる。
【００８５】
ｆｐ（），ｆｎ（）は、損失（リスク）の大きさを表す値と、適応先の要求に基づいたフォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）のバランスを表す重み付け係数から構成される効用関数であり、以下のように定義する。
【００８６】
ｆｐ（）＝ｌｏｓｓ（Ａ１｜Ｘ１）×ω（ｆｐ）≦０・・・（式１）
ｆｎ（）＝ｌｏｓｓ（Ａ２｜Ｘ２）×ω（ｆｎ）≦０・・・（式２）
【００８７】
上記式におけるｌｏｓｓ（Ａ｜Ｘ）は、リソース毎に定義されるアクセスを許可または禁止した場合の損失を定量的に表す損失関数である。具体的には、あるリソースに対する侵害が発生した場合（漏洩、改竄など）にどのくらい損害が発生するかを示す関数である。
【００８８】
例として、損失関数を被害金額で表す場合、システムファイルやデバイス等が破壊された場合に被る被害額（回収修理費用等）を損失関数として定義することになる。ω（ｆｐ），ω（ｆｎ）はそれぞれ、フォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）の重みを表す関数であり、ω（ｆｐ）とω（ｆｎ）の比を調整することによって、フォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）優先とした設定、あるいはフォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）優先とした設定など、生成するアクセスルールの設定を自在に変更することができる。
【００８９】
具体的には、フォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）の優先設定とするためにはω（ｆｎ）／ω（ｆｐ）＞１を満し、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）の優先設定とするためにはω（ｆｐ）／ω（ｆｎ）＞１を満すようにすればよい。
【００９０】
ω（ｆｎ）／ω（ｆｐ）の値が１より大きくなるにつれてフォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）の割合は減るが、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）の割合が増え、同様にω（ｆｐ）／ω（ｆｎ）の値が１より大きくなるにつれてフォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）の割合は減るが、フォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）の割合が増える。
【００９１】
重み付けと、フォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）およびフォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）の関係を表したグラフを図４に示す。図４において、例えば、フォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）の重み係数ω（ｆｐ）＝ｋ１とし、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）の重み係数ω（ｆｎ）＝ｋ２とした場合、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）の優先領域にポイント３０１が設定され、この設定によるアクセスルールを生成した場合は、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）を優先したアクセスルールが設定されることになる。
【００９２】
なお、フォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）の重み係数を設定する重み係数決定関数ω（ｆｐ）と、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）の重み係数設定する重み係数決定関数ω（ｆｎ）の各々は相互の依存関係はなく独立した関数として設定可能であり、また、これらの関数はアクセスルール適用先（プログラム、情報処理機器など）に合わせて自由に定義してよい。ただし、効用関数は常に０以下になるような関数であり、損失が大きいほど値は小さくなる（絶対値は大きくなる）。
【００９３】
図５に効用関数の要素である損失関数と重み付け関数の例を示す。図５に示すように、損失関数と重み付け関数はリソース毎に定義される。損失関数ｌｏｓｓ（Ａ｜Ｘ）は、各リソースに対してアクセスを許可または禁止した場合の損失を定量的に表す損失関数である。図５において、例えばリソースとしてのファイルＡに対する正当アクセスを禁止した場合の損失関数は、ｌｏｓｓ（Ａ１｜Ｘ１）＝−１０，０００であり、ファイルＡに対する不正アクセスを許可した場合の損失関数は、ｌｏｓｓ（Ａ２｜Ｘ２）＝−１０，０００である。
【００９４】
また、ファイルＡに対応するフォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）の重み関数ω（ｆｐ）、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）の重み関数ω（ｆｎ）は、ａ〜ｃの３種類の設定態様があり、
ａ．通常設定では、ω（ｆｐ）＝１、ω（ｆｎ）＝１
ｂ．低フォールスポジティブ優先設定では、ω（ｆｐ）＝３、ω（ｆｎ）＝１
ｃ．低フォールスネガティブ優先設定では、ω（ｆｐ）＝１、ω（ｆｎ）＝３
とした設定がある。
これらの設定からアクセスルールの適用対象としてのプログラムや機器に対応して適切な設定を選択してアクセスルールを生成することができる。なお、図５に示す設定例は一例に過ぎず、この他、様々な設定が可能である。
【００９５】
次に、図２に戻り、セキュリティポリシ生成処理部２３０の処理構成について説明する。セキュリティポリシ生成処理部２３０は、確率演算処理部２３１、期待損失値演算処理部２３２、アクセス判断処理部２３３、セキュリティポリシ変換処理部２３４を有する。
【００９６】
確率演算処理部２３１は、パラメータ入力処理部２２０の確率初期分布入力処理部２２１から受け取った事前確率Ｐ（Ｘ）および尤度Ｐ（Ｄ｜Ｘ）を用い、ベイズ推定を利用して正当アクセスおよぶ不正アクセスの事後確率Ｐ（Ｘ｜Ｄ）を計算する。ベイズ推定は、前述したように、結果に基づいて、原因の確立を推定する理論である。事後確率Ｐ（Ｘ｜Ｄ）は、事象Ｄが観測された場合の確率変数Ｘの確率を示す。
【００９７】
事象が観測（Ｄ＝Ｄ１）、すなわち、あるリソースに対するアクセスが発生したことを観測できた場合における
正当アクセスである事後確率Ｐ（Ｘ１｜Ｄ１）
不正アクセスである事後確率Ｐ（Ｘ２｜Ｄ１）
との算出式は以下の（式３）、（式４）に示す式となる。
【００９８】
Ｄ＝Ｄ１の場合
Ｐ（Ｘ１｜Ｄ１）
＝｛Ｐ（Ｘ１）Ｐ（Ｄ１｜Ｘ１）｝／｛Ｐ（Ｘ１）Ｐ（Ｄ１｜Ｘ１）＋Ｐ（Ｘ２）Ｐ（Ｄ１｜Ｘ２）｝
・・・（式３）
Ｐ（Ｘ２｜Ｄ１）
＝｛Ｐ（Ｘ２）Ｐ（Ｄ１｜Ｘ２）｝／｛Ｐ（Ｘ１）Ｐ（Ｄ１｜Ｘ１）＋Ｐ（Ｘ２）Ｐ（Ｄ１｜Ｘ２）｝
・・・（式４）
【００９９】
また事象が未観測（Ｄ＝Ｄ２）、すなわち、あるリソースに対するアクセスが発生したことを観測できなかった場合における
正当アクセスである事後確率Ｐ（Ｘ１｜Ｄ２）
不正アクセスである事後確率Ｐ（Ｘ２｜Ｄ２）
との算出式は以下の（式５）、（式６）に示す式となる。
【０１００】
Ｄ＝Ｄ２の場合
Ｐ（Ｘ１｜Ｄ２）
＝｛Ｐ（Ｘ１）Ｐ（Ｄ２｜Ｘ１）｝／｛Ｐ（Ｘ１）Ｐ（Ｄ２｜Ｘ１）＋Ｐ（Ｘ２）Ｐ（Ｄ２｜Ｘ２）｝
・・・（式５）
Ｐ（Ｘ２｜Ｄ２）
＝｛Ｐ（Ｘ２）Ｐ（Ｄ２｜Ｘ２）｝／｛Ｐ（Ｘ１）Ｐ（Ｄ２｜Ｘ１）＋Ｐ（Ｘ２）Ｐ（Ｄ２｜Ｘ２）｝
・・・（式６）
【０１０１】
上記各式に示すように、
事象が観測できた場合の正当アクセスの事後確率（式３）
事象が観測できた場合の不正アクセスの事後確率（式４）
事象が観測できなかった場合の正当アクセスの事後確率（式５）
事象が観測できなかった場合の不正アクセスの事後確率（式６）
がそれぞれ確率演算処理部２３１において算出される。
【０１０２】
期待損失値演算処理部２３２は、パラメータ入力処理部２２０の効用関数入力部２２２から受け取った効用関数Ｕ（Ａ｜Ｘ）と、確率演算処理部２３１で計算した事後確率Ｐ（Ｘ｜Ｄ）を用いて、期待損失値Ｅ［Ｕ（Ａ），Ｄ］を計算する。期待損失値の算出処理においても、事象が観測（Ｄ＝Ｄ１）すなわち、あるリソースに対するアクセスが発生したことを観測できた場合と、事象が観測されなかった（Ｄ＝Ｄ２）すなわち、あるリソースに対するアクセスが発生したことを観測できなかった場合、それぞれにおいて、下記のように算出される。
【０１０３】
Ａ．事象が観測（Ｄ＝Ｄ１）すなわち、あるリソースに対するアクセスが発生したことを観測できた場合、
（Ａ１）アクセス禁止に伴う期待損失値：Ｅ［Ｕ（Ａ１），Ｄ１］
Ｅ［Ｕ（Ａ１），Ｄ１］
＝Ｕ（Ａ１｜Ｘ１）Ｐ（Ｘ１｜Ｄ１）＋Ｕ（Ａ１｜Ｘ２）Ｐ（Ｘ２｜Ｄ１）
＝ｆｐ（）×Ｐ（Ｘ１｜Ｄ１）＋０×Ｐ（Ｘ２｜Ｄ１）
＝ｆｐ（）×Ｐ（Ｘ１｜Ｄ１）
・・・（式７）
【０１０４】
（Ａ２）アクセス許可に伴う期待損失値：Ｅ［Ｕ（Ａ２），Ｄ１］
Ｅ［Ｕ（Ａ２），Ｄ１］
＝Ｕ（Ａ２｜Ｘ１）Ｐ（Ｘ１｜Ｄ１）＋Ｕ（Ａ２｜Ｘ２）Ｐ（Ｘ２｜Ｄ１）
＝０×Ｐ（Ｘ１｜Ｄ１）＋ｆｎ（）×Ｐ（Ｘ２｜Ｄ１）
＝ｆｎ（）×Ｐ（Ｘ２｜Ｄ１）
・・・（式８）
【０１０５】
このように、事象が観測（Ｄ＝Ｄ１）すなわち、あるリソースに対するアクセスが発生したことを観測できた場合のアクセス禁止に伴う期待損失値：Ｅ［Ｕ（Ａ１），Ｄ１］と、アクセス許可に伴う期待損失値：Ｅ［Ｕ（Ａ２），Ｄ１］は、上記（式７）、（式８）によって算出される。
【０１０６】
（式７）、（式８）は、（式３）および（式４）で算出した事後確率Ｐ（Ｘ１｜Ｄ１）およびＰ（Ｘ２｜Ｄ１）を代入することで具体的数値を得ることができる。
【０１０７】
Ｂ．事象が観測できない（Ｄ＝Ｄ２）すなわち、あるリソースに対するアクセスが発生したことを観測できなかった場合、
（Ｂ１）アクセス禁止に伴う期待損失値：Ｅ［Ｕ（Ａ１），Ｄ２］
Ｅ［Ｕ（Ａ１），Ｄ２］
＝Ｕ（Ａ１｜Ｘ１）Ｐ（Ｘ１｜Ｄ２）＋Ｕ（Ａ１｜Ｘ２）Ｐ（Ｘ２｜Ｄ２）
＝ｆｐ（）×Ｐ（Ｘ１｜Ｄ２）＋０×Ｐ（Ｘ２｜Ｄ２）
＝ｆｐ（）×Ｐ（Ｘ１｜Ｄ２）
・・・（式９）
【０１０８】
（Ｂ２）アクセス許可に伴う期待損失値：Ｅ［Ｕ（Ａ２），Ｄ２］
Ｅ［Ｕ（Ａ２），Ｄ２］
＝Ｕ（Ａ２｜Ｘ１）Ｐ（Ｘ１｜Ｄ２）＋Ｕ（Ａ２｜Ｘ２）Ｐ（Ｘ２｜Ｄ２）
＝０×Ｐ（Ｘ１｜Ｄ２）＋ｆｎ（）×Ｐ（Ｘ２｜Ｄ２）
＝ｆｎ（）×Ｐ（Ｘ２｜Ｄ２）
・・・（式１０）
【０１０９】
（式９）、（式１０）は、（式５）および（式６）で算出した事後確率Ｐ（Ｘ１｜Ｄ２）およびＰ（Ｘ２｜Ｄ２）を代入することで具体的数値を得ることができる。
【０１１０】
具体的な例として、図３に示すファイルＡ、すなわち、
Ｐ（Ｘ１）＝０．９
Ｐ（Ｘ２）＝０．１
すなわち、ファイルＡに対するアクセスが正当である初期確率は０．９であり、不正である初期確率は０．１であり、尤度が下記設定、
Ｐ（Ｄ１｜Ｘ１）＝０．９５
Ｐ（Ｄ１｜Ｘ２）＝０．０５
Ｐ（Ｄ２｜Ｘ１）＝０．１
Ｐ（Ｄ２｜Ｘ２）＝０．９
である。
【０１１１】
すなわち、ファイルＡに対する正当アクセスが観察される確率Ｐ（Ｄ１｜Ｘ１）＝０．９５、ファイルＡに対する不正アクセスが観察される確率Ｐ（Ｄ１｜Ｘ２）＝０．０５、ファイルＡに対する正当アクセスが観察されない確率Ｐ（Ｄ２｜Ｘ１）＝０．１、ファイルＡに対する不正アクセスが観察されない確率Ｐ（Ｄ２｜Ｘ２）＝０．９であるファイルＡに対する期待損失値を、図５に示す損失関数ｌｏｓｓ（Ａ｜Ｄ）、重み付け関数ω（ｆｐ）、ω（ｆｎ）の各設定で計算した結果としての事後確率Ｐ（Ｘ｜Ｄ）と、期待損失値Ｅ［Ｕ（Ａ），Ｄ］の各値を図６〜図８に示す。
【０１１２】
図６に示すように、
ファイルＡについて、
事象が観測（Ｄ＝Ｄ１）、すなわち、ファイルＡに対するアクセスが発生したことを観測できた場合において、
正当アクセスの事後確率Ｐ（Ｘ１｜Ｄ１）＝０．９８８４３９
不正アクセスの事後確率Ｐ（Ｘ２｜Ｄ１）＝０．０１１５６１
と算出される。
【０１１３】
このとき、ファイルＡに対応するフォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）の重み関数ω（ｆｐ）、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）の重み関数ω（ｆｎ）は、ａ〜ｃの３種類の設定態様、すなわち、
ａ．通常設定では、ω（ｆｐ）＝１、ω（ｆｎ）＝１
ｂ．低フォールスポジティブ優先設定では、ω（ｆｐ）＝３、ω（ｆｎ）＝１
ｃ．低フォールスネガティブ優先設定では、ω（ｆｐ）＝１、ω（ｆｎ）＝３
とした設定の各々についての期待損失値は、以下のように算出される。
【０１１４】
ａ．通常設定、ω（ｆｐ）＝１、ω（ｆｎ）＝１の場合、
アクセス禁止に伴う期待損失値：Ｅ［Ｕ（Ａ１），Ｄ１］＝−９８８４．３９
アクセス許可に伴う期待損失値：Ｅ［Ｕ（Ａ２），Ｄ１］＝−１１５．６０７
【０１１５】
ｂ．低フォールスポジティブ優先設定、ω（ｆｐ）＝３、ω（ｆｎ）＝１の場合、
アクセス禁止に伴う期待損失値：Ｅ［Ｕ（Ａ１），Ｄ１］＝−２９６５３．２
アクセス許可に伴う期待損失値：Ｅ［Ｕ（Ａ２），Ｄ１］＝−１１５．６０７
【０１１６】
ｃ．低フォールスネガティブ優先設定、ω（ｆｐ）＝１、ω（ｆｎ）＝３の場合、
アクセス禁止に伴う期待損失値：Ｅ［Ｕ（Ａ１），Ｄ１］＝−９８８４．３９
アクセス許可に伴う期待損失値：Ｅ［Ｕ（Ａ２），Ｄ１］＝−３４６．８２１
【０１１７】
これらの各期待損失値をグラフにして示した図が図７である。
【０１１８】
また、ファイルＡについて、
事象が観測されなかった（Ｄ＝Ｄ２）、すなわち、ファイルＡに対するアクセスが発生したことを観測できなかった場合において、
正当アクセスの事後確率Ｐ（Ｘ１｜Ｄ２）＝０．３３３３３３
不正アクセスの事後確率Ｐ（Ｘ２｜Ｄ２）＝０．６６６６６７
と算出される。
【０１１９】
このとき、期待損失値は、以下のように算出される。
ａ．通常設定、ω（ｆｐ）＝１、ω（ｆｎ）＝１の場合、
アクセス禁止に伴う期待損失値：Ｅ［Ｕ（Ａ１），Ｄ２］＝−３３３３．３３
アクセス許可に伴う期待損失値：Ｅ［Ｕ（Ａ２），Ｄ２］＝−６６６６．６６７
【０１２０】
ｂ．低フォールスポジティブ優先設定、ω（ｆｐ）＝３、ω（ｆｎ）＝１の場合、
アクセス禁止に伴う期待損失値：Ｅ［Ｕ（Ａ１），Ｄ２］＝−１０，０００
アクセス許可に伴う期待損失値：Ｅ［Ｕ（Ａ２），Ｄ２］＝−６６６６．６７
【０１２１】
ｃ．低フォールスネガティブ優先設定、ω（ｆｐ）＝１、ω（ｆｎ）＝３の場合、
アクセス禁止に伴う期待損失値：Ｅ［Ｕ（Ａ１），Ｄ２］＝−３３３３．３３
アクセス許可に伴う期待損失値：Ｅ［Ｕ（Ａ２），Ｄ２］＝−２０，０００
【０１２２】
これらの各期待損失値をグラフにして示した図が図８である。
【０１２３】
図２に示すセキュリティポリシ生成処理部２３０のアクセス判断処理部２３３は、期待損失値演算処理部２３２が計算したアクセス禁止／許可時の期待損失値を比較し、数値の大きい方（０に近い方）を、そのリソースに対するアクセスルールとして設定する。すなわち、アクセス禁止／許可の設定を行う。この選択結果が、リソースアクセスに与えるアクセス権となる。これらの設定は、リソース毎に行われる。
【０１２４】
セキュリティポリシ変換処理部２３４は、アクセス判断処理部２３３が計算したアクセス権および対象となるリソース指定から実際に利用するアクセス制御機構が用いる設定の形式に変換する処理を行なう。対象とするアクセス制御機構に対する条件は特にない。例として、アクセス制御機構として、ＬＩＤＳ（Ｌｉｎｕｘ  Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）を用いた時の出力結果を、以下に示す。
【０１２５】
ＬＩＤＳは設定にコマンド入力を必要とするため、セキュリティポリシ変換処理部はリソース毎のアクセス可否の結果をＬＩＤＳのコマンド入力の集合に変換し出力する。
【０１２６】
#!/bin/sh
# begin of security policy for LIDS
LIDSCONF=/sbin/lidsconf
$LIDSCONF -A -o /sbin -j READONLY
$LIDSCONF -A -o /bin -j READONLY
$LIDSCONF -A -o /boot -j READONLY
$LIDSCONF -A -o /lib -j READONLY
$LIDSCONF -A -o /usr -j READONLY
$LIDSCONF -A -o /etc -j READONLY
$LIDSCONF -A -o /etc/lids -j DENY
$LIDSCONF -A -o /etc/shadow -j DENY
$LIDSCONF -A -o /var/log -j APPEND
$LIDSCONF -A -o /var/log/wtmp -j WRITE
$LIDSCONF -A -s /bin/login -o /etc/shadow -j READONLY
$LIDSCONF -A -s /bin/su -o /etc/shadow -j READONLY
$LIDSCONF -A -s /bin/login -o /var/log/lastlog -j WRITE
$LIDSCONF -A -s /etc/rc.d/rc -o CAP_KILL_PROTECTED -j GRANT
$LIDSCONF -A -s /etc/rc.d/rc -o CAP_NET_ADMIN -j GRANT
$LIDSCONF -A -s /etc/rc.d/rc -o CAP_SYS_ADMIN -j GRANT
$LIDSCONF -A -s /etc/rc.d/init.d/halt -o CAP_KILL_PROTECTED -j GRANT
$LIDSCONF -A -s /etc/rc.d/init.d/halt -o CAP_SYS_ADMIN -j GRANT
$LIDSCONF -A -s /etc/rc.d/init.d/halt -o CAP_SYS_RAWIO -j GRANT
$LIDSCONF -A -s /etc/rc.d/init.d/halt -o CAP_NET_ADMIN -j GRANT
$LIDSCONF -A -s /usr/sbin/sshd -o /etc/shadow -j READONLY
$LIDSCONF -A -s /usr/sbin/sshd -o CAP_NET_BIND_SERVICE 22-22 -j GRANT
$LIDSCONF -A -s /usr/bin/ssh -o CAP_NET_BIND_SERVICE 0-1023 -j GRANT
$LIDSCONF -A -s /usr/bin/sudo -o /etc/shadow -j READONLY
$LIDSCONF -A -s /sbin/init -o /etc -j WRITE
$LIDSCONF -A  -o /var/lock/subsys -j WRITE
# end of security policy for LIDS
【０１２７】
上述したように、本発明のアクセス制御ルール生成処理では、リソースアクセスのトレースを取る手間を減らすために、少数のリソースアクセス結果から当該プログラムが行なうと思われる多数のリソースアクセスを推論する。さらに、リソースアクセスの可否を決めるために、アクセス許可したときの損失およびアクセス禁止したときの損失を表すパラメータ（効用関数）と、アクセスが不正／正当である確率の両方を用いている。これにより、アクセス可否の精度を高めると共にフォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）と、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）とのバランスも考慮することを可能にしている。
【０１２８】
次に、図９のフローチャートを参照して、本発明のアクセス制御ルール生成処理手順について説明する。各ステップの処理について説明する。まず、ステップＳ１０１において、アクセス制御ルール生成処理対象となるプログラムを実行し、プログラム実行においてアクセスしたリソースの履歴情報（プログラム実行トレース）を取得する。この処理は、図２の実行トレース解析処理部２１０のリソースアクセス記録処理部２１１において行う。
【０１２９】
次のステップＳ１０２〜Ｓ１０４では、パラメータ入力処理部におけるパラメータ入力の有無を判定するステップである。ステップＳ１０２，Ｓ１０３において、確率初期分布入力処理部２２１を介する初期確率および尤度の入力を確認する。これらの情報は、入力手段によるユーザ入力でもよく、あるいは予め記憶手段に格納されたデータの読み出しとして実行してもよい。ステップＳ１０４は、効用関数入力処理部２２２における効用関数ｆｐ（），ｆｎ（）の入力確認である。
【０１３０】
本方式における確率モデルを表現するためのパラメータ：Ｘ，Ｄ，Ａは、
Ｘ＝｛正当アクセス（Ｘ１），不正アクセス（Ｘ２）｝
Ｄ＝｛事象が観測できた（Ｄ１），事象が観測できない（Ｄ２）｝
Ａ＝｛アクセス禁止（Ａ１），アクセス許可（Ａ２）｝
であり、初期確率Ｐ（Ｘ）は、Ｐ（Ｘ１），Ｐ（Ｘ２）の２種類となり、尤度はＰ（Ｄ１｜Ｘ１），Ｐ（Ｄ１｜Ｘ２），Ｐ（Ｄ２｜Ｘ１），Ｐ（Ｄ２｜Ｘ２）の４種類となる。初期確率Ｐ（Ｘ１），Ｐ（Ｘ２）は、事前知識がない状態での各リソースに対応する不正アクセスの確率および正当アクセスでの確率を示す。尤度Ｐ（Ｄ１｜Ｘ１），Ｐ（Ｄ１｜Ｘ２），Ｐ（Ｄ２｜Ｘ１），Ｐ（Ｄ２｜Ｘ２）は、不正アクセスおよび正当アクセスの場合に実行トレース解析処理部２１０における推論処理において利用される各方式の事象が観測される条件付き確率を表す。
【０１３１】
また、効用関数ｆｐ（），ｆｎ（）は、フォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）のバランスを表す重み付け情報を示す関数である。
【０１３２】
ステップＳ１０２〜Ｓ１０４におけるパラメータ入力がすべて行われると、次に、リソースアクセス類推処理部はトレース結果からリソースアクセスの関連情報を、以下の方式、すなわち、
（１）プログラム実行トレース中にアクセスリソースとして記録されたアクセスファイルと同じディレクトリにあるファイルを関連性のあるファイルとして抽出する方式、
（２）プログラム実行トレース中にアクセスリソースとして記録されたアクセスファイルと同じ種別のファイルやデバイスを関連性のあるファイル、デバイスとして抽出する方式、
（３）プログラム実行トレース中にアクセスリソースとして記録されたネットワークポートと同じカテゴリにあるポートを抽出する方式、
これらの各方式のいずれかを適用する、あるいは組み合わせて適用する方法、総合的に適用して、アクセスルールを生成する各リソースについてのアクセスの有無を、プログラム実行トレースおよび関連性判断に基づいて設定する。
【０１３３】
リソースアクセス類推処理部２１２は、プログラム実行トレースおよび、上記のリソース関連性判断基準に基づいてアクセスルールを設定するリソース各々について、プログラム実行トレースにおいてアクセスがあったと判定すべきか否かを類推する処理を行う。プログラム実行トレースにおいて実際にアクセスされなかったデバイスやファイル等のリソースであったとしても、実際にアクセスされたデバイスやファイルとの関連性があると、リソースアクセス類推処理部２１２が判定すれば、プログラム実行トレースにおいてアクセスがあったとみなされることになる。関連性は、ディレクトリの共通性や、データ形式の共通性、カテゴリ共通性など、予め設定されており、リソースアクセス類推処理部２１２において、予め設定された情報に基づいて、アクセスルールを設定するリソースについて、プログラム実行トレースにおけるアクセス有無のいずれかが設定されることになる。
【０１３４】
次に、アクセスのあったと判定されたリソースについては、ステップＳ１０６に進み、アクセスがなかったと判定されたリソースについては、ステップＳ１０７に進む。
【０１３５】
アクセスルール設定対象とするリソースに対するアクセスがあった、すなわち事象観測に成功したと判定された場合には、ステップＳ１０６において、変数ＤにＤ１を設定（Ｄ＝Ｄ１）し、アクセスがなかった、すなわち事象観測ができなかったと判定した場合には、ステップＳ１０７において、変数ＤにＤ２を設定（Ｄ＝Ｄ２）する。
【０１３６】
次に、ステップＳ１０８において、図２に示すセキュリティポリシ生成処理部２３０の確率演算処理部２３１が、確率初期分布入力処理部２２１から受け取った初期確率分布、尤度と、リソースアクセス類推処理部２１２から受け取った変数Ｄを用いて事後確率Ｐ（Ｘｎ｜Ｄｎ）を計算する。
【０１３７】
この時、リソースアクセスあり、すなわち、事象観測された場合（Ｄ＝Ｄ１）には、前述した（式３）および（式４）を適用し、リソースアクセスなし、すなわち、事象観測されなかった場合（Ｄ＝Ｄ２）には、（式５）および（式６）を適用して事後確率Ｐ（Ｘｎ｜Ｄｎ）を算出する。
【０１３８】
事後確率が求まると、ステップＳ１０９において、期待損失値演算処理部２３２は効用関数入力処理部２２２から受け取った効用関数と確率演算処理部２３１から受け取った事後確率を用いて、期待損失値Ｅ［Ｕ（Ａｎ），Ｄｎ］を計算する。リソースアクセスあり、すなわち、事象観測された場合（Ｄ＝Ｄ１）には、前述した（式７）および（式８）を適用し、リソースアクセスなし、すなわち、事象観測されなかった場合（Ｄ＝Ｄ２）には、（式９）および（式１０）を適用して期待損失値Ｅ［Ｕ（Ａｎ），Ｄｎ］を算出する。
【０１３９】
期待損失値が求まると、ステップＳ１１０において、アクセス判断処理部２３３はアクセス禁止時の期待損失値とアクセス許可時の期待損失値を比較し、アクセス禁止時の期待損失値が大きい場合にはアクセス禁止を、アクセス許可時の期待損失値が大きい場合にはアクセス許可を、そのリソースに対するアクセスルールとして設定する選択を行う。
【０１４０】
ステップＳ１１３では、まだ、アクセス可否を決定すべきリソースが残っているか否かを判定し、残っているなら、ステップＳ１０５以下の処理を未処理リソースについて実行する。すべてのアクセスルール設定対象リソースについての処理が終了すると、（Ｓ１１３：Ｎｏ）。ステップＳ１１４に進み、セキュリティポリシ変換処理部２３４が、各リソースに対応して設定されたアクセス制御ルールに基づいて、アクセス制御情報として実際に利用するアクセス制御機構が理解できるデータ形式に変換する処理を実行してセキュリティポリシとして設定する。以上でアクセス制御ルール生成処理を終了する。
【０１４１】
図１０は、図２に示す３つの処理部、すなわち、実行トレース解析処理部２１０、パラメータ入力処理部２２０、およびセキュリティポリシ生成処理部２３０のそれぞれの処理手順および各処理部間のデータ入出力の対応を示す図である。
【０１４２】
図１０を参照して、各処理部それぞれの処理、および各処理部間の送受信データについて説明する。まず、ステップＳ２０１の処理は、実行トレース解析処理部２１０の処理である。実行トレース解析処理部２１０において、アクセスルールの生成処理対象となるプログラムを実行し、プログラムの実行トレース、すなわち、アクセスしたリソースの履歴情報を取得する。さらに、同一ディレクトリ等のリソース関連性判断基準と、記録したプログラムの実行トレースに基づいてリソース各々についてのアクセスの有無、すなわち事象発生の有無を判定する。この判定結果が、リソースアクセス推論結果として、セキュリティポリシ生成処理部に渡される。
【０１４３】
パラメータ入力処理部２２０では、ステップＳ２０２、Ｓ２０３のパラメータ入力処理が実行される。ステップＳ２０２では、各リソースに対応する初期確率Ｐ（Ｘ１），Ｐ（Ｘ２）および尤度Ｐ（Ｄ１｜Ｘ１），Ｐ（Ｄ１｜Ｘ２），Ｐ（Ｄ２｜Ｘ１），Ｐ（Ｄ２｜Ｘ２）の入力が行われる。さらに、ステップＳ２０３では、各リソースに対応する効用関数ｆｐ（），ｆｎ（）の入力が行われる。これらの入力された各パラメータ、すなわち初期確率、
尤度、効用関数は、セキュリティポリシ生成処理部に渡される。
【０１４４】
なお、ステップＳ２０１〜Ｓ２０３の処理は、そのシーケンスは固定ではなく、いずれが先に実行されてもよく、また並列に実行してもよい。
【０１４５】
セキュリティポリシ生成処理部２３０では、まず、ステップＳ２０４において、実行トレース解析処理部２１０から受領したリソースアクセス推論結果と、パラメータ入力処理部２２０から受領した初期確率Ｐ（Ｘ１），Ｐ（Ｘ２）および尤度Ｐ（Ｄ１｜Ｘ１），Ｐ（Ｄ１｜Ｘ２），Ｐ（Ｄ２｜Ｘ１），Ｐ（Ｄ２｜Ｘ２）に基づいて、事後確率Ｐ（Ｘｎ｜Ｄｎ）の算出が行われる。
【０１４６】
事後確率Ｐ（Ｘｎ｜Ｄｎ）の算出においては、リソースアクセス推論結果に基づいて、アクセスのあったと判定されたリソースについては、Ｄ＝Ｄ１として、前述した（式３）および（式４）を適用して算出する。リソースアクセス推論結果に基づいて、アクセスのなかったと判定されたリソースについては、Ｄ＝Ｄ２として、前述した（式５）および（式６）を適用して算出する。
【０１４７】
次に、ステップＳ２０５において、パラメータ入力処理部２２０から受領した効用関数と、ステップＳ２０４における確率演算処理ステップで算出した事後確率を用いて、期待損失値Ｅ［Ｕ（Ａｎ），Ｄｎ］を算出する。リソースアクセスあり、すなわち、事象観測された場合（Ｄ＝Ｄ１）には、前述した（式７）および（式８）を適用し、リソースアクセスなし、すなわち、事象観測されなかった場合（Ｄ＝Ｄ２）には、（式９）および（式１０）を適用して期待損失値Ｅ［Ｕ（Ａｎ），Ｄｎ］を算出する。
【０１４８】
次に、ステップＳ２０６においてアクセス禁止時の期待損失値とアクセス許可時の期待損失値を比較し、アクセス禁止時の期待損失値が大きい場合にはアクセス禁止を、アクセス許可時の期待損失値が大きい場合にはアクセス許可を、そのリソースに対するアクセスルールとして設定する。
【０１４９】
最後にステップＳ２０７において、リソースに対応して設定したアクセスルールをアクセス制御情報として実際に利用するアクセス制御機構が理解できるデータ形式に変換してセキュリティポリシとする。
【０１５０】
上述したように、本発明のアクセス制御ルール生成処理においては、プログラムの実行トレースと各リソースの関連性に基づいて、各リソース毎のアクセスの有無を判定し、該判定結果と、各リソース毎に予め設定されたアクセスの初期確率Ｐ（Ｘ１），Ｐ（Ｘ２）および、その尤度Ｐ（Ｄ１｜Ｘ１），Ｐ（Ｄ１｜Ｘ２），Ｐ（Ｄ２｜Ｘ１），Ｐ（Ｄ２｜Ｘ２）に基づいて、事後確率Ｐ（Ｘｎ｜Ｄｎ）、すなわち、正当アクセスの事後確率と、不正アクセスの事後確率を算出する。
【０１５１】
さらに、アクセスルールの適用対象、例えばプログラムや機器に応じて予め設定した効用関数、すなわち、損失（リスク）の大きさを表す値と、アクセスルールの適用対象に基づいたフォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）のバランスを表す重み付け係数から構成される関数に基づいて、アクセス禁止に伴う期待損失値と、アクセス許可に伴う期待損失値を算出する。
【０１５２】
効用関数は、例えば、
ａ．通常設定、ω（ｆｐ）＝１、ω（ｆｎ）＝１
ｂ．低フォールスポジティブ優先設定、ω（ｆｐ）＝３、ω（ｆｎ）＝１
ｃ．低フォールスネガティブ優先設定、ω（ｆｐ）＝１、ω（ｆｎ）＝３
これらのいずれかをアクセスルールの適用対象、例えばプログラムや機器に応じて選択して設定する。
【０１５３】
各リソース毎にアクセス禁止に伴う期待損失値と、アクセス許可に伴う期待損失値を算出すると、次に、これらの２つの期待損失値の比較を行い、アクセス禁止時の期待損失値が大きい場合にはアクセス禁止を、アクセス許可時の期待損失値が大きい場合にはアクセス許可を、そのリソースに対するアクセスルールとして設定する。
【０１５４】
本発明のアクセス制御ルール生成処理においては、上述した手法により各リソース毎のアクセスルールを設定する構成としたので、多くのリソースに対する最適なアクセスルールの自動設定を効率的に行うことが可能となる。また、効用関数の設定、すなわち、フォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）、フォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）のバランス設定をアクセスルールの適用対象に応じて変更設定することが可能であり、ルール適用環境に応じたアクセス制御ルールを設定することが可能となる。
【０１５５】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【産業上の利用可能性】
【０１５６】
以上、説明したように、本発明の構成によれば、情報家電等の様々な情報処理装置において、ユーザや、プログラム等、使用環境に応じた最適なアクセス制御ルールが効率的に生成可能となり、情報家電、ＰＣ等のさまざまな情報処理装置に搭載するアクセス制御ルールを持つセキュリティポリシの生成装置、生成方法としての適用が可能であり、本発明に従って生成したアクセスルールを持つセキュリティポリシは、情報家電、ＰＣ等のさまざまな情報処理装置に搭載することができる。
【図面の簡単な説明】
【０１５７】
【図１】アクセス制御機構を持つ情報処理装置構成およびアクセス制御処理について説明する図である。
【図２】本発明のアクセス制御ルール生成装置の構成を示すブロック図である。
【図３】本発明のアクセス制御ルール生成処理に適用するリソースごとの初期確率および尤度データ例について示す図である。
【図４】フォールスポジティブとフォールスネガティブのバランスについて説明する図である。
【図５】本発明のアクセス制御ルール生成処理に適用する効用関数、損失関数についての例を示す図である。
【図６】本発明のアクセス制御ルール生成処理において算出する事後確率、期待損失値の例について説明する図である。
【図７】本発明のアクセス制御ルール生成処理において算出する期待損失値の例（事象観測あり）を示すグラフである。
【図８】本発明のアクセス制御ルール生成処理において算出する期待損失値の例（事象観測なし）を示すグラフである。
【図９】本発明のアクセス制御ルール生成処理における処理手順を説明するフロー図である。
【図１０】本発明のアクセス制御ルール生成処理における各処理部の処理を説明する図である。
【符号の説明】
【０１５８】
１１０，１２０，１３０  プログラム
１１１，１２１，１３１  プログラム対応アクセス制御部
１５０  オペレーティングシステム
１５１  ＯＳ側アクセス制御部
１５２  デバイス
１５３  ネットワークソケット
１５４  ファイル
２１０  実行トレース解析処理部
２１１  リソースアクセス記録処理部
２１２  リソースアクセス類推処理部
２２０  パラメータ入力部
２２１  確立初期分布入力処理部
２２２  効用関数入力処理部
２３０  セキュリティポリシ生成処理部
２３１  確率演算処理部
２３２  期待損失演算処理部
２３３  アクセス判断処理部
２３４  セキュリティポリシ変換処理部
【図１】
2005044243.tif 000003
【図２】
2005044243.tif 000004
【図３】
2005044243.tif 000005
【図４】
2005044243.tif 000006
【図５】
2005044243.tif 000007
【図６】
2005044243.tif 000008
【図７】
2005044243.tif 000009
【図８】
2005044243.tif 000010
【図９】
2005044243.tif 000011
【図１０】
2005044243.tif 000012