(57)【要約】【課題】  コンピュータシステムのセキュリティを向上させることができるアクセス履歴記録装置及びアクセス制御装置を提供する。  【解決手段】  ”親プロセスの識別情報と子プロセスの識別情報とからなるプロセス親子関係の遷移履歴”と、各プロセスのファイルアクセスログとを取得し、”プロセス親子関係の遷移履歴”を各プロセスの識別情報として、子プロセスのファイルアクセスログを記録する。【選択図】  図１
2005128623.tif 000002
【特許請求の範囲】
【請求項１】
親プロセスの識別情報と子プロセスの識別情報とからなるプロセス親子関係の遷移履歴を取得するプロセス情報管理手段と、
各プロセスのファイルアクセスログを取得するファイル入出力管理手段と、
前記プロセス情報管理部が取得したプロセス親子関係の遷移履歴を前記各プロセスの識別情報として、前記ファイル入出力管理部が取得した前記各プロセスのファイルアクセスログを記録するアクセス履歴記録手段と
を具備することを特徴とするアクセス履歴記録装置。
【請求項２】
親プロセスの識別情報と子プロセスの識別情報とからなるプロセス親子関係の遷移履歴を前記各プロセスの識別情報として、前記各プロセスのファイルアクセスログを記憶する記憶手段と、
前記プロセス親子関係の遷移履歴をプロセスの識別情報として、前記記憶手段が記憶するファイルアクセスログに基づいてアクセスポリシーを設定するアクセスポリシー設定手段と、
前記アクセスポリシー設定手段が設定したアクセスポリシーに合致しないプロセス親子関係の遷移履歴を識別情報とするプロセスからのファイルアクセスを制限するファイルアクセス制御手段と
を具備することを特徴とするアクセス制御装置。
【請求項３】
前記アクセスポリシー設定手段は、既知の正当なプロセス親子関係の遷移履歴をプロセスの識別情報として有するファイルアクセスログに基づいて、前記ファイルアクセスを許可するアクセスポリシーを設定する
ことを特徴とする請求項２に記載のアクセス制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムにおけるアクセス履歴記録装置及びアクセス制御装置に関する。
【背景技術】
【０００２】
従来、コンピュータが管理するファイルを保護するためにアクセス制御ポリシーを設定するための技術が存在する。例えば、特許文献１には、このアクセス制御ポリシーを設定する方法が開示されている。この発明によれば、プロセス起動時において、プロセスＩＤ等を取得し、ファイルアクセス時において、アクセス日時、アクセスファイル名、アクセス実行ファイル名等のアクセス履歴を記録し、このログを利用してアクセス管理を実行する。
また、特許文献２には、コンピュータでプログラムを実行した際に出力されたログを解析するログ解析技術について開示されている。この発明によれば、プログラムの実行時に出力されたログ情報を取得して読み込み、抽出されるログ情報を示すユーザ指定条件を受付け、受付けたユーザ指定条件に基づいてログ情報から情報を抽出し、プログラム実行時の各操作についてその前提条件が満たされているかどうかを判定することによって実行時のエラーの原因を解析する。
【特許文献１】特開２００３−６０２７号公報
【特許文献２】特開２００２−２０７６１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、Linux, Windows（登録商標）等の基本ソフト（いわゆるＯＳ）ではコマンドの実行について日時、起動したユーザ等の情報の記録（ログ）を保存する機能を備えている。Linuxにおいては、実行されたコマンドに対応した「プロセス」と呼ばれるデータ構造で状態を管理し、コマンドの中からさらに別のコマンドを起動する形でサービスが実現される。ところが、上述した特許文献１にも記載されているように、基本ソフトのログ機能では「どのコマンドが実行されたか」しか記録しないという問題点がある。
したがって、コンピュータシステムが不正アクセスを受けた時にクラッカーの行動（攻撃手順）を追跡することが困難であり、またセキュリティ上特に重要なコマンドの実行を制限しようとしても不正なアクセス手順とそれ以外を区別できないためそれを行うことができないという問題点があった。
【０００４】
また、上述したように、ファイル等へのアクセス（読み込み、書き込み、実行等）について、詳細なアクセス条件を規定しそれに従うアクセス以外を拒否することにより基本ソフトのセキュリティを向上させる方式と実装が多数存在している。そのようなシステムでは、必要最小限のアクセスだけを認めるようにアクセス定義情報（ポリシー情報）を規定する必要があるが、アクセス制御機構が細かな単位での制御に対応している場合、正しいポリシー情報をもれなく規定することは困難であり、その結果不必要なアクセスを拒否せず、セキュリティ上の脆弱性（セキュリティホール）となったり、逆に本来必要なアクセスを制限して利用したいアプリケーションやサービスが使えなくなる事態が発生するという問題点があった。
【０００５】
本発明は、このような事情を考慮してなされたものであり、その目的は、コンピュータシステムのセキュリティを向上させることができるアクセス履歴記録装置及びアクセス制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
この発明は上記の課題を解決すべくなされたもので、本発明は、”親プロセスの識別情報と子プロセスの識別情報とからなるプロセス親子関係の遷移履歴”を取得するプロセス情報管理手段と、前記各プロセスのファイルアクセスログを取得するファイル入出力管理手段と、前記プロセス情報管理部が取得した”プロセス親子関係の遷移履歴”を前記各プロセスの識別情報として、前記ファイル入出力管理部が取得した前記各プロセスのファイルアクセスログを記録するアクセス履歴記録手段とを具備することを特徴とする。
【０００７】
また、本発明は、”親プロセスの識別情報と子プロセスの識別情報とからなるプロセス親子関係の遷移履歴”を前記各プロセスの識別情報として、前記各プロセスのファイルアクセスログを記憶する記憶手段と、前記”プロセス親子関係の遷移履歴”をプロセスの識別情報として、前記記憶手段が記憶するファイルアクセスログに基づいてアクセスポリシーを設定するアクセスポリシー設定手段と、前記アクセスポリシー設定手段が設定したアクセスポリシーに合致しない”プロセス親子関係の遷移履歴を識別情報とする”プロセスからのファイルアクセスを制限するファイルアクセス制御手段とを具備することを特徴とする。
【０００８】
また、本発明は、前記アクセスポリシー設定手段は、既知の正当な”プロセス親子関係の遷移履歴”をプロセスの識別情報として有するファイルアクセスログに基づいて、前記ファイルアクセスを許可するアクセスポリシーを設定することを特徴とする。
【発明の効果】
【０００９】
以上説明したように、本発明によれば、”親プロセスの識別情報と子プロセスの識別情報とからなるプロセス親子関係の遷移履歴”と、各プロセスのファイルアクセスログとを取得し、各プロセスについて”プロセス親子関係の遷移履歴”を識別情報として含めた形でそれぞれのファイルアクセスログを記録する。
したがって、プロセスとしては同一であって識別ができないものについて、”プロセス親子関係の遷移履歴”によって各コンテキストにおけるプロセスを識別した形で、コンピュータシステムのセキュリティを向上させるためのアクセス履歴を記録することができる効果が得られる。
【００１０】
また、本発明によれば、予め”親プロセスの識別情報と子プロセスの識別情報とからなるプロセス親子関係の遷移履歴”を各プロセスの識別情報として、各プロセスのファイルアクセスログを記憶しておき、”プロセス親子関係の遷移履歴”をプロセスの識別情報として、記憶するファイルアクセスログに基づいてアクセスポリシーを設定する。
そして、設定したアクセスポリシーに合致しない”プロセス親子関係の遷移履歴を識別情報とする”プロセスからのファイルアクセスを制限する。
したがって、プロセスとしては同一であって識別ができないものについて、”プロセス親子関係の遷移履歴”によって各コンテキストにおけるプロセスを識別した形で、アクセスポリシーを設定し、これに合致しない”プロセス親子関係の遷移履歴を識別情報とする”プロセスからのファイルアクセスを制限するので、コンピュータシステムのセキュリティを向上させることができる効果が得られる。
【００１１】
また、本発明によれば、既知の正当な”プロセス親子関係の遷移履歴”をプロセスの識別情報として有するファイルアクセスログに基づいて、ファイルアクセスを許可するアクセスポリシーを設定する。
したがって、正当な”プロセス親子関係の遷移履歴”さえ既知であれば、細かくファイルアクセスを制限しても、正当なコンテキストのプロセスには確実にファイルアクセスを許可することができ、コンピュータシステムのセキュリティを向上させることができる効果が得られる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を実施するための最良の形態について説明する。
まず本発明の基本的な考え方について、上述した先行技術との対比において説明する。
特許文献１に記載の発明においては、１のプログラムが実行するファイルアクセス等のアクセス履歴を記録しており、このログに基づいて、アクセス制御を実行する。
ところが、この考え方では、プログラム毎に、それがアクセスする最大の範囲について許可を与えなければならず、プログラムの動作について詳細に把握した管理者の存在とその作業が前提条件となる。
一方、本発明においては、プログラムの起動された履歴（コンテキスト）を記録する。これにより、同じプログラムを実行する場合であっても、プログラムの起動された履歴に応じて正当と思われる範囲をそれぞれ別々に設定してアクセス許可を与える。
【００１３】
すなわち、コマンドの実質の呼び出し関係を情報として保存することにより、同じコマンドであってもそれがどのようなコンテキストで実行されようとしているかを区別する。このような区別を実現することにより、プログラムに許可するアクセス範囲をプログラムの起動された履歴に応じて最小限にすることができる。また、クラッカーにより不正アクセスを受けた場合、保存されているログから侵入のパターンを調べ、必要な措置を講じることができる。例えば、コマンド実行時に呼び出し元となる一連のコマンド群の履歴をパラメータとして渡すことで、ｗｅｂサービスやｆｔｐサービス等を踏み台として基本ソフトを乗っ取ろうとした場合にコマンド群の履歴が不正と思われる組み合わせとマッチしていたら処理を中止、あるいはログを残すようにする。
【００１４】
この不正と思われるコマンド群の履歴の組み合わせ（または正当と思われるコマンド群の履歴の組み合わせ）を設定するために、基本ソフト上でサービスやアプリケーションを実行させ、基本ソフトプログラムのアクセス機能に関する関数について、その呼び出し履歴をファイルとして保存する。これにより、ポリシー定義に必要な情報を取得する。そして、取得した情報をポリシー情報のフォーマットに変換する。
ポリシー情報に基づくアクセス制御は、制御の単位が細かければ細かいほどそれを正しく運用することが困難であり、本来セキュリティを向上させるための仕組みが逆の結果をもたらすことがあり得る。本発明の手法を適用すれば、基本ソフトに関する深い知識がなくても正しいポリシー情報を定義することが可能となり、コンピュータシステムのセキュリティの改善に有効である。
【実施例１】
【００１５】
以下、図面を参照して、本発明のアクセス履歴記録装置及びアクセス制御装置の一実施形態について説明する。図１は、本実施形態のアクセス履歴記録装置１の構成図である。
図１に示すように、本実施形態のアクセス履歴記録装置１は、ＯＳカーネル空間１０で実行されるカーネルプログラム及びユーザ空間１１で実行されるユーザプログラムにより、アクセス履歴記録処理を実現する。
具体的には、ＯＳカーネル空間１０において、プロセス情報管理部１０Ａ、プロセス複製部１０Ｂ、プロセス遷移部１０Ｃ、ファイル入出力処理部１０Ｄ、プロセス終了部１０Ｅがプログラムとして実行される。本実施形態においては、このプログラムの中に、新たに追加した遷移履歴保持部１００Ａ、遷移履歴複製部１００Ｂ、遷移履歴更新部１００Ｃ、アクセスログ保持部１００Ｄ、遷移履歴破棄部１００Ｅの機能を備えている。
プロセス情報管理部１０Ａは、ユーザ空間１１において実行されるすべてのプログラム（例えばプロセス１１Ａ〜Ｃ）のプロセス情報を管理する処理を実行する。ここで、プロセス情報とは、ＯＳがプロセスを管理するための情報であって、ＯＳが標準的に持っている情報である。図１に示すように、各プロセスにはプロセスを識別するための重複しない番号が振られている。プロセス１１ＡにはＩＤとして１が、プロセス１１Ｂおよび１１ＣにはＩＤとして２が振られている。プロセス１１Ｂは後述するプロセス遷移部１０Ｃによりプロセス１１Ｃに置換されるので、プロセス１１Ｂと１１Ｃは同じＩＤを持っているが、同時に１１Ｂと１１Ｃの両方が存在できるという意味ではない。
【００１６】
図４に示す例においては、プログラム名（/sbin/init）の親プロセスが、プログラム名（/etc/rc.d/rc）の子プロセスを呼び出し、さらに、このプログラム名（/etc/rc.d/rc）のプロセスを親プロセスとして、プログラム名（/etc/rc3.d/S80sendmail）の子プロセスを呼び出し、さらに、このプログラム名（/etc/rc3.d/S80sendmail）のプロセスを親プロセスとして、プログラム名（/bin/chown）の子プロセスを呼び出したことを示す。以上の再帰的な親子関係を本明細書中では、コマンド実行履歴（プロセスの遷移履歴）と定義する。
本明細書でいうコマンド実行履歴の考え方を図３の右半分に示す。すなわち、コマンド実行履歴とは、基準となる位置から順番に呼び出されたプログラムを時系列に並べた実行順序のことではなく、それぞれのプログラムがどのような遷移の結果呼び出されたかという状況（あるいは系譜）を指すものであり、その状況（あるいは系譜）が異なれば最終的に実行されているプログラムが同一であっても異なるコマンド実行履歴として区別する。
プロセス情報管理部１０Ａの中にある遷移履歴保持部１００Ａは、各プロセスに関するコマンド実行履歴を、図４に示すように遷移情報付きプログラム名という形で保持しておく。
【００１７】
プロセス複製部１０Ｂは、ユーザ空間１１において実行されるプロセスの複製（コピー）要求を受付け、コピーを作成する処理を実行する。具体的には、プロセス複製部１０ＢはプロセスＡのコピーＡ’を作成する。ＡとＡ’はＩＤだけが異なり、その他は全て同一の内容である。すなわち、図２に示すように、プロセス１１Ａが実行されている状態（状態２）において、プロセスＡ自身のコピー（状態２’）を生成する。
全てのプロセスは、プロセス情報管理部１０Ａに自身の管理情報（プロセス遷移履歴１００Ａを含む）をメモリ領域上に保持しており、自身のコピーを生成する際に複製される。
【００１８】
プロセス遷移部１０Ｃは、ユーザ空間１１において実行されるプロセスの上書き（置換）要求を受付け、新しいプログラムで上書きする処理を実行する。例えば、プロセス１１Ｂが新しいプログラムで自身のイメージを置き換えるようにプロセス遷移部１０Ｃに要求した場合、プロセス遷移部１０Ｃは、プロセス１１Ｂを新しいプログラムで上書きする。このとき、プロセス情報管理部１０Ａが管理するプロセス１１Ｂのプロセス情報が更新されるのと同時に、遷移履歴更新部１００Ｃは、遷移履歴保持部１００Ａ内のプロセス１１Ｂのプログラム実行履歴に新しいプログラムの情報を追加する。プロセス遷移部１０Ｃでの処理が完了すると、プロセス１１Ｂ（状態２’）はプロセス１１Ｃ（状態３）として動作を開始する。
【００１９】
ファイル入出力処理部１０Ｄは、ユーザ空間１１において実行されるプロセスのファイルアクセス要求を受付け、アクセスの可否を判断して結果を返す処理を実行する。ファイル入出力処理部１０Ｄによってアクセス要求が許可された場合は、アクセスログ保持部１００Ｄが「指定されたパス名、アクセスモード、遷移履歴保持部１００Ａに格納されたアクセス要求元プロセスの遷移履歴」をファイルアクセスログとして取得する。
プロセス終了部１０Ｅは、ユーザ空間１１において実行されるプロセスの終了要求を受付け、プロセス情報管理部１０Ａに格納された終了要求元プロセスのプロセス情報を破棄し、親プロセスにプロセス終了を通知する。プロセス終了部１０Ｅにおいてプロセス情報が破棄されるのと同時に、遷移履歴破棄部１００Ｅによって遷移履歴保持部１００Ａに保持されている終了要求元プロセスのコマンド実行履歴も破棄される。
【００２０】
また、ユーザ空間１１において、プロセス（ユーザプログラム）１１Ａ〜Ｃ、アクセスログ記録部１１Ｚが実行される。
プロセス１１Ａ〜Ｃは、図３に示すように、コマンド実行履歴（遷移情報付プログラム名：Ａ，Ａ→Ｂ、Ａ→Ｃ、Ａ→Ｃ→Ｄ、Ａ→Ｃ→Ｄ→Ｂ等）で識別され、カーネルによるアクセス制御の下、所定の処理を実行する。
アクセスログ記録部１１Ｚは、遷移履歴管理部１００Ａが管理するコマンド実行履歴をプロセスの識別情報として、アクセスログ保持部１００Ｄからプロセスのファイルアクセスログ（アクセス対象ファイル、アクセスモード）を取得し、図４に示すアクセスログテーブルＴ１に記録する。
【００２１】
次に、図面を参照して本実施形態のアクセス履歴記録装置１の動作について説明する。
（プロセス作成および遷移処理）
図５は、本実施形態のアクセス履歴記録装置１におけるプロセス作成および遷移処理の過程を示すフローチャートである。
今、ユーザ空間１１で動作するプロセス１１Ａが、新しいプログラムを実行するために自身のコピーを作成する場合、プロセス複製部１０Ｂにコピー要求を送出する（図５のステップＳ１）。
プロセス複製部１０Ｂは、プロセス１１Ａからの要求により、プロセス１１Ａのコピーであるプロセス１１Ｂを作成する。すなわち、プロセス複製部１０Ｂは、プロセス１１Ａのプロセス情報およびプロセス情報に含まれるコマンド実行履歴も含めてプロセス１１Ａのコピーを作成する（ステップＳ２）。これにより、プロセス１１Ａを親プロセスとし、プロセス１１Ｂを子プロセスとしたプロセス間の親子関係が定義される。
【００２２】
次に、作成されたプロセス１１Ｂは、新しいプログラムで自身のイメージを置き換えるようにプロセス遷移部１０Ｃに要求を送出する（ステップＳ３）。
プロセス遷移部１０Ｃは、プロセス１１Ｂからのイメージ置換要求を受けて、プロセス１１Ｂを新しいプログラムで上書きする（ステップＳ４）。このとき、プロセス遷移部１０Ｃの中にある遷移履歴更新部１００Ｃは、プロセス情報管理部１０Ａが管理する遷移履歴保持部１００Ａに格納されたプロセス１１Ｂのコマンド実行履歴を更新する。これにより、コマンド実行履歴の遷移が定義される。そして、イメージ置換要求元のプロセス１１Ｂは、プロセス遷移部１０Ｃでの処理が完了後、プロセス１１Ｃとして動作を開始する（ステップＳ５）。
【００２３】
（ファイルアクセス処理）
図６は、本実施形態のアクセス履歴記録装置１におけるファイルアクセス処理の過程を示す。図６に示すように、プロセス１１Ｃが、パス名を指定してファイル入出力処理部１０Ｄにアクセスを要求すると（ステップＳ１１）、ファイル入出力処理部１０Ｄが、パス名を受け取り、ファイルアクセスを許可するかどうか判断する（ステップＳ１２）。
そして、ファイル入出力処理部１０Ｄがファイルアクセスを許可した場合は、アクセスログ保持部１００Ｄが「パス名、アクセスモード、遷移履歴保持部１００Ａに記録されたプロセス１１Ｃのコマンド実行履歴（遷移履歴情報）」をログとして記録する（ステップＳ１３）。そして、アプリケーションは要求したファイルを利用できるようになる（ステップＳ１４）。
【００２４】
（プロセス終了処理）
図７は、本実施形態のアクセス履歴記録装置１におけるプロセス終了処理の過程を示す。図７に示すように、プロセス１１Ｃが、プロセス終了要求をプロセス終了部１０Eに送出すると（ステップＳ２１）、プロセス終了部１０Eは、プロセス情報管理部１０Ａに保持されているプロセス１１Ｃのプロセス情報を破棄するとともに（ステップＳ２２）、遷移履歴保持部１００Ａに記録されたプロセス１１Ｃのコマンド実行履歴も破棄する（ステップＳ２３）。
そして、プロセス終了部１０Eは、親プロセス１１Ａに対して子プロセス１１Ｃが終了したことを通知する（ステップＳ２４）。
【００２５】
（アクセスログ読み出し処理）
図８は、本実施形態のアクセス履歴記録装置１におけるアクセスログ読み出し処理の過程を示す。図８に示すように、アクセスログ記録部１１Ｚによって実行されたログ読み出しプロセス１１Ｚが、ファイル入出力処理部１０Ｄに対して、アクセスログ保持部１００Ｄに蓄えられたアクセスログを要求すると（ステップＳ３１）、ファイル入出力処理部１０Ｄは、アクセスログ保持部１００Ｄが保持するアクセスログを読み出し、プロセス１１Ｚに結果を返す（ステップＳ３２）。
プロセス１１Ｚは、受け取ったアクセスログを「アクセスログ１」としてファイルに保存するようにカーネルに対して要求し（ステップＳ３３）、カーネルはアクセスログをファイルに保存する（ステップＳ３４）。
【００２６】
（アクセスログの検証処理）
上述の「アクセスログ１」に保存されたアクセスログは、アクセス履歴記録装置１により検証される。すなわち、アクセス履歴記録装置１は、「アクセスログ１」に保存されたアクセスログを読み出し、アクセスが要求されたファイルが実在するかどうかをチェックする。そして、アクセス履歴記録装置１は、実在するファイルのみを取り出し、「アクセスログ２」としてファイルに保存する。
【００２７】
（アクセスログの分割処理）
次に、アクセス履歴記録装置１は、「アクセスログ２」からプロセスの遷移履歴に関する情報とファイルアクセス要求に関する情報とを分離し、前者を「遷移パターン１」、後者を「要求ログ１」としてファイルに保存する。この「遷移パターン１」と「要求ログ１」について、アクセス履歴記録装置１は、さらに、アルファベット順に並べ替えた後、重複する記録を取り除いて、それぞれ「遷移パターン２」と「要求ログ２」としてファイルに保存する。なお、この分割処理以降はアクセス履歴記録装置固有の情報を必要としないため、アクセス履歴記録装置１以外の装置を用いて行うことも可能である。
【００２８】
（遷移パターンによる分割処理）
アクセスログの分割処理後、アクセス履歴記録装置１は、「要求ログ２」を「遷移パターン２」を参照しながらプロセス遷移履歴別に要求ログを分割し、「要求ログ３」としてファイルに保存する。「要求ログ３」は遷移パターンの数だけ作成される。
【００２９】
（ポリシーへの変換処理）
遷移パターンによるアクセスログの分割処理後、アクセス履歴記録装置１は、「要求ログ３」を元に、アクセス制御の実装毎のポリシーに変換し、「アクセス許可リスト１」としてファイルに保存する。「アクセス許可リスト１」は遷移パターンの数だけ作成される。
以上により、アクセス履歴記録装置１は、アクセスポリシーを設定する。すなわち、図９に示すように、ユーザ空間１１で実行されるプログラムのアクセスログをＯＳカーネルにおいてすべて記録し、必要なアクセスログについて、アクセス記録読み出しプログラム、アクセス記録解析プログラム、ポリシー出力プログラムを実行することにより、上述の処理を実現し、ポリシーの設定を行う。
【００３０】
以上説明したように、本実施形態のアクセス履歴記録装置１において、例えば、図３に示すように、プログラムＡが、その中でプログラムBとプログラムCを呼び出し、プログラムＣがさらにプログラムＤを呼び出し、プログラムＤがさらにプログラムＢを呼び出した場合、まずプログラムＡが親となりＢとＣが起動される。次に、プログラムＣが親となりＤが起動される。そして、プログラムＤが親となりＢが起動される。このとき、最終的に実行されているプログラムだけを見ると図３左のＢは同一だが、それが実行される履歴（系譜）を見ると異なるものと識別できる。
一方、図１０に示すように、最終的に実行されているプログラムだけを見ると識別ができない結果、従来の手法ではプログラムＢに対してファイル１と２の両方にアクセスを認めなければならない。
しかし、プロセスの遷移の履歴を保持することによりＡ→ＢとＡ→Ｃ→Ｄ→Ｂを区別することが可能となるので前者にはファイル１と２，後者にはファイル２のみのアクセスを認めれば良い。したがって、このような区別を実現することにより、プログラムに許可するアクセス範囲をプログラムの起動された履歴に応じて最小限にすることができる。
また、クラッカーにより不正アクセスを受けた場合、保存されているログから侵入のパターンを調べ、必要な措置を講じることができる。例えば、コマンド実行時に呼び出し元となる一連のコマンド群の履歴をパラメータとして渡すことで、ｗｅｂサービスやｆｔｐサービス等を踏み台として基本ソフトを乗っ取ろうとした場合にコマンド群の履歴が不正と思われる組み合わせとマッチしていたら処理を中止、あるいはログを残すようにする。
このようなログを残すことにより、例えば、通常の処理の流れでは、プログラムＤはプログラムＣ以外から呼び出されることがない等、不正アクセスと思われるコンテキストを検出することができる。
【００３１】
以下、本実施形態のアクセス制御装置２が設定されたアクセスポリシーに基づいて、アクセス制御を実行する流れについて説明する。
上述したように、プログラムＤはプログラムＣ以外から呼び出されることがないことがアクセスポリシーとして設定されていない場合において、クラッカーが不正アクセスによりプログラムＡを乗っ取り、プログラムDを起動しようとすると、カーネルは、プログラムＣを経由してないことを認識できず、プログラムＤを実行してしまう。
【００３２】
一方、アクセス制御装置２内に親プロセスの識別情報と子プロセスの識別情報とからなるプロセス親子関係の遷移履歴を各プロセスの識別情報として、各プロセスのファイルアクセスログを記憶する記憶部を設けておき、アクセスポリシー設定部がプロセス親子関係の遷移履歴をプロセスの識別情報として、記憶部が記憶するファイルアクセスログに基づいてアクセスポリシーを設定することで、ファイルアクセス制御部がアクセスポリシー設定部の設定したアクセスポリシーに合致しない”プロセス親子関係の遷移履歴を識別情報とする”プロセスからのファイルアクセスを制限することができる。
具体的には、クラッカーが不正アクセスによりプログラムＡを乗っ取り、プログラムＤを起動しようとした場合、カーネルは、現在のプログラムＡのコマンド実行履歴からプログラムＣを経由しないでプログラムＤを実行するアクセスポリシーが存在しないことを知り、処理を実行せずに管理者に警告メッセージを出力することができる。
【００３３】
なお、本実施形態のアクセス制御装置２においては、アクセスポリシーの細かな設定方法については、特に限定しなかったが、具体的には、例えば、既知の正当な”プロセス親子関係の遷移履歴”をプロセスの識別情報として有するファイルアクセスログに基づいて、ファイルアクセスを許可するアクセスポリシーを設定することが考えられる。
【００３４】
上述のアクセス履歴記録装置及びアクセス制御装置は、内部に、コンピュータシステムを有している。
そして、上述したアクセス履歴記録処理及びアクセス制御処理に関する一連の処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
すなわち、アクセス履歴記録装置及びアクセス制御装置における、各処理手段、処理部は、ＣＰＵ等の中央演算処理装置がＲＯＭやＲＡＭ等の主記憶装置に上記プログラムを読み出して、情報の加工・演算処理を実行することにより、実現されるものである。
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【図面の簡単な説明】
【００３５】
【図１】アクセス履歴記録装置１の構成図。
【図２】プロセス複製および遷移の説明図。
【図３】コマンド実行履歴の説明図。
【図４】アクセスログテーブルＴ１の構成図。
【図５】プロセス作成および遷移処理のフローチャート。
【図６】ファイルアクセス処理のフローチャート。
【図７】プロセス終了処理のフローチャート。
【図８】アクセスログ読み出し処理のフローチャート。
【図９】アクセスポリシー設定の説明図。
【図１０】アクセス許可範囲設定の説明図。
【符号の説明】
【００３６】
１…アクセス履歴記録装置
２…アクセス制御装置
１０…ＯＳカーネル空間
１０Ａ…プロセス情報管理部
１０Ｂ…プロセス複製部
１０Ｃ…プロセス遷移部
１０Ｄ…ファイル入出力処理部
１０Ｅ…プロセス終了部
１１…ユーザ空間
１１Ａ〜１１Ｃ…ユーザプロセス
１１Ｚ…アクセスログ記録部
１００Ａ…遷移履歴保持部
１００Ｂ…遷移履歴複製部
１００Ｃ…遷移履歴更新部
１００Ｄ…アクセスログ保持部
１００Ｅ…遷移履歴破棄部
【図１】
2005128623.tif 000003
【図２】
2005128623.tif 000004
【図３】
2005128623.tif 000005
【図４】
2005128623.tif 000006
【図５】
2005128623.tif 000007
【図６】
2005128623.tif 000008
【図７】
2005128623.tif 000009
【図８】
2005128623.tif 000010
【図９】
2005128623.tif 000011
【図１０】
2005128623.tif 000012