(57)【特許請求の範囲】
【請求項１】
データを提供する複数の第一装置と該データを取得する複数の第二装置にネットワークを介して接続し、該複数の第二装置から送信された複数のパケットを、該パケットのアクセス先情報に関連付けて記憶する記憶部を有する通信装置を制御するプログラムにおいて、該通信装置に、
記憶された該複数の第二装置から送信された該複数のパケットを読み出し、
読み出した該それぞれのパケットに含まれているＨＴＴＰメッセージをそれぞれ抽出し、
抽出したそれぞれの該ＨＴＴＰメッセージに含まれているアクセス先情報とユーザエージェントをそれぞれ抽出し、
抽出した該アクセス先情報毎に、対応する該ユーザエージェントの種類の数を計数し、
該ユーザエージェントの種類の数が一となる該アクセス先情報を含むパケットを不正通信であると決定する
処理を実行させるプログラム。
【請求項２】
データを提供する複数の第一装置と該データを取得する複数の第二装置にネットワークを介して接続された通信装置であって、
該複数の該第二装置から送信された複数のパケットに含まれるアクセス先情報を、該複数のパケットにそれぞれ関連づけて記憶する記憶部と、
記憶された該複数の該第二装置から送信された該複数のパケットを読み出し、読み出した該複数のパケットに含まれるＨＴＴＰメッセージをそれぞれ抽出し、抽出したそれぞれの該ＨＴＴＰメッセージに含まれるアクセス先情報とユーザエージェントをそれぞれ抽出し、抽出した該アクセス先情報毎に、対応する該ユーザエージェントの種類の数を計数し、該ユーザエージェントの種類の数が一となる該アクセス先情報を含むパケットを不正通信であると決定する制御部
とを有することを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正な通信（以下、不正通信と呼ぶ。）を検知する技術に関する。
【背景技術】
【０００２】
不正通信を実現する技術として、ウェブサーバーとクライアントの間でデータをやり取りする際に使われるハイパーテキスト  トランスファー  プロトコル（ＨＴＴＰ）を利用する方法がある。ＨＴＴＰは、クライアントがウェブサーバーにアクセスするときに使用するものであるため、不正通信を防ぐシステムであるファイアウォールにおいても通信が許容されている。このため、ＨＴＴＰを利用することでファイアウォールを越えて不正通信が実現されるという問題がある。不正通信の手順は公開されていないため、その手順は不明である。しかし、ＨＴＴＰに含まれるユーザエージェント（Ｕｓｅｒ−Ａｇｅｎｔ）の特徴に着目して不正通信かどうかを類推することができる。ユーザエージェントは、クライアントがウェブページを閲覧するときに使用するソフトウェアであるブラウザの種類を表す。ユーザエージェントは、クライアントが任意に設定できる。しかし、多くの場合、ユーザエージェントにはクライアントが生成した以下の情報が設定されている。それらは、偽装するブラウザの名称と偽装するブラウザとの関係、本物のブラウザの名称、オペレーティングシステム（ＯＳ）の名称である。このため、ユーザエージェントは、何百種類もあり、同じブラウザであっても異なる場合がある。以下にＨＴＴＰを利用した正当な通信と不正な通信におけるユーザエージェントの特徴を説明する。これらの特徴は、受信したパケットや受信したパケットを記憶した通信ログから類推したものである。
【０００３】
ＨＴＴＰを利用した正当な通信の場合、同じウェブサーバーに複数のクライアントがアクセスする。このため、ウェブサーバーを表すユニフォーム  リソース  ロケーター（ＵＲＬ）毎にユーザエージェントの種類を数えた場合、その数は自然と増えていくという特徴がある。
【０００４】
一方、ＨＴＴＰを利用した不正な通信の場合、特定のウェブサーバーに特定のクライアントがアクセスする。このため、ＵＲＬ毎にユーザエージェントの種類を数えても、その数は増えないという特徴がある。
【０００５】
また、不正通信を検知する技術として下記のものがある。
【特許文献１】特開２００６−２７９９３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
受信したパケットから類推される特徴に基づいて不正通信を検知する。
【課題を解決するための手段】
【０００７】
上記の課題を解決するための第一の手段として、データを提供する複数の第一装置とデータを取得する複数の第二装置の間をネットワークを介して接続された通信装置を制御するプログラムにおいて、通信装置に、複数の第二装置からのパケットから宛先情報と第二装置で使用されるソフトウェアのソフトウェア情報を抽出し、宛先情報に基づいて第一装置毎に第二装置で使用されるソフトウェア情報を記録する手順を実行させるプログラムを提供する。
【０００８】
上記の課題を解決するための第二の手段として、データを提供する複数の第一装置とデータを取得する複数の第二装置の間をネットワークを介して接続された通信装置を制御するプログラムにおいて、通信装置に、複数の第二装置からのパケットから宛先情報と第二装置で使用されるソフトウェアのソフトウェア情報を抽出し、第二装置で使用されるソフトウェア情報に基づいて第二装置毎に宛先情報を記録する手順を実行させるプログラムを提供する。
【０００９】
上記の課題を解決するための第三の手段として、宛先情報とソフトウェア情報は、第一装置と第二装置がネットワーク上の仮想通信路上で交換するデータを制御する制御情報上に存在し、制御情報はパケットに含まれるものであることを特徴する上記のプログラムを提供する。
【００１０】
上記の課題を解決するための第四の手段として、記録する手順により記録した情報を宛先情報の数又はソフトウェア情報の数に基づいて通信装置に接続された装置に送信することを特徴とするプログラムを提供する。
【００１１】
上記の課題を解決するための第五の手段として、データを提供する複数の第一装置とデータを取得する複数の第二装置の間をネットワークを介して接続された通信装置において、複数の第二装置からのパケットから宛先情報と第二装置で使用されるソフトウェアのソフトウェア情報を抽出し、宛先情報に基づいて第一装置毎に第二装置で使用されるソフトウェア情報を記録する制御部を備えたことを特徴とする通信装置を提供する。
【００１２】
上記の課題を解決するための第六の手段として、データを提供する複数の第一装置とデータを取得する複数の第二装置の間をネットワークを介して接続された通信装置において、複数の第二装置からのパケットから宛先情報と第二装置で使用されるソフトウェアのソフトウェア情報を抽出し、第二装置で使用されるソフトウェア情報に基づいて第二装置毎に宛先情報を記録する制御部を備えたことを特徴とする通信装置を提供する。
【発明の効果】
【００１３】
受信したパケットや受信したパケットを記憶した通信ログから類推される特徴に基づいて不正通信を検知できる効果がある。また、検知した不正通信に係る情報をネットワークの管理者に通知できる効果がある。
【発明を実施するための最良の形態】
【００１４】
以下に図面を用いて本発明の実施形態を説明する。先ず、本実施例が対象とする不正通信の例を説明し、その後、その不正通信を検知する方法を具体的に説明する。
【００１５】
[１．不正通信の例]
図１は、本実施形態が対象とする不正通信の例である。Ａクライアント２０、Ｂクライアント２１、Ｃクライアント２２、Ｄクライアント２３は、いずれも不正な通信を行うクライアントである。また、それぞれのクライアントにインストールされているブラウザが持つユーザエージェントは、全て同じである。サーバー１は、不正な通信を行うウェブサーバーである。サーバー１がクライアントから受信したＨＴＴＰパケット３０に基づいてユーザエージェントの種類を数えた場合、ユーザエージェントの種類は全て同じであるため、その数は増えないという特徴がある。この特徴は、不正通信は、特定のクライアントと特定のサーバー間で行われるために表れるものである。また、この特徴は、上述の説明の通り、正当な通信では表れない。図２において、不正通信は、ＨＴＴＰに係る領域に不正通信を行うための不正通信情報を設定したパケットをクライアント６とサーバー１間でやり取りすることにより実現していると類推される。この類推は、受信したパケットや受信したパケットを記憶した通信ログに基づいて行ったものである。また、先に説明したユーザエージェントやＵＲＬもパケット中のＨＴＴＰに係る領域に含まれる情報である。また、クライアント６とサーバー１の間に位置するファイアウォール３やプロクシ５は、正規のクライアントのウェブアクセスを許容するためにＨＴＴＰを許容する設定になっている。このため、クライアント６とサーバー１は不正通信情報を含むパケットを自由にやり取りすることができる。従って、上述の不正通信の特徴を検出できる通信装置をクライアント１とサーバー６の間に設置することで不正通信を見つけることができる。
【００１６】
[２．全体構成図]
図２は、本発明の実施形態に係る通信システムの全体構成図である。実施形態に係る通信システムは、サーバー１とインターネット２、ファイアウォール３、イントラネット４、プロクシ５、クライアント６、通信装置７、通信監視装置８で構成される。
【００１７】
サーバー１は、ＨＴＴＰに対応した情報処理装置であり、不正通信を試みる利用者が操作するクライアント６の通信先となる装置である。サーバー１は、第一装置と称することもある。インターネット２は、個々の情報処理装置を結んで情報をやり取りする世界的規模のネットワークシステムである。ファイアウォール３は、不正なパケットがイントラネット４に侵入することを防ぐシステムである。イントラネット４は、インターネット２の標準技術を用いて企業内に構築されたネットワークである。プロクシ５は、直接インターネット２に接続できないイントラネット４に接続されている情報処理装置に代わって、「代理」としてインターネット２との接続を行なう情報処理装置である。クライアント６は、ＨＴＴＰに対応した情報処理装置であり、不正通信を試みる利用者が操作する装置である。クライアント６は、第二装置と称することもある。通信装置７は、サーバー１とクライアント６の間で行われる不正通信を検知するための装置である。通信装置７は、不正通信を検知した場合、その旨を表す検知情報を通信監視装置８に通知する。通信監視装置８は、通信装置７が送信した検知情報を受信するための装置である。
【００１８】
[３．通信装置のハードウェア構成図]
図３は、通信装置７のハードウェア構成の一例を示すブロック図である。通信装置７は、セントラル  プロセッシング  ユニット（ＣＰＵ）７１とランダム  アクセス  メモリー（ＲＡＭ）７２、リード  オンリー  メモリー（ＲＯＭ）７３、通信部７４、記憶領域７５で構成される。
【００１９】
ＣＰＵ７１は、通信プログラム７５１を実行する装置である。ＲＡＭ７２は、通信プログラム７５１を実行するためのデータや通信プログラム７５１が一時的に必要とするデータを記憶する装置である。上述の一時的に必要とするデータを記憶する領域は、一時記憶領域と称することがある。ＲＯＭ７３は、一度書き込まれたデータを記憶する装置である。ＲＯＭ７３は、通信プログラム７５１を記憶している場合もある。通信部７４は、サーバー１やファイアウォール３、プロクシ５、クライアント６、通信監視装置８との通信を担当する装置である。通信部７４は、インターネット２の標準技術であるトランスミッション  コントロール  プロトコル（ＴＣＰ）／インターネット  プロトコル（ＩＰ）やＨＴＴＰなどのプロトコルに対応したものである。記憶領域７５は、通信プログラム７５１と不正サーバー検知用データ７５２、不正クライアント検知用データ７５３を記憶する領域である。記憶領域７５は、図示していないハードディスクなどの外部記憶装置の中に存在する領域である。通信プログラム７５１は、通信ログから不正通信に係るパケットを検知するように通信装置７を動作させる命令を記述したものである。不正サーバー検知用データ７５２は、不正な通信を行うサーバーを検知するために通信プログラム７５１が使用するデータである。不正クライアント検知用データ７５３は、不正な通信を行うクライアントを検知するために通信プログラム７５１が使用するデータである。
【００２０】
[４．不正サーバー検知用データの構成図]
図４は、図３の不正サーバー検知用データ７５２を表す。不正サーバー検知用データ７５２は、ＣＰＵ７１が通信プログラム７５１を実行するときにＲＡＭ７２上に生成する。不正サーバー検知用データ７５２の構成要素は、アクセス先７５２１とユーザエージェント７５２２である。アクセス先７５２１は、クライアントがアクセスする先であるサーバーを表す。アクセス先７５２１は、インターネット上に存在するリソースの場所を指し示す記述方式であるＵＲＬで表現される。ユーザエージェント７５２２は、クライアントにインストールされているブサウザのブラウザの種類を表す。ユーザエージェントは、クライアントが任意に設定できる。しかし、多くの場合、ユーザエージェントにはクライアントが生成した以下の情報が設定されている。それらは、偽装するブラウザの名称と偽装するブラウザとの関係、本物のブラウザの名称、ＯＳの名称である。ユーザエージェント７５２２は、ソフトウェア情報と称することもある。
【００２１】
[５．不正クライアント検知用データの構成図]
図５は、図３の不正クライアント検知用データ７５３を表す。不正クライアント検知用データ７５３は、ＣＰＵ７１が通信プログラム７５１を実行するときにＲＡＭ７２上に生成する。不正クライアント検知用データ７５３の構成要素は、ユーザエージェント７５３１とアクセス先７５３２である。ユーザエージェント７５３１は、図４のユーザエージェント７５２２と同じものである。アクセス先７５３２は、図４のアクセス先７５２１と同じものである。
【００２２】
[６．パケット構成図]
図６は、通信装置７がサーバー１又はファイアウォール３、プロクシ５、クライアント６から受信するパケットを表す。その情報要素は、ディーエスティ  マック４１とエスアールシー  マック４２、タイプ４３、バージョン＋ヘッダーレングス４４、テーオーエス４５、データレングス４６、アイディー４７、フラグメント４８、ティーティーエル４９、プロトコル５０、ヘッダーチェックサム５１、エスアールシーアイピー５２、ディーエスティーアイピー５３、エスアールシーポート５４、ディーエスティーポート５５、シーケンスナンバー５６、アックナンバー５７、データオフセット＋テーシーピーフラグ５８、ウィンドウサイズ５９、チェックサム６０、アージェントポインター６１、ＨＴＴＰメッセージ６２である。ディーエスティ  マック４１からタイプ４３は、ＭＡＣヘッダーを表す。バージョン＋ヘッダーレングス４４からディーエスティーアイピー５３は、ＩＰヘッダーを表す。エスアールシーポート５４からアージェントポインター６１は、ＴＣＰヘッダーを表す。
【００２３】
ディーエスティ  マック４１は、このパケットの宛先のＭＡＣアドレスを表す。ここでいうＭＡＣとは、メディア  アクセス  コントロールを指す。エスアールシー  マック４２は、このパケットの送信元のＭＡＣアドレスを表す。タイプ４３は、プロトコルの種類を表す。バージョン＋ヘッダーレングス４４は、ＩＰプロトコルのバージョンとＩＰヘッダーの長さを表す。テーオーエス４５は、パケット送信時の優先度を表す。データレングス４６は、パケット全体の長さを表す。データレングス４６は、パケットの長さを表す長さ情報である。アイディー４７は、個々のパケットを識別する番号を表す。フラグメント４８は、パケットが分割されたものかどうかを表す。ティーティーエル４９は、パケットの生存時間を表す。プロトコル５０は、プロトコルの番号を表す。ヘッダーチェックサム５１は、誤り検出用のデータを表す。但し、ヘッダーチェックサム５１は現在使用されていない。エスアールシーアイピー５２は、このパケットの送信元のＩＰアドレスを表す。ディーエスティーアイピー５３は、このパケットの宛先のＩＰアドレスを表す。エスアールシーポート５４は、このパケットの送信元のポート番号を表す。ディーエスティーポート５５は、このパケットの宛先のポート番号を表す。エスアールシーアイピー５２及びディーエスティーアイピー５３、エスアールシーポート５４、ディーエスティーポート５５は、識別情報になる。シーケンスナンバー５６は、受信側が送信データを識別する番号を表す。アックナンバー５７は、送信側が受信データを識別する番号を表す。データオフセット＋テーシーピーフラグ５８は、データが格納されている位置と通信制御情報（テーシーピーフラグ）を表す。通信制御情報は、セッションを確立する確立情報又はセッションを切断する切断情報になる。ここでいうデータとは、ＨＴＴＰメッセージ６２を指す。また、通信制御情報とは、通信確立を表す確立情報「ＳＹＮ」や受信側からの応答を表す応答情報「ＡＣＫ」、強制終了を表す強制終了情報「ＲＳＴ」、切断を表す切断情報「ＦＩＮ」などを指す。ウィンドウサイズ５９は、受信確認を待たずにまとめて送信可能なデータ量を表す。チェックサム６０は、誤りの有無を検査するためのデータを表す。アージェントポインター６１は、緊急に処理すべきデータの位置を表す。ＨＴＴＰメッセージ６２は、ＨＴＴＰで使用するデータを表す。ＨＴＴＰメッセージ６２は、制御情報になる。メソッド情報６３は、ＨＴＴＰ通信で行う処理を表す。ＵＲＬ６４は、宛先となるサーバーを表す。ユーアールエル６４は、宛先情報と称する場合もある。ポート番号６５は、複数の相手と同時に接続を行なうためにIPアドレスの下に設けられたサブアドレスを表す。ＨＴＴＰのバージョン６６は、ＨＴＴＰの型を表す。ユーザエージェント６７は、クライアントにインストールされているブラウザの種類を表す。ユーザエージェント６７は、ソフトウェア情報になる。
【００２４】
[７．不正通信検知処理のフローチャート（その１）]
図７は、通信装置７が不正通信を行うサーバーを検知する際に使用する際の手順を表したフローチャートである。通信装置７のＣＰＵ７１は、通信プログラム７５１を実行することにより、不正通信を行うサーバーを検知する処理を実現する。
【００２５】
Ｓ３０１において、ＣＰＵ７１は、通信ログを取得する。ここでいう通信ログとは、通信装置７がサーバー１又はファイアウォール３、プロクシ５、クライアント６のいずれかから受信したパケットをそのパケットを受信した日時と共に記憶領域７５に蓄積したものである。パケットは、図６で説明したものと同じである。上述の日時は、図示していないが通信装置７が持つ時計管理機能から取得する。この通信ログの取得契機は、通信装置７の製造元又は利用者が任意に設定できる。ＣＰＵ７１は、記憶領域７５から通信ログを取得し、取得した通信ログを一時記憶領域に格納する。
【００２６】
Ｓ３０４において、ＣＰＵ７１は、Ｓ３０１で取得した通信ログに関係するパケットからＨＴＴＰメッセージを抽出する。この抽出は、ＣＰＵ７１が、ＨＴＴＰメッセージ６２の開始アドレスと最終アドレスを算出し、開始アドレスから終了アドレスの間のデータを抜き出す。開始アドレスは、１４バイトにバージョン＋ヘッダーレングス４４とデータオフセット＋テーシーピーフラグ５８と１バイトを加えて算出する。終了アドレスは、１４バイトにデータレングス４６を加えて算出する。１４バイトは、ディーエスティ  マック４１とエスアールシー  マック４２、タイプ４３を合計した長さである。そして、ＣＰＵ７１は、抜き出したＨＴＴＰメッセージを一時記憶領域に格納する。また、抜き出したＨＴＴＰメッセージの数をＨＴＴＰメッセージ数として一時記憶領域に格納する。
【００２７】
Ｓ３０５において、ＣＰＵ７１は、Ｓ３０４で抽出したＨＴＴＰメッセージ６２中のユーアールエル６４を抽出する。その方法は、以下の通りである。第一に、ＣＰＵ７１は、上述のパケットから、パケットの先頭が「ゲット（ＧＥＴ）」、「ポスト（ＰＯＳＴ）」、「ヘッド（ＨＥＡＤ）」のいずれかで始まるパケットを抽出する。ＧＥＴは、クライアントがサーバーの持つ情報を取り出すための命令である。ＰＯＳＴは、クライアントからサーバーに情報を送信するための命令である。ＨＥＡＤは、クライアントがサーバーの持つ情報が持つ属性情報を取り出すための命令である。第二に、第一の処理で抽出したＨＴＴＰメッセージ６２からユーアールエル６４を抽出する。ユーアールエル６４はアクセス先と称することもある。そして、ＣＰＵ７１は、抽出したユーアールエル６４を一時記憶領域に格納する。
【００２８】
Ｓ３０６において、ＣＰＵ７１は、Ｓ３０４で抽出したＨＴＴＰメッセージ６２中のユーザエージェント６７を抽出する。そして、ＣＰＵ７１は、抽出したユーザエージェント６７を一時記憶領域に格納する。
【００２９】
Ｓ３０７において、ＣＰＵ７１は、ユーアールエル６４とユーザエージェント６７を図４の不正サーバー検知用データ７５２に記録する。ユーアールエル６４は、Ｓ３０５で抽出したものである。ユーザエージェント６７は、Ｓ３０６で抽出したものである。ＣＰＵ７１は、ユーアールエル６４毎にユーザエージェント６７を記録する。この記録は、ユーアールエル６４毎にユーザエージェント６７の種類を数えるものである。この記録は、具体的には以下のように行う。ユーアールエル６４がアクセス先７５２１に存在しない場合、ＣＰＵ７１は、ユーアールエル６４をアクセス先７５２１に格納する。そして、ＣＰＵ７１は、ユーザエージェント６７をそのアクセス先７５２１に対応するユーザエージェント７５２２に格納する。ユーアールエル６４がアクセス先７５２に存在する場合、ＣＰＵ７１は、ユーアールエル６４をアクセス先７５２１に格納しない。そして、ユーザエージェント６７がそのユーアールエル６４に対応するユーザエージェント７５２２に存在しない場合、ＣＰＵ７１は、ユーザエージェント６７をユーザエージェント７５２２に格納する。ユーザエージェント６７がそのユーアールエル６４に対応するユーザエージェント７５２２に存在する場合、ＣＰＵ７１は、ユーザエージェント６７をユーザエージェント７５２２に格納しない。最後に、ＣＰＵ７１はＳ３０３で格納したＨＴＴＰメッセージ数を一つ減算する。
【００３０】
Ｓ３０８において、ＣＰＵ７１は、未処理のＨＴＴＰメッセージがあるかどうかを判別する。この判別は、ＣＰＵ７１が一時記憶領域中のＨＴＴＰメッセージ数が０かどうかを判別する。この判別の結果、ＨＴＴＰメッセージ数が０の場合、ＣＰＵ７１はＳ３１０の処理を行う。この判別の結果、ＨＴＴＰメッセージ数が０でない場合、Ｓ３０５の処理を行う。
【００３１】
Ｓ３１０において、ＣＰＵ７１は、記録データを含むパケットを生成し、そのパケットを通信監視装置８に送信する。記録データは、不正サーバー検知用データ７５２である。ＣＰＵ７１は、記憶領域７５から不正サーバー検知用データ７５２を抽出する。ＣＰＵ７１は、記憶領域７５に格納されている通信監視装置８のＩＰアドレスを抽出する。ＣＰＵ７１は、不正サーバー検知用データ７５２と通信監視装置８のＩＰアドレスを含むパケットを生成する。ＣＰＵ７１は、生成したパケットを通信監視装置８に向けて送信する。監視装置８の利用者は、通知された不正サーバー検知用データ７５２から不正通信に関連するサーバーの候補を見つける。不正通信に関連するサーバーは、他のものに比較してユーザエージェントの種類の数が少ないＵＲＬで特定されるサーバーである。
【００３２】
また、記録データの出力は、ＣＰＵ７１がユーザエージェントの種類の数が閾値以下のＵＲＬに関連する不正通信を意味するメッセージを生成し、通信監視装置８に送信しても良い。ここでいう閾値は、通信装置７の製造元又は利用者が任意に設定したものである。閾値は、例えば１である。この値は、記録した情報の中で不正な通信を行っている可能性の一番高いＵＲＬを区別するために採用したものである。ＣＰＵ７１は、通信ログからセッション開始時間と、ＵＲＬ、クライアントＩＰアドレスを抽出する。セッション開始時間は、閾値以下の出現回数を検知したパケットのセッションを確立した日時である。この日時は、閾値以下の出現回数を検知したパケットの直前のテーシーピーフラグに確立情報「ＳＹＮ」が設定されたパケットを受信した日時である。ＵＲＬとクライアントＩＰアドレスは、閾値以下の出現回数を検知したパケットのＨＴＴＰメッセージ６２の中に存在する。ＣＰＵ７１は、検知理由として設定する「サイトにアクセスするＵｓｅｒ−Ａｇｅｎｔが特殊である」というデータを生成する。ＣＰＵ７１は、記憶領域７５に格納されている通信監視装置８のＩＰアドレスを抽出する。ＣＰＵ７１は、セッション開始時間と、ＵＲＬ、クライアントＩＰアドレス、検知理由を含むパケットを生成する。ＣＰＵ７１は、生成したパケットを通信監視装置８に向けて送信する。
【００３３】
図９は、不正な通信を意味するメッセージの例を表す。セッション開始時間４１は、閾値以下の出現回数を検知したパケットの直前に存在するテーシーピーフラグに確立情報「ＳＹＮ」が設定されたパケットを受信した日時である。ユーアールエル６４は、閾値以下の出現回数を検知したパケットのＨＴＴＰメッセージ６２の中に存在するＵＲＬを表す。クライアントＩＰアドレス４３は、閾値以上の出現回数を検知したパケットのＨＴＴＰメッセージ６２の中に存在するクライアントＩＰアドレスを表す。検知理由４４は、不正な通信として検知した理由を表す。
【００３４】
[８．不正通信検知処理のフローチャート（その２）]
図８は、通信装置７が不正通信を行うクライアントを検知する際に使用する際の手順を表したフローチャートである。通信装置７のＣＰＵ７１は、通信プログラム７５１を実行することにより、不正通信を行うクライアントを検知する処理を実現する。
【００３５】
Ｓ３１１からＳ３１６処理は、図７のＳ３０１からＳ３０６の処理と同じである。
【００３６】
Ｓ３１７において、ＣＰＵ７１は、ユーアールエル６４とユーザエージェント６７を図５の不正クライアント検知用データ７５３に記録する。ユーアールエル６４は、Ｓ３０５で抽出したものである。ユーザエージェント６７は、Ｓ３０６で抽出したものである。ユーザエージェント６７毎にユーアールエル６４を記録する。ユーザエージェント６７毎にユーアールエル６４の種類を数えるものである。この記録は、具体的には以下のように行う。ユーザエージェント６７がユーザエージェント７５３１に存在しない場合、ＣＰＵ７１は、ユーザエージェント６７をユーザエージェント７５３１に格納する。そして、ＣＰＵ７１は、ユーアールエル６４をそのユーザエージェント６７に対応するアクセス先７５３２に格納する。ユーザエージェント６７がユーザエージェント７５３１に存在する場合、ＣＰＵ７１は、ユーザエージェント６７をユーザエージェント７５３１に格納しない。そして、ユーアールエル６４がそのユーザエージェント６７に対応するアクセス先７５３２に存在した場合、ＣＰＵ７１は、ユーアールエル６４をアクセス先７５３２に格納する。ユーアールエル６４がそのユーザエージェント６７に対応するアクセス先７５３２に存在する場合、ＣＰＵ７１は、ユーアールエル６４をアクセス先７５３２に格納しない。最後に、ＣＰＵ７１はＳ３１３で格納したＨＴＴＰメッセージ数を一つ減算する。
【００３７】
Ｓ３１８の処理は、図７のＳ３０８の処理と同じである。
【００３８】
Ｓ３２０において、ＣＰＵ７１は、記録データを含むパケットを生成し、そのパケットを通信監視装置８に送信する。記録データは、不正クライアント検知用データ７５３である。ＣＰＵ７１は、記憶領域７５から不正クライアント検知用データ７５３を抽出する。ＣＰＵ７１は、記憶領域７５に格納されている通信監視装置８のＩＰアドレスを抽出する。ＣＰＵ７１は、不正クライアント検知用データ７５３と通信監視装置８のＩＰアドレスを含むパケットを生成する。ＣＰＵ７１は、生成したパケットを通信監視装置８に向けて送信する。監視装置８の利用者は、通知された不正クライアント検知用データ７５３から不正通信に関連するクライアントの候補を見つける。不正通信に関連するクライアントは、他のものに比較してユーザエージェントの種類の数が少ないＵＲＬで特定されるクライアントである。
【００３９】
また、記録データの出力は、ＵＲＬの数が閾値以下のユーザエージェントに関連する不正通信を意味するメッセージを生成し、通信監視装置８に通知しても良い。ここでいう閾値は、通信装置７の製造元又は利用者が任意に設定したものである。閾値は、例えば１である。この値は、記録した情報の中で不正な通信を行っている可能性の一番高いユーザエージェントを区別するために採用したものである。このメッセージは、図７のＳ３１０のメッセージと同等のものである。異なるのは、検知理由の内容だけである。ここでいう検知理由は、アクセスするクライアントのＵｓｅｒ−Ａｇｅｎｔが特殊であるというものである。
【００４０】
以上、本発明を実施例に基づいて説明したが、本発明は前記の実施例に限定されるものではなく、特許請求の範囲に記載した構成を変更しない限りどのようにでも実施することができる。
【図面の簡単な説明】
【００４１】
【図１】不正通信の例である。
【図２】本実施形態の全体構成図である。
【図３】通信装置のハードウェア構成図である。
【図４】不正サーバー検知用データの構成図である。
【図５】不正クライアント検知用データの構成図である。
【図６】パケット構成図である。
【図７】不正通信検知処理のフローチャート（その１）である。
【図８】不正通信検知処理のフローチャート（その２）である。
【図９】不正通信を意味するメッセージの例である。
【符号の説明】
【００４２】
１  サーバー
２  インターネット
３  ＦｉｒｅＷａｌｌ（ファイアウォール）
４  イントラネット
５  Ｐｒｏｘｙ（プロクシ）
６  クライアント
７  通信装置
８  通信監視装置
【図１】
0004877145.tif 000002
【図２】
0004877145.tif 000003
【図３】
0004877145.tif 000004
【図４】
0004877145.tif 000005
【図５】
0004877145.tif 000006
【図６】
0004877145.tif 000007
【図７】
0004877145.tif 000008
【図８】
0004877145.tif 000009
【図９】
0004877145.tif 000010