(57)【要約】【課題】パスワード認証の後に実行される不正アクセスを防止する。【解決手段】記憶装置３は、操作権限取得処理を行うための規則であり、イベントの実行順を示し、文字列で記述されたイベント列で表される判定ルール３１を記憶する。判定制御部４１は、所定のユーザに対してパスワード認証成功の後に該ユーザによって順次実行されるイベントをフックする。ルール判定部４２は、フックされたイベントと記憶装置３に記憶されている判定ルール３１とを比較し、実行された所定数のイベントが判定ルール３１に一致した場合に、該ユーザに対してログイン後と同様の操作を許可し、一致しなかった場合には、判定制御部４１へユーザのログアウトの指示を送る。なお、判定制御部４１およびルール判定部４２は、オペレーティングシステム（ＯＳ）側で実行される。【選択図】図１
2007241549.tif 000002
【特許請求の範囲】
【請求項１】
所定のユーザに対してパスワードの認証を行うステップと、
前記パスワードの認証成功の後に該ユーザによって順次実行されるイベントを、予め作成され記憶されている判定ルールと比較するステップと、
前記実行された所定数のイベントが該判定ルールに一致した場合に、該ユーザに対してログイン後の処理を行うステップと、
を含むことを特徴とする不正アクセス防止方法。
【請求項２】
前記実行された所定数のイベントが該判定ルールに一致しなかった場合には、前記ユーザに対してログアウトの処理を行うステップを含むことを特徴とする請求項１記載の不正アクセス防止方法。
【請求項３】
前記判定ルールと比較するステップは、オペレーティングシステム（ＯＳ）側で実行されることを特徴とする請求項１記載の不正アクセス防止方法。
【請求項４】
前記判定ルールは、操作権限取得処理を行うための規則であって、イベントの実行順を示し、文字列で記述されたイベント列で表されることを特徴とする請求項１〜３のいずれか一に記載の不正アクセス防止方法。
【請求項５】
前記順次実行されるイベントをログ情報として記録するステップをさらに含むことを特徴とする請求項１記載の不正アクセス防止方法。
【請求項６】
前記実行されたイベントが所定のファイルのオープン処理に関するものである場合に、該所定のファイルのリード処理の実行を許可することを特徴とする請求項１記載の不正アクセス防止方法。
【請求項７】
前記ログアウトの処理の前に前記ユーザに対して所定のメッセージを送出するステップを含むことを特徴とする請求項２記載の不正アクセス防止方法。
【請求項８】
不正アクセス防止のための判定ルールを記憶する記憶装置と、
所定のユーザに対してパスワード認証成功の後に該ユーザによって順次実行されるイベントをフックする判定制御部と、
前記フックされたイベントと前記記憶装置に記憶されている前記判定ルールとを比較し、前記実行された所定数のイベントが前記判定ルールに一致した場合に、該ユーザに対してログイン後と同様の操作を許可するルール判定部と、
を含むことを特徴とする不正アクセス防止システム。
【請求項９】
前記ルール判定部は、前記実行された所定数のイベントが前記判定ルールに一致しなかった場合には、前記判定制御部へ前記ユーザのログアウトの指示を送ることを特徴とする請求項８記載の不正アクセス防止システム。
【請求項１０】
前記判定制御部および前記ルール判定部は、オペレーティングシステム（ＯＳ）側で実行されることを特徴とする請求項８記載の不正アクセス防止システム。
【請求項１１】
前記判定ルールは、操作権限取得処理を行うための規則であって、イベントの実行順を示し、文字列で記述されたイベント列で表されることを特徴とする請求項８〜１０のいずれか一に記載の不正アクセス防止システム。
【請求項１２】
前記記憶装置は、前記順次実行されるイベントをログ情報として記録することを特徴とする請求項８記載の不正アクセス防止システム。
【請求項１３】
前記実行されたイベントが所定のファイルのオープン処理に関するものである場合に、該所定のファイルのリード処理の実行を許可することを特徴とする請求項８記載の不正アクセス防止システム。
【請求項１４】
前記ログアウトの処理の前に前記ユーザに対して所定のメッセージを送出することを特徴とする請求項９記載の不正アクセス防止システム。
【請求項１５】
不正アクセス防止システムを構成するコンピュータに、
所定のユーザに対してパスワードの認証を行う処理と、
前記パスワードの認証成功の後に該ユーザによって順次実行されるイベントを、予め作成され記憶されている判定ルールと比較する処理と、
前記実行された所定数のイベントが該判定ルールに一致した場合に、該ユーザに対するログイン後の処理と、
を実行させるためのプログラム。
【請求項１６】
前記実行された所定数のイベントが該判定ルールに一致しなかった場合には、前記ユーザに対してログアウトの処理を実行させることを特徴とする請求項１５記載のプログラム。
【請求項１７】
前記判定ルールと比較する処理は、オペレーティングシステム（ＯＳ）側で実行されることを特徴とする請求項１５記載のプログラム。
【請求項１８】
前記判定ルールは、操作権限取得処理を行うための規則であって、イベントの実行順を示し、文字列で記述されたイベント列で表されることを特徴とする請求項１５〜１７のいずれか一に記載のプログラム。
【請求項１９】
前記順次実行されるイベントをログ情報として記録する処理をさらに実行させることを特徴とする請求項１５記載のプログラム。
【請求項２０】
前記実行されたイベントが所定のファイルのオープン処理に関するものである場合に、該所定のファイルのリード処理の実行を許可することを特徴とする請求項１５記載のプログラム。
【請求項２１】
前記ログアウトの処理の前に前記ユーザに対して所定のメッセージを送出する処理を実行させることを特徴とする請求項１６記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パスワード認証の後に実行する不正アクセス防止方法、システムおよびプログラムに係る。
【背景技術】
【０００２】
不正アクセスに対する手法として一般的にとられている対策としては、パスワードによる認証が多い。この認証に通ると、アカウントに対する操作権限が許可され、マシン内のファイル等のリソースに対してアクセス可能になる。パスワードによる認証は、多くのアプリケーションで使用されているものではあるが、パスワードの辞書攻撃や総当り攻撃などの解析ツールが出回り、実際にパスワードクラッキングの被害も報告されている。パスワードが破られてしまうと、アカウントに許可されている範囲で操作が可能となって、システム内のデータの破壊や情報の漏えいなどといった被害を受ける可能性が非常に高くなる。
【０００３】
そこで、単なるパスワードによる認証に拠らない不正アクセスを防止する技術が開示されている。例えば、特許文献１には、システムがある特定の文字列や情報を明示的に入力させるユーザ認証システムが開示されている。また、特許文献２には、ある対象に対して主体が、実行してもよい、あるいは実行してはならないというルールでリソースへのアクセスを制御する不正アクセス防止システムが開示されている。このシステムでは、主体、型、対象、パターン、操作という要素がルールとして用意される。
【０００４】
さらに、特許文献３には、ゲストＯＳというものを用意して、不正なコマンド等をログとして記録する不正アクセス痕跡情報保全装置が開示されている。また、特許文献４には、プロセス自体を許可プロセス、一般プロセスとに分類し、フック後の処理を変える不正アクセス防止方法が開示されている。
【０００５】
またさらに、関連する技術として、特許文献５には、ネットワークを流れるデータの監視で行う、いわゆる一般に（ネットワーク型）ＩＤＳ（侵入検知システム）と呼ばれる不正監視システムが記載されている。このシステムは、ネットワーク、または外部接続装置への操作に限定された方式である。また、特許文献６には、あるシステムユーザがあるコマンドを実行する際のコマンドの実行権限を付与するためにユーザ毎に実行権を与えるためのテーブルを作成し、これを参照してチェックするセキュリティチェック方式が開示されている。これは、シングル・サイン・オンと呼ばれるシステムのロールの設定の概念である。シングル・サイン・オンとは、いわゆる本来サーバ（サービス）毎に認証を要求されていたものを、ロールというものを設定することで、一度の認証でサービスをうけることができるものであり、このシングル・サイン・オンで、あるユーザがうけることができるサービスの割り当て（設定）が、コマンドになっている。
【０００６】
【特許文献１】特開２００５−１９６８００号公報
【特許文献２】特開２００４−２８７８１０号公報
【特許文献３】特開２００５−０２５５１７号公報
【特許文献４】特開２００５−１６６０５１号公報
【特許文献５】特開２００５−３２２２６１号公報
【特許文献６】特開平１１−０１５５４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、特許文献１のユーザ認証システムは、認証システムが存在することが不正ユーザに分かってしまい、攻撃のヒントを与えてしまう恐れがある。また、特許文献２の不正アクセス防止システムは、主体、型、対象、パターン、操作という要素がルールとして必要であるために、あるユーザに対して全操作を許可する、あるいはしないといった処理に用いるにはルール設定の面で利便性が低い。さらに、特許文献３の不正アクセス痕跡情報保全装置は、ゲストＯＳという特殊なものが必要であって、汎用性に欠ける虞がある。また、不正なコマンド等をログとして記録しているが、コマンド自体は、成功してしまっており、あくまでも事後対策のための記録でしかない。さらに、ログとして記録されていることを侵入者に知られないだけであり、不正行為自体を防ぐことができない虞がある。また、特許文献４の不正アクセス防止方法は、プロセス自体を許可プロセス、一般プロセスとに分類してフック後の処理を変えており、汎用性に欠けてしまう。
【０００８】
本発明の目的は、上記の問題点を解決する不正操作防止方法、不正操作防止システムおよびプログラムを提供する。
【課題を解決するための手段】
【０００９】
本発明の１つのアスペクトに係る不正アクセス防止方法は、所定のユーザに対してパスワードの認証を行うステップと、パスワードの認証成功の後に該ユーザによって順次実行されるイベントを、予め作成され記憶されている判定ルールと比較するステップと、実行された所定数のイベントが該判定ルールに一致した場合に、該ユーザに対してログイン後の処理を行うステップと、を含む。
【００１０】
第１の展開形態の不正アクセス防止方法において、実行された所定数のイベントが該判定ルールに一致しなかった場合には、ユーザに対してログアウトの処理を行うステップを含んでもよい。
【００１１】
第２の展開形態の不正アクセス防止方法において、判定ルールと比較するステップは、オペレーティングシステム（ＯＳ）側で実行されてもよい。
【００１２】
第３の展開形態の不正アクセス防止方法において、判定ルールは、操作権限取得処理を行うための規則であって、イベントの実行順を示し、文字列で記述されたイベント列で表されてもよい。
【００１３】
第４の展開形態の不正アクセス防止方法において、順次実行されるイベントをログ情報として記録するステップをさらに含んでもよい。
【００１４】
第５の展開形態の不正アクセス防止方法において、実行されたイベントが所定のファイルのオープン処理に関するものである場合に、該所定のファイルのリード処理の実行を許可してもよい。
【００１５】
第６の展開形態の不正アクセス防止方法において、ログアウトの処理の前にユーザに対して所定のメッセージを送出するステップを含んでもよい。
【００１６】
本発明の１つのアスペクトに係る不正アクセス防止システムは、不正アクセス防止のための判定ルールを記憶する記憶装置と、所定のユーザに対してパスワード認証成功の後に該ユーザによって順次実行されるイベントをフックする判定制御部と、フックされたイベントと記憶装置に記憶されている判定ルールとを比較し、実行された所定数のイベントが判定ルールに一致した場合に、該ユーザに対してログイン後と同様の操作を許可するルール判定部と、を含む。
【００１７】
本発明の１つのアスペクトに係るプログラムは、不正アクセス防止システムを構成するコンピュータに、所定のユーザに対してパスワードの認証を行う処理と、パスワードの認証成功の後に該ユーザによって順次実行されるイベントを、予め作成され記憶されている判定ルールと比較する処理と、実行された所定数のイベントが該判定ルールに一致した場合に、該ユーザに対するログイン後の処理と、を実行させる。
【発明の効果】
【００１８】
本発明の第１の効果は、パスワード攻撃を受けてパスワードが破られても、ユーザによって順次実行されるイベントに対して判定ルールを適用するので、認証システムが存在することが不正ユーザに知られずに不正行為を防ぐことが可能である。
【００１９】
本発明の第２の効果は、覚えにくく長いパスワードを覚える必要がないことにある。その理由は、パスワード認証の後に不正操作防止処理があるので、仮にパスワードが破られても不正な操作を行えない点と、本システム自身はコマンドなどマシン操作に関する文字列を使用することが可能なので、複雑かつ無意味で覚えにくい文字の羅列のようなパスワードよりは覚えやすいことにある。
【００２０】
本発明の第３の効果は、パスワードを破られた後に、不正な操作の試みを無限に行うことを防止することができることにある。その理由は、不正な操作を所定の回数行うと、自動的にログアウト処理が行われるからである。
【００２１】
本発明の第４の効果は、ルールの組み合わせを増やすことができるので、不正アクセスによる被害を低下させることができることにある。その理由は、コマンド１つのみの認証ではなく、複数のコマンド、さらにコマンドの実行順序、コマンドのオプションも認証の一部であり、さらに、コマンドの引数にファイル等を記述する場合は実際にそのファイル等が存在し、コマンドそのものが成功するという条件を満たさなければ本発明の認証を通過することができず、推測で攻撃する場合には膨大なパターンで攻撃しなければならないからである。
【００２２】
本発明の第５の効果は、ＯＳ側で判定処理を行っているので、ssh(secure shell)等の通信を受け付けるアプリケーション側に脆弱性があった場合でも、不正操作を防止することができることにある。
【発明を実施するための最良の形態】
【００２３】
始めに、本発明における「イベント」、「フック」、「判定ルール」という言葉を次のように定義する。
イベント：ユーザが入力したコマンドや、コマンドによって実行されたプロセスが発行したシステムコールなどの命令を表す。
フック：ユーザによって実行されたイベントが、実際にＯＳを含むシステムの中で実行される前に割り込むことを表す。
判定ルール：本システムで操作権限取得処理を行う際に使用する規則を表す。例えばイベントの実行順序などで示される。
【００２４】
図１は、本発明の実施形態に係る不正アクセス防止システムの構成を示すブロック図である。図１において、不正アクセス防止システムは、入力装置１、ルール作成装置２、記憶装置３、データ処理装置４からなる。入力装置１は、ユーザによって入力されるコマンド（イベント）をデータ処理装置４に送出する。また、ルール作成装置２によって作成されるルールを入力するためにも用いられる。ルール作成装置２は、コマンドの判定を行うルールを作成して記憶装置３に送出する。記憶装置３は、ルール作成装置２によって作成した判定ルール３１やデータ処理装置４におけるログ３２を記録する。データ処理装置４は、判定制御部４１とルール判定部４２を備える。なお、ルール作成装置２およびデータ処理装置４は、不正アクセス防止システムを構成するコンピュータに所定のプログラムを実行させることで実現するようにしても良い。
【００２５】
パスワード認証の後、判定制御部４１は、入力されたイベント（コマンド等）をフックし、ルール判定部４２であらかじめルール作成装置２で作成されていた記憶装置３のルールと比較し、入力されたイベントとルールが一致した場合は、操作権限取得処理継続とする。これを繰り返し、全てのイベントがルールと一致した場合に、当該ユーザに対して通常ログイン後と同様の操作を許可する。一致しなかった場合には、ルール判定部４２から判定制御部４１へ当該ユーザのログアウトの指示を送る。
【００２６】
このような構成の不正アクセス防止システムは、ssh(secure shell)等に代表されるリモートアクセスに際し、ログインパスワードを破られても不正な操作を行わせないようにする。パスワード認証の後に、一見ログインが成功し操作権限を取得できたように見せかけるが、実際は操作権限を与えず、操作権限を取得するための処理を挿入することで、クラッカーによる不正操作を防止する。ここでいう操作権限を取得するための処理とは、複数のコマンドの実行順などの判定処理である。
【００２７】
すなわち、入力されたコマンド等のイベントが実際に実行される前に、オペレーティングシステム（ＯＳ）側（例えばＬｉｎｕｘなどではカーネル空間内）でそのイベントの文字列と、あらかじめ作成していたコマンド文字列などのルールとを比較し、一致した場合には操作権限取得処理継続とする。この処理を複数のイベントに対して繰り返し行い、全てのイベントがルールと一致した場合は、当該ユーザに対して通常のログイン後と同様の操作を許可し、一致しなかった場合は、当該ユーザをログアウトさせるものである。
【００２８】
また、ＯＳ側で操作権限取得判定処理を行っているので、例えばsshなどの通信を受け付けるプログラムに脆弱性があって任意のシェルなどを起動されてしまった場合でも、操作権限取得判定処理を通り不正操作を防止することができる。すなわち、操作権限取得判定処理をユーザのアプリケーション側のプログラムで行う実装にした場合、通常はsshd(secure shell daemon)のプロセスが子プロセスとして不正操作防止システムを起動するようにする。しかし、ssh等に脆弱性があった場合などを考えると、その脆弱性を突かれてsshdのプロセスが不正操作防止システムを起動せず、いきなりシェルを起動したり、またsshd自身がシェルとして起動されなおす可能性が考えられる。すると、本来起動されるはずだった不正操作防止システムが起動されず、不正操作を許してしまうことになる。しかし本手法では、上記のように仮にsshなどに脆弱性があっていきなりシェルなどを起動されても、ＯＳ側で判定処理を行うので、ユーザのアプリケーション側でのプログラムの起動の有無に関わらず判定処理を通り、不正操作を防止することができる。
【００２９】
このような不正アクセス防止システムは、以下のような特徴を有する。
（１）通常のパスワード認証の後に、操作権限を取得する処理を追加し、パスワード認証後あたかもログインが成功しているように見えているが、実際は何も操作ができない点。
（２）パスワード認証後、ユーザがコマンドを入力しても、結果として何も返らない点。
（３）ルールが実際のコマンドの文字列で記述できる点。
（４）複数のイベント（コマンド等）の実行順をひとつのルールにできる点。
（５）ひとつのルールに、イベントを任意数設定できる点。
（６）ユーザごとに個別のルールを設定できる点。
（７）あるユーザのルールや操作権限取得処理が、他のユーザの操作に影響を与えない点。
（８）ダミーカウンタを用いることで、実際のルールにあるイベント数を隠蔽することができる点。
（９）ダミーカウンタを用いることで、パスワード認証後の不正な操作の試みを有限回に留めることができる点。
（１０）ダミーカウンタを用いることで、不正ユーザをログアウトさせることができる点。
（１１）ルールに、ファイルやディレクトリ名を使用することができる点。
（１２）ルールにファイルやディレクトリ名を使用した場合、ユーザが相対パスでイベントを実行しても絶対パスに変換する点。
（１３）ルールに記述したファイルが存在しないなど、実際に成功しないイベントが実行された場合に操作権限取得失敗とする点。
（１４）ルールに、コマンドの引数がある場合とない場合のイベントを混在させることが出来る点。
（１５）不正なイベントが実行された場合に、そのイベントが実際に実行されることなく、ログに記録できる点。
（１６）ファイルのオープン処理（リード可能、ライト禁止モード）のイベントのみを実行させることで、不正ユーザに対して一見侵入が成功させたようにみせ、本システムの存在を隠蔽することができる点。
（１７）強制ログアウトの実施前に警告メッセージを出力することができる点。
【実施例１】
【００３０】
以下、実施例に即し、詳しく説明する。図２は、本発明の第１の実施例に係るデータ処理装置の構成を示すブロック図である。図２において、データ処理装置４は、判定制御部４１とルール判定部４２を備える。また、判定制御部４１は、フック部４３と、イベント制御部４４と、イベント調整部４５と、カウンタ４６と、ルール調整部４７と、ルール投入部４８と、を備える。
【００３１】
フック部４３は、外部から入力されたイベントをユーザのアプリケーション側ではなく、オペレーティングシステム（ＯＳ）側（例えば、Linuxではカーネル空間内）でフックする。イベント制御部４４は、操作権限取得処理を行うか否かを判断しフックしたイベントをイベント調整部４５に渡したり、ルール判定部４２からの応答を受けて判定ＮＧフラグのオン・オフを切り替えたり、フック機能をオフにしたり、判定ルールの解除やログアウト処理を行う。イベント調整部４５は、イベント制御部４４から渡ってきたイベントのパス解析や引数の抽出を行ってルール判定部４２で使用可能なフォーマットに変換する。カウンタ４６は、操作権限取得処理失敗時にダミー処理を行う数をカウントする。ルール調整部４７は、ユーザがパスワード認証を通過後に当該ユーザの判定ルール３１を記憶装置３から読み取り、他ユーザの判定ルールとの調整を行う。ルール投入部４８は、ルール調整部４７で作成された判定ルール３１をルール判定部４２に投入する。ルール判定部４２は、実際にルールとイベントとのルール判定を行う。
【００３２】
図３は、ルール作成装置２の構成を示すブロック図である。図３において、ルール作成装置２は、入力装置１から入力された判定ルールを受付け、まとめてルール変換部２２に渡すルール受付部２１と、ルール受付部２１から渡された判定ルール３１をルール判定部４２で使用可能なフォーマットに変換して記憶装置３に記憶させるルール変換部２２とからなる。
【００３３】
次に、不正アクセス防止システムの動作について説明する。はじめに、ルール作成装置２で、登録ユーザに対応するルールを作成する。ここでいうルールとは、複数イベントの実行順と、権限取得処理失敗時のダミーカウント数を記述したものである。図４にルールの例を示す。図４において、例えば、あるユーザＡの判定ルール５２ａ（５２ｂ、５２ｃ）は、「/bin/ls -l」、「/bin/cat auth.txt」、「/bin/ls -a」、「/bin/cp abc.txt def.c」という順番でコマンドが入力されるというものである。このルールは、ユーザごとに個別に設定できるものとする。なお、ダミーカウントについては後述する。
【００３４】
入力装置１から入力されたルールは、ルール受付部２１で受付け、入力されたルールとそのルールを使用するユーザとを関連づける。ルール変換部２２は、ルール受付部２１でユーザと関連付けられたルールを、ルール判定部４２での実際の判定処理で使用可能なフォーマットに変換し、記憶装置３に保存する。
【００３５】
次に、不正アクセス防止システムでの実際の操作権限取得方法について説明する。図４（Ａ）を参照すると、ユーザＡが実行したイベント５１ａと、ユーザＡの判定ルール５２ａとが存在する。最初に実行されたイベント５１ａである「/bin/ls -l」は、判定ルールの先頭のものと比較して一致しているため、何も実行せずにリターン（return）する。なお、ユーザＡが実行したイベントは、フックされており、上記の比較処理が行われた後、何も実行せずにリターンするので、システム的には何も行われない。しかし、本来は成功するコマンドのみ操作権限取得処理として有効なイベントとする。例えば、図４（Ｂ）に示す２番目のイベント５１ｂである「/bin/cat auth.txt」は、「auth.txt」というファイルを読み込んで標準出力に書き出すことができれば成功であるが、「auth.txt」というファイルが存在しない場合などイベントとして失敗するものは、操作権限取得処理としても失敗とみなす。
【００３６】
図４（Ｂ）に示すように次のイベントが入力されると、判定ルール５２ｂの次の行のルールとイベント５１ｂとの比較を行う。ここで一致すると、さらに判定ルールが続くので、何も実行せずにリターンする。これを全てのルールについて一致するまで繰り返す。ルールと入力されたイベントが順番どおり全て一致したら、操作権限取得成功とし、カウンタを０とし、不正操作防止機能をオフにしてユーザＡに正規の処理を実行できるようにする。
【００３７】
図４（Ｃ）に示すように、イベント５１ｃとルール５２ｃが異なる場合、または、既出のようにイベントそのものが失敗するものは、その時点で操作権限取得失敗とする。操作権限取得失敗時も、システム的には何も実行せずにリターンする。
【００３８】
操作権限取得に失敗した場合、その時点ですぐにユーザＡに対して操作権限取得失敗の応答やログアウトなどの処理を行わず、あたかも操作権限取得処理が続いているかのように見せながら（すなわち、実際には何もせずにリターンしているので、ユーザＡにはコマンドを実行しても何も行われていないようにみえる）、事前に設定したダミーカウント数回イベントを入力させる。ここでダミーカウントは、実際のルールのイベント数とは異なるように設定することが好ましい。操作権限取得失敗後にダミーカウント数回イベントを入力させることによって、どのイベントはルールに合致しているのか、どこまで合致していたのかという情報を不正なユーザに推測されることを防ぐことができる。
【００３９】
操作権限取得に失敗した場合は、イベント制御部４４の判定ＮＧフラグをオンにし、ダミー処理を行う次のイベントがきた場合は、ルール判定部４２にはフックした情報は送らず、何もせずにリターンを返す。イベントがダミーカウント数回実行されたら、ユーザＡのログアウト処理を行う。
【００４０】
次に、不正アクセス防止システムでの操作権限取得処理について説明する。図５は、本発明の第１の実施例に係る不正アクセス防止システムの動作を表すフローチャートである。図５において、ルール作成後に、ルール調整部４７は、ユーザの判定用のルールを記憶装置３から読み出してルール投入部４８に渡し、ルール投入部４８は、ルール判定部４２にルールを投入する（ステップＳ１１）。
【００４１】
不正アクセス防止システムは、イベントフックスタンバイ状態となる（ステップＳ１２）。
【００４２】
ユーザＡからイベントが実行されると、そのイベントをフック部４３でフックする（ステップＳ１３）。イベントをフックすると、その情報をイベント制御部４４に渡す。
【００４３】
イベント制御部４４は、判定ＮＧフラグを有しており、現在の判定ＮＧフラグをチェックする（ステップＳ１４）。判定ＮＧフラグがオンだった場合は、ステップＳ２０に進む。判定ＮＧフラグがオフだった場合は、イベント調整部４５にフックしたイベントを渡し、パス解析やオプション抽出などのイベントの調整を行う（ステップＳ１５）。例えば、図４に示すイベント５１ａの「-l」のようなオプションを抽出したり、イベント５１ｂの「auth.txt」のように相対パスで入力されたパスを絶対パスに変換したりするなど、ルール判定部４２で使用する情報を実際の判定時に使用可能なフォーマットに変換する。
【００４４】
ステップＳ１５が成功すると、ルール判定部４２で実際にルールとの比較を行い、一致していたか否かの結果をイベント制御部４４に通知する。（ステップＳ１６）。比較して一致していた場合（ステップＳ１６の一致）、カウンタ４６に１を足す（ステップＳ１７）。このカウンタ４６は、途中で操作権限取得に失敗した際のダミー処理のカウント用である。
【００４５】
次に、ルールに記述されているイベント全てとの比較が完了したかを確認する（ステップＳ１８）。ルールに記述されているイベント全てとの比較が完了していたら、操作権限取得完了とし、投入されていた判定ルールを解除し、またはフック機能をオフにして不正操作防止機能自体をオフにしてユーザＡに通常の実行環境を提供する（ステップＳ２４）。
【００４６】
ステップＳ１８で、ルールに記述されている全てのイベントとの比較が完了していない場合は、フックしたイベントに関しては何もせずにリターンし（ステップＳ２３）、イベントフックスタンバイ状態に戻る（ステップＳ１２）。
【００４７】
ステップＳ１５でイベント調整に失敗した場合、またはステップＳ１６でルールと比較して不一致だった場合は、イベント制御部４４にＮＧの通知を行い、イベント制御部４４は、判定ＮＧフラグをオンにする（ステップＳ１９）。
【００４８】
次に、カウンタ４６に１を足して（ステップＳ２０）、カウンタの値とダミーカウントの設定値とを比較する（ステップＳ２１）。カウンタの値≧設定値となった場合は、ダミー回数のイベント入力が終了しているので、ログアウト処理を行う（ステップＳ２２）。
【００４９】
ステップＳ２１で設定値未満の場合は、ステップＳ２３へ進み、イベントフックスタンバイ状態となる（ステップＳ１２）。
【実施例２】
【００５０】
図６は、本発明の第２の実施例に係るデータ処理装置の構成を示すブロック図である。図６において、データ処理装置４ａ中のイベント制御部４４ａは、記憶装置３ａに対してログを出力している点が図２のイベント制御部４４、記憶装置３と異なる。
【００５１】
図７は、本発明の第２の実施例に係る不正アクセス防止システムの動作を表すフローチャートである。図７において、ステップＳ１１〜Ｓ２４は、図５と同様であり、その説明を省略する。ステップＳ１５において、イベント調整が成功した後、抽出できたイベントの情報（実行されたコマンドやその引数など）をログとして記録する（ステップＳ３０）。以降は図５と同様である。
【００５２】
また、ステップＳ１５においてイベント調整に失敗した場合は、判定ＮＧフラグをオンにし（ステップＳ３１）、入力された文字列を抽出して（ステップＳ３２）、ログに出力する（ステップＳ３３）。ここでは、パス解析などの成功、失敗には関係なく、入力されたイベント（コマンドの文字列等）をそのまま抽出し、ログに記録する。ステップＳ１４において判定ＮＧフラグがオンの場合も、ステップＳ３２以降の処理を実施する。ステップＳ２０以降は、図５と同様である。
【００５３】
以上のように動作する不正アクセス防止システムにおいて、記憶装置３ａに記憶されるログは、不正な操作が行われた際の操作記録であり、実際に不正なユーザがどのようなイベントを実施しようとしたかが記録される。したがって、このログを参照することで、後のセキュリティ対策に活用したり、不正が行われた証拠として残したりすることができる。
【実施例３】
【００５４】
図８は、本発明の第３の実施例に係る不正アクセス防止システムの動作を表すフローチャートである。図８において、ステップＳ１１〜Ｓ２４は、図５と同様であり、その説明を省略する。図８を参照すると、本実施例は、操作権限取得処理でフックしたイベントに対して何もせずリターンしていたものを、ファイルのオープン処理（リード可能、ライト禁止モード）のイベントについては、そのまま実行させて結果をリターンする点で第１の実施例と異なる。
【００５５】
すなわち、ステップＳ１８の「Ｎ」の後、またはステップＳ２１の「Ｎ」の後、ステップＳ４１で、実行されたイベントがファイルのオープン処理（リード可能、ライト禁止モード）だった場合は、ステップＳ４２に進み、イベントを実行してリターンする。実行されたイベントがファイルのオープン処理（リード可能、ライト禁止モード）以外であった場合は、第１の実施例と同様にステップＳ２３に進む。
【００５６】
以上のように動作する不正アクセス防止システムは、不正なユーザがパスワードを破ってきた後、ファイルのリード系処理が実行できるので一見不正侵入が成功したように見せかけておき、実際にはプログラムの実行や改ざん処理はできないようにしておくことで、本システムの存在を隠すことができる。その間にもダミーカウントは上がっていくので、ダミーカウントが設定した値になった場合にログアウトさせることが可能である。
【００５７】
なお、本実施例において、第２の実施例と同様にして、ログとしてイベントを記録してもよい。
【実施例４】
【００５８】
図９は、本発明の第４の実施例に係る不正アクセス防止システムの動作を表すフローチャートである。図９において、ステップＳ１１〜Ｓ２４は、図５と同様であり、その説明を省略する。図９を参照すると、ステップＳ２１でダミーカウンタが設定値以上となった場合、すぐにログアウトせずに、メッセージを出力してから（ステップＳ５１）ログアウトさせる点が第１の実施例と異なる。例えば、「不正アクセスを検知しました」というようなメッセージを出力することで、不正ユーザに対して警告することになり、当該マシンに対して再度攻撃をしかけることを抑制する効果が得られる。
【００５９】
また、本実施例は、第２の実施例、第３の実施例と組み合わせてもよい。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施形態に係る不正アクセス防止システムの構成を示すブロック図である。
【図２】本発明の第１の実施例に係るデータ処理装置の構成を示すブロック図である。
【図３】ルール作成装置の構成を示すブロック図である。
【図４】判定ルールの例を説明する図である。
【図５】本発明の第１の実施例に係る不正アクセス防止システムの動作を表すフローチャートである。
【図６】本発明の第２の実施例に係るデータ処理装置の構成を示すブロック図である。
【図７】本発明の第２の実施例に係る不正アクセス防止システムの動作を表すフローチャートである。
【図８】本発明の第３の実施例に係る不正アクセス防止システムの動作を表すフローチャートである。
【図９】本発明の第４の実施例に係る不正アクセス防止システムの動作を表すフローチャートである。
【符号の説明】
【００６１】
１  入力装置
２  ルール作成装置
３、３ａ  記憶装置
４、４ａ  データ処理装置
２１  ルール受付部
２２  ルール変換部
３１  判定ルール
３２  ログ
４１  判定制御部
４２  ルール判定部
４３  フック部
４４、４４ａ  イベント制御部
４５  イベント調整部
４６  カウンタ
４７  ルール調整部
４８  ルール投入部
５１ａ、５１ｂ、５１ｃ  イベント
５２ａ、５２ｂ、５２ｃ  ユーザＡの判定ルール
【図１】
2007241549.tif 000003
【図２】
2007241549.tif 000004
【図３】
2007241549.tif 000005
【図４】
2007241549.tif 000006
【図５】
2007241549.tif 000007
【図６】
2007241549.tif 000008
【図７】
2007241549.tif 000009
【図８】
2007241549.tif 000010
【図９】
2007241549.tif 000011