(57)【特許請求の範囲】
【請求項１】
通信用の制御情報を伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出手段と、
前記セッション抽出手段によって抽出されたセッション内のパケットから、制御情報によって指定されるアクセス先を抽出するアクセス先抽出手段と、
前記アクセス先抽出手段によって抽出されたアクセス先を表す文字列に対して前記プロトコルに応じた変換を施す変換手段と、
前記変換手段によって変換されて得られる変換アクセス先にアクセスしてページ情報を取得するアクセス手段と、
前記アクセス手段によって変換アクセス先から取得されたページ情報に基づいて、前記セッション抽出手段によって抽出されたセッションが不正な通信であるか否かを判定する判定手段と
を有することを特徴とする通信監視装置。
【請求項２】
前記変換手段は、
前記プロトコルに応じた文字列をアクセス先を表す文字列の一部または全部に付加することを特徴とする請求項１記載の通信監視装置。
【請求項３】
前記判定手段は、
不正な通信においてやり取りされるページ情報内に含まれる文字列として特徴的な不正ワードをあらかじめ記憶する不正ワード記憶手段を含み、
前記不正ワード記憶手段によって記憶された不正ワードが変換アクセス先から取得されたページ情報内に含まれる場合に、前記セッション抽出手段によって抽出されたセッションが不正な通信であると判定することを特徴とする請求項１記載の通信監視装置。
【請求項４】
前記判定手段によって不正な通信であると判定された場合に、セッション内において繰り返し出現するデータパターンから不正な通信検出用の不正シグネチャを生成する生成手段と、
前記生成手段によって生成された不正シグネチャを記憶する不正シグネチャ記憶手段とをさらに有し、
前記アクセス先抽出手段は、
前記セッション抽出手段によって抽出されたセッション内のパケットが前記不正シグネチャ記憶手段によって記憶された不正シグネチャとの一致部分を含まない場合に、当該セッション内のパケットからアクセス先を抽出することを特徴とする請求項１記載の通信監視装置。
【請求項５】
コンピュータによって実行される通信監視プログラムであって、前記コンピュータに、
通信用の制御情報を伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出ステップと、
前記セッション抽出ステップにて抽出されたセッション内のパケットから、制御情報によって指定されるアクセス先を抽出するアクセス先抽出ステップと、
前記アクセス先抽出ステップにて抽出されたアクセス先を表す文字列に対して前記プロトコルに応じた変換を施す変換ステップと、
前記変換ステップにて変換されて得られる変換アクセス先にアクセスしてページ情報を取得するアクセスステップと、
前記アクセスステップにて変換アクセス先から取得されたページ情報に基づいて、前記セッション抽出ステップにて抽出されたセッションが不正な通信であるか否かを判定する判定ステップと
を実行させることを特徴とする通信監視プログラム。
【請求項６】
通信用の制御情報を伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出ステップと、
前記セッション抽出ステップにて抽出されたセッション内のパケットから、制御情報によって指定されるアクセス先を抽出するアクセス先抽出ステップと、
前記アクセス先抽出ステップにて抽出されたアクセス先を表す文字列に対して前記プロトコルに応じた変換を施す変換ステップと、
前記変換ステップにて変換されて得られる変換アクセス先にアクセスしてページ情報を取得するアクセスステップと、
前記アクセスステップにて変換アクセス先から取得されたページ情報に基づいて、前記セッション抽出ステップにて抽出されたセッションが不正な通信であるか否かを判定する判定ステップと
を有することを特徴とする通信監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信監視装置、通信監視プログラム、および通信監視方法に関し、特に、通信が許容されるプロトコルを利用した不正な通信を確実に検出することができる通信監視装置、通信監視プログラム、および通信監視方法に関する。
【背景技術】
【０００２】
従来、インターネットなどのネットワークを介したサーバとクライアントの間の通信においては、例えば正当なアクセス権がない不正なクライアントによるサーバへのアクセスなどの不正な通信を防止することが重要となっている。具体的には、例えば企業などの組織内のＬＡＮ（Local Area Network）とインターネットなどの外部ネットワークとの境界にファイアウォールが設けられ、外部とＬＡＮの通信を制限するなどの対策が一般的である。
【０００３】
ところで、インターネットを介したサーバとクライアント間のデータの送受信には、ＨＴＴＰ（Hyper Text Transfer Protocol）と呼ばれるプロトコルが用いられることがある。ＨＴＴＰは、主にクライアントがウェブサーバからウェブページのデータを取得する際などに用いられる。ＨＴＴＰとして伝送されるデータは、個別に設定されなければ、上述したファイアウォールによっても遮断されることがなく、サーバとクライアント間で自由に送受信される。したがって、悪意があるユーザが不正な伝送路を確立するための制御データをＨＴＴＰとして送信することにより、サーバとクライアント間で不正な通信のための伝送路が容易に確立され、不正な通信が行われる危険性がある。このように、遮断されることがないプロトコル（例えばＨＴＴＰ）を利用した不正な通信のための伝送路の確立は、一般にトンネリングと呼ばれる。
【０００４】
このようなトンネリングを防止するためには、例えば特許文献１および特許文献２などに開示された技術を用いることができる。すなわち、トンネリングの際には、不正な伝送路を確立するための制御データは特定のパターンを含んでいることから、このデータパターンをシグネチャとしてあらかじめ記憶しておき、記憶されたシグネチャと実際に送受信されるパケットとを照合することにより、パケットがトンネリングに利用されているか否かを判断することが可能となる。換言すれば、送受信されるパケットにシグネチャが含まれている場合には、トンネリングが行われていると判断することができる。
【０００５】
【特許文献１】特開２００３−２１８９４９号公報
【特許文献２】特開２００４−１４０６１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、一般に、トンネリングなどの不正な通信の具体的な手法は明らかではないため、あらかじめ記憶されたシグネチャとパケットとの照合では、すべての不正な通信を確実に検出しきれないという問題がある。具体的には、悪意があるユーザがトンネリングのためにＨＴＴＰとして伝送する制御データのすべてのデータパターンをあらかじめ記憶することは不可能であるため、不正な通信に特徴的なシグネチャが記憶されてパケットとの照合が行われるが、不正な通信の手法によっては、記憶された特徴的なシグネチャが必ずしもパケットに含まれるとは限らない。
【０００７】
また、トンネリングの手法が変われば、そのプロトコルによって送受信される制御データも変化するが、変化し得るすべての制御データに対応するシグネチャをあらかじめ記憶しておくのは現実的ではない。したがって、パケットとシグネチャの照合によって検出可能であるのは、不正な通信の一部に過ぎない。
【０００８】
本発明はかかる点に鑑みてなされたものであり、通信が許容されるプロトコルを利用した不正な通信を確実に検出することができる通信監視装置、通信監視プログラム、および通信監視方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、通信監視装置は、通信用の制御情報を伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出手段と、前記セッション抽出手段によって抽出されたセッション内のパケットから、制御情報によって指定されるアクセス先を抽出するアクセス先抽出手段と、前記アクセス先抽出手段によって抽出されたアクセス先を表す文字列に対して前記プロトコルに応じた変換を施す変換手段と、前記変換手段によって変換されて得られる変換アクセス先にアクセスしてページ情報を取得するアクセス手段と、前記アクセス手段によって変換アクセス先から取得されたページ情報に基づいて、前記セッション抽出手段によって抽出されたセッションが不正な通信であるか否かを判定する判定手段とを有する構成を採る。
【００１０】
また、通信監視プログラムは、コンピュータによって実行される通信監視プログラムであって、前記コンピュータに、通信用の制御情報を伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出ステップと、前記セッション抽出ステップにて抽出されたセッション内のパケットから、制御情報によって指定されるアクセス先を抽出するアクセス先抽出ステップと、前記アクセス先抽出ステップにて抽出されたアクセス先を表す文字列に対して前記プロトコルに応じた変換を施す変換ステップと、前記変換ステップにて変換されて得られる変換アクセス先にアクセスしてページ情報を取得するアクセスステップと、前記アクセスステップにて変換アクセス先から取得されたページ情報に基づいて、前記セッション抽出ステップにて抽出されたセッションが不正な通信であるか否かを判定する判定ステップとを実行させるようにした。
【００１１】
また、通信監視方法は、通信用の制御情報を伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出ステップと、前記セッション抽出ステップにて抽出されたセッション内のパケットから、制御情報によって指定されるアクセス先を抽出するアクセス先抽出ステップと、前記アクセス先抽出ステップにて抽出されたアクセス先を表す文字列に対して前記プロトコルに応じた変換を施す変換ステップと、前記変換ステップにて変換されて得られる変換アクセス先にアクセスしてページ情報を取得するアクセスステップと、前記アクセスステップにて変換アクセス先から取得されたページ情報に基づいて、前記セッション抽出ステップにて抽出されたセッションが不正な通信であるか否かを判定する判定ステップとを有するようにした。
【００１２】
これらによれば、セッション内でやり取りされる制御情報によって指定されるアクセス先を含めた複数のアクセス先からページ情報を取得し、取得されたページ情報に基づいてセッションが不正な通信であるか否かを判定する。このため、過去に得られた不正シグネチャなどが制御情報に含まれていない場合でも、制御情報によって指定されるアクセス先および周辺のアクセス先が不正であるか否かを判定することができ、通信が許容されるプロトコルを利用した不正な通信を確実に検出することができる。
【発明の効果】
【００１３】
本明細書に開示された通信監視装置、通信監視プログラム、および通信監視方法によれば、通信が許容されるプロトコルを利用した不正な通信を確実に検出することができる。
【発明を実施するための最良の形態】
【００１４】
本発明の骨子は、同一のデータパターンを含むパケットが繰り返し送受信されるセッションが検出された場合に、このセッション内のパケットによって指定されるアクセス先から実際にページ情報を取得し、取得されたページ情報にトンネリングを示唆する不正ワードが含まれていれば、セッションが不正な通信であると判定することである。以下、本発明の一実施の形態について、図面を参照しながら詳細に説明する。
【００１５】
図１は、本発明の一実施の形態に係る通信システムの概略構成を示すブロック図である。同図に示す通信システムは、サーバ１０、クライアント２０、中継装置３０、および通信監視装置１００を有している。
【００１６】
サーバ１０は、ネットワークＮに接続されており、ネットワークＮを介して複数のクライアント２０との間でパケットを送受信する。また、複数のクライアント２０は、中継装置３０を介してネットワークＮに接続されており、サーバ１０との間でパケットを送受信する。中継装置３０は、例えばルータ、スイッチ、またはファイアウォールなどを含み、サーバ１０とクライアント２０間で送受信されるパケットを中継する。
【００１７】
ここで、サーバ１０およびクライアント２０は、互いにアプリケーション層のメッセージを生成してデータを要求したり応答したりするが、このメッセージは、サイズが一定ではないため、このメッセージをＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）層の所定サイズのパケットとして送受信している。すなわち、サーバ１０およびクライアント２０は、通信プロトコルの制御情報を含む制御データと制御情報によって制御する対象となる情報データとからなるメッセージを生成し、生成されたメッセージを１パケットに対応する所定サイズに分割して送信する。
【００１８】
また、本実施の形態に係るパケット構成は、例えば図２のようになっている。すなわち、例えばウェブページのデータの送信を要求するためのＨＴＴＰメッセージが制御データおよび情報データから構成され、このＨＴＴＰメッセージにパケットの送信元アドレスや宛先アドレスなどを格納するＴＣＰ／ＩＰヘッダが付加されている。そして、制御データは、パケットの宛先との間の通信を制御する制御情報、パケットの宛先に対して指定するアクセス先、およびアクセス先に関するポート番号を含んでいる。これらのうち、アクセス先およびポート番号は、図２下段に示すように、例えば「ＣＯＮＮＥＣＴ」などの制御情報の後方に格納されている。すなわち、図２に示す例では、アクセス先およびポート番号は「１９２．１６８．ＸＸＸ．ＸＸＸ：ＰＰ」であり、「１９２．１６８．ＸＸＸ．ＸＸＸ」は、アクセス先のＩＰアドレスを示し、「ＰＰ」は、アクセス先に関するポート番号を示している。なお、アクセス先としては、ＩＰアドレスの代わりにドメイン名が格納されていても良い。また、制御情報としては、「ＣＯＮＮＥＣＴ」の他にも「ＧＥＴ」や「ＰＯＳＴ」など様々なものがある。
【００１９】
図１に戻って、通信監視装置１００は、サーバ１０とクライアント２０間で送受信されるパケットを取得し、サーバ１０とクライアント２０間で確立されるそれぞれのセッションごとに不正なメッセージが送受信されているか否かを監視する。このとき、通信監視装置１００は、セッションの最初に送受信されたメッセージの制御データからアクセス先を抽出し、抽出されたアクセス先の周辺に実際にアクセスし、アクセス結果に基づいてセッションがトンネリングを実行する不正な通信であるか否かを判定する。なお、通信監視装置１００による通信の監視については、後に詳述する。また、セッションの最初に送受信されたメッセージは、たとえセッションが不正な通信であってもＨＴＴＰメッセージなどの正当なプロトコルによるメッセージである。したがって、通信監視装置１００は、セッションの最初に送受信されたメッセージ（例えばＨＴＴＰメッセージ）からアクセス先を抽出することが可能である。
【００２０】
図３は、本実施の形態に係る通信監視装置１００の要部構成を示すブロック図である。同図に示す通信監視装置１００は、パケット受信部１０１、パケット蓄積部１０２、セッション抽出部１０３、不正シグネチャ記憶部１０４、セッション判定部１０５、アクセス先抽出部１０６、変換部１０７、ウェブアクセス部１０８、不正ワード記憶部１０９、トンネリング判定部１１０、監視結果出力部１１１、および不正シグネチャ生成部１１２を有している。
【００２１】
パケット受信部１０１は、サーバ１０およびクライアント２０の間で送受信されるすべてのパケットを受信する。パケット蓄積部１０２は、パケット受信部１０１によって受信されたパケットを蓄積する。なお、パケット蓄積部１０２は、後述する処理において不正な通信と判定されないセッションのパケットについては、宛先アドレスによって指定されるサーバ１０またはクライアント２０へ送信するものとしても良い。また、パケット蓄積部１０２は、パケット受信部１０１によって受信されたパケットの複製を蓄積し、元のパケットをサーバ１０またはクライアント２０へ送信するものとしても良い。
【００２２】
セッション抽出部１０３は、パケット蓄積部１０２によって蓄積されたパケットの中から、１つのセッションに相当するパケット群を抽出する。具体的には、セッション抽出部１０３は、パケット蓄積部１０２によって蓄積されたパケットの中から、セッション確立時に送受信されるＳＹＮパケットとセッション切断時に送受信されるＦＩＮパケットとを検索して抽出するとともに、これらのＳＹＮパケットおよびＦＩＮパケットの間に同一のサーバ１０とクライアント２０間で送受信されたパケットをすべて抽出する。また、セッション抽出部１０３は、セッションが強制終了される場合に送受信されるＲＳＴパケットを検索したり、セッションのタイムアウトを検出したりすることも併せて実行し、セッションを抽出しても良い。
【００２３】
不正シグネチャ記憶部１０４は、トンネリングなどの不正な通信時に送受信されるパケットに頻繁に含まれるデータパターンを不正シグネチャとして記憶する。具体的には、不正シグネチャ記憶部１０４は、例えば図４に示すように、それぞれ数バイトのデータパターンからなる複数の不正シグネチャを記憶している。また、図４では省略したが、不正シグネチャ記憶部１０４は、それぞれの不正シグネチャがパケットのメッセージ部分に配置される位置をデータパターンとともに記憶している。すなわち、不正シグネチャ記憶部１０４は、例えば図４に示す各データパターンがメッセージ部分の先頭から何バイト目に配置されるかを記憶している。
【００２４】
セッション判定部１０５は、セッション抽出部１０３によって抽出されたセッション内のパケットと不正シグネチャ記憶部１０４によって記憶された不正シグネチャとを照合し、セッションが不正な通信であるか否かを判定する。そして、セッション判定部１０５は、パケットのメッセージ部分に不正シグネチャと一致するデータパターンが含まれていれば、現在抽出されているセッションが不正な通信であることを監視結果出力部１１１へ通知する。
【００２５】
また、セッション判定部１０５は、パケットのメッセージ部分に不正なシグネチャと一致するデータパターンが含まれていなければ、さらにセッション内のメッセージ部分に同一のデータパターンが繰り返し出現するか否かを判定する。そして、セッション判定部１０５は、同一のデータパターンが繰り返し出現する場合には、現在抽出されているセッションを不正セッション候補と判断する。これは、トンネリングなどの不正な通信においては、不正な伝送路の確立のために同一のデータパターンがメッセージ部分の特に制御データに含まれることが多いため、同一のデータパターンの出現頻度によって、不正シグネチャとの照合では検出されない不正セッション候補を検出することを意味している。同様に、セッション判定部１０５は、メッセージ部分における制御データのサイズが等しいパケットが所定数以上ある場合には、現在抽出されているセッションを不正セッション候補と判断しても良い。
【００２６】
アクセス先抽出部１０６は、現在抽出されているセッションがセッション判定部１０５によって不正セッション候補であると判断されると、セッション抽出部１０３によって抽出されたパケットの制御データを確認し、指定されているアクセス先を抽出する。具体的には、アクセス先抽出部１０６は、セッションがセッション判定部１０５によって不正セッション候補であると判断される契機となったパケットの制御データにおいて、例えば図２に示した「ＣＯＮＮＥＣＴ」などの制御情報の後方からアクセス先およびポート番号を抽出する。
【００２７】
変換部１０７は、アクセス先抽出部１０６によって抽出されたアクセス先およびポート番号を複数のパターンで変換し、元のアクセス先の周辺を含めた複数のアクセス先を生成する。具体的には、変換部１０７は、アクセス先またはポート番号の文字列に例えば「ｈｔｔｐｓ：／／」や「ｈｔｔｐ：／／ｗｗｗ．」などのプロトコルに固有の文字列を付加し、制御データによって示されたアクセス先の周辺のアクセス先を生成する。なお、変換部１０７は、アクセス先抽出部１０６によって抽出されたアクセス先およびポート番号の全体の文字列を変換しても良く、一部の文字列を変換しても良い。また、変換部１０７は、アクセス先がＩＰアドレスである場合、図示しないＤＮＳ（Domain Name System）サーバなどを検索してＩＰアドレスに対応するドメイン名を取得し、ドメイン名を構成する文字を一部変換するなどの変換を行った上でプロトコルに固有の文字列を付加しても良い。
【００２８】
ウェブアクセス部１０８は、変換部１０７によって生成された複数のアクセス先に対して、実際にウェブアクセスを実行する。そして、ウェブアクセス部１０８は、アクセス先のそれぞれからウェブページなどのページ情報を取得し、トンネリング判定部１１０へ出力する。ここで、ウェブアクセス部１０８がアクセスした際に接続不可能であったアクセス先は、存在していないと考えられるため、変換部１０７によって生成されたすべてのアクセス先が接続不可能であれば、現在抽出されているセッションは有害なものではなく、不正な通信ではないと考えられる。また、ウェブアクセス部１０８は、アクセス先から例えばエラーページなどが取得された場合も、アクセス先への接続が可能であったものとし、エラーページのページ情報をトンネリング判定部１１０へ出力する。
【００２９】
不正ワード記憶部１０９は、トンネリングが行われる際のアクセス先のページ情報内に含まれる文字列として特徴的な不正ワードをあらかじめ記憶している。具体的には、不正ワード記憶部１０９は、例えば「ＶＰＮ」、「Ｓｈａｒｅ」、または「Ｓｔｏｒａｇｅ」などの文字列を不正ワードとして記憶している。これらの不正ワードは、ウェブページを参照する以外の動作を指定する場合に用いられる傾向がある文字列であり、アクセス先のウェブページが正当なものであれば、通常はページ情報に不正ワードが含まれることはない。
【００３０】
トンネリング判定部１１０は、ウェブアクセス部１０８によって取得されたページ情報内に不正ワード記憶部１０９によって記憶された不正ワードが含まれるか否かを判定し、ページ情報内に不正ワードが含まれる場合は、現在抽出されているセッションがトンネリングを実行するものであると判定する。そして、トンネリング判定部１１０は、セッションがトンネリングであることを監視結果出力部１１１および不正シグネチャ生成部１１２へ通知する。また、トンネリング判定部１１０は、ページ情報内に不正ワードが含まれない場合は、セッションが不正なセッションではないと判定する。
【００３１】
監視結果出力部１１１は、現在抽出されているセッションが不正な通信であることがセッション判定部１０５から通知されたり、セッションがトンネリングを実行するものであることがトンネリング判定部１１０から通知されたりした場合に、その旨を監視結果として出力する。
【００３２】
不正シグネチャ生成部１１２は、トンネリングを実行するものであると判定されたセッション内において繰り返し出現するデータパターンから不正シグネチャを生成する。すなわち、不正シグネチャ生成部１１２は、セッション判定部１０５がセッションを不正セッション候補と判断する根拠となったデータパターンを用いて不正シグネチャを生成する。そして、不正シグネチャ生成部１１２は、生成した不正シグネチャを不正シグネチャ記憶部１０４に記憶させる。したがって、トンネリング判定部１１０によってセッションがトンネリングを実行するものであると判定されると、不正シグネチャ生成部１１２によって生成された新たな不正シグネチャが不正シグネチャ記憶部１０４によって学習されることになる。
【００３３】
次いで、上記のように構成された通信監視装置１００の動作について、具体的に例を挙げながら図５に示すフロー図を参照して説明する。
【００３４】
サーバ１０およびクライアント２０の間で送受信されるパケットは、常時通信監視装置１００のパケット受信部１０１によって受信されており、パケット蓄積部１０２によって蓄積される。そして、セッション抽出部１０３によって、蓄積されたパケットの中から１つのセッションに相当するパケット群が抽出される（ステップＳ１０１）。すなわち、セッション抽出部１０３によって、セッション確立時に送受信されるＳＹＮパケットとセッション切断時に送受信されるＦＩＮパケットとが検出され、ＳＹＮパケットの送受信時からＦＩＮパケットの送受信時までの間に送受信されたパケット群が１つのセッションのパケットとして抽出される。なお、上述したように、セッションの抽出に際しては、セッション抽出部１０３によって、ＲＳＴパケットが検索されたり、セッションのタイムアウトが検出されたりするようにしても良い。
【００３５】
そして、セッション判定部１０５によって、セッション内のパケットのメッセージ部分と不正シグネチャ記憶部１０４によって記憶された不正シグネチャとが照合され（ステップＳ１０２）、メッセージ部分に不正シグネチャとの一致部分があれば（ステップＳ１０２Ｙｅｓ）、現在抽出されているセッションは不正な通信であると考えられるため、その旨の監視結果が通知される（ステップＳ１１２）。
【００３６】
一方、メッセージ部分に不正シグネチャとの一致部分がなければ（ステップＳ１０２Ｎｏ）、引き続きセッション判定部１０５によって、トンネリングなどの不正な通信を示唆するメッセージ部分を含む問題パケットがセッション内にあるか否かが判定される（ステップＳ１０３）。
【００３７】
ここで、メッセージは、制御の内容や情報の内容によってデータのサイズが異なる。すなわち、個々のメッセージに含まれる制御データおよび情報データのサイズは、通常、すべて異なっている。しかし、メッセージがトンネリングを実行する制御データを含む場合には、同一セッション内で送受信される複数のメッセージの制御データのサイズが同一となったり、制御データに同一のデータパターンが含まれたりする。
【００３８】
具体的には、例えば図６に示すように、制御データ＃１、制御データ＃３、および制御データ＃５のサイズが同一である場合には、これらのメッセージが送受信されるセッションは、トンネリングなどの不正な通信である可能性がある。そこで、現在抽出されているセッションが不正な通信である可能性がある場合には、セッション判定部１０５によって、セッション内で繰り返し出現するデータパターンを含んだり、同一サイズの制御データを含んだりする問題パケットがセッション内で送受信されたか否かが判定される。
【００３９】
この判定の結果、セッション内に問題パケットがなければ（ステップＳ１０３Ｎｏ）、現在抽出されているセッションは、トンネリングなどの不正な通信を実行しない正規のセッションであると判断され（ステップＳ１１３）、処理が終了する。これに対して、セッション内に問題パケットがあれば（ステップＳ１０３Ｙｅｓ）、現在抽出されているセッションは、トンネリングなどの不正な通信を実行する可能性がある不正セッション候補であると判断され（ステップＳ１０４）、その旨がアクセス先抽出部１０６へ通知される。
【００４０】
そして、アクセス先抽出部１０６によって、セッション抽出部１０３によって抽出されたセッションに含まれるＨＴＴＰメッセージ部分から、制御データが指定するアクセス先が抽出される（ステップＳ１０５）。具体的には、アクセス先抽出部１０６によって、制御データに格納された「ＣＯＮＮＥＣＴ」などの制御情報が検出され、この文字列の後方に配置されたアクセス先を示す文字列が抽出される。抽出される文字列は、アクセス先のＩＰアドレスやドメイン名を示している。
【００４１】
アクセス先抽出部１０６によって抽出されたアクセス先の文字列は、変換部１０７へ出力され、変換部１０７によって、所定の規則に応じた変換が施される（ステップＳ１０６）。すなわち、変換部１０７によって、例えば図７に示すように、アクセス先の文字列全体または一部にＨＴＴＰのプロトコルにおいて使用される文字列が付加され、複数のアクセス先を示す文字列が生成される。
【００４２】
図７においては、上段がアクセス先としてＩＰアドレスとポート番号が抽出された場合のアクセス先変換の例を示しており、下段がアクセス先としてドメイン名とポート番号が抽出された場合のアクセス先変換の例を示している。アクセス先としてＩＰアドレスとポート番号が抽出された場合には、例えば図７上段に示すように、ＩＰアドレスとポート番号を表す文字列に「ｈｔｔｐｓ：／／」が付加されたり、ＩＰアドレスのみを表す文字列に「ｈｔｔｐ：／／」が付加されたりする。また、アクセス先としてドメイン名とポート番号が抽出された場合には、上記の例のほかにも例えば図７下段に示すように、ホスト名ありのドメイン名（例えば「host.domain」）とホスト名なしのドメイン名（例えば「domain」）とに対して、それぞれ「ｈｔｔｐ：／／ｗｗｗ．」や「ｈｔｔｐ：／／ｗｅｂ．」などの文字列が付加される。
【００４３】
なお、本実施の形態においては、図７に示す例以外にも、アクセス先の文字列に対して様々な変換を施しても良い。例えば、変換部１０７によって、図示しないＤＮＳサーバからＩＰアドレスに対応するドメイン名が検索され、ドメイン名の文字を入れ替えたり変更したりする変換が行われても良い。
【００４４】
このような変換により得られたすべてのアクセス先は、変換部１０７からウェブアクセス部１０８へ通知され、ウェブアクセス部１０８によって、すべてのアクセス先に対するウェブアクセスが実行される（ステップＳ１０７）。ここでは、変換部１０７によって変換されて得られた複数のアクセス先すべてがアクセスされるため、制御データによって指定されるアクセス先のみではなく、周辺のサーバなどのアクセス先に対してもウェブアクセスが試みられる。そして、ウェブアクセス部１０８によって、それぞれのアクセス先に対する接続が可能であるか否かが判断され（ステップＳ１０８）、すべてのアクセス先に対する接続が不可能であった場合には（ステップＳ１０８Ｎｏ）、現在抽出されているセッションがトンネリングなどの不正な通信を実行するものと断定することはできないため、処理が終了する。
【００４５】
一方、１つでも接続が可能なアクセス先があった場合には（ステップＳ１０８Ｙｅｓ）、接続可能なアクセス先からウェブページなどのページ情報が取得される（ステップＳ１０９）。ここで、アクセス先からエラーページなどが取得された場合には、ウェブアクセス部１０８によって、接続が可能であったものと判断され、取得されたエラーページがページ情報となる。接続可能なアクセス先から取得されたすべてのページ情報は、ウェブアクセス部１０８からトンネリング判定部１１０へ出力される。
【００４６】
そして、トンネリング判定部１１０によって、すべてのページ情報と不正ワード記憶部１０９によって記憶された不正ワードとが照合され、ページ情報内に不正ワードが含まれているか否かが判定される（ステップＳ１１０）。この不正ワードは、セッションがトンネリングなどの不正な通信であることを示唆する単語であるため、ページ情報内に不正ワードが含まれていなければ（ステップＳ１１０Ｎｏ）、トンネリング判定部１１０によって、現在抽出されているセッションはトンネリングを実行するものではないと判定される。そして、この場合には、セッション内において、不正シグネチャとの一致部分を有するパケットが送受信されていないとともに、不正ワードを含むページ情報へのアクセスを促すパケットも送受信されていないことから、現在抽出されているセッションはトンネリングなどの不正な通信を実行するものではないと判断され、処理が終了する。
【００４７】
また、ページ情報内に不正ワードが含まれていれば（ステップＳ１１０Ｙｅｓ）、トンネリング判定部１１０によって、現在抽出されているセッションはトンネリングを実行するものであると判定される。そして、この場合には、不正シグネチャ生成部１１２によって、セッション内において繰り返し出現するデータパターンから不正シグネチャが生成され（ステップＳ１１１）、不正シグネチャ記憶部１０４に記憶される。同時に、セッションがトンネリングを実行するものであることから、その旨の監視結果が通知される（ステップＳ１１２）。
【００４８】
以上のように、本実施の形態によれば、セッション内のパケットに不正シグネチャとの一致部分がない場合でも、パケットに含まれる制御データによって指定されるアクセス先を抽出し、抽出されたアクセス先の周辺のサーバなども含めた複数のアクセス先に実際にアクセスし、アクセス先から得られるページ情報に不正ワードが含まれるか否かによってセッションが不正な通信を実行するものであるか否かを判定する。このため、不正な通信を実行する場合に出現することが既に確認されている不正シグネチャが制御データに含まれていなくても、通信が許容されるプロトコルを利用した不正な通信を確実に検出することができる。
【００４９】
なお、上記一実施の形態においては、通信監視装置１００によって、セッションがトンネリングを実行するものであるか否かの判定が行われることとしたが、上述した処理をコンピュータが読み取り可能なプログラムとして記述し、このプログラムをコンピュータに実行させることにより、本発明を実施することも可能である。
【００５０】
以上の実施の形態に関して、さらに以下の付記を開示する。
【００５１】
（付記１）通信用の制御情報を伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出手段と、
前記セッション抽出手段によって抽出されたセッション内のパケットから、制御情報によって指定されるアクセス先を抽出するアクセス先抽出手段と、
前記アクセス先抽出手段によって抽出されたアクセス先を表す文字列に対して前記プロトコルに応じた変換を施す変換手段と、
前記変換手段によって変換されて得られる変換アクセス先にアクセスしてページ情報を取得するアクセス手段と、
前記アクセス手段によって変換アクセス先から取得されたページ情報に基づいて、前記セッション抽出手段によって抽出されたセッションが不正な通信であるか否かを判定する判定手段と
を有することを特徴とする通信監視装置。
【００５２】
（付記２）前記変換手段は、
前記プロトコルに応じた文字列をアクセス先を表す文字列の一部または全部に付加することを特徴とする付記１記載の通信監視装置。
【００５３】
（付記３）前記判定手段は、
不正な通信においてやり取りされるページ情報内に含まれる文字列として特徴的な不正ワードをあらかじめ記憶する不正ワード記憶手段を含み、
前記不正ワード記憶手段によって記憶された不正ワードが変換アクセス先から取得されたページ情報内に含まれる場合に、前記セッション抽出手段によって抽出されたセッションが不正な通信であると判定することを特徴とする付記１記載の通信監視装置。
【００５４】
（付記４）前記判定手段によって不正な通信であると判定された場合に、セッション内において繰り返し出現するデータパターンから不正な通信検出用の不正シグネチャを生成する生成手段と、
前記生成手段によって生成された不正シグネチャを記憶する不正シグネチャ記憶手段とをさらに有し、
前記アクセス先抽出手段は、
前記セッション抽出手段によって抽出されたセッション内のパケットが前記不正シグネチャ記憶手段によって記憶された不正シグネチャとの一致部分を含まない場合に、当該セッション内のパケットからアクセス先を抽出することを特徴とする付記１記載の通信監視装置。
【００５５】
（付記５）コンピュータによって実行される通信監視プログラムであって、前記コンピュータに、
通信用の制御情報を伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出ステップと、
前記セッション抽出ステップにて抽出されたセッション内のパケットから、制御情報によって指定されるアクセス先を抽出するアクセス先抽出ステップと、
前記アクセス先抽出ステップにて抽出されたアクセス先を表す文字列に対して前記プロトコルに応じた変換を施す変換ステップと、
前記変換ステップにて変換されて得られる変換アクセス先にアクセスしてページ情報を取得するアクセスステップと、
前記アクセスステップにて変換アクセス先から取得されたページ情報に基づいて、前記セッション抽出ステップにて抽出されたセッションが不正な通信であるか否かを判定する判定ステップと
を実行させることを特徴とする通信監視プログラム。
【００５６】
（付記６）前記変換ステップは、
前記プロトコルに応じた文字列をアクセス先を表す文字列の一部または全部に付加することを特徴とする付記５記載の通信監視プログラム。
【００５７】
（付記７）前記判定ステップは、
不正な通信においてやり取りされるページ情報内に含まれる文字列として特徴的な不正ワードが変換アクセス先から取得されたページ情報内に含まれる場合に、前記セッション抽出ステップにて抽出されたセッションが不正な通信であると判定することを特徴とする付記５記載の通信監視プログラム。
【００５８】
（付記８）前記アクセス先抽出ステップは、
前記セッション抽出ステップにて抽出されたセッション内のパケットが、過去に不正な通信であると判定されたセッション内において繰り返し出現するデータパターンから生成された不正な通信検出用の不正シグネチャとの一致部分を含まない場合に、セッション内のパケットからアクセス先を抽出することを特徴とする付記５記載の通信監視プログラム。
【００５９】
（付記９）通信用の制御情報を伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出ステップと、
前記セッション抽出ステップにて抽出されたセッション内のパケットから、制御情報によって指定されるアクセス先を抽出するアクセス先抽出ステップと、
前記アクセス先抽出ステップにて抽出されたアクセス先を表す文字列に対して前記プロトコルに応じた変換を施す変換ステップと、
前記変換ステップにて変換されて得られる変換アクセス先にアクセスしてページ情報を取得するアクセスステップと、
前記アクセスステップにて変換アクセス先から取得されたページ情報に基づいて、前記セッション抽出ステップにて抽出されたセッションが不正な通信であるか否かを判定する判定ステップと
を有することを特徴とする通信監視方法。
【００６０】
（付記１０）前記変換ステップは、
前記プロトコルに応じた文字列をアクセス先を表す文字列の一部または全部に付加することを特徴とする付記９記載の通信監視方法。
【００６１】
（付記１１）前記判定ステップは、
不正な通信においてやり取りされるページ情報内に含まれる文字列として特徴的な不正ワードが変換アクセス先から取得されたページ情報内に含まれる場合に、前記セッション抽出ステップにて抽出されたセッションが不正な通信であると判定することを特徴とする付記９記載の通信監視方法。
【００６２】
（付記１２）前記アクセス先抽出ステップは、
前記セッション抽出ステップにて抽出されたセッション内のパケットが、過去に不正な通信であると判定されたセッション内において繰り返し出現するデータパターンから生成された不正な通信検出用の不正シグネチャとの一致部分を含まない場合に、セッション内のパケットからアクセス先を抽出することを特徴とする付記９記載の通信監視方法。
【図面の簡単な説明】
【００６３】
【図１】一実施の形態に係る通信システムの概略構成を示すブロック図である。
【図２】一実施の形態に係るパケット構成の具体例を示す図である。
【図３】一実施の形態に係る通信監視装置の要部構成を示すブロック図である。
【図４】一実施の形態に係る不正シグネチャの具体例を示す図である。
【図５】一実施の形態に係る通信監視装置の動作を示すフロー図である。
【図６】一実施の形態に係るメッセージの具体例を示す図である。
【図７】一実施の形態に係るアクセス先変換の具体例を示す図である。
【符号の説明】
【００６４】
１０１  パケット受信部
１０２  パケット蓄積部
１０３  セッション抽出部
１０４  不正シグネチャ記憶部
１０５  セッション判定部
１０６  アクセス先抽出部
１０７  変換部
１０８  ウェブアクセス部
１０９  不正ワード記憶部
１１０  トンネリング判定部
１１１  監視結果出力部
１１２  不正シグネチャ生成部
【図１】
0004985503.tif 000002
【図２】
0004985503.tif 000003
【図３】
0004985503.tif 000004
【図４】
0004985503.tif 000005
【図５】
0004985503.tif 000006
【図６】
0004985503.tif 000007
【図７】
0004985503.tif 000008