(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、本願の実施形態の一例のアクセス制御装置、アクセス制御方法およびアクセス制御プログラムの実施形態を説明する。なお、以下の実施形態は、一例を示すに過ぎず、本願を限定するものではない。以下の各実施形態において、既出の同一構成および同一処理については、説明を省略する。また、以下に示す各実施形態は、矛盾しない範囲で適宜組合せることができる。
【0013】
[実施形態1]
(ファイルと、依存プロセスと、アクセス元プロセスとの関係)
実施形態1の説明に先立ち、ファイルのアクセス制御について説明する。
図1は、ファイルと、依存プロセスと、アクセス元プロセスとの関係の一例を示す図である。
図1では、アクセス元プロセス、ファイルF、依存プロセスは、オペレーティングシステムにより管理されているとする。なお、
図1は、あくまで一例を示すに過ぎず、アクセス元プロセス、ファイルF、依存プロセスそれぞれの数、ファイルアクセスの関係、依存関係は、図示のものに限られない。
【0014】
図1に例示するファイルFは、データファイル、設定ファイル、プログラムファイル、スクリプトファイル等である。プログラムファイルは、実行ファイル、ライブラリファイル等である。ここで、ファイルFが「ファイルデータ完全性V1」を有するとは、ファイルFのファイルデータのダイジェスト値(例えばハッシュ値)と、事前定義したファイルFの参照ダイジェスト値とが一致することをいう。
【0015】
また、
図1に例示する依存プロセスは、依存プロセスの動作の正当性(以下、「依存プロセス完全性」という)が、当該依存プロセスが依存関係にあるファイルFの「ファイルデータ完全性V1」に依存するプロセスである。依存プロセスは、アプリケーションプロセス、オペレーティングシステム、インタプリタプロセス等である。
【0016】
例えば、依存プロセスは、依存プロセス完全性が、アプリケーションプロセスの実行ファイルであるファイルFの「ファイルデータ完全性V1」に依存する、当該アプリケーションプロセスである。また、例えば、依存プロセスは、依存プロセス完全性が、アプリケーションプロセスのライブラリファイルであるファイルFの「ファイルデータ完全性V1」に依存する、当該アプリケーションプロセスである。
【0017】
また、例えば、依存プロセスは、依存プロセス完全性が、アプリケーションプロセスへの入力データのデータファイルであるファイルFの「ファイルデータ完全性V1」に依存する、当該アプリケーションプロセスである。また、例えば、依存プロセスは、依存プロセス完全性が、アプリケーションプロセスの設定ファイルであるファイルFの「ファイルデータ完全性V1」に依存する、当該アプリケーションプロセスである。依存プロセスは、オペレーティングシステムを介して、依存プロセスの実行ファイルパス等によって識別される。
【0018】
また、
図1に例示するアクセス元プロセスは、ファイルFに対してアクセスするプロセスである。アクセス元プロセスは、依存プロセス同様、アプリケーションプロセス、オペレーティングシステム、インタプリタプロセス等である。
【0019】
例えば、アクセス元プロセスは、データファイルであるファイルFを参照または更新するアプリケーションプロセスである。また、例えば、アクセス元プロセスは、設定ファイルであるファイルFを参照するアプリケーションプロセスである。また、例えば、アクセス元プロセスは、プログラムファイルであるファイルFを実行するオペレーティングシステムである。また、例えば、アクセス元プロセスは、スクリプトファイルであるファイルFを実行するインタプリタプロセスである。
【0020】
ここで、アクセス元プロセスが「アクセス元プロセス完全性V2」を有するとは、アクセス元プロセスがファイルFに対してファイルアクセスが許可されているプロセスとしてプロセスACL(Access Control List)に登録されており、かつ、当該アクセス元プロセスが依存関係にあるファイルが「ファイルデータ完全性V1」を有することをいう。アクセス元プロセスは、オペレーティングシステムを介して、アクセス元プロセスの実行ファイルパス等によって識別される。
図1において、アクセス元プロセスが依存関係にあるファイルは、不図示のファイルである。
【0021】
ここで、アクセス元プロセスが「アクセス元プロセス完全性V2」を有さない場合、アクセス元プロセスによるファイルFへのファイルアクセスの結果、ファイルFが「ファイルデータ完全性V1」を有さなくなるおそれが生じる。また、ファイルFが「ファイルデータ完全性V1」を有さない場合、依存プロセスが、アクセス元プロセスとして振る舞う際の「アクセス元プロセス完全性V2」も有さなくなるおそれが生じる。このように、「ファイルデータ完全性V1」および「アクセス元プロセス完全性V2」は、再帰的に伝播していく。
【0022】
(アクセス制御判定)
そこで、実施形態1では、アクセス元プロセスがファイルFに対してファイルアクセスを開始し、かつ、ファイルFの参照または更新が未実施の状態が検知された時点で、当該アクセス元プロセスのファイルアクセスを一時停止させて、「アクセス制御V4」の判定を行う。アクセス元プロセスがファイルFに対してファイルアクセスを開始したとは、例えば、アクセス元プロセスがオペレーティングシステムに対してファイルFのオープンを指示したことや、オペレーティングシステムによるファイルFの起動イベントを検知したことをいう。「アクセス制御V4」の判定は、「ファイルデータ完全性V1」、「アクセス元プロセス完全性V2」、「アクセス完全性V3」の各判定を含む。
【0023】
ファイルFの「ファイルデータ完全性V1」の判定では、ファイルFのファイルデータのダイジェスト値を算出し、算出したダイジェスト値と、事前定義しておいた当該ファイルデータの参照ダイジェスト値とが一致するか否かを判定する。ファイルFのダイジェスト値と、参照ダイジェスト値とを比較した結果、両者が一致する場合、ファイルFの「ファイルデータ完全性V1」の判定結果をOKと判定し、両者が一致しない場合、ファイルFの「ファイルデータ完全性V1」の判定結果をNGと判定する。
【0024】
なお、「ファイルデータ完全性V1」の判定は、ファイルFがプログラムファイル等、ファイルデータが更新されず固定である“データ固定ファイル”である場合に実行され、ログファイル等、ファイルデータが更新される“データ変動ファイル”である場合には実行されない。
【0025】
「アクセス元プロセス完全性V2」の判定では、アクセス元プロセスがファイルFに対してファイルアクセスが許可されているプロセスとしてプロセスACLに登録されており、かつ、当該アクセス元プロセスが依存関係にあるファイルの「ファイルデータ完全性V1」の判定結果がOKであるか否かを判定する。アクセス元プロセスがプロセスACLに登録されており、かつ、当該アクセス元プロセスが依存関係にあるファイルの「ファイルデータ完全性V1」の判定結果がOKである場合、アクセス元プロセスの「アクセス元プロセス完全性V2」の判定結果をOKと判定する。一方、アクセス元プロセスがプロセスACLに登録されていない、または、当該アクセス元プロセスが依存関係にあるファイルの「ファイルデータ完全性V1」の判定結果がNGである場合、アクセス元プロセスの「アクセス元プロセス完全性V2判定」の判定結果をNGと判定する。
【0026】
「アクセス完全性V3」の判定では、「ファイルデータ完全性V1」および「アクセス元プロセス完全性V2」の判定結果がともにNGでない場合、アクセス元プロセスによるファイルFに対するファイルアクセスの「アクセス完全性V3」の判定結果をOK(安全)と判定する。一方、「ファイルデータ完全性V1判定」または「アクセス元プロセス完全性V2判定」の判定結果のいずれかがNGの場合、アクセス元プロセスによるファイルFに対するファイルアクセスの「アクセス完全性V3」の判定結果をNG(危険)と判定する。
【0027】
そして、実施形態1では、「制御フラグ」に応じて「アクセス制御V4」を行う。「制御フラグ」は、ファイルFごとに設定される、「ファイルデータ完全性V1」または「アクセス元プロセス完全性V2」の判定結果のいずれかがNGであった場合の動作モードを指定する。「制御フラグ」が指定する動作モードには、“記録モード”および“遮断モード”がある。
【0028】
“記録モード”では、「ファイルデータ完全性V1」および「アクセス元プロセス完全性V2」の各判定結果を記録して、アクセス元プロセスによるファイルFに対するファイルアクセスを許可する。“遮断モード”では、アクセス元プロセスのファイルFに対するファイルアクセスを遮断する。“遮断モード”または“記録モード”をファイルFごとに設定することによって、柔軟なファイルアクセスの制御および管理が可能になる。
【0029】
なお、“遮断モード”は、“記録モード”よりセキュリティ的に安全であるが、事後的にリスク分析するケースも多いことから、“遮断モード”あっても、アクセス元プロセスのファイルFに対するファイルアクセスを遮断しつつ、「ファイルデータ完全性V1」および「アクセス元プロセス完全性V2」の各判定結果を記録してもよい。
【0030】
「アクセス制御V4」の判定では、「アクセス完全性V3」の判定結果および「制御フラグ」に基づいて、一時停止していたアクセス元プロセスのファイルFに対するファイルアクセスの“許可”または“遮断”を判定する。「アクセス制御V4」の判定では、「アクセス完全性V3」の判定結果がOK、または、「制御フラグ」が“記録モード”の場合、アクセス元プロセスによるファイルFに対するファイルアクセスを“許可”と判定する。また、「アクセス制御V4」では、「アクセス完全性V3」の判定結果がNG、かつ、「制御フラグ」が“遮断モード”の場合、アクセス元プロセスによるファイルFに対するファイルアクセスを“遮断”と判定する。
【0031】
(制御フラグと、ファイルデータ完全性およびアクセス元プロセス完全性との関係)
図2は、制御フラグと、ファイルデータ完全性およびアクセス元プロセス完全性との関係の一例を示す図である。なお、ファイルFが“データ固定ファイル”である場合、プログラムファイル等のデータが更新されないファイルであるので、ダイジェスト値が固定値であり、「ファイルデータ完全性V1」が判定できる。一方、ファイルFが“データ変動ファイル”である場合、ログファイル等のデータが更新されるファイルであるので、ダイジェスト値が固定値でなく、「ファイルデータ完全性V1」が判定できない。
【0032】
図2(a)に示すように、「制御フラグ」“記録モード”の場合であって、「ファイルデータ完全性V1」の判定結果がNGの場合、ファイルFの分類が“データ固定ファイル”であると、“依存プロセスの完全性にリスク”が存在することになる。“依存プロセスの完全性にリスク”が存在するとは、ファイルFの不完全性リスクが、依存プロセスへと伝播するおそれがあることをいう。
【0033】
また、「制御フラグ」“記録モード”の場合であって、「アクセス元プロセス完全性V2」の判定結果がNGの場合、ファイルFの分類が“データ固定ファイル”であると、“ファイルFの完全性にリスク”が存在することになる。“ファイルFの完全性にリスク”が存在するとは、アクセス元プロセスの不完全性リスクが、ファイルFへと伝播するおそれがあることをいう。
【0034】
また、
図2(a)に示すように、「制御フラグ」“記録モード”の場合であって、ファイルFの分類が“データ変動ファイル”であると、ファイルデータの完全性V1は判定できないため、ファイルデータV1の完全性がNGのケースは存在しない。また、「制御フラグ」“記録モード”の場合であって、「アクセス元プロセス完全性V2」の判定結果がNGの場合、ファイルFの分類が“データ変動ファイル”であると、“ファイルFの完全性にリスク”が存在するとともに、“依存プロセスの完全性にリスク”が存在することになる。
【0035】
なお、
図2(a)において、「制御フラグ」“記録モード”の場合であって、“データ固定ファイル”であるファイルFに対する「アクセス元プロセス完全性V2」の判定結果がNGであっても、ファイルFに対する次回のアクセスを検知するまでは、ファイルFにアクセスするプロセスが存在しないため、ファイルFの“依存プロセスの完全性にリスク”は生じない。以降のファイルFに対するアクセス時に、ファイルFの「ファイルデータ完全性V1判定」の判定結果がNGと判定されれば、“依存プロセスの完全性にリスク”が生じる。また、
図2(a)において、“データ変動ファイル”であるファイルFに対する「アクセス元プロセス完全性V2」の判定結果がNGであった場合、その時点でファイルFの“依存プロセスの完全性にリスク”が生じる。
【0036】
また、
図2(b)に示すように、「制御フラグ」“遮断モード”の場合であって、「ファイルデータ完全性V1」の判定結果がNGの場合は、ファイルFの分類が“データ固定ファイル”であると、“依存プロセスの完全性を保護”することになる。また、「制御フラグ」“遮断モード”の場合であって、「アクセス元プロセス完全性V2」の判定結果がNGの場合は、ファイルFの分類が“データ固定ファイル”であると、“ファイルFの完全性を保護”することになる。
【0037】
また、
図2(b)に示すように、「制御フラグ」“遮断モード”の場合であって、ファイルFの分類が“データ変動ファイル”であると、ファイルデータの完全性V1は判定できないため、ファイルデータV1の完全性がNGのケースは存在しない。また、「制御フラグ」“遮断モード”の場合であって、「アクセス元プロセス完全性V2」の確認結果がNGの場合は、ファイルFの分類が“データ変動ファイル”であると、“ファイルFの完全性を保護”するとともに、“依存プロセスの完全性を保護”することになる。
【0038】
(ファイルおよびプロセスの再帰的な完全性確認)
図3は、ファイルおよびプロセスの再帰的な完全性確認の一例を示す図である。
図3の例示では、「監視対象ファイル」“ファイル6”に対して、「監視対象ファイルを依存対象とするプロセス」、「監視対象ファイルの許可プロセス」がある。「監視対象ファイルを依存対象とするプロセス」は、“プロセス(AP4)”“プロセス(AP5)”である。APは、Application(アプリケーション)の略である。また、「監視対象ファイルの許可プロセス」は、“プロセス(AP2)”“プロセス(AP3)”である。
【0039】
また、「監視対象ファイルの許可プロセス」に対して、「監視対象ファイルの許可プロセスの依存対象ファイル」がある。「監視対象ファイルの許可プロセスの依存対象ファイル」は、“ファイル2”〜“ファイル5”がある。
【0040】
また、「監視対象ファイルの許可プロセスの依存対象ファイル」に対して、「監視対象ファイルの許可プロセスの依存対象ファイルの許可プロセス」がある。「監視対象ファイルの許可プロセスの依存対象ファイルの許可プロセス」は、“プロセス(AP1)”がある。
【0041】
また、「監視対象ファイルの許可プロセスの依存対象ファイルの許可プロセス」に対して「監視対象ファイルの許可プロセスの依存対象ファイルの許可プロセスの依存対象ファイル」がある。「監視対象ファイルの許可プロセスの依存対象ファイルの許可プロセスの依存対象ファイル」は、“ファイル1”である。
【0042】
“ファイル1”は、“プロセス(AP1)”が依存する、AP1の実行ファイル(AP1実行ファイル)である。なお、“ファイル1”は、ファイルアクセス時に、「ファイルデータ完全性V1」、「アクセス元プロセス完全性V2」、「アクセス完全性V3」の各判定が実行される。
【0043】
“プロセス(AP1)”は、“ファイル1”が実行されることにより動作するプロセスである。すなわち、“プロセス(AP1)”は、“ファイル1”に依存関係にある。“プロセス(AP1)”は、実行時に、“ファイル3”および“ファイル4”にファイルアクセスする。
【0044】
“ファイル2”は、“プロセス(AP2)”の実行ファイルである。“ファイル3”は、“プロセス(AP2)”のライブラリファイルである。“ファイル4”は、“プロセス(AP2)”の入力データのファイルであるとともに、“プロセス(AP1)”の出力データのファイルである。すなわち、“プロセス(AP1)”の出力データは、“プロセス(AP2)”の入力データである。また、“ファイル5”は、“プロセス(AP3)”の実行ファイルである。これら“ファイル2”〜“ファイル3”、“ファイル5”は、“データ固定ファイル”であるため、ファイルアクセス時に、「ファイルデータ完全性V1」、「アクセス元プロセス完全性V2」、「アクセス完全性V3」の各判定が実行される。また、“ファイル4”は、“データ変動ファイル”であるため、ファイルアクセス時に、「ファイルデータ完全性V1」の判定は実行されず、「アクセス元プロセス完全性V2」、「アクセス完全性V3」の各判定が実行される。
【0045】
“プロセス(AP2)”は、“ファイル2”および“ファイル3”が実行され、“ファイル4”を入力データのファイルとすることにより動作するプロセスである。すなわち、“プロセス(AP2)”は、“ファイル2”〜“ファイル4”に依存関係にある。“プロセス(AP2)”は、実行時に、“ファイル6”にファイルアクセスし、プロセス(AP1)の出力データを“ファイル6”へ出力する。また、プロセス(AP3)”は、“ファイル5”が実行されることにより動作するプロセスである。すなわち、“プロセス(AP3)”は、“ファイル5”に依存関係にある。“プロセス(AP3)”は、実行時に、“ファイル6”にファイルアクセスする。
【0046】
“ファイル6”は、“プロセス(AP1)”の出力データである。“ファイル6”は、“データ変動ファイル”であるため、ファイルアクセス時に、「ファイルデータ完全性V1」の判定は実行されず、「アクセス元プロセス完全性V2」、「アクセス完全性V3」の各判定が実行される。“プロセス(AP4)”および“プロセス(AP5)”は、“ファイル6”と依存関係にあるプロセスである。
【0047】
このように、“ファイル1”の「ファイルデータ完全性V1」の有無が、“プロセス(AP1)”→“ファイル3”および“ファイル4”と伝播するが、“ファイル1”が改ざんされた際、“遮断モード”の場合には、“ファイル3”および“ファイル4”、ならびに以降の“プロセスAP2”、“ファイル6”は、改ざんによる“ファイル1”の「ファイルデータ完全性V1」の喪失の影響から遮断される。一方、“ファイル1”の“記録モード”の場合には、“ファイル1”を起点に“プロセス(AP2)”まで、「ファイルデータ完全性V1」の喪失が連鎖して伝播することが記録される。この記録をもとに、“ファイル6”の「アクセス制御V4」を実行することができる。
【0048】
(実施形態1のアクセス制御装置)
図4は、実施形態1のアクセス制御装置の構成の一例を示す図である。実施形態1のアクセス制御装置10は、ファイル管理システム20と接続される。ファイル管理システム20では、オペレーティングシステム上で、アクセス元プロセスP1が動作し、アクセス対象ファイルF1へアクセスする。
【0049】
アクセス制御装置10は、記憶部11、制御部12、入出力部13、アクセス検知・制御部14、データ取得部15、ファイルデータ完全性判定部16、アクセス元プロセス完全性判定部17、不完全プロセスリスト管理部18、アクセス制御判定部19を有する。
【0050】
(記憶部が記憶する情報)
図5は、実施形態1のアクセス対象ファイルリストと、プロセスACLと、依存プロセスリストと、不完全プロセスリストの一例を示す図である。
図6は、実施形態1における判定結果リストの一例を示す図である。記憶部11は、磁気記憶装置または半導体記憶装置等の記憶装置である。
【0051】
図5に示すように、記憶部11は、初期設定されるデータとして、アクセス対象ファイルリストL1、アクセス対象ファイルリストL1の1レコードごとのリスト群L2、リスト群L2から生成される不完全プロセスリストL3を格納する。また、リスト群L2ぞれぞれは、ファイルパスL2−1、プロセスACL_L2−2、依存プロセスリストL2−3を含む。また、記憶部11は、判定結果リストL4を格納する。アクセス対象ファイルリストL1、リスト群L2、不完全プロセスリストL3、判定結果リストL4は、ファイル、DBMS(Data Base Management System)、あるいはプログラムのメモリ領域などに記録され、参照および更新される。
【0052】
アクセス対象ファイルリストL1は、「ファイルパス」「参照ダイジェスト値」「アクセス元プロセス完全性判定フラグ」「制御フラグ」の項目を有する。「ファイルパス」は、ファイル管理システム20におけるアクセス元プロセスP1のアクセス対象ファイルF1のファイルパスである。
【0053】
「参照ダイジェスト値」は、アクセス対象ファイルF1の「ファイルデータ完全性V1」を判定するためのアクセス対象ファイルF1の参照ダイジェスト値であり、アクセス対象ファイルF1のファイルデータをSHA-256等のhash関数で変換した値である。なお、アクセス対象ファイルF1が、ログファイル等のデータが変更または更新されるファイルである場合には、「参照ダイジェスト値」は定義されない。
【0054】
「アクセス元プロセス完全性判定フラグ」は、ファイル管理システム20におけるアクセス対象ファイルF1の「アクセス元プロセス完全性V2」を判定する場合は“YES”、判定しない場合は“NO”がセットされる。なお、アクセス対象ファイルF1が、「参照ダイジェスト値」が定義されないログファイル等のデータが変更または更新されるファイルである場合には、「アクセス元プロセス完全性判定フラグ」“YES”がセットされることが必須である。
【0055】
「制御フラグ」“遮断モード”は、「ファイルデータ完全性V1」および「アクセス元プロセス完全性V2」のいずれかの判定結果がNGであれば、アクセス対象ファイルF1に対するファイルアクセスを遮断する制御を行う動作モードである。また、「制御フラグ」“記録モード”は、「ファイルデータ完全性V1」および「アクセス元プロセス完全性V2」のいずれかの判定結果がNGであっても、アクセス対象ファイルF1に対するファイルアクセスを遮断せずに許可し、「ファイルデータ完全性V1」および「アクセス元プロセス完全性V2」の判定結果を記録する制御を行う動作モードである。
【0056】
例えば、アクセス対象ファイルリストL1において、「ファイルパス」“d1/d2/f1”のアクセス対象ファイルF1は、「参照ダイジェスト値」が“f1のhash値”であり、「アクセス元プロセス完全性判定フラグ」が“YES”であり、「制御フラグ」が“遮断モード”である。
【0057】
なお、アクセス対象ファイルリストL1における「アクセス対象ファイルF1」は、ファイル管理システム20上の全てのファイルではなく、ファイル管理システム20上のファイルのうちの、保護対象であるアクセス先ファイルおよびこれらに対するアクセス元プロセスの依存対象ファイルである。
【0058】
そして、アクセス対象ファイルリストL1の「ファイルパス」“d1/d2/f1”のレコードに対応するリスト群L2は、“d1/d2/f1”を格納するファイルパスL2−1、プロセスACL_L2−2、依存プロセスリストL2−3を含む。プロセスACL_L2−2は、アクセス対象ファイルF1ごとのリストであり、「ファイルパス」“d1/d2/f1”のアクセス対象ファイルF1に対してアクセスを許可するアクセス元プロセスP1の実行ファイルが格納されるファイルパスのリストである。また、依存プロセスリストL2−3は、アクセス対象ファイルF1ごとのリストであり、アクセス対象ファイルF1に対して動作の正当性を依存する依存プロセスの実行ファイルが格納されるファイルパスのリストである。
【0059】
例えば、プロセスACL_L2−2において、「ファイルパス」“d1/d2/f1”のアクセス対象ファイルF1へのファイルアクセスが許可されている「許可プロセスの実行ファイルパス」は、“d1/d2/f1”“d1/d4/f5”“d1/d5/f7”・・・である。また、依存プロセスリストL2−3において、「ファイルパス」“d1/d2/f1”のアクセス対象ファイルF1に対して動作の正当性を依存する「依存プロセスの実行ファイルパス」は、“d1/d2/f1”“d1/d4/f5”・・・である。
【0060】
不完全プロセスリストL3は、全てのリスト群L2で共有されるリストとして、不完全プロセスリスト管理部18により生成され、更新される。不完全プロセスリストL3は、依存プロセスリストL2−3にファイルパスが登録されている依存プロセスのうち、依存プロセスの完全性を損なっているリスクがあるプロセスの実行ファイルパスを記録するリストである。“依存プロセスの完全性を損なっている”とは、依存プロセスが依存する依存対象ファイルの「ファイルデータ完全性V1」が損なわれていることをいう。不完全プロセスリストL3は、「アクセス元プロセス完全性V2」の判定の際に、プロセスACL_L2−2とともに参照される。
【0061】
すなわち、アクセス対象ファイルF1にアクセスするアクセス元プロセスP1の実行ファイルのファイルパスが、プロセスACL_L2−2に登録されており、不完全プロセスリストL3に登録されていない場合に、「アクセス元プロセス完全性V2」の判定結果がOKと判定される。一方、アクセス対象ファイルF1にアクセスするアクセス元プロセスP1の実行ファイルのファイルパスが、プロセスACL_L2−2に登録されていない、または、不完全プロセスリストL3に登録されている場合に、「アクセス元プロセス完全性V2」の判定結果がNGと判定される。
【0062】
また、不完全プロセスリストL3は、アクセス対象ファイルF1の「ファイルデータ完全性V1」の判定結果がNGであり、かつ、アクセス対象ファイルF1の「制御フラグ」“記録モード”である場合に、依存プロセスリストL2−3に登録されている依存プロセスの実行ファイルパスが追加される。
【0063】
判定結果リストL4は、一時停止中のファイルアクセスに対する、判定結果の記録の一時保管データを記録するために自動生成され、更新される。判定結果リストL4には、アクセス対象ファイルF1の「ファイルデータ完全性V1」の判定結果、「アクセス元プロセス完全性V2」の判定結果が記録される。そして、判定結果リストL4には、「ファイルデータ完全性V1」および「アクセス元プロセス完全性V2」の判定結果がともにNGでない場合、「アクセス完全性V3」の判定結果OKが記録され、「ファイルデータ完全性V1」および「アクセス元プロセス完全性V2」の少なくともいずれかの判定結果がNGである場合、「アクセス完全性V3」の判定結果NGが記録される。
【0064】
また、判定結果リストL4には、「アクセス完全性V3」の判定結果がOK、または、「制御フラグ」が“記録モード”のとき、「アクセス制御V4」“許可”の判定結果が記録される。一方、判定結果リストL4には、「アクセス完全性V3」の判定結果がNG、かつ、「制御フラグ」が“遮断モード”のとき、「アクセス制御V4」“遮断”の判定結果が記録される。
【0065】
図4の説明に戻る。制御部12は、CPU(Central Processing Unit)等の処理装置であり、アクセス制御装置10の全体制御を行う。制御部12は、記憶部11、入出力部13、アクセス検知・制御部14、データ取得部15、ファイルデータ完全性判定部16、アクセス元プロセス完全性判定部17、不完全プロセスリスト管理部18、アクセス制御判定部19を制御する。
【0066】
入出力部13は、アクセス対象ファイルリストL1、アクセス対象ファイルリストL1に登録されている全ての「ファイルパス」に対応するファイルパスL2−1、プロセスACL_L2−2、依存プロセスリストL2−3を含むリスト群L2を登録するためのインターフェースを提供する。具体的には、入出力部13は、入力に関しては、アクセス対象ファイルリストL1、ファイルパスL2−1、プロセスACL_L2−2、依存プロセスリストL2−3を含むリスト群L2のデータを記載した入力データを、オペレータが入力するためのユーザインターフェースにより実現される。入出力部13は、出力に関しては、出力データをログファイルとして出力、あるいは、出力データを表示するユーザインターフェースにより実現される。
【0067】
アクセス検知・制御部14は、ファイル管理システム20上で、例えば、アクセス元プロセスP1がアクセス対象ファイルF1をopenし、かつ、アクセス対象ファイルF1のファイルデータへのアクセスが未実施の状態を検知し、当該ファイルアクセスを一時停止させる。そして、アクセス検知・制御部14は、アクセス元プロセスIDおよびアクセス対象ファイルパスを制御部12へ送信する。
【0068】
そして、アクセス検知・制御部14は、「アクセス制御V4」が“許可”のとき、ファイルアクセス検知で一時停止していたファイルアクセスを許可して一時停止を解除する。また、アクセス検知・制御部14は、「アクセス制御V4」が“遮断”のとき、ファイルアクセス検知で一時停止していたファイルアクセスを遮断する。アクセス検知・制御部14は、例えば、Linux(登録商標、以下同様)のAPI(Application Programming Interface)であるfanotifyを用いて、Linuxファイルシステム上のファイルアクセスについてアクセス検知および制御を実施することができる。また、別の例としては、オペレーティングシステムがプログラムを実行するために、プログラムファイルにアクセスする契機を検知し、制御することができる。
【0069】
データ取得部15は、アクセス元プロセスIDを制御部12から受信し、アクセス元プロセスP1の実行ファイルパスを制御部12へ入力する。そして、データ取得部15は、アクセス対象ファイルF1のファイルデータを取得し、制御部12へ入力する。データ取得部15の機能は、オペレーティングシステムの機能を利用することで実現できる。
【0070】
ファイルデータ完全性判定部16は、記憶部11のアクセス対象ファイルリストL1において、アクセス対象ファイルF1のファイルパスに対応する参照ダイジェスト値が定義されている場合、すなわちアクセス対象ファイルF1が“データ固定ファイル”である場合、アクセス対象ファイルF1のファイルデータのダイジェスト値を算出し、算出したダイジェスト値と参照ダイジェスト値を比較する。そして、ファイルデータ完全性判定部16は、比較結果が一致する場合には「ファイルデータ完全性V1」の判定結果をOKと判定し、一致しない場合には「ファイルデータ完全性V1」の判定結果をNGと判定する。なお、ファイルデータ完全性判定部16は、アクセス対象ファイルF1が“データ変動ファイル”である場合、アクセス対象ファイルF1のファイルパスに対応する参照ダイジェスト値が定義されておらず、「ファイルデータ完全性V1」の判定を行わないので、判定結果は存在せず、判定結果を“NA”とする。
【0071】
アクセス元プロセス完全性判定部17は、「アクセス対象ファイルF1のプロセスACL_L2−2に、アクセス元プロセスP1の実行ファイルパスの記載があり、かつ、不完全プロセスリストL3にアクセス元プロセスP1の実行ファイルパスの記載がないこと」の真偽を判定する。アクセス元プロセス完全性判定部17は、「アクセス対象ファイルF1のプロセスACL_L2−2に、アクセス元プロセスP1の実行ファイルパスの記載があり、かつ、不完全プロセスリストL3にアクセス元プロセスP1の実行ファイルパスの記載がないこと」が真であれば、「アクセス元プロセス完全性V2」の判定結果をOKと判定する。
【0072】
一方、アクセス元プロセス完全性判定部17は、「アクセス対象ファイルF1のプロセスACL_L2−2に、アクセス元プロセスP1の実行ファイルパスの記載があり、かつ、不完全プロセスリストL3にアクセス元プロセスP1の実行ファイルパスの記載がないこと」が偽であれば、「アクセス元プロセス完全性V2」の判定結果をNGと判定する。
【0073】
不完全プロセスリスト管理部18は、「アクセス対象ファイルF1の「ファイルデータ完全性V1」が判定結果NGであり、かつ、アクセス対象ファイルF1の「制御フラグ」が“記録モード”である」とき、アクセス対象ファイルF1の依存プロセスリストL2−3に記載されている実行ファイルパスを、不完全プロセスリストL3に追加する。
【0074】
アクセス制御判定部19は、ファイルデータ完全性判定部16による「ファイルデータ完全性V1」の判定結果、および、アクセス元プロセス完全性判定部17による「アクセス元プロセス完全性V2」の判定結果がともにNGでない場合、「アクセス完全性V3」の判定結果をOKと判定する。また、アクセス制御判定部19は、ファイルデータ完全性判定部16による「ファイルデータ完全性V1」の判定結果、および、アクセス元プロセス完全性判定部17による「アクセス元プロセス完全性V2」の判定結果のいずれかがNGのとき、「アクセス完全性V3」の判定結果をNGと判定する。
【0075】
そして、アクセス制御判定部19は、「アクセス完全性V3」の判定結果がOK、または、「制御フラグ」が“記録モード”のとき、「アクセス制御V4」は“許可”と判定する。また、アクセス制御判定部19は、「アクセス完全性V3」の判定結果NG、かつ、「制御フラグ」が“遮断モード”のとき、「アクセス制御V4」は“遮断”と判定する。
【0076】
(実施形態1の初期設定処理)
図7は、実施形態1の初期設定処理の一例を示すフローチャートである。実施形態1の初期設定処理は、オペレータの操作時に、アクセス制御装置10の制御部12により実行される。ステップS11では、制御部12は、入出力部13を介して、オペレータによる指示に応じて、アクセス対象ファイルリストL1、アクセス対象ファイルリストL1に記載されている全ての「ファイルパス」に対応するファイルパスL2−1、プロセスACL_L2−2、依存プロセスリストL2−3を含むリスト群L2の初期設定の登録を受け付け、記憶部11に格納する。制御部12は、ステップS11が終了すると、実施形態1の初期設定処理を終了する。
【0077】
(実施形態1のファイルアクセス制御処理)
図8は、実施形態1のファイルアクセス制御処理の一例を示すフローチャートである。実施形態1の初期設定処理は、アクセス制御装置10により、随時実行される。先ず、ステップS21では、アクセス検知・制御部14は、ファイル管理システム20上で、アクセス元プロセスP1がアクセス対象ファイルF1をopenし、かつ、アクセス対象ファイルF1のファイルデータへのアクセス未実施の状態を検知し、アクセスを一時的に停止する。そして、アクセス検知・制御部14は、アクセス元プロセスIDと、アクセス対象ファイルパスを制御部12へ送信する(以上、ステップS21)。
【0078】
次に、ステップS22では、データ取得部15は、アクセス元プロセスIDを制御部12から受信し、アクセス元プロセスP1の実行ファイルパスを制御部12へ入力するとともに、アクセス対象ファイルF1のファイルパスのファイルデータを取得し、制御部12へ入力する。
【0079】
次に、ステップS23では、ファイルデータ完全性判定部16は、記憶部11のアクセス対象ファイルリストL1にアクセス対象ファイルパスに対応する参照ダイジェスト値が定義されている場合、すなわち“データ固定ファイル”である場合には、アクセス対象ファイルF1のファイルデータのダイジェスト値を算出し、算出したダイジェスト値と参照ダイジェスト値とを比較する。そして、ファイルデータ完全性判定部16は、算出したダイジェスト値と参照ダイジェスト値とが一致するならば、アクセス対象ファイルF1の「ファイルデータ完全性V1」の判定結果をOKと判定し、一致しないならば、アクセス対象ファイルF1の「ファイルデータ完全性V1」の判定結果をNGと判定する。なお、ステップS23では、ファイルデータ完全性判定部16は、アクセス対象ファイルF1が“データ変動ファイル”である場合、アクセス対象ファイルF1のファイルパスに対応する参照ダイジェスト値が定義されておらず、「ファイルデータ完全性V1」の判定を行わないので、判定結果は存在せず、判定結果を“NA”とする(以上、ステップS23)。
【0080】
次に、ステップS24では、アクセス元プロセス完全性判定部17は、「アクセス対象ファイルF1のプロセスACL_L2−2に、アクセス元プロセスP1の実行ファイルパスの記載があり、かつ、不完全プロセスリストL3にアクセス元プロセスP1の実行ファイルパスの記載がないこと」の真偽を判定する。アクセス元プロセス完全性判定部17は、「アクセス対象ファイルF1のプロセスACL_L2−2に、アクセス元プロセスP1の実行ファイルパスの記載があり、かつ、不完全プロセスリストL3にアクセス元プロセスP1の実行ファイルパスの記載がないこと」が真であれば、「アクセス元プロセス完全性V2」の判定結果をOKと判定する。一方、アクセス元プロセス完全性判定部17は、「アクセス対象ファイルF1のプロセスACL_L2−2に、アクセス元プロセスP1の実行ファイルパスの記載があり、かつ、不完全プロセスリストL3にアクセス元プロセスP1の実行ファイルパスの記載がないこと」が偽であれば、「アクセス元プロセス完全性V2」の判定結果をNGと判定する(以上、ステップS24)。
【0081】
次に、ステップS25では、不完全プロセスリスト管理部18は、「アクセス対象ファイルF1の「ファイルデータ完全性V1」の判定結果NGであり、かつ、アクセス対象ファイルF1の「制御フラグ」が“記録モード”である」とき、アクセス対象ファイルF1の依存プロセスリストL2−3に記載されている依存プロセスの実行ファイルパスを、不完全プロセスリストL3に追加する。
【0082】
次に、ステップS26では、アクセス制御判定部19は、ステップS23による「ファイルデータ完全性V1」およびステップS24による「アクセス元プロセス完全性V2」がともに判定結果がNGでないとき、「アクセス完全性V3」の判定結果をOKと判定する。また、アクセス制御判定部19は、ステップS23による「ファイルデータ完全性V1」およびステップS24による「アクセス元プロセス完全性V2」のいずれかの判定結果がNGのとき、「アクセス完全性V3」の判定結果をNGと判定する。そして、アクセス制御判定部19は、「アクセス完全性V3」が判定結果がOK、または、「制御フラグ」が“記録モード”のとき、「アクセス制御V4」を“許可”と判定する。また、アクセス制御判定部19は、「アクセス完全性V3」が判定結果NG、かつ、「制御フラグ」が“遮断モード”のとき、「アクセス制御V4」を“遮断”と判定する(以上、ステップS26)。
【0083】
次に、ステップS27では、アクセス検知・制御部14は、「アクセス制御V4」が“許可”のとき、ステップS21のファイルアクセス検知で一時停止していたファイルアクセスを許可する。また、アクセス検知・制御部14は、「アクセス制御V4」が“遮断”のとき、ステップS21のファイルアクセス検知で一時停止していたファイルアクセスを遮断する(以上、ステップS27)。ステップS27が終了すると、アクセス制御装置10は、実施形態1のファイルアクセス制御処理を終了する。
【0084】
以上の実施形態1によれば、ファイルシステム上のファイルに対するプログラムプロセスからのアクセスが適正であるか否かを判定する。そして、完全性を欠いたファイルに対するアクセス、アクセスを許可されていないプログラムプロセスからファイルへのアクセス、および、完全性を欠いたファイルに依存するプログラムプロセスからファイルへのアクセスは不適正と判定し、アクセスを遮断するか、または、不適正なアクセスが実行された記録を残す。
【0085】
例えば、ファイルアクセスにおいて、アクセス元プロセスの完全性を判定することで、アクセス元プロセスがマルウェア等の不適切なプロセスである場合に、アクセス元プロセスによるファイルアクセスを遮断し、アクセス先ファイルの完全性が失われることを防止できる。さらに、アクセス先ファイルごとに記録モードか遮断モードかを定義し、不完全プロセスリストを用いることにより、アクセス元プロセスが不完全なプロセスであっても、アクセス元プロセスによるファイルアクセスを許可しつつ、記録モードにてファイルアクセスのログを記録する。よって、ファイル→プロセス→ファイルと伝播する完全性喪失の連鎖の記録をたどって、柔軟なファイルのアクセス制御ができる。
【0086】
(実施形態1の変形例)
実施形態1の変形例では、不完全プロセスリストL3に代えて、依存プロセスリストL2−3にファイルパスが登録されている依存プロセスのうち、依存プロセスの完全性を喪失していない完全プロセスのリストを用いてもよい。または、不完全プロセスリストL3に代えて、依存プロセスリストL2−3にファイルパスが登録されている依存プロセスの全プロセスに完全および不完全のいずれかを示す情報を対応付けて記録したリストを用いてもよい。
【0087】
[実施形態2]
実施形態1では、アクセス制御装置10は、記憶部11に、アクセス対象ファイルリストL1、ファイルパスL2−1、プロセスACL_L2−2、依存プロセスリストL2−3を含むリスト群L2、リスト群L2から生成される不完全プロセスリストL3を格納する。しかし、アクセス対象ファイルリストL1から「制御フラグ」を除外し、リスト群L2から依存プロセスリストL2−3および不完全プロセスリストL3を省略した形態で実施されてもよい。以下、この実施形態2について説明する。
【0088】
(実施形態2のファイルアクセス制御装置および記憶部が記憶する情報)
図9は、実施形態2のアクセス制御装置の構成の一例を示す図である。
図10は、実施形態2のアクセス対象ファイルリストと、プロセスACLの一例を示す図である。実施形態2のアクセス制御装置10Aは、実施形態1のアクセス制御装置10と比較して、記憶部11に代えて記憶部11A、アクセス元プロセス完全性判定部17に代えてアクセス元プロセス完全性判定部17A、アクセス制御判定部19に代えてアクセス制御判定部19Aを有する。また、実施形態2のアクセス制御装置10Aは、実施形態1のアクセス制御装置10と比較して、不完全プロセスリスト管理部18が省略されている。
【0089】
また、実施形態2のアクセス制御装置10Aの記憶部11Aに格納されるアクセス対象ファイルリストL1Aは、実施形態2のアクセス対象ファイルリストL1と比較して、「制御フラグ」の項目が省略されている。また、実施形態2のアクセス制御装置10Aの記憶部11Aに格納されるリスト群L2Aは、実施形態1のリスト群L2と比較して、依存プロセスリストL2−3が省略されている。また、実施形態2では、アクセス制御装置10Aの記憶部11Aにおいて、不完全プロセスリストL3が省略されている。その他の点は、実施形態2のアクセス制御装置10Aは、実施形態1のアクセス制御装置10と同様である。
【0090】
アクセス元プロセス完全性判定部17Aは、「アクセス対象ファイルF1のプロセスACL_L2−2に、アクセス元プロセスP1の実行ファイルパスの記載があること」の真偽を確認する。そして、アクセス元プロセス完全性判定部17Aは、「アクセス対象ファイルF1のプロセスACL_L2−2に、アクセス元プロセスP1の実行ファイルパスの記載があること」が真であれば、「アクセス元プロセス完全性V2」の判定結果をOKと判定する。
【0091】
一方、アクセス元プロセス完全性判定部17Aは、「アクセス対象ファイルF1のプロセスACL_L2−2に、アクセス元プロセスP1の実行ファイルパスの記載があること」が偽であれば、「アクセス元プロセス完全性V2」の判定結果をNGと判定する。
【0092】
すなわち、実施形態2では、「アクセス元プロセス完全性V2」の判定の際、「不完全プロセスリストL3にアクセス元プロセスP1の実行ファイルパスの記載がないこと」を判定条件に含めない。これは、実施形態1において「アクセス元プロセス完全性V2」の判定の際に参照する不完全プロセスリストL3が、「ファイルデータ完全性V1」を有さないファイルを実行した“依存プロセスの完全性にリスク”が存在する点を考慮するためのリストであり、実施形態2では、このリスクが再帰的に伝播することを考慮しないためである。なお、実施形態2において、アクセス元プロセスの依存対象ファイルを、アクセス対象ファイルリストL1に記載することによって、完全性にリスクのあるアクセス元プロセスが実行されることを遮断または記録することができる。すなわち、許可プロセスの依存対象ファイルがアクセス先ファイルであるファイルアクセスおいて、依存対象ファイルの改ざんを判定し、判定の結果に応じてこのファイルアクセスを遮断または記録することによって、依存対象ファイルの依存プロセスがアクセス元プロセスであるファイルアクセスにおける依存対象ファイルの改ざんの影響を遮断または記録することができる。なお、許可プロセスの依存対象ファイルがアクセス先ファイルであるファイルアクセスには、例えば、許可プロセスの実行ファイルに対するオペレーティングシステムのアクセス、許可プロセスの設定ファイルに対する許可プロセス自体のアクセスがある。
【0093】
アクセス制御判定部19Aは、ファイルデータ完全性判定部16による「ファイルデータ完全性V1」の判定結果、および、アクセス元プロセス完全性判定部17Aによる「アクセス元プロセス完全性V2」の判定結果がともにNGでない場合、「アクセス完全性V3」の判定結果をOKと判定する。また、アクセス制御判定部19Aは、ファイルデータ完全性判定部16による「ファイルデータ完全性V1」の判定結果、および、アクセス元プロセス完全性判定部17Aによる「アクセス元プロセス完全性V2」の判定結果のいずれかがNGのとき、「アクセス完全性V3」の判定結果をNGと判定する。
【0094】
そして、アクセス制御判定部19Aは、「アクセス完全性V3」の判定結果がOKのとき、「アクセス制御V4」は“許可”と判定する。また、アクセス制御判定部19Aは、「アクセス完全性V3」の判定結果NGのとき、「アクセス制御V4」は“遮断”と判定する。
【0095】
(実施形態2のファイルアクセス制御処理)
図11は、実施形態2のファイルアクセス制御処理の一例を示すフローチャートである。
図11において、ステップS21〜ステップS23は、実施形態1と同様である。ステップS23に続いてステップS24’では、アクセス元プロセス完全性判定部17Aは、「アクセス対象ファイルのプロセスACL_L2−2に、アクセス元プロセスP1の実行ファイルパスの記載があること」の真偽を判定する。アクセス元プロセス完全性判定部17Aは、「アクセス対象ファイルのプロセスACL_L2−2に、アクセス元プロセスP1の実行ファイルパスの記載があること」が真であれば、「アクセス元プロセス完全性V2」の判定結果をOKと判定する。一方、アクセス元プロセス完全性判定部17Aは、「アクセス対象ファイルのプロセスACL_L2−2に、アクセス元プロセスP1の実行ファイルパスの記載があること」が偽であれば「アクセス元プロセス完全性V2」の判定結果をNGと判定する(以上、ステップS24’)。
【0096】
次に、ステップS26’では、アクセス制御判定部19Aは、ステップS23によるアクセス対象ファイルF1の「ファイルデータ完全性V1」およびステップS24’による「アクセス元プロセス完全性V2」がともに判定結果がNGでないとき、「アクセス完全性V3」の判定結果をOKと判定する。また、アクセス制御判定部19Aは、ステップS23による「ファイルデータ完全性V1」およびステップS24’による「アクセス元プロセス完全性V2」のいずれかの判定結果がNGのとき、「アクセス完全性V3」の判定結果をNGと判定する。そして、アクセス制御判定部19Aは、「アクセス完全性V3」が判定結果がOKのとき、「アクセス制御V4」を“許可”と判定する。また、アクセス制御判定部19Aは、「アクセス完全性V3」の判定結果がNGのとき、「アクセス制御V4」を“遮断”と判定する(以上、ステップS26’)。
【0097】
次に、ステップS27’では、アクセス検知・制御部14は、「アクセス制御V4」が“許可”のとき、ファイルアクセス検知で一時停止していたファイルアクセスを許可する。一方、アクセス検知・制御部14は、「アクセス制御V4」が“遮断”のとき、ファイルアクセス検知で一時停止していたファイルアクセスを遮断する(以上、ステップS27’)。ステップS27’が終了すると、アクセス制御装置10Aは、実施形態2のファイルアクセス制御処理を終了する。
【0098】
以上の実施形態2によれば、依存プロセスリストL2−3および不完全プロセスリストL3を用いず、完全性を欠いたファイルに対するアクセス、および、アクセスを許可されていないプログラムプロセスからファイルへのアクセスは不適正と判定し、アクセスを遮断するか、または、不適正なアクセスが実行された記録を残すことで、簡易な構成および処理で、ファイルシステム上のファイルに対するプログラムプロセスからのアクセスが適正であるか否かを判定できる。
【0099】
(実施形態2の変形例)
実施形態2のアクセス制御装置10Aは、「制御フラグ」を導入せず、「アクセス完全性V3」の判定結果がNGのとき、常に“遮断モード”で動作するが、これに限られず、常に“記録モード”で動作するとしてもよい。
【0100】
(アクセス制御装置の装置構成について)
図4および
図9に示すアクセス制御装置10、10Aの各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、アクセス制御装置10、10Aの機能の分散および統合の具体的形態は図示のものに限られず、全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。例えば、アクセス検知・制御部14は、アクセス検知部と、アクセス制御部とに分散されてもよい。
【0101】
また、実施形態1および2において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、実施形態1および2において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記および図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
【0102】
(プログラムについて)
図12は、プログラムが実行されることにより、アクセス制御装置が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。コンピュータ1000において、これらの各部はバス1080によって接続される。
【0103】
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1041に挿入される。シリアルポートインタフェース1050は、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、例えばディスプレイ1061に接続される。
【0104】
ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、アクセス制御装置10の各処理を規定するプログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、例えばハードディスクドライブ1031に記憶される。例えば、アクセス制御装置10における機能構成と同様の情報処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
【0105】
また、実施形態1および2での処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
【0106】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093やプログラムデータ1094は、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0107】
以上の実施形態1および2は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。