(57)【特許請求の範囲】
【請求項１】
インターネットに接続しているプロバイダ側ネットワークと、前記インターネット又は前記プロバイダ側ネットワークを流れるトラフィックを監視する第１の情報処理装置と、前記プロバイダ側ネットワークに通信ネットワークを介して接続しているユーザ側ネットワークと、当該ユーザ側ネットワークに接続している第２の情報処理装置と、前記第１及び第２の情報処理装置を接続する、前記通信ネットワークとは異なる通信経路と、を備えて構成され、
前記第１の情報処理装置が、前記インターネット又は前記プロバイダ側ネットワークを流れるトラフィックが所定量を超えていることを検知した場合に、その旨を前記異なる通信経路を介して、前記ユーザ側ネットワークに接続している前記第２の情報処理装置に通知する手段を備え、
前記第２の情報処理装置が、前記第１の情報処理装置から前記通知を受けた場合に、前記インターネット又は前記プロバイダ側ネットワークを介して前記ユーザ側ネットワークに送信されてくる全部もしくは一部のデータを受信しないように制御する手段を備える、ことを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムにおいて、
前記インターネット又は前記プロバイダ側ネットワークを流れるトラフィックには、前記ユーザ側ネットワークを送信先としないデータパケットが含まれていること、を特徴とする情報処理システム。
【請求項３】
請求項１に記載の情報処理システムにおいて、
前記第１の情報処理装置が前記インターネット又は前記プロバイダ側ネットワークを流れるトラフィックを監視する手段は、前記インターネット又は前記プロバイダ側ネットワークを流れる前記ユーザ側ネットワークに向けて送信されるトラフィックの増加率が閾値を超えていることを検知した場合に、前記トラフィックの時間的な変化のパターンと、記憶しているトラフィックの時間的な変化のパターンとの類似度を求め、前記類似度に応じて前記トラフィックに異常があることを示す情報を出力すること、を特徴とする情報処理システム。
【請求項４】
請求項３に記載の情報処理システムにおいて、
前記トラフィックの異常は前記通信ネットワークにおいて行われる不正アクセスに起因して生じたものであり、
前記第１の情報処理装置は、
前記トラフィックの時間的な変化のパターンとして不正アクセスの種類に対応する一つ以上のトラフィックの時間的な変化のパターンを記憶しており、
前記トラフィックの時間的な変化のパターンと、前記記憶している一つ以上の変化のパターンの夫々との類似度に基づいて、不正アクセスの種類を判別する手段を備えること、を特徴とする情報処理システム。
【請求項５】
請求項４に記載の情報処理システムにおいて、
前記不正アクセスの種類に対応する変化パターンには、ＩＣＭＰ攻撃によるもの、ＵＤＰ攻撃によるもの、ＳＹＮ−Ｆｌｏｏｄ攻撃によるもののうち少なくともいずれかが含まれること、を特徴とする情報処理システム。
【請求項６】
請求項１乃至５のいずれかに記載の情報処理システムにおいて、
前記異なる通信経路は、専用線、ＩＳＤＮ網、公衆電話網、光パスネットワークのうち少なくともいずれかを用いて構成されるものであること、を特徴とする情報処理システム。
【請求項７】
請求項１乃至６のいずれかに記載の情報処理システムにおいて、
複数の前記第１の情報処理装置を前記インターネット又は前記プロバイダ側ネットワーク上に分散させて接続すること、を特徴とする情報処理システム。
【請求項８】
請求項１乃至７のいずれかに記載の情報処理システムにおいて、
前記第１の情報処理装置による前記第２の情報処理装置への通知が、不正なデータパケットを送信している送信元アドレス、又は不正データパケットのパケットタイプを含むこと、を特徴とする情報処理システム。
【請求項９】
インターネットに接続しているプロバイダ側ネットワークと、前記インターネット又は前記プロバイダ側ネットワークを流れるトラフィックを監視する第１の情報処理装置と、前記プロバイダ側ネットワークに通信ネットワークを介して接続しているユーザ側ネットワークと、当該ユーザ側ネットワークに接続している第２の情報処理装置と、前記第１及び第２の情報処理装置を接続する、前記通信ネットワークにおける通信より高速な通信が可能な、前記通信ネットワークとは異なる通信経路と、を備えて構成され、
前記第１の情報処理装置が、前記インターネット又は前記プロバイダ側ネットワークを流れるトラフィックが所定量を超えていることを検知した場合に、その旨を前記異なる通信経路を介して、前記ユーザ側ネットワークに接続している前記第２の情報処理装置に通知する手段を備え、
前記第２の情報処理装置が、前記第１の情報処理装置から前記通知を受けた場合に、前記インターネット又は前記プロバイダ側ネットワークを介して前記ユーザ側ネットワークに送信されてくる全部もしくは一部のデータを受信しないように制御する手段を備える、ことを特徴とする情報処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、情報処理システム、情報処理装置、プログラム、及び通信ネットワークにおける通信の異常を検知する方法に関する。
【０００２】
【従来の技術】
ＩＴ関連技術の発達に伴い、コンピュータを用いて構築される情報処理システムは広く社会に浸透している。そして、情報処理システムの多くはインターネット等の広域ネットワークに接続されており、これらネットワークを通じて行われる不正アクセスが問題となっている。昨今では、インターネットの開放相互接続性や脆弱性を突いた不正アクセスが頻発しており、企業活動や日常生活に多大な影響を与えている。サイバーテロ等にあっては国家的なインフラ基盤を揺るがしかねない。
【０００３】
ネットワークを通じて行われる不正アクセスから情報処理装置を防御するための仕組みとして、例えば、外部ネットワークとの接点に自律システム（Autonomos System）としてファイアウォールを設置することが行われている。ファイアウォールは、パケットフィルタリングにより不正アクセスを防止する。また、ファイアウォールをすり抜けてネットワーク内に侵入した不正アクセスを監視する仕組みとして、ＩＤＳ（侵入検知システム（Intrusion Detection System））が知られている。ＩＤＳは、一般的にシステムの変更内容やネットワーク上を流れるパケットの内容を解析することにより、ネットワーク内を流れる異常なパケットを検出する。
【０００４】
昨今では、大量のデータや不正なパケットを送信し、その結果、コンピュータやネットワークの資源を枯渇させてシステム障害やネットワーク障害を生じせしめる、いわゆるＤｏＳ（Denial of Service）攻撃や、このような攻撃を複数の送信元から行うＤＤｏＳ（Distributed denial of Service）攻撃等が問題となっている。このような攻撃からコンピュータシステムを防御する仕組みとして、例えば、トラフィックの異常を検知すると、防御プログラムを攻撃元に近い位置に移動させ、移動させた防御プログラムが攻撃に関するデータの通信を制限することによりＤＤｏＳ攻撃から防御する仕組みが提案されている（例えば、非特許文献１を参照）。
【０００５】
【非特許文献１】
“攻撃元にまで攻め上がりながらネットワーク全体を防御するDDoS攻撃対策システム「Moving Firewall」を開発”、［online］、平成１５年２月１８日、日本電信電話株式会社、［平成１５年５月２２日検索］、インターネット＜http://www.ntt.co.jp/news/news03/0302/030218.html＞
【０００６】
【発明が解決しようとする課題】
ところで、上述のＤｏＳ攻撃やＤＤｏＳ攻撃は、不正に送信されたデータパケットそのものは正常なデータパケットであることが多く、データパケットの中身を解析することにより不正の存在を検出する従来の一般的な仕組みでは、不正アクセスの存在を検出することができない。そこで、このような種類の攻撃を確実に検出するための仕組みの開発が求められている。また、不正アクセスが検出された場合には、その被害をできる限り最小限に抑えるために、不正アクセスが検出された旨をその攻撃対象となりうる装置に迅速かつ確実に通知する仕組みが求められる。
【０００７】
この発明はこのような事情に鑑みてなされたもので、通信ネットワークにおいて生じている不正アクセスに対して迅速かつ確実な防御を可能とする、情報処理システム、情報処理装置、プログラム、及び通信ネットワークにおける通信の異常を検知する方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成する本発明の主たる発明は、インターネットに接続しているプロバイダ側ネットワークと、前記インターネット又は前記プロバイダ側ネットワークを流れるトラフィックを監視する第１の情報処理装置と、前記プロバイダ側ネットワークに通信ネットワークを介して接続しているユーザ側ネットワークと、当該ユーザ側ネットワークに接続している第２の情報処理装置と、前記第１及び第２の情報処理装置を接続する、前記通信ネットワークとは異なる通信経路と、を備えて構成され、前記第１の情報処理装置が、前記インターネット又は前記プロバイダ側ネットワークを流れるトラフィックが所定量を超えていることを検知した場合に、その旨を前記異なる通信経路を介して、前記ユーザ側ネットワークに接続している前記第２の情報処理装置に通知する手段を備え、前記第２の情報処理装置が、前記第１の情報処理装置から前記通知を受けた場合に、前記インターネット又は前記プロバイダ側ネットワークを介して前記ユーザ側ネットワークに送信されてくる全部もしくは一部のデータを受信しないように制御する手段を備えることを特徴とする情報処理システムである。
この場合に、前記インターネット又は前記プロバイダ側ネットワークを流れるトラフィックには、前記ユーザ側ネットワークを送信先としないデータパケットが含まれていることとすることができる。
【０００９】
前記第１の情報処理装置とは、例えば、後述するプロバイダ側ネットワークに接続している監視装置１０１である。前記第２の情報処理装置とは、例えば、後述するユーザ側ネットワークに接続している異常情報受信装置２０１である。
前記の異なる通信経路とは、後述する通信経路５００であり、例えば、専用線、ＩＳＤＮ網、公衆電話網、光パスネットワーク等である。前記トラフィックの監視とは、例えば、ＤｏＳ攻撃やＤＤｏＳ攻撃等により、通常の通信では想定されないような異常な量のトラフィックが流れていないかどうか、通常の通信では設定されない送信元情報や送信先情報を含んでいないかどうか、といったことを調べることである。
また、前記全部もしくは一部のデータを受信しないように制御する手段とは、例えば、第２の情報処理装置において特定の送信元が設定されているデータパケットのみを受信しないようにすることや、経路制御装置の設定変更により全部もしくは一部のデータパケットを通過させないようにすることである。
【００１０】
この発明によれば、第１の情報処理装置において検知したインターネット又はプロバイダ側ネットワークにおけるトラフィックの異常を、前記通信ネットワークとは異なる通信経路を介してユーザ側ネットワークの第２の情報処理装置に通知する。すなわち、前記インターネット又は前記プロバイダ側ネットワークのトラフィックに異常がある場合には、故障やトラフィックの渋滞により前記通信ネットワークを介して第２の情報処理装置に前記異常が生じていることを通知することができないか、もしくは、通知することはできても迅速に通知することができない場合があるが、本発明では、前記通信ネットワークとは異なる通信経路で前記異常が生じていることを通知するので、第１の情報処理装置から第２の情報処理装置に迅速かつ確実に前記通知を行うことができる。これにより第２の情報処理装置は、前記インターネット又は前記プロバイダ側ネットワークに生じている異常に対する対応（例えば、ルータの経路設定変更によるパケット受信制限等）を迅速に行うことができる。
【００１１】
また、通常、インターネット等の通信ネットワークにおけるパケット網を経由した情報転送等においては、伝搬遅延に加えてネットワーク機器での蓄積・情報処理数により数１０ｍｓから数１００ｍｓの遅延が発生する。従って、このような理由により、インターネット又はプロバイダ側ネットワークの異常の影響が第２の情報処理装置が接続されているユーザ側ネットワークに波及する前に前記異なる通信経路を介して先回りして第２の情報処理装置に前記通知が行われる場合には、前記異常の影響がユーザ側ネットワークに及ぶ前に防御策を講じることができるので、前記インターネット又は前記プロバイダ側ネットワークで生じている異常からユーザ側ネットワークを守ることができる。
【００１５】
本発明の他の態様は、前記情報処理システムにおいて、前記第１の情報処理装置が前記インターネット又は前記プロバイダ側ネットワークを流れるトラフィックを監視する手段は、前記インターネット又は前記プロバイダ側ネットワークを流れる前記第２の情報処理装置に向けて送信されるトラフィックの増加率が閾値を超えていることを検知した場合に、前記トラフィックの時間的な変化のパターンと、記憶しているトラフィックの時間的な変化のパターンとの類似度を求め、前記類似度に応じて前記トラフィックに異常があることを示す情報を出力することとする。
【００１６】
例えば、ＤｏＳ攻撃等によって生じた通信ネットワークにおける通信状態の異常を検知する方法として、例えば、トラフィックの増加率が急増したことを利用することが考えられる。しかしながら、例えば、ビデオデータなどのデータサイズの大きなデータが流れる場合もあるため、トラフィックの増加率が急増したことのみをもって異常であると判断すると、誤検知する確率が高く、トラフィックの増加率が急増したことのみをもって異常と判断する方法は必ずしも適策とは言えない。
一方、インターネット又はプロバイダ側ネットワークを流れるトラフィックの異常を検知する他の方法として、トラフィックの時間的な変化のパターンと、記憶しているトラフィックの時間的な変化のパターンとの類似度を求め、この類似度により通信ネットワークにおけるトラフィックに異常が生じているかどうかを判断する方法が考えられる。しかしながら、この方法ではリアルタイムに類似度を求める必要があるため、処理負荷が大きくなりやすいという問題がある。
【００１７】
本発明は、上記２つの方法を組み合わせてトラフィックの異常を検知するようにしたものである。すなわち、前記インターネット又は前記プロバイダ側ネットワークを流れる前記第２の情報処理装置に向けて送信されるトラフィックの増加率が閾値を超えていることを検知した場合に、前記トラフィックの時間的な変化のパターンと、記憶しているトラフィックの時間的な変化のパターンとの類似度を求め、前記類似度に応じて前記トラフィックに異常があるかどうかを判断する。
このように、上記２つの方法を組み合わせることで、誤検知を減らしてより確実にトラフィックの異常を検知することができる。また、この方法では、類似度を求める処理が、前記インターネット又は前記プロバイダ側ネットワークを流れる前記第２の情報処理装置に向けて送信されるトラフィックの増加率が閾値を超えていることを検知した場合にのみ行われる。このため、必要な場合にのみ類似度を求める処理が実行され、無駄に処理負荷を増大させることがない。
【００１８】
本発明の他の態様は、前記情報処理システムにおいて、前記トラフィックの異常は前記通信ネットワークにおいて行われる不正アクセスに起因して生じたものであり、前記第１の情報処理装置は、前記トラフィックの時間的な変化のパターンとして不正アクセスの種類に対応する一つ以上のトラフィックの時間的な変化のパターンを記憶しており、前記トラフィックの時間的な変化のパターンと、前記記憶している一つ以上の変化のパターンの夫々との類似度に基づいて、不正アクセスの種類を判別する手段を備えることとする。
【００１９】
前記不正アクセスの種類としては、例えば、ＩＣＭＰ攻撃、ＵＤＰ攻撃、ＳＹＮ−Ｆｌｏｏｄ攻撃がある。このような不正アクセスの夫々に応じた前記トラフィックの時間的な変化のパターンを記憶しておき、通信ネットワークにおける前記トラフィックの時間的な変化のパターンと前記記憶している一つ以上の変化のパターンの夫々との類似度に基づいて、不正アクセスの種類を判別する。このように不正アクセスの種類が判別されることで、不正アクセスの種類に応じて適切な防御策を講じることができる。なお、記憶しておく前記トラフィックの時間的な変化のパターンは、前記第１の情報処理装置が過去に取得したトラフィックに基づいて自動的にデータベースに登録するように（自動学習機能）することもできる。
【００２０】
本発明の他の態様は、前記情報処理システムにおいて、前記第１の情報処理装置による前記第２の情報処理装置への通知が、不正なデータパケットを送信している送信元アドレス、又は不正データパケットのパケットタイプを含むこととする。これにより、例えば、インターネット又はプロバイダ側ネットワークからユーザ側ネットワークに対して行われる攻撃から、ユーザ側ネットワークに接続している情報処理装置が防御される。
【００２１】
また、他の発明では、前記情報処理システムにおいて、前記通信経路は、前記通信ネットワークにおける通信より高速な通信が可能な通信経路であることとする。
すなわち、前記通信経路を、前記通信ネットワークにおける通信より高速な通信が可能な通信経路（例えば、高速専用ネットワーク）とすれば、通信ネットワークの異常の影響が第２の情報処理装置に波及する前に前記通信経路を介して先回りして第２の情報処理装置に前記通知が行われ、前記異常の影響が第２の情報処理装置に及ぶ前に防御策を講じることができ、前記通信ネットワークで生じている異常から第２の情報処理装置をより確実に守ることができる。
【００２２】
本発明の他の態様は、前記情報処理システムにおいて、前記通信ネットワークに、複数の前記第１の情報処理装置を前記通信ネットワーク上に分散させて接続することとする。
例えばインターネット等の広域ネットワークにおいては、不正アクセス等により生じる通信ネットワークの通信状態の異常は、広域ネットワークの一部において局所的に発生する。従って、広域ネットワークに前記第１の情報処理装置が異常が発生した位置から遠い（例えば送信元から送信先までの距離が長かったり中継点が多い等の理由により、データパケットの到達時間が長い）場合には、前記異常が発生してからそれが前記第１の情報処理装置に検知されるまでにタイムラグが生じてしまう。そこで、上記発明のように、通信ネットワークには、複数の前記第１の情報処理装置を接続するように、つまり、通信ネットワークにネットワークトラフィックセンサを分散配置することで、異常が発生した位置から近い位置に前記第１の情報処理装置が存在している可能性が高くなり、上記タイムラグを短縮化させることができる。
【００２３】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面によって明らかにされる。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
図１に本発明の一実施例として説明する情報処理システムの全体構成を示している。この情報処理システムは、インターネットサービスプロバイダ（ＩＳＰ：Internet Service Provider）が、ユーザサービスの提供等の目的で運用しているプロバイダ側ネットワーク１００と、このプロバイダと契約しこのプロバイダの設備を利用してインターネットに接続しているユーザ（図１においては企業Ａ）側に設けられるユーザ側ネットワーク２００との関係で構築されるものである。
【００２５】
プロバイダは、インターネット３００とユーザ側ネットワーク２００との接続を仲介するサービスを行っている。プロバイダ側ネットワーク１００は、直接に、もしくは、当該プロバイダ自身もしくは他のプロバイダが運用するインターネットバックボーンを経由してインターネット３００に接続される。プロバイダ側ネットワーク１００は、ＴＣＰ／ＩＰプロトコルを用いた通信が行われるＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）等である。
【００２６】
プロバイダ側ネットワーク１００には、当該プロバイダ側ネットワーク１００に接続する情報処理装置として、ユーザ側ネットワーク２００との接続口として機能する経路制御装置であるルータ（Router）１０２が接続している。ルータ１０２は、ＩＰレベルでの経路制御を行い、プロバイダ側ネットワーク１００とユーザ側ネットワーク２００との間のデータパケットの伝送を中継する。プロバイダ側ネットワーク１００には、インターネット３００への接続口となるルータ１０３が接続する。ルータ１０３もまた、ＩＰレベルでの経路制御を行い、プロバイダ側ネットワーク１００とインターネット３００との間のデータパケットの伝送を中継する。
【００２７】
プロバイダ側ネットワーク１００には、情報処理装置として、例えば、ＤＮＳサーバ、メールサーバ、プロキシーサーバ、認証サーバ、ニュースサーバ、Ｗｅｂサーバ、ファイアウォールサーバ等の各種のコンピュータ１０４が接続している。
【００２８】
ユーザ側ネットワーク２００は、例えば、企業Ａ内に敷設されたＬＡＮ等である。ユーザ側ネットワーク２００には、情報処理装置として、企業Ａの社員が使用するコンピュータ２０３が接続している。また、ユーザ側ネットワーク２００には、情報処理装置として、プロバイダ側ネットワーク１００のルータ１０２と接続するルータ２０２が接続する。ルータ１０２とルータ２０２とは、通信線（インターネットの一部）４００を介して接続している。通信線４００としては、例えば、電気的もしくは光学的な通信方式を用いた、専用線や公衆通信網が用いられる。
【００２９】
＝＝＝通信状態の監視＝＝＝
プロバイダ側ネットワーク１００には、情報処理装置として、インターネット３００及びプロバイダ側ネットワーク１００（以下、これらをあわせて外部ネットワークと総称する）の通信状態の監視を行う監視装置１０１が接続している。監視装置１０１では、上記通信状態の監視に関する処理を実現するプログラムである異常検知プログラムが動作している。異常検知プログラムは、例えば、ＤｏＳ攻撃やＤＤｏＳ攻撃等により、通常の通信では想定されないような異常な量のトラフィックが流れていないかどうか、通常の通信では設定されない送信元情報や送信先情報を含んでいないかどうか、といったことを調べることにより外部ネットワークにおける通信状態を監視する。
【００３０】
異常検知プログラムは、上記通信状態の監視を行うために、外部ネットワークにおける通信に関する情報を取得する機能を備える。前記通信に関する情報の取得は、例えば、外部ネットワークを流れるデータパケットを外部ネットワークから直接取込むことにより行う。また、上記取得は、例えば、ＳＮＭＰ（Simple Network Management Protocol）やＩＣＭＰ（Internet Control Message Protocol）等のプロトコルを用いて、外部ネットワーク上に存在するＷｅｂサーバやＤＮＳサーバ、メールサーバ等の各種サーバ、ルータ等の各種の情報処理装置に対して問い合わせることによっても行われる。このような通信状態に関する情報の取得は、例えば、リアルタイムに、もしくは適宜に設定された時間間隔で行われるように設定される。
【００３１】
監視装置１０１は、通信状態の監視により、外部ネットワークにおける通信状態に異常が生じていることを検知すると、その旨を示す通知を、プロバイダ側ネットワーク１００もしくはユーザ側ネットワーク２００のいずれとも異なる通信経路５００を介して、ユーザ側ネットワーク２００に接続している情報処理装置である異常情報受信装置２０１に送信する。ここで通信経路５００としては、例えば、専用線、ＩＳＤＮ網、公衆電話網、光パスネットワーク等が用いられる。なお、前記光パスネットワークについては、例えば、「ＭＡＮにおける光パスネットワークの基本特性：平成１４年度電子情報通信学会東京支部学生会研究発表会、B-7、pp.26-27(2003-3)」に記載されている。
【００３２】
異常情報受信装置２０１は、通信経路５００を介して監視装置１０１から送信されてくる上記通知を受信すると、その通知の内容に応じた処理を実行する。通知の内容としては、例えば、不正なデータパケットを送信している送信元アドレス、不正なデータパケットのパケットタイプなど、異常情報受信装置２０１が、不正なデータパケットからユーザ側ネットワーク２００に接続する情報処理装置を防御するのに有用な情報が設定される。
【００３３】
上記通知内容に応じた処理は、異常情報受信装置２０１において動作する防御対策プログラムにより実行される。上記通知内容に応じた処理は、例えば、外部ネットワークからユーザ側ネットワーク２００に対して行われる攻撃から、ユーザ側ネットワーク２００に接続している情報処理装置を防御する処理である。防御対策プログラムは、例えば、ユーザ側ネットワーク２００に接続する情報処理装置の当該ユーザ側ネットワーク２００を通じた通信に関する設定を動的に変更する。具体的には、例えば、異常情報受信装置２０１自身において、外部ネットワークから当該異常情報受信装置２０１に送信されるデータパケットの全部もしくは一部（例えば、特定の送信元が設定されているデータパケットのみ）を受信しないようにする。また、例えば、異常情報受信装置２０１からルータ２０２を制御して外部ネットワークからユーザ側ネットワーク２００に送信されてくるデータパケットの全部もしくは一部（例えば、特定の送信元が設定されているデータパケットのみ）を通過させないようにする。
【００３４】
異常情報受信装置２０１は、防御対策プログラムにより提供される上記の処理を実行する専用の情報処理装置であってもよいし、他の用途に用いられている情報処理装置に上記防御対策プログラムが提供する上記の処理を実現する仕組みを持たせるようにしてもよい。また、異常情報受信装置２０１は、ユーザ側ネットワーク２００に対するファイアウォールとして機能するものであってもよい。この場合には、例えば、異常情報受信装置２０１は、監視装置１０１から外部ネットワークに異常が生じている旨の上記通知を受信した場合に、プロバイダ側ネットワーク１００からユーザ側ネットワーク２００に送信されてくる全部もしくは一部のデータパケットを通過させないようにする。また、異常情報受信装置２０１は、ユーザ側ネットワーク２００に複数台が接続する構成としてもよい。この場合には、各異常情報受信装置２０１が通信経路５００に接続されることになる。
【００３５】
以上の構成からなる情報処理システムによれば、監視装置１０１において検知した外部ネットワークにおける通信状態の異常を、外部ネットワークとは異なる通信経路５００を介して迅速かつ確実に異常情報受信装置２０１に通知することができる。
【００３６】
ところで、例えば、外部ネットワークにおいては、不正アクセス等によって生じる外部ネットワークの通信状態の異常は、外部ネットワークの一部において局所的に発生する。従って、監視装置１０１が、外部ネットワーク上の異常が発生している位置から遠い（例えば送信元から送信先までの距離が長かったり中継点が多い等の理由により、データパケットの到達時間が長い）位置にある場合には、前記異常が発生してからそれが前記監視装置１０１において検知されるまでにタイムラグが生じてしまう。このタイムラグは、例えば、複数の前記監視装置１０１を外部ネットワーク上に分散させて複数設けることにより短縮化することができる。すなわち、このようにすることで、異常が発生した位置から近い位置に監視装置１０１が存在する確率が高くなり、上記タイムラグを短縮化させることができる。また、異常が生じていることを迅速に異常情報受信装置２０１に伝えることができる。
【００３７】
＝＝＝装置の具体的な構成＝＝＝
図２に監視装置１０１のハードウエア構成の一例を示している。この図に例示する監視装置１０１は、ＣＰＵ１０１１、ＲＡＭやＲＯＭ等のメモリ１０１２等を備えるコンピュータである。監視装置１０１は、ハードディスク装置１０１３を備えていることもある。また、監視装置１０１がルータである場合には、メモリ１０１２にはフラッシュメモリ等の不揮発性メモリが含まれる。監視装置１０１は、上記基本構成に加えて、プロバイダ側ネットワーク１００に接続するための通信インタフェース１０１４を備えている。通信インタフェース１０１４は、例えば、イーサネットアダプタカード等のネットワークインタフェースカード（ＮＩＣ：Network Interface Card）である。また、監視装置１０１は、通信経路５００に接続するための通信インタフェース１０１５を備えている。
【００３８】
図３に異常情報受信装置２０１のハードウエア構成の一例を示している。この図において、異常情報受信装置２０１は、ＣＰＵ２０１１、ＲＡＭやＲＯＭ等のメモリ２０１２を備えるコンピュータである。異常情報受信装置２０１は、、ハードディスク装置２０１３を備えていることもある。また、異常情報受信装置２０１がルータである場合には、メモリ２０１２にはフラッシュメモリ等の不揮発性メモリが含まれる。異常情報受信装置２０１は、コンピュータとしての上記基本構成に加えて、ユーザ側ネットワーク２００に接続するための通信インタフェース２０１４を備えている。通信インタフェース２０１４は、例えば、イーサネットアダプタカード等のネットワークインタフェースカード（NIC：Network Interface Card）である。また、異常情報受信装置２０１は、通信経路５００に接続するための通信インタフェース２０１５を備えている。また、異常情報受信装置２０１は、ハードディスク装置やＣＤ−ＲＯＭ等の記憶装置が接続していることもある。
【００３９】
＝＝＝＝異常検知プログラム＝＝＝＝
次に、監視装置１０１において実行される上述した異常検知プログラムの具体的な例を紹介する。ここで説明する異常検知プログラムは、ＤｏＳ攻撃やＤＤｏＳ攻撃を効率よく検知するものである。
【００４０】
ここで紹介する異常検知プログラムは、このような攻撃により生じている外部ネットワークの通信状態の異常を検知するために、図４に示すフローチャートに従って処理を行う。まず、外部ネットワークを流れる特定の情報処理装置向けのトラフィックを取得する（S1001）。つぎにそのトラフィックの増加率があらかじめ設定されている閾値を超えているかどうかを調べ（S1002）、閾値を超えていることを検知した場合には（S1002：YES）、前記取得したトラフィックの時間的な変化のパターンと、データベース等に記憶している時間的なトラフィックの変化のパターンとの類似度を求める（S1003）。そして求められた前記類似度が設定される値（以下、判定値と称する）を超えているかどうかを調べ（S1004）、類似度が判定値を超えている場合には（S1004：YES）、前記類似度に応じて前記トラフィックに異常があることを示す情報を出力する（S1005）。
【００４１】
ここで類似度を求めるために記憶しておく時間的なトラフィックの変化のパターンは、例えば、不正アクセスの種類に対応して用意される。また、このパターンは、一つ以上のパターンが用意され、複数のパターンが用意されている場合には、記憶している二つ以上の変化のパターンの夫々との類似度を計算する。ここでこのように複数のパターンが用意されている場合には、不正アクセスの種類に応じて用意されているパターンの数の範囲内で、その不正アクセスがどのような種類の不正アクセスであるかを判別することができる。なお、不正アクセスの種類としては、例えば、ＩＣＭＰ攻撃によるもの、ＵＤＰ攻撃によるもの、ＳＹＮ−Ｆｌｏｏｄ攻撃などがある。
【００４２】
図４の(S1002)の処理において、トラフィックの増加率があらかじめ設定されている閾値を超えているかどうかは、例えば、次のようにして判断する。すなわち、ＤｏＳ攻撃が発生していない正常な状態のトラフィックパターンに着目し、全てのパケットの時系列Li(i=1,2,3,...,N)をデータベースとして、評価周期をＴとする。そして、評価周期Ｔ毎のデータに対し、最小二乗法を用いて近似回帰直線の回帰係数ai(i=1,2,3,...,N-T+1)を求める。例えば、ｘを時間、ｙをパケット数として、最小二乗法を用いて一次式（ｙ＝ａｘ＋ｂ）に近似させるとすると、回帰係数ａは、以下の式（数１）から求められる。
【００４３】
【数１】
0004259183.tif 000002
また、ｂは次の式（数２）により求められる。
【数２】
0004259183.tif 000003
【００４４】
そして、上式（数１）により求められた回帰系数の列a1,a2,...,aN-T+1の中で最も大きい回帰係数amを、異常検出の上限MAXaとして定め、これを閾値として設定する。なお、この処理は時系列的に繰り返し行い、閾値も１分毎に更新する。
【００４５】
次にリアルタイムに測定した全てのパケットの時系列ALLk(k=1,2,3,...,j,...,j+N)に対し、評価周期を同じくＴとして、評価時点jの回帰係数をa0とする。この回帰係数a0がMAXaより大きければトラフィックの増加率があらかじめ設定されている閾値を超えていると判断される。
【００４６】
一方、図４の（S1003）の処理で求められる類似度は、例えば、類似関数を用いて算出される。ここで類似関数とは、２つのパターンの相関関係を求めるものである。例えば、観測点iと観測点jで観測されたパターンを比較する場合、評価するパターンの各点をLi=(n1,n2,...,nN),Lj=(m1,m2,...,mN)とすると、この２つのパターンの類似度rは次式（数３）から求められる。
【００４７】
【数３】
0004259183.tif 000004
なお、上式（数３）において、＜Ｌ＞は各データの平均、σi、σjはその分散を表す。また、上記σは、次式（数４）で与えられる。
【数４】
0004259183.tif 000005
ここで、ｒが類似度であり、rが１に近いほど、２つのパターンには強い相関があり、パターンの形状が類似していることになる。
【００４８】
＝＝＝検証事例＝＝＝
上述した異常検知プログラムの検証事例について紹介する。図５にこの検証のために用いたコンピュータシステムの構成を示している。コンピュータシステムは、複数の情報処理装置（コンピュータ）とこれらを互いに通信可能に接続しているＬＡＮ６００とを含んで構成される。この図において、異常検知プログラムは、上記情報処理装置の一つであるモニタコンピュータ６０２上で動作している。つまり、モニタコンピュータ６０２は、上述の監視装置１０１に相当する。上記情報処理装置の一つであるサーバコンピュータ６０１は、異常検知プログラムの監視対象となるコンピュータである。上記情報処理装置の一つであるクライアントコンピュータ１乃至３（６０４）は、サーバコンピュータ６０１に対して、不正なデータパケットを送信するコンピュータである。つまり、クライアントコンピュータ１乃至３（６０４）は、クラッカー等により不正アクセスがなされることにより不正なデータパケットをサーバコンピュータ６０１に対して送信する不正なプログラムを仕組まれて、サーバコンピュータ６０１に対するＤｏＳ攻撃を行っているコンピュータに相当する。上記情報処理装置の一つであるローダコンピュータ６０３は、サーバコンピュータ６０１に対して、正常なデータパケットを送信するコンピュータである。つまり、ローダコンピュータ６０３は、サーバコンピュータ６０１との間で正常な通信を行っているコンピュータに相当する。
【００４９】
上記構成からなるコンピュータシステムにおいて、ＤｏＳ攻撃が発生していない正常な状態のサーバコンピュータ６０１に対して送信されてくるトラフィックの推移の測定結果を図６に示している。ここでは最小二乗法により５分間毎にトラフィックの回帰係数を求めている。図７は回帰係数の時系列的な変化を示したものである。図７では、１１時２８分に最も大きな回帰係数（１４４．５）が計測されている。そこで、この例では、異常検出の閾値として１４４．５を設定することとしている。また、類似度の判定値として０．９を設定する。ここで類似度が判定値を超えている場合には、類似すると判定し、類似度が判定値以下である場合には、類似しないと判定する。
【００５０】
検証は、クライアントコンピュータ１乃至３（６０４）が、ＤｏＳ攻撃として、ＩＣＭＰ攻撃、ＵＤＰ攻撃、ＳＹＮ−Ｆｌｏｏｄ攻撃の３種類の攻撃を行う場合について行った。以下、各種類ごとの検証結果について説明する。
【００５１】
まずＩＣＭＰ攻撃の場合について説明する。ここでＩＣＭＰ攻撃とは、ＩＣＭＰエコー要求（ICMP Echo Request）に対するＩＣＭＰエコー応答（ICMP Echo Reply）が特定のアドレスに集中するように、元のＩＣＭＰエコー要求パケットの送信元のアドレスを偽造するものである。
【００５２】
図８は、ＩＣＭＰ攻撃がされた場合における１６時３５分から１６時５０分までの間に取得したトラフィックパターンを示す図である。この例では、最小二乗法より１６時４４分まで５分間のトラフィックパターンの近似回帰直線の回帰係数が２１４８．１と求められ、この値は、閾値として設定されている１４４．５を超えているので、続いて類似度の計算が行われる。ここでは、取得されたトラフィックの時間的な変化のパターンと、記憶している時間的なトラフィックの変化のパターンとの類似度の計算が行われる。なお、ここで記憶している時間的なトラフィックの変化のパターンは、ＩＣＭＰ攻撃についてのパターンである。
【００５３】
図９はＩＣＭＰ攻撃がされた場合における類似性の検出結果である。この図に示すように、類似度は０．９９９８５６と求められている。ここでこの類似度は、あらかじめ設定しておいた類似度の判定値である０．９を超えているので、ここで取得されたトラフィックの時間的な変化のパターンと、記憶している時間的なトラフィックの変化のパターンとは類似していると判断される。以上の結果から、サーバコンピュータ６０１に対してＩＣＭＰ攻撃が行われていると判断される。
【００５４】
次にＵＤＰ攻撃の場合について説明する。ここでＵＤＰ攻撃は、攻撃対象の情報処理装置に対し大量のＵＤＰパケットを送りつけ、情報処理装置の処理能力やネットワークの帯域を消費させる攻撃である。具体的には、大量のＵＤＰパケットが攻撃対象となる情報処理装置の適当なポートに対して送信されると、当該情報処理装置は届いたＵＤＰパケット１つ１つに対して、サービスを提供していない旨を示す「ICMP port unreachable」というメッセージで応答しようとする。しかし、送信されるＵＤＰパケットが大量なため、その大量のパケットひとつひとつに対して上記応答を行うことによって、攻撃対象となる情報処理装置の処理能力を消費させることになる。また、トラフィックの増加により通信帯域の低下を引き起こすことにもなる。
【００５５】
図１０はＵＤＰ攻撃がされた場合におけるトラフィックの推移の測定結果である。この図に示すように、最小二乗法より２時２０分までの５分間のトラフィックパターンの近似回帰直線の回帰係数が１８３５．７と求められている。この値は、閾値として設定されている１４４．５を超えているので、続いて類似度の計算が行われる。ここでは、取得されたトラフィックの時間的な変化のパターンと、記憶している時間的なトラフィックの変化のパターンとの類似度の計算が行われる。なお、ここで記憶している時間的なトラフィックの変化のパターンは、ＵＤＰ攻撃についてのパターンである。
【００５６】
図１１はＵＤＰ攻撃がされた場合における類似性の検出結果である。この図に示すように、類似度として０．９８０２０１が求められている。ここでこの類似度は、あらかじめ設定しておいた類似度の判定値である０．９を超えているので、ここで取得されたトラフィックの時間的な変化のパターンと、記憶している時間的なトラフィックの変化のパターンとは類似していると判断される。以上の結果から、サーバコンピュータに対してＵＤＰ攻撃が行われていると判断される。
【００５７】
次にＳＹＮ−Ｆｌｏｏｄ攻撃の場合について説明する。ここでＳＹＮ−Ｆｌｏｏｄ攻撃は、ＴＣＰサービスに対し、接続要求（ＳＹＮパケット）を大量に送りつけ、そのサービスの処理能力を消費させる攻撃である。ＳＹＮ−Ｆｌｏｏｄ攻撃はＴＣＰサービスのコネクションを確立するのに３ウェイハンドシェイク（3 Way Handshake）の欠陥を利用し、ターゲットに対し大量のＳＹＮパケットを高速に送信し、情報処理装置を待ち受け状態に陥れる。つまり、ＳＹＮ攻撃される場合には、情報処理装置のパッシブオープンのＴＣＰコネクション数が急激に増加することになる。ＳＹＮ−Ｆｌｏｏｄ攻撃に対しては、全てのパケットとＴＣＰコネクションのトラフィックパターンの類似性の判定ではなく、パッシブオープンのＴＣＰコネクション数を比較し、類似しているかどうかを判定する。つまり、ＴＣＰ接続がＬＩＳＴＥＮ状態からＳＹＮ−ＲＥＶＤ状態に直接移行した回数を入手する。この回数は、例えばサーバ６０１のＩＰアドレスが192.168.0.1とすると、モニタサーバ６０４から「Target[192.168.0.1]:1.3.6.1.2.1.4.3.0&1.3.6.1.2.1.6.6.0:public@192.168.0.1:」としてＳＮＭＰで入手できる。
【００５８】
図１２は、ＳＹＮ−Ｆｌｏｏｄ攻撃がされた場合におけるトラフィックの推移の測定結果である。この図に示すように、最小二乗法より７時２０分までの５分間のトラフィックパターンの近似回帰直線の回帰係数が１２０４．１と求められている。この値は、閾値として設定されている１４４．５を超えているので、続いて類似度の計算が行われる。
【００５９】
図１３は、ＳＹＮ−Ｆｌｏｏｄ攻撃がされた場合における類似性の検出結果である。ここでは、取得されたトラフィックの時間的な変化のパターンと、記憶している時間的なトラフィックの変化のパターンとの類似度の計算が行われる。なお、ここで記憶している時間的なトラフィックの変化のパターンは、ＳＹＮ−Ｆｌｏｏｄ攻撃についてのパターンである。ここでは、類似度として、０．９９９５７９と求められる。ここでこの類似度は、あらかじめ設定しておいた類似度の判定値である０．９を超えているので、ここで取得されたトラフィックの時間的な変化のパターンと、記憶している時間的なトラフィックの変化のパターンとは類似していると判断される。以上の結果から、サーバコンピュータに対してＳＹＮ−Ｆｌｏｏｄ攻撃が行われていると判断される。
【００６０】
以上により、異常検知プログラムによって、ＤｏＳ攻撃の典型例であるＩＣＭＰ攻撃、ＵＤＰ攻撃、ＳＹＮ−Ｆｌｏｏｄ攻撃について、正確かつ迅速な検知を行うことができることが確認された。
【００６１】
以上本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【００６２】
【発明の効果】
本発明によれば、通信ネットワークにおいて生じている不正アクセスに対して迅速かつ確実な防御を可能とする、情報処理システム、情報処理装置、プログラム、及び通信ネットワークにおける通信の異常を検知する方法を提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施例による情報処理システムの全体構成を示す図である。
【図２】本発明の一実施例による監視装置１０１のハードウエア構成の一例を示す図である。
【図３】本発明の一実施例による異常情報受信装置２０１のハードウエア構成の一例を示す図である。
【図４】本発明の一実施例による異常検知プログラムが外部ネットワークの通信状態の異常を検知する処理を説明するフローチャートを示す図である。
【図５】本発明の一実施例による異常検知プログラムの検証のために用いたコンピュータシステムの構成を示す図である。
【図６】本発明の一実施例によるＤｏＳ攻撃が発生していない正常な状態のサーバコンピュータ６０１に対して送信されてくるトラフィックの推移の測定結果を示す図である。
【図７】本発明の一実施例による回帰係数の時系列的な変化を示す図である。
【図８】本発明の一実施例によるＩＣＭＰ攻撃がされた場合におけるトラフィックの推移の測定結果を示す
【図９】本発明の一実施例によるＩＣＭＰ攻撃がされた場合における類似性の検出結果である。
【図１０】本発明の一実施例によるＵＤＰ攻撃がされた場合におけるトラフィックの推移の測定結果を示す
【図１１】本発明の一実施例によるＵＤＰ攻撃がされた場合における類似性の検出結果である。
【図１２】本発明の一実施例によるＳＹＮ−Ｆｌｏｏｄ攻撃がされた場合におけるトラフィックの推移の測定結果を示す
【図１３】本発明の一実施例によるＳＹＮ−Ｆｌｏｏｄ攻撃がされた場合における類似性の検出結果である。
【符号の説明】
１００  プロバイダ側ネットワーク
１０１  監視装置
１０２  ルータ
１０３  ルータ
１０４  コンピュータ
２００  ユーザ側ネットワーク
２０１  異常情報受信装置
２０２  ルータ
２０３  コンピュータ
３００  インターネット
４００  通信線
５００  通信経路
【図１】
0004259183.tif 000006
【図２】
0004259183.tif 000007
【図３】
0004259183.tif 000008
【図４】
0004259183.tif 000009
【図５】
0004259183.tif 000010
【図６】
0004259183.tif 000011
【図７】
0004259183.tif 000012
【図８】
0004259183.tif 000013
【図９】
0004259183.tif 000014
【図１０】
0004259183.tif 000015
【図１１】
0004259183.tif 000016
【図１２】
0004259183.tif 000017
【図１３】
0004259183.tif 000018