(57)【特許請求の範囲】
【請求項１】
複数のクライアントから受け付けられた処理要求に基づいて動作するサーバ装置の該処理要求ごとの履歴情報を格納したアクセスログデータベースを解析し、前記複数のクライアントから不正クライアントを判別する不正クライアント判別装置において、
前記アクセスログデータベースに格納された履歴情報を参照し、各クライアントごとに処理要求回数および認証失敗回数を集計する集計手段と、
前記集計手段により集計された前記処理要求回数に占める前記認証失敗回数の比率を示す認証失敗比率を各クライアントごとに算出する比率算出手段と、
前記集計手段により集計された認証失敗回数および前記比率算出手段により算出された認証失敗比率を用いてクライアントのあやしさを示すあやしさ指数を各クライアントごとに算出する指数算出手段と、
前記指数算出手段により算出されたあやしさ指数に基づいて各クライアントが不正クライアントであるか否かを判定する判定手段と、
を備えたことを特徴とする不正クライアント判別装置。
【請求項２】
前記指数算出手段は、前記認証失敗回数と前記認証失敗比率とを所定の重みを付けて積算することにより前記あやしさ指数を算出することを特徴とする請求項１に記載の不正クライアント判別装置。
【請求項３】
前記判定手段は、前記あやしさ指数が所定の閾値以上である場合に、該あやしさ指数が算出されたクライアントを不正クライアントであると判定することを特徴とする請求項１または２に記載の不正クライアント判別装置。
【請求項４】
前記指数算出手段により算出された各クライアントごとのあやしさ指数の分布に基づいて前記所定の閾値を決定する閾値決定手段をさらに備え、前記判定手段は、前記閾値決定手段により決定された閾値を用いて判定をおこなうことを特徴とする請求項１、２または３に記載の不正クライアント判別装置。
【請求項５】
前記判定手段により不正クライアントであると判定されたクライアントに係る情報を格納した不正クライアントデータベースをさらに備えたことを特徴とする請求項１〜４のいずれか一つに記載の不正クライアント判別装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数のクライアントから受け付けられた処理要求に基づいて動作するサーバ装置の該処理要求ごとの履歴情報を格納したアクセスログデータベースを解析し、前記複数のクライアントから不正クライアントを判別する不正クライアント判別装置に関する。
【０００２】
近時、ネットワーク技術の進展に伴って、インターネット上の分散システムであるＷＷＷ（World Wide Web）の利用が急速に拡大し、クライアント（ホスト）に各種の情報を提供する各種ＨＴＴＰサーバも累増してきたが、かかるサーバの累増にともなって、クライアントによるサーバへの不正アクセスも増加しつつある。
【０００３】
すなわち、無権限でサーバにアクセスしたり、無権限で他人のパスワードやＩＤをサーバから盗んだりするなど、サーバを利用する者がその者に与えられた権限により許された行為以外の行為をネットワークを介して意図的におこなうという不正アクセスが増加している。このため、サーバに対する不正アクセスを排除することによりサーバの信頼性を確保する必要性が高まりつつある。
【０００４】
【従来の技術】
従来より、サーバによる情報提供に際しては、クライアントからの処理要求ごとに、その処理要求の内容および処理結果の履歴をアクセスログとしてサーバに記録することが一般的におこなわれている。すなわち、いつの日時にどこのクライアント（処理要求発信元のソースアドレス）からどのＵＲＬ（Uniform  Resource  Locator）に対して処理要求がされたかという情報や、その処理要求に対するサーバの結果ステイタスなどがアクセスログとして記録される。
【０００５】
そして、あらかじめ定められた特定のクライアントにのみ情報を提供するために、情報提供に際して利用者認証をおこなうサーバにあっては、利用者認証が拒否されたことを示す認証失敗（認証エラー）の結果ステイタスがアクセスログとして記録される。そこで、アクセスログに記録された認証エラーに着目し、不正アクセスをおこなう不正クライアントを判別することにより、不正クライアントからの不正アクセスを排除する試みが一般的におこなわれている。
【０００６】
ところで、認証エラーがアクセスログに記録されたとしても、この認証エラーが正規の利用者が単にパスワードを誤入力してしまったことに起因するような場合もあるので、１回の認証エラーを理由として不正クライアントであると判定することは適当でなく、仮に不正クライアントと判定したのでは、膨大な量の不正クライアントが発生し、却って不正アクセスを排除する趣旨を外れてしまう。
【０００７】
したがって、１回の認証エラーについて、それが意図的なものであるか若しくは偶然的なものであるか否かを単純なパターン照合により判定することは困難であり、不正クライアントであるか否かを正確に判定するには、アクセスログの傾向を分析し、処理要求元のクライアントの振る舞いをある程度踏まえた上で判定することが理想的である。
【０００８】
しかし、処理要求元のクライアントの振る舞いをアクセスログから獲得するには、各クライアントごとにどのような処理要求をおこなったかをアクセスログから抽出して、それらを繋ぎ合わせて時系列的に追跡する処理が必要であるところ、このような処理には時間を要するので、不正アクセスに簡便に対応することができない。
【０００９】
このようなことから、不正アクセスに簡便に対応するために、各クライアントごとの認証エラー回数に着目した不正クライアントの判別や、各クライアントごとの認証エラー比率に着目した不正クライアントの判別が一般的におこなわれている。
【００１０】
この認証エラー回数に着目した判別方法は、アクセスログを解析して集計された各クライアントごとの認証エラー回数を用いて、この認証エラー回数が多いクライアントを不正クライアントと判定するというものである。また、認証エラー比率に着目した判別方法は、アクセスログを解析して集計された各クライアントごとの処理要求回数に占める認証エラー回数の比率（認証エラー比率）を用いて、認証エラー比率が高いクライアントを不正クライアントと判定するというものである。
【００１１】
【発明が解決しようとする課題】
しかしながら、上記の従来技術は、不正クライアントであるか否かを簡便に判別することができる一方、その判別を精度良くおこなうことが困難であるという問題点があった。
【００１２】
すなわち、認証エラー回数を用いて判定をおこなう従来技術では、処理要求回数が多いために認証エラー回数も偶然的に多くなったような善意のクライアントに対して不正クライアントの判定がされるおそれがある一方、処理要求の大部分で意図的に認証エラーを発生させたが、処理要求回数が少ないために認証エラー回数も少なくなったような悪意のクライアントに対して不正クライアントの判定がされないおそれもあるため、精度良い判別をおこなうことは困難である。
【００１３】
同様に、認証エラー比率を用いて判定をおこなう従来技術では、認証エラー回数は極めて少ないが、処理要求回数も少ないために認証エラー比率が高くなったような善意のクライアントに対して不正クライアントの判定がされるおそれがある一方、認証エラー回数は極めて多いが、処理要求回数も多いために認証エラー比率が低くなったような悪意のクライアントに対して不正クライアントの判定がされないおそれもあるため、精度良い判別をおこなうことは困難である。
【００１４】
そこで、アクセスログに記録された認証エラーに着目して不正クライアントからの不正アクセスを排除する試みとして、不正クライアントであるか否かをいかに簡便かつ精度良く判別するかが極めて重要な課題となっている。
【００１５】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、不正クライアントであるか否かを簡便かつ精度良く判別することができる不正クライアント判別装置を提供することを目的とする。
【００１６】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、請求項１の発明によれば、図１に示した不正ホスト判別部２２が、アクセスログデータベース（ＤＢ）２６に格納された履歴情報を参照し、各クライアント（クライアント装置１０）ごとに処理要求回数および認証失敗回数を集計した後、処理要求回数に占める認証失敗回数の比率を示す認証失敗比率を各クライアント１０ごとに算出し、さらに認証失敗回数および認証失敗比率を用いてクライアント１０のあやしさを示すあやしさ指数を各クライアント１０ごとに算出し、この算出されたあやしさ指数に基づいて各クライアント１０が不正クライアントであるか否かを判定することとしたので、判定基準として用いるあやしさ指数に認証失敗回数および認証失敗比率の両者を反映することができ、もって不正クライアントであるか否かを簡便かつ精度良く判別することができる。
【００１７】
また、請求項２の発明によれば、図１に示した不正ホスト判別部２２のあやしさ指数算出部２２ｂが、認証失敗回数と認証失敗比率とを所定の重みを付けて積算することによりあやしさ指数を算出することとしたので、認証失敗回数および認証失敗比率の両者が高い場合に大きな値が算出されるあやしさ指数を用いて、不正クライアントであるか否かを簡便かつ精度良く判別することができる。
【００１８】
また、請求項３の発明によれば、図１に示した不正ホスト判別部２２の判定処理部２２ｃが、あやしさ指数が所定の閾値以上である場合に、該あやしさ指数が算出されたクライアントを不正クライアントであると判定することとしたので、あやしさ指数と閾値とを比較する簡易な判別により、不正クライアントであるか否かを簡便かつ精度良く判別することができる。
【００１９】
また、請求項４の発明によれば、図１に示した不正ホスト判別部２２の判定処理部２２ｃが、各クライアントごとのあやしさ指数の分布に基づいて所定の閾値を決定し、この決定された閾値を用いて不正クライアントであるか否かの判定をおこなうこととしたので、あやしさ指数との比較に用いる閾値を機動的に決定することができ、もって不正クライアントであるか否かをより精度良く判別することができる。
【００２０】
また、請求項５の発明によれば、図１に示した不正ホスト判別部２２の登録処理部２２ｄが、不正クライアントであると判定されたクライアントに係る情報を不正クライアントデータベース（ＤＢ）２３に格納することとしたので、この不正クライアントデータベース（ＤＢ）２３を用いて、不正クライアントからの不正アクセスを排除するなどの具体的対応をおこなうことができる。
【００２１】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係る不正クライアント判別装置、不正クライアント判別方法、およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。なお、本実施の形態では、本発明に係る不正クライアント判別技術を用いて、サーバ装置に対して不正アクセスをおこなう不正クライアント（不正ホスト）に対応した処理をおこなう不正ホスト対応システムについて説明する。
【００２２】
（システムの全体構成）
まず最初に、本実施の形態に係る不正ホスト対応システムの構成について説明する。図１は、本実施の形態に係る不正ホスト対応システムの構成を示すブロック図である。同図に示すように、本実施の形態に係る不正ホスト対応システムは、Ｗｅｂブラウザ１１をそれぞれ有する複数のクライアント装置１０と、Ｗｅｂサーバ２１および不正ホスト判別部２２を有するサーバ装置２０とを、インターネットなどのネットワーク１を介して相互に通信可能に接続して構成される。
【００２３】
概略的に、この不正ホスト対応システムにあっては、クライアント装置１０は、ブラウザ１１によりサーバ装置２０に対して各種の処理要求をおこない、サーバ装置２０は、Ｗｅｂサーバ２１によりＨＴＭＬ（HyperText  Markup  Language）などのマークアップ言語により記述された各種の情報をクライアント装置１０に提供するとともに、クライアント装置１０からの該処理要求ごとの履歴情報をアクセスログＤＢ（データベース）２３に格納する。
【００２４】
また、サーバ装置２０は、不正ホスト判別部２２によりアクセスログＤＢ２６を解析してクライアント装置１０が不正ホストである否かを判別するとともに、不正クライアントに係る情報を不正ホストＤＢ２３に格納する。そして、サーバ装置２０は、不正ホストＤＢ２３に格納された不正ホストとしてのクライアント装置１０に対し、処理要求を拒絶するなどの不正対応処理をおこなう。
【００２５】
ここで、本実施の形態に係る不正ホスト対応システムは、サーバ装置２０の不正ホスト判別部２２による不正ホスト判別処理に特徴があり、具体的には、アクセスログＤＢ２６に格納された履歴情報を参照し、各クライアント装置１０ごとに処理要求回数および認証失敗回数を集計した後、処理要求回数に占める認証失敗回数の比率を示す認証失敗比率を算出し、この認証失敗回数および認証失敗比率を用いてホストのあやしさを示すあやしさ指数を算出し、この算出されたあやしさ指数に基づいて不正ホストであるか否かを判定することにより、不正ホストであるか否かを簡便かつ精度良く判別できるように構成している。
【００２６】
（クライアント装置の構成）
次に、図１に示したクライアント装置１０の構成を説明する。同図に示すように、クライアント装置１０は、Ｗｅｂブラウザ１１を備え、基本的には、サーバ装置２０に対して処理要求をおこない、サーバ装置２０により提供されるＷｅｂデータを解釈して、モニタなどの出力部に表示させる表示制御（ブラウズ処理）をおこなう。
【００２７】
また、クライアント装置１０は、サーバ装置２０に対する処理要求に際して、クライアント装置１０に付与されているＩＰアドレスやホスト名などの情報も送信する。さらに、サーバ装置２０からユーザＩＤやパスワードなどの識別符号を要求された場合には、キーボード、マウスまたはマイクなどの入力部から入力された識別符号をサーバ装置２０に対して送信する。このようなＩＰアドレス、ホスト名、ユーザＩＤ、パスワードなどを用いて、サーバ装置２０による利用者認証がおこなわれる。
【００２８】
このクライアント装置１０は、たとえば、パーソナルコンピュータやワークステーション、家庭用ゲーム機、インターネットＴＶ、ＰＤＡ(Personal Digital Assistant)、あるいは、携帯電話やＰＨＳ（Personal Handy Phone System）の如き移動体通信端末によって実現することができる。
【００２９】
そして、クライアント装置１０は、モデム、ＴＡ、ルータなどの通信装置と電話回線を介して、あるいは、専用線を介して、ネットワーク１に接続されており、所定の通信規約（たとえば、ＴＣＰ／ＩＰインターネットプロトコル）に従ってサーバ装置２０にアクセスすることができる。
【００３０】
（サーバ装置の構成）
次に、図１に示したサーバ装置２０の構成を説明する。同図に示すように、サーバ装置２０は、Ｗｅｂサーバ２１と、不正ホスト判別部２２と、不正ホストＤＢ２３と、利用者ＤＢ２４と、コンテンツファイルＤＢ２５と、アクセスログＤＢ２６とを備える。なお、このサーバ装置２０は、ルータなどの通信装置および専用線を介して、ネットワーク１に通信可能に接続されており、また、各ＤＢへのアクセスは、ＤＢＭＳ(Database Management System)を介しておこなわれる。
【００３１】
このうち、不正ホストＤＢ２３は、不正ホスト判別部２２により不正ホストであると判別された不正ホストに係る情報を格納したデータベースである。図２には、この不正ホストＤＢ２３に格納される情報の構成例を示す。同図に示すように、不正ホストＤＢ２３に格納される不正ホストに係る情報は、不正ホスト判別部２２により不正ホストであると判別されたホストを示す「ＩＰアドレス」、ホスト名がある場合にはその「ホスト名」、不正ホストＤＢ２３に不正ホストとして登録された日を示す「登録日」、およびその不正ホストが最後にサーバ装置２０へアクセス要求をおこなった日を示す「最終アクセス日」を、不正ホストごとに相互に関連付けて構成される。
【００３２】
なお、不正ホストＤＢ２３に格納された「ＩＰアドレス」および「ホスト名」は、クライアント装置１０からの処理要求を不正ホストとして拒絶するか否かなどを判断する際に用いられる。また、「登録日」および「最終アクセス日」は、不正ホストの判定には直接用いないが、不正ホストＤＢ２３の更新に際して不正ホストとして登録を維持するか否かなどを判断する際に用いられる。
【００３３】
利用者ＤＢ２４は、サーバ装置２０による情報提供のサービスを利用する利用者に係る情報を格納したデータベースである。図３には、この利用者ＤＢ２４に格納される情報の構成例を示す。同図に示すように、利用者ＤＢ２４に格納される利用者に係る情報は、利用者を一意に識別するための符号である「ユーザＩＤ」、ユーザＩＤとともに利用者に付与された「パスワード」、利用者のアクセスが許可されているファイルコンテンツを示す「ＵＲＬ」、利用者が利用者ＤＢ２４に登録された日を示す「登録日」、および利用者が最後にサーバ装置２０へアクセス要求をおこなった日を示す「最終アクセス日」を、利用者ごとに相互に関連付けて構成される。
【００３４】
なお、利用者ＤＢ２４に格納された「ユーザＩＤ」、「パスワード」および「ＵＲＬ」は、クライアント装置１０からの処理要求が不正アクセスであるか否かなどを判断する際に用いられる。
【００３５】
コンテンツファイルＤＢ２５は、サーバ装置２０により提供される情報であるＷｅｂデータを格納したデータベースである。図４には、このコンテンツファイルＤＢ２４に格納される情報の構成例を示す。同図に示すように、コンテンツファイルＤＢ２４に格納される情報は、いわゆるＨＴＭＬ文書であり、このようなＨＴＭＬ文書およびそのＨＴＭＬ文書を一意に識別するための符号であるＵＲＬを、コンテンツごとに相互に関連付けて構成される。なお、コンテンツファイルＤＢ２５に格納されたＨＴＭＬ文書は、クライアント装置１０からのＵＲＬを含んだ処理要求に応じて、クライアント装置１０に対して送信される。
【００３６】
アクセスログＤＢ２６は、クライアント装置１０から受け付けられた処理要求に基づいて動作するサーバ装置２０の該処理要求ごとの履歴情報を格納したデータベースである。図５には、このアクセスログＤＢ２６に格納される情報の構成例を示す。同図に示すように、アクセスログＤＢ２６に格納される履歴情報は、クライアント装置１０による処理要求ごとに、サーバ装置２０にアクセス要求をおこなったホストを示す「ＩＰアドレス」、ホスト名がある場合にはその「ホスト名」、処理要求をおこなった日を示す「日時」、処理要求の「種別」、処理要求の対象であるコンテンツを示す「ＵＲＬ」、処理要求に対する結果を示す「状態コード」、およびクライアント装置１０に対して送信したコンテンツの「サイズ」など、一般的なサーバのアクセスログと同様の履歴情報から構成される。
【００３７】
なお、「状態コード」は、利用者認証などが成功してＷｅｂサーバ２１による処理が正常に終了した場合には、コード「２００」が記録され、一方、利用者認証などが失敗してＷｅｂサーバ２１による処理が正常に終了しなかった場合には、コード「４０１」が記録される。そして、このコード「２００」および「４０１」は、不正ホスト判別部２２による不正ホストの判別処理に用いられる。
【００３８】
Ｗｅｂサーバ２１は、図１に示すように、機能概念的に、要求解釈部２１ａと、許可判定部２１ｂと、認証処理部２１ｃと、閲覧処理部２１ｄと、登録処理部２１ｅとを備える。このうち、要求解釈部２１ａは、クライアント装置１０からの処理要求の内容を解釈し、その解釈結果に応じてＷｅｂブラウザ２１の他の各部に処理要求を受け渡す処理部である。
【００３９】
許可判定部２１ｂは、処理要求をおこなったクライアント装置１０が不正ホストであるか否かを、クライアント装置１０に付与されたＩＰアドレスまたはホスト名および不正ホストＤＢ２３に格納された不正ホストのＩＰアドレスまたはホスト名に基づいて判定する処理部である。この許可判定部２１ｂによりＩＰアドレスまたはホスト名が一致すると判定された場合には、Ｗｅｂサーバ２１は、クライアント装置１０からの処理要求を不正ホストとして拒絶し、罠を仕掛けた別のサーバ装置に導くなどの不正対応処理を実行する。
【００４０】
認証処理部２１ｃは、クライアント装置１０から受け付けた処理要求および識別符号が正当なものであるか否かを、利用者ＤＢ２４に格納された利用者に係る情報（ユーザＩＤ、パスワードおよびＵＲＬ）に基づいて判定する処理部である。この認証処理部２１ｃによりユーザＩＤ、パスワードおよびＵＲＬのいずれかが一致しないと判定された場合には、Ｗｅｂサーバ２１は、クライアント装置１０からの処理要求を不正アクセスとして拒絶し、拒絶した事実をクライアント装置１０に送信するなどの処理を実行する。
【００４１】
閲覧処理部２１ｄは、クライアント装置１０からの各種画面の閲覧要求を受けて、コンテンツファイルＤＢ２５に格納された情報に基づいてＷｅｂデータの生成や送信をおこなう処理部である。
【００４２】
登録処理部２１ｅは、クライアント装置１０から受け付けられた処理要求に基づいて動作するＷｅｂサーバ２１の該処理要求ごとの履歴情報をアクセスログＤＢ２６に格納する処理部である。例えば、許可判定部２１ｂにより不正ホストからの処理要求であると判定されて処理要求が拒絶された場合や、認証処理部２１ｃにより不正アクセスであると判定されて処理要求が拒絶された場合には、認証エラーを示すコード「４０１」の状態コードを格納する。
【００４３】
不正ホスト判別部２２は、図１に示すように、機能概念的に、読み出し部２２ａと、あやしさ指数算出部２２ｂと、判定処理部２２ｃと、登録処理部２２ｄとを備える。このうち、読み出し部２２ａは、アクセスログＤＢ２６に格納された履歴情報を解析し、各クライアントごとに処理要求回数および認証失敗回数を集計する処理部である。
【００４４】
あやしさ指数算出部２２ｂは、読み出し部２２ａにより集計された処理要求回数に占める認証失敗回数の比率を示す認証失敗比率を各クライアントごとに算出するとともに、認証失敗回数および認証失敗比率を用いてクライアントのあやしさを示すあやしさ指数を各クライアントごとに算出する処理部である。具体的には、あやしさ指数算出部２２ｂは、認証失敗回数と認証失敗比率とを積算することによりあやしさ指数を算出する。
【００４５】
判定処理部２２ｃは、あやしさ指数算出部２２ｂにより算出されたあやしさ指数に基づいて各クライアントが不正ホストであるか否かを判定する処理部であり、具体的には、あやしさ指数が所定の閾値以上である場合に、該あやしさ指数が算出されたクライアントを不正ホストであると判定する。例えば、所定の閾値が１００である場合には、図６に示すように、あやしさ指数の上位３位を占めるクライアントが不正ホストであると判定される。
【００４６】
登録処理部２２ｄは、判定処理部２２ｃにより不正ホストであると判定されたクライアントに係る情報を不正ホストＤＢ２３に格納する処理部である。なお、読み出し部２２ａによる集計処理や登録処理部２２ｄによる格納処理は、定期的若しくは、アクセスログＤＢ２６や不正ホストＤＢ２３の情報量などに応じて不定期におこなうことができる。
【００４７】
ここで、あやしさ指数算出部２２ｂによるあやしさ指数の算出処理を具体的に説明する。図６は、あやしさ指数の算出処理を説明するための図である。同図に示すように、読み出し部２２ａにより読み出された処理要求回数（総アクセス数：Ｓ）に占める認証失敗回数（認証エラー発生回数：Ｄ）の比率を示す認証エラー比率（Ｄ／Ｓ）を算出した後、この認証エラー比率（Ｄ／Ｓ）と認証エラー発生回数（Ｄ）とを積算することにより、あやしさ指数（Ａ＝Ｄ×Ｄ÷Ｓ）を算出する。
【００４８】
このように認証失敗回数（Ｄ）および認証失敗比率（Ｄ／Ｓ）の両者を積算してあやしさ指数を算出することとしたのは、このあやしさ指数を用いて不正クライアントであるか否かを精度良く判定するためである。すなわち、このようにして算出されるあやしさ指数は、認証失敗回数（Ｄ）が多いほど高い指数が算出され、かつ、認証失敗比率（Ｄ／Ｓ）が高いほど高い指数が算出される。
【００４９】
このため、処理要求回数（Ｓ）が多いために認証失敗回数（Ｄ）も偶然的に多くなったような善意のクライアントの認証失敗回数（Ｄ）と、処理要求の大部分で意図的に認証エラーを発生させたが、処理要求回数（Ｓ）が少ないために認証失敗回数（Ｄ）も少なくなったような悪意のクライアントの認証失敗回数（Ｄ）とが同一である場合でも、あやしさ指数については、善意のクライアントよりも悪意のクライアントの方が高い指数が算出されるので、不正クライアントであるか否かを精度良く判定することができる。
【００５０】
同様に、認証失敗回数（Ｄ）は極めて少ないが、処理要求回数（Ｓ）も少ないために認証失敗比率（Ｄ／Ｓ）が高くなったような善意のクライアントの認証失敗比率（Ｄ／Ｓ）と、認証失敗回数（Ｄ）は極めて多いが、処理要求回数（Ｓ）も多いために認証失敗比率（Ｄ／Ｓ）が低くなったような悪意のクライアントの認証失敗比率（Ｄ／Ｓ）とが同一である場合でも、あやしさ指数については、善意のクライアントよりも悪意のクライアントの方が高い指数が算出されるので、不正クライアントであるか否かを精度良く判定することができる。
【００５１】
（不正対応処理）
次に、本実施の形態に係る不正ホスト対応システムによる処理手順を説明する。図７は、本実施の形態に係る不正ホスト対応システムによる処理手順を示すフローチャートである。同図に示すように、まず最初に、クライアント装置１０のＷｅｂブラウザ１１は、サーバ装置２０に対してアクセス要求を送信する（ステップＳ７０１）。
【００５２】
そして、サーバ装置２０は、クライアント装置１０からアクセス要求を受信し（ステップＳ７０２）、Ｗｅｂサーバ２１は、アクセス要求をおこなったクライアント装置１０が不正ホストであるか否かを判定する（ステップＳ７０３）。具体的には、アクセス要求とともにクライアント装置１０から受信したＩＰアドレスまたはホスト名が不正ホストＤＢ２３に格納されているか否かを判定する。
【００５３】
この判定により不正ホストであると判定された場合には（ステップＳ７０３肯定）、Ｗｅｂサーバ２１は、クライアント装置１０からの処理要求を不正ホストとして拒絶し、罠を仕掛けた別のサーバ装置に導くなどの不正アクセス時の処理を実行した後（ステップＳ７０４）、当該処理要求の履歴情報として認証エラーを示すコード「４０１」をアクセスログＤＢ２６に格納する（ステップＳ７１２）。
【００５４】
これとは反対に、不正ホストであると判定されなかった場合には（ステップＳ７０３否定）、Ｗｅｂサーバ２１は、クライアント装置１０に対して利用者認証のために識別符号の入力を要求する（ステップＳ７０５）。具体的には、ユーザＩＤ、パスワードおよび処理要求対象のＵＲＬを入力するよう要求する。
【００５５】
その後、クライアント装置１０のＷｅｂブラウザ１１は、ユーザによる識別符号の入力を受け付け（ステップＳ７０６）、この入力された識別符号（ユーザＩＤおよびパスワード）および処理要求（処理要求対象のＵＲＬ）をサーバ装置２０に対して送信する（ステップＳ７０７）。
【００５６】
そして、サーバ装置２０は、クライアント装置１０から識別符号および処理要求を受信し（ステップＳ７０８）、Ｗｅｂサーバ２１は、クライアント装置１０から受け付けた識別符号および処理要求が正当なものであるか否かを判定する（ステップＳ７０９）。具体的には、クライアント装置１０から受信したユーザＩＤ、パスワードおよびＵＲＬのいずれもが利用者ＤＢ２４に格納されているか否かを判定する。
【００５７】
この判定により、正当であると判定されなかった場合には（ステップＳ７０９否定）、Ｗｅｂサーバ２１は、クライアント装置１０からの処理要求を不正アクセスとして拒絶するなどの認証エラー時の処理を実行した後（ステップＳ７１１）、当該処理要求の履歴情報として認証エラーを示すコード「４０１」をアクセスログＤＢ２６に格納する（ステップＳ７１２）。
【００５８】
これとは反対に、正当であると判定された場合には（ステップＳ７０９肯定）、Ｗｅｂサーバ２１は、コンテンツファイルＤＢ２５に格納された情報に基づいてＷｅｂデータを生成するなどの認証成功時の処理を実行した後（ステップＳ７１０）、当該処理要求の履歴情報として認証成功を示すコード「２００」をアクセスログＤＢ２６に格納する（ステップＳ７１２）。
【００５９】
その後、サーバ装置２０のＷｅｂサーバ２１は、認証エラーや認証成功などの情報、またはクライアント装置１０から要求されたＷｅｂデータを処理結果としてクライアント装置１０に送信し（ステップＳ７１３）、クライアント装置１０のＷｅｂブラウザ１１は、サーバ装置２０から受信した処理結果をユーザに対して表示する（ステップＳ７１４）。
【００６０】
上記一連の処理をおこなうことにより、不正クライアントからのアクセスを拒絶してサーバ装置２０の信頼性を確保することができるとともに、不正ホスト判別処理部２２による不正ホストの判別処理に用いられる認証エラー情報をアクセスログＤＢ２６に蓄積することができる。
【００６１】
（不正ホスト判別処理）
次に、図１に示したサーバ装置２０による不正ホスト判別の処理手順を説明する。図８は、サーバ装置２０による不正ホスト判別の処理手順を示すフローチャートである。同図に示すように、まず最初に、サーバ装置２０を構成する不正ホスト判別部２２の読み出し部２２ａは、アクセスログＤＢ２６に格納された履歴情報を解析し（ステップＳ８０１）、各ホストごとに処理要求回数（Ｓ）および認証失敗回数（Ｄ）を集計する（ステップＳ８０２および８０３）。なお、認証失敗回数（Ｄ）を集計した後に、処理要求回数（Ｓ）を集計してもよい。
【００６２】
その後、不正ホスト判別部２２のあやしさ指数算出部２２ｂは、読み出し部２２ａにより集計された処理要求回数（Ｓ）に占める認証失敗回数（Ｄ）の比率を示す認証失敗比率（Ｄ／Ｓ）を各ホストごとに算出した後に、認証失敗回数（Ｄ）と認証失敗比率（Ｄ／Ｓ）とを積算することによりあやしさ指数（Ａ＝Ｄ×（Ｄ／Ｓ））を算出する（ステップＳ８０４）。
【００６３】
そして、不正ホスト判別部２２の判定処理部２２ｃは、あやしさ指数算出部２２ｂにより算出されたあやしさ指数（Ａ）に基づいて各クライアントが不正ホストであるか否かを判定する（ステップＳ８０５）。具体的には、あやしさ指数（Ａ）が所定の閾値（Ｂ）以上である場合に、該あやしさ指数が算出されたクライアントを不正ホストであると判定する。
【００６４】
この判定により、あやしさ指数（Ａ）が所定の閾値（Ｂ）以上でなかった場合には（ステップＳ８０５否定）、当該あやしさ指数（Ａ）が算出されたホストを正当ホストと認定して処理を終了する（ステップＳ８０６）。
【００６５】
これとは反対に、あやしさ指数（Ａ）が所定の閾値（Ｂ）以上であった場合には（ステップＳ８０５肯定）、当該あやしさ指数（Ａ）が算出されたホストを不正ホストと認定し（ステップＳ８０７）、登録処理部２２ｄは、不正ホストであると認定されたクライアントに係る情報を不正ホストＤＢ２３に登録する（ステップＳ８０８）。
【００６６】
上記一連の処理をおこなうことにより、不正クライアントであるか否かを簡便かつ精度良く判別することができるとともに、この判別の結果を不正ホストＤＢ２３に迅速に反映して、不正ホストからの不正アクセスを排除するなどの具体的対応を迅速におこなうことができる。
【００６７】
上述してきたように、本実施の形態によれば、図１に示した不正ホスト判別部２２は、認証失敗回数および認証失敗比率の両者が反映されたあやしさ指数を判定基準として用いることができ、もって不正クライアントであるか否かを簡便かつ精度良く判別することができる。
【００６８】
なお、本実施の形態では、あやしさ指数算出部２２ｂが、認証失敗回数と認証失敗比率とを積算することによりあやしさ指数を算出する場合を説明したが、本発明はこれに限定されるものではなく、認証失敗回数と認証失敗比率とを所定の重みを付けて積算することによりあやしさ指数を算出する場合にも適用することができる。このような重み付けをおこなうことにより、より精度良い判定をおこなうことができる。
【００６９】
また、本実施の形態では、判定処理部２２ｃが、あやしさ指数が所定の閾値以上である場合に該あやしさ指数が算出されたクライアントを不正ホストであると判定する場合を説明したが、本発明はこれに限定されるものではなく、各クライアントごとのあやしさ指数の分布に基づいて所定の閾値を決定した後に、この決定された閾値を用いて判定をおこなう場合にも適用することができる。例えば、あやしさ指数の上位５％を不正ホストと判定するなど、機動的に閾値を決定することにより、より精度良く判定をおこなうことができる。
【００７０】
また、本実施の形態では、図１に示したように、複数のクライアント装置１０と一つのサーバ装置２０とがネットワーク１を介して接続される場合を説明したが、本発明はこれに限定されるものではなく、例えば、図９に示すように、複数のサーバ装置２０をネットワーク２を介して接続することにより、不正ホストＤＢ２３に格納された情報を共有する場合にも同様に適用することができる。このように不正ホストＤＢ２３を共有することにより、他のサーバ装置２０において不正ホストと判別された不正ホストが自己のサーバに対して初めてアクセスしてきた場合にも、このアクセスを拒絶することができる。
【００７１】
また、本実施の形態では、図１に示したように、サーバ装置２０が不正ホストの判別処理をおこなう不正ホスト判別部２２をも有する場合を説明したが、本発明はこれに限定されるものではなく、例えば、図１０に示すように、不正ホストの判別処理をおこなう不正ホスト判別部２２を有する判別装置３０とサーバ装置２０ともネットワーク３および４を介して接続し、この判別装置３０の有する不正ホストＤＢ２３を複数のサーバ装置２０が共有する場合にも同様に適用することができる。このように不正ホストＤＢ２３を有する判別装置３０を設けることにより、広範囲から認証エラーの情報を入手して、複数のサーバ装置２０の全体を意識したあやしさ指数を算出することができ、もって不正クライアントであるか否かをより精度良く判別することができる。
【００７２】
なお、本実施の形態で説明した不正クライアント判別方法は、あらかじめ用意されたプログラムをパーソナル・コンピューターやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フロッピーディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【００７３】
（付記１）複数のクライアントから受け付けられた処理要求に基づいて動作するサーバ装置の該処理要求ごとの履歴情報を格納したアクセスログデータベースを解析し、前記複数のクライアントから不正クライアントを判別する不正クライアント判別装置において、
前記アクセスログデータベースに格納された履歴情報を参照し、各クライアントごとに処理要求回数および認証失敗回数を集計する集計手段と、
前記集計手段により集計された前記処理要求回数に占める前記認証失敗回数の比率を示す認証失敗比率を各クライアントごとに算出する比率算出手段と、
前記集計手段により集計された認証失敗回数および前記比率算出手段により算出された認証失敗比率を用いてクライアントのあやしさを示すあやしさ指数を各クライアントごとに算出する指数算出手段と、
前記指数算出手段により算出されたあやしさ指数に基づいて各クライアントが不正クライアントであるか否かを判定する判定手段と、
を備えたことを特徴とする不正クライアント判別装置。
【００７４】
（付記２）前記指数算出手段は、前記認証失敗回数と前記認証失敗比率とを所定の重みを付けて積算することにより前記あやしさ指数を算出することを特徴とする付記１に記載の不正クライアント判別装置。
【００７５】
（付記３）前記判定手段は、前記あやしさ指数が所定の閾値以上である場合に、該あやしさ指数が算出されたクライアントを不正クライアントであると判定することを特徴とする付記１または２に記載の不正クライアント判別装置。
【００７６】
（付記４）前記指数算出手段により算出された各クライアントごとのあやしさ指数の分布に基づいて前記所定の閾値を決定する閾値決定手段をさらに備え、前記判定手段は、前記閾値決定手段により決定された閾値を用いて判定をおこなうことを特徴とする付記１、２または３に記載の不正クライアント判別装置。
【００７７】
（付記５）前記判定手段により不正クライアントであると判定されたクライアントに係る情報を格納した不正クライアントデータベースをさらに備えたことを特徴とする付記１〜４のいずれか一つに記載の不正クライアント判別装置。
【００７８】
（付記６）前記不正クライアントデータベースに格納された不正クライアントに係る情報を所定のネットワークを介して外部装置に送信する送信手段をさらに備えたことを特徴とする付記１〜５のいずれか一つに記載の不正クライアント判別装置。
【００７９】
（付記７）複数のクライアントから受け付けられた処理要求に基づいて動作するサーバ装置の該処理要求ごとの履歴情報を格納したアクセスログデータベースを解析し、前記複数のクライアントから不正クライアントを判別する不正クライアント判別方法において、
前記アクセスログデータベースに格納された履歴情報を参照し、各クライアントごとに処理要求回数および認証失敗回数を集計する集計工程と、
前記集計工程により集計された前記処理要求回数に占める前記認証失敗回数の比率を示す認証失敗比率を各クライアントごとに算出する比率算出工程と、
前記集計工程により集計された認証失敗回数および前記比率算出工程により算出された認証失敗比率を用いてクライアントのあやしさを示すあやしさ指数を各クライアントごとに算出する指数算出工程と、
前記指数算出工程により算出されたあやしさ指数に基づいて各クライアントが不正クライアントであるか否かを判定する判定工程と、
を含んだことを特徴とする不正クライアント判別方法。
【００８０】
（付記８）前記指数算出工程は、前記認証失敗回数と前記認証失敗比率とを所定の重みを付けて積算することにより前記あやしさ指数を算出することを特徴とする付記７に記載の不正クライアント判別方法。
【００８１】
（付記９）前記判定工程は、前記あやしさ指数が所定の閾値以上である場合に、該あやしさ指数が算出されたクライアントを不正クライアントであると判定することを特徴とする付記７または８に記載の不正クライアント判別方法。
【００８２】
（付記１０）前記指数算出工程により算出された各クライアントごとのあやしさ指数の分布に基づいて前記所定の閾値を決定する閾値決定工程をさらに含み、前記判定工程は、前記閾値決定工程により決定された閾値を用いて判定をおこなうことを特徴とする付記７、８または９に記載の不正クライアント判別方法。
【００８３】
（付記１１）前記判定工程により不正クライアントであると判定されたクライアントに係る情報を不正クライアントデータベースに格納する格納工程をさらに含んだことを特徴とする付記７〜１０のいずれか一つに記載の不正クライアント判別方法。
【００８４】
（付記１２）前記格納工程により不正クライアントデータベースに格納された不正クライアントに係る情報を所定のネットワークを介して外部装置に送信する送信工程をさらに含んだことを特徴とする付記７〜１１のいずれか一つに記載の不正クライアント判別方法。
【００８５】
（付記１３）前記付記７〜１２のいずれか一つに記載された方法をコンピュータに実行させるプログラム。
【００８６】
（付記１４）複数のクライアントから受け付けられた処理要求に基づいて動作し、該処理要求ごとの履歴情報を格納したアクセスログデータベースを解析して不正クライアントに対応した処理をおこなう不正クライアント対応サーバにおいて、
前記アクセスログデータベースを解析して前記複数のクライアントから不正クライアントを判別する不正クライアント判別手段と、
前記不正クライアント判別手段により判別された不正クライアントに係る情報を格納した不正クライアントデータベースと、
前記不正クライアントデータベースに格納された不正クライアントに対して所定の不正対応処理をおこなう不正対応処理手段と、
を備えたことを特徴とする不正クライアント対応サーバ。
【００８７】
（付記１５）前記不正クライアント判別手段は、
前記アクセスログデータベースに格納された履歴情報を参照し、各クライアントごとに処理要求回数および認証失敗回数を集計する集計手段と、
前記集計手段により集計された前記処理要求回数に占める前記認証失敗回数の比率を示す認証失敗比率を各クライアントごとに算出する比率算出手段と、
前記集計手段により集計された認証失敗回数および前記比率算出手段により算出された認証失敗比率を用いてクライアントのあやしさを示すあやしさ指数を各クライアントごとに算出する指数算出手段と、
前記指数算出手段により算出されたあやしさ指数に基づいて各クライアントが不正クライアントであるか否かを判定する判定手段と、
を備えたことを特徴とする付記１４に記載の不正クライアント対応サーバ。
【００８８】
（付記１６）前記指数算出手段は、前記認証失敗回数と前記認証失敗比率とを所定の重みを付けて積算することにより前記あやしさ指数を算出することを特徴とする付記１５に記載の不正クライアント対応サーバ。
【００８９】
（付記１７）前記判定手段は、前記あやしさ指数が所定の閾値以上である場合に、該あやしさ指数が算出されたクライアントを不正クライアントであると判定することを特徴とする付記１５または１６に記載の不正クライアント対応サーバ。
【００９０】
（付記１８）前記指数算出手段により算出された各クライアントごとのあやしさ指数の分布に基づいて前記所定の閾値を決定する閾値決定手段をさらに備え、前記判定手段は、前記閾値決定手段により決定された閾値を用いて判定をおこなうことを特徴とする付記１５、１６または１７に記載の不正クライアント対応サーバ。
【００９１】
（付記１９）前記判定手段により不正クライアントであると判定されたクライアントに係る情報を前記不正クライアントデータベースに格納する格納手段をさらに備えたことを特徴とする付記１５〜１８のいずれか一つに記載の不正クライアント対応サーバ。
【００９２】
（付記２０）前記不正対応処理手段は、前記不正クライアントデータベースに格納された不正クライアントから処理要求を受け付けた場合に、該処理要求を拒絶するとともに、認証失敗の履歴情報として前記アクセスログデータベースに格納することを特徴とする付記１５〜１９のいずれか一つに記載の不正クライアント対応サーバ。
【００９３】
（付記２１）前記不正対応処理手段は、前記不正クライアントデータベースに格納された不正クライアントに係る情報を所定のネットワークを介して外部装置に送信することを特徴とする付記１５〜２０のいずれか一つに記載の不正クライアント対応サーバ。
【００９４】
（付記２２）複数のクライアントから受け付けられた処理要求に基づいて動作するサーバ装置の該処理要求ごとの履歴情報を格納したアクセスログデータベースを解析して不正クライアントに対応した処理をおこなう不正クライアント対応方法において、
前記アクセスログデータベースを解析して前記複数のクライアントから不正クライアントを判別する不正クライアント判別工程と、
前記不正クライアント判別工程により判別された不正クライアントに係る情報を格納した不正クライアントデータベースを参照し、該格納された不正クライアントに対して所定の不正対応処理をおこなう不正対応処理工程と、
を備えたことを特徴とする不正クライアント対応方法。
【００９５】
（付記２３）前記不正クライアント判別工程は、
前記アクセスログデータベースに格納された履歴情報を参照し、各クライアントごとに処理要求回数および認証失敗回数を集計する集計工程と、
前記集計工程により集計された前記処理要求回数に占める前記認証失敗回数の比率を示す認証失敗比率を各クライアントごとに算出する比率算出工程と、
前記集計工程により集計された認証失敗回数および前記比率算出工程により算出された認証失敗比率を用いてクライアントのあやしさを示すあやしさ指数を各クライアントごとに算出する指数算出工程と、
前記指数算出工程により算出されたあやしさ指数に基づいて各クライアントが不正クライアントであるか否かを判定する判定工程と、
を含んだことを特徴とする付記２２に記載の不正クライアント対応方法。
【００９６】
（付記２４）前記指数算出工程は、前記認証失敗回数と前記認証失敗比率とを所定の重みを付けて積算することにより前記あやしさ指数を算出することを特徴とする付記２３に記載の不正クライアント対応方法。
【００９７】
（付記２５）前記判定工程は、前記あやしさ指数が所定の閾値以上である場合に、該あやしさ指数が算出されたクライアントを不正クライアントであると判定することを特徴とする付記２３または２４に記載の不正クライアント対応方法。
【００９８】
（付記２６）前記指数算出工程により算出された各クライアントごとのあやしさ指数の分布に基づいて前記所定の閾値を決定する閾値決定工程をさらに含んみ、前記判定工程は、前記閾値決定工程により決定された閾値を用いて判定をおこなうことを特徴とする付記２３、２４または２５に記載の不正クライアント対応方法。
【００９９】
（付記２７）前記判定工程により不正クライアントであると判定されたクライアントに係る情報を前記不正クライアントデータベースに格納する格納工程をさらに含んだことを特徴とする付記２３〜２６のいずれか一つに記載の不正クライアント対応方法。
【０１００】
（付記２８）前記不正対応処理工程は、前記不正クライアントデータベースに格納された不正クライアントから処理要求を受け付けた場合に、該処理要求を拒絶するとともに、認証失敗の履歴情報として前記アクセスログデータベースに格納することを特徴とする付記２３〜２７のいずれか一つに記載の不正クライアント対応方法。
【０１０１】
（付記２９）前記不正対応処理工程は、前記不正クライアントデータベースに格納された不正クライアントに係る情報を所定のネットワークを介して外部装置に送信することを特徴とする付記２３〜２８のいずれか一つに記載の不正クライアント対応方法。
【０１０２】
（付記３０）前記付記２２〜２９のいずれか一つに記載された方法をコンピュータに実行させるプログラム。
【０１０３】
【発明の効果】
以上説明したように、請求項１の発明によれば、アクセスログデータベースに格納された履歴情報を参照し、各クライアントごとに処理要求回数および認証失敗回数を集計した後、処理要求回数に占める認証失敗回数の比率を示す認証失敗比率を各クライアントごとに算出し、さらに認証失敗回数および認証失敗比率を用いてクライアントのあやしさを示すあやしさ指数を各クライアントごとに算出し、この算出されたあやしさ指数に基づいて各クライアントが不正クライアントであるか否かを判定することとしたので、判定基準として用いるあやしさ指数に認証失敗回数および認証失敗比率の両者を反映することができ、もって不正クライアントであるか否かを簡便かつ精度良く判別することができる。
【０１０４】
また、請求項２の発明によれば、認証失敗回数と認証失敗比率とを所定の重みを付けて積算することによりあやしさ指数を算出することとしたので、認証失敗回数および認証失敗比率の両者が高い場合に大きな値が算出されるあやしさ指数を用いて、不正クライアントであるか否かを簡便かつ精度良く判別することができる。
【０１０５】
また、請求項３の発明によれば、あやしさ指数が所定の閾値以上である場合に、該あやしさ指数が算出されたクライアントを不正クライアントであると判定することとしたので、あやしさ指数と閾値とを比較する簡易な判別により、不正クライアントであるか否かを簡便かつ精度良く判別することができる。
【０１０６】
また、請求項４の発明によれば、各クライアントごとのあやしさ指数の分布に基づいて所定の閾値を決定し、この決定された閾値を用いて不正クライアントであるか否かの判定をおこなうこととしたので、あやしさ指数との比較に用いる閾値を機動的に決定することができ、もって不正クライアントであるか否かをより精度良く判別することができる。
【０１０７】
また、請求項５の発明によれば、不正クライアントであると判定されたクライアントに係る情報を不正クライアントデータベースに格納することとしたので、この不正クライアントデータベースを用いて、不正クライアントからの不正アクセスを排除するなどの具体的対応をおこなうことができる。
【図面の簡単な説明】
【図１】本実施の形態に係る不正ホスト対応システムの構成を示すブロック図である。
【図２】不正ホストＤＢに格納される情報の構成例を示す図である。
【図３】利用者ＤＢに格納される情報の構成例を示す図である。
【図４】コンテンツファイルＤＢに格納される情報の構成例を示す図である。
【図５】アクセスログＤＢに格納される情報の構成例を示す図である。
【図６】あやしさ指数の算出処理を説明するための図である。
【図７】本実施の形態に係る不正ホスト対応システムによる処理手順を示すフローチャートである。
【図８】サーバ装置による不正ホスト判別の処理手順を示すフローチャートである。
【図９】不正ホストＤＢに格納された情報を共有する場合の構成を示すブロック図である。
【図１０】不正ホストＤＢを有する判別装置を設けた場合の構成を示すブロック図である。
【符号の説明】
１〜４  ネットワーク
１０  クライアント装置
１１  Ｗｅｂブラウザ
２０  サーバ装置
２１  Ｗｅｂサーバ
２１ａ  要求解釈部
２１ｂ  許可判定部
２１ｃ  認証処理部
２１ｄ  閲覧処理部
２１ｅ  登録処理部
２２  不正ホスト判別部
２２ａ  読み出し部
２２ｂ  あやしさ指数算出部
２２ｃ  判定処理部
２２ｄ  登録処理部
２３  不正ホストＤＢ
２４  利用者ＤＢ
２５  コンテンツファイルＤＢ
２６  アクセスログＤＢ
３０  判別装置
【図１】
0003923268.tif 000002
【図２】
0003923268.tif 000003
【図３】
0003923268.tif 000004
【図４】
0003923268.tif 000005
【図５】
0003923268.tif 000006
【図６】
0003923268.tif 000007
【図７】
0003923268.tif 000008
【図８】
0003923268.tif 000009
【図９】
0003923268.tif 000010
【図１０】
0003923268.tif 000011