説明

中継装置および中継装置用プログラム

【課題】攻撃者に検出ルールなどの防御パターンを知られることなく攻撃パケットを確実に廃棄すること。
【解決手段】分布データ生成部が、入力されたパケットについて通常時および異常時の分布データを生成し、分布データ管理部が、分布データ生成部が生成した各分布データを管理し、異常度算出部が、分布データ管理部が管理する通常時分布データおよび異常時分布データに基づいて異常度を算出するよう構成する。そして、パケット制御部が、異常度算出部が算出した異常度に基づいてパケットの通過/遮断を判定し、通過対象としたパケットを出力するよう構成する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ネットワーク上に設けられ前記ネットワークを流通するパケットの中継制御をおこなう中継装置および中継装置用プログラムに関し、特に、攻撃者に検出ルールなどの防御パターンを知られることなく、攻撃パケットを確実に廃棄することができる中継装置および中継装置用プログラムに関する。
【背景技術】
【0002】
近年、サービスプロバイダが提供するネットワークを妨害するネットワーク攻撃が問題となっている。このネットワーク攻撃としては、たとえば、悪意のある攻撃者がネットワークに対して大量のパケットを送信することでネットワークに負荷をかけ、これによりネットワークサービス提供者のサービスを妨害するDoS攻撃(Denial of Service)やDDoS攻撃(Distributed Denial of Service)が知られている。
【0003】
これらの攻撃からネットワークに接続された通信機器(サーバ装置など)を防御するために、種々の攻撃防御方法が提案されている。たとえば、特許文献1には、ネットワーク上を流通するパケットを中継するルータなどの中継装置に攻撃パケットを検出するための検出ルールを登録し、中継装置がこの検出ルールに基づいて攻撃パケットの廃棄をおこなう技術が開示されている。
【0004】
【特許文献1】特開2005−039721号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示されている中継装置を用いた場合、上記した検出ルールが攻撃者に知られてしまうと、攻撃者が検出ルールを回避しつつ新たな攻撃を仕掛けることが可能となる。すなわち、検出ルールを保持するタイプの中継装置は検出ルールが攻撃者に漏洩してしまう危険性をはらんでいるので、かかる中継装置には攻撃用のパケットを確実に廃棄することができないという課題が残されていた。
【0006】
このため、攻撃者に検出ルールなどの防御パターンを知られることなく、攻撃パケットを確実に廃棄することができる中継装置をいかにして実現するかが大きな課題となっている。
【0007】
この発明は、上述した従来技術による問題点を解消するためになされたものであって、攻撃者に防御パターンを知られることなく攻撃パケットを確実に廃棄することができる中継装置および中継装置用プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するため、請求項1に係る発明は、ネットワーク上に設けられ前記ネットワークを流通するパケットの中継制御をおこなう中継装置であって、パケットに含まれる各属性の中から選択した少なくとも1つの属性を対象とし、当該属性の属性値がとりうる値を複数の区域に分割して各区域に属するパケット数についての分布データを生成する分布データ生成手段と、前記分布データ生成手段が生成した分布データに基づいてパケットの通過/遮断を制御するパケット通過制御手段とを備えたことを特徴とする。
【0009】
また、請求項2に係る発明は、上記の発明において、前記分布データ生成手段が生成した通常時の前記分布データをあらわす通常分布データと異常時の前記分布データをあらわす異常分布データとを比較することによって前記区域ごとの異常の度合いを示す異常度を算出する異常度算出手段をさらに備え、前記パケット通過制御手段は、前記異常度算出手段が算出した前記区域の異常度に基づいて前記区域ごとにパケットの通過/遮断を制御することを特徴とする。
【0010】
また、請求項3に係る発明は、上記の発明において、前記パケット通過制御手段は、前記異常分布データに含まれる区域に属するパケットの累計数を前記異常度の降順で順次算出し、前記異常分布データのパケット総数から前記累計数を差し引いた値が出力パケットの許容数を下回った場合には、当該区域および当該区域以前の区域に属するパケットを遮断することを特徴とする。
【0011】
また、請求項4に係る発明は、上記の発明において、前記パケット通過制御手段は、前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記異常分布データに含まれる区域に属するパケットの累計数である異常累計数で除した値を前記異常度の降順で順次算出し、算出した値が所定値を上回った場合には、当該区域以前の区域に属するパケットを遮断することを特徴とする。
【0012】
また、請求項5に係る発明は、上記の発明において、前記パケット通過制御手段は、前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記通常分布データのパケット総数で除した値を前記異常度の降順で順次算出し、算出した値が所定値を上回った場合には、当該区域以前の区域に属するパケットを遮断することを特徴とする。
【0013】
また、請求項6に係る発明は、上記の発明において、前記パケット通過制御手段は、前記異常分布データに含まれる区域に属するパケットの累計数を前記異常度の昇順で順次算出し、前記累計数が出力パケットの許容数を上回った場合には、当該区域および当該区域以降の区域に属するパケットを遮断することを特徴とする。
【0014】
また、請求項7に係る発明は、上記の発明において、前記パケット通過制御手段は、前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記異常分布データに含まれる区域に属するパケットの累計数である異常累計数で除した値を前記異常度の昇順で順次算出し、算出した値が所定値を下回った場合には、当該区域および当該区域以降の区域に属するパケットを遮断することを特徴とする。
【0015】
また、請求項8に係る発明は、上記の発明において、前記パケット通過制御手段は、前記異常度の降順で前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記通常分布データのパケット総数で除した値を順次算出し、算出した値が所定値を下回った場合には、当該区域および当該区域以降の区域に属するパケットを遮断することを特徴とする。
【0016】
また、請求項9に係る発明は、上記の発明において、前記異常度算出手段は、前記異常分布データに含まれる区域に属するパケット数を当該区域に対応した前記通常分布データに含まれる区域に属するパケット数で除した値を前記異常度とすることを特徴とする。
【0017】
また、請求項10に係る発明は、上記の発明において、前記異常度算出手段は、前記異常分布データに含まれる区域に属するパケット数から当該区域に対応した前記通常分布データに含まれる区域に属するパケット数を差し引いた値を前記異常度とすることを特徴とする。
【0018】
また、請求項11に係る発明は、上記の発明において、前記異常度算出手段は、前記異常分布データに含まれる区域に属するパケット数から当該区域に対応した前記通常分布データに含まれる区域に属するパケット数を差し引いた値を前記異常分布データについての標準偏差で除した値を前記異常度とすることを特徴とする。
【0019】
また、請求項12に係る発明は、上記の発明において、前記パケット通過制御手段は、前記区域に属するパケットの累計数として、異常時のパケット数から通常時のパケット数を差し引いた差分数を用い、遮断対象とすることを決定した区域に属するパケットのうち前記差分数のパケットを遮断することを特徴とする。
【0020】
また、請求項13に係る発明は、ネットワーク上に設けられ前記ネットワークを流通するパケットの中継制御をおこなう中継装置に搭載される中継装置用プログラムであって、パケットに含まれる各属性の中から選択した少なくとも1つの属性を対象とし、当該属性の属性値がとりうる値を複数の区域に分割して各区域に属するパケット数についての分布データを生成する分布データ生成手順と、前記分布データ生成手順が生成した分布データに基づいてパケットの通過/遮断を制御するパケット通過制御手順とをコンピュータに実行させることを特徴とする。
【0021】
また、請求項14に係る発明は、上記の発明において、前記分布データ生成手順が生成した通常時の前記分布データをあらわす通常分布データと異常時の前記分布データをあらわす異常分布データとを比較することによって前記区域ごとの異常の度合いを示す異常度を算出する異常度算出手順をさらにコンピュータに実行させ、前記パケット通過制御手順は、前記異常度算出手順が算出した前記区域の異常度に基づいて前記区域ごとにパケットの通過/遮断を制御することを特徴とする。
【発明の効果】
【0022】
請求項1または13の発明によれば、パケットに含まれる各属性の中から選択した少なくとも1つの属性を対象とし、対象とした属性の属性値がとりうる値を複数の区域に分割して各区域に属するパケット数についての分布データを生成し、生成した分布データに基づいてパケットの通過/遮断を制御するよう構成したので、静的な検出パターンではなく、動的な分布データに基づいてパケットの遮断制御をおこなうことによって、攻撃者に防御パターンを知られることなく攻撃パケットを確実に廃棄することができるという効果を奏する。
【0023】
また、請求項2または14の発明によれば、通常時の分布データをあらわす通常分布データと異常時の分布データをあらわす異常分布データとを比較することによって区域ごとの異常の度合いを示す異常度を算出し、算出した区域の異常度に基づいて区域ごとにパケットの通過/遮断を制御するよう構成したので、通常分布データと異常分布データを対比することによって得られる異常度に基づいてパケットの遮断制御をおこなうことによって、効率よく攻撃パケットを廃棄することができるという効果を奏する。
【0024】
また、請求項3の発明によれば、異常分布データに含まれる区域に属するパケットの累計数を異常度の降順で順次算出し、異常分布データのパケット総数から累計数を差し引いた値が出力パケットの許容数を下回った場合には、この区域およびこの区域以前の区域に属するパケットを遮断するよう構成したので、出力パケットの許容数を上回った場合に異常度が高い区域を優先して遮断することができるという効果を奏する。
【0025】
また、請求項4の発明によれば、通常分布データに含まれる区域に属するパケットの累計数である通常累計数を異常分布データに含まれる区域に属するパケットの累計数である異常累計数で除した値を異常度の降順で順次算出し、算出した値が所定値を上回った場合には、この区域以前の区域に属するパケットを遮断するよう構成したので、通常累計数を異常累計数で除した値、すなわち、誤検知率に基づいて遮断対象の区域を選択することによって、遮断対象となる区域に属する非攻撃パケットが巻き添えとなって攻撃パケットとともに遮断されてしまう比率を抑制することができるという効果を奏する。
【0026】
また、請求項5の発明によれば、通常分布データに含まれる区域に属するパケットの累計数である通常累計数を通常分布データのパケット総数で除した値を異常度の降順で順次算出し、算出した値が所定値を上回った場合には、この区域以前の区域に属するパケットを遮断するよう構成したので、通常累計数を通常分布データのパケット総数で除した値、すなわち、巻き添え率に基づいて遮断対象の区域を選択することによって、断対象となる区域に属する非攻撃パケットが巻き添えとなって攻撃パケットとともに遮断されてしまう比率を抑制することができるという効果を奏する。
【0027】
また、請求項6の発明によれば、異常分布データに含まれる区域に属するパケットの累計数を異常度の昇順で順次算出し、累計数が出力パケットの許容数を上回った場合には、この区域およびこの区域以降の区域に属するパケットを遮断するよう構成したので、出力パケットの許容数を上回った場合に異常度が高い区域を優先して遮断することができるという効果を奏する。
【0028】
また、請求項7の発明によれば、通常分布データに含まれる区域に属するパケットの累計数である通常累計数を異常分布データに含まれる区域に属するパケットの累計数である異常累計数で除した値を異常度の昇順で順次算出し、算出した値が所定値を下回った場合には、この区域およびこの区域以降の区域に属するパケットを遮断するよう構成したので、通常累計数を異常累計数で除した値、すなわち、誤検知率に基づいて遮断対象の区域を選択することによって、遮断対象となる区域に属する非攻撃パケットが巻き添えとなって攻撃パケットとともに遮断されてしまう比率を抑制することができるという効果を奏する。
【0029】
また、請求項8の発明によれば、異常度の降順で通常分布データに含まれる区域に属するパケットの累計数である通常累計数を通常分布データのパケット総数で除した値を順次算出し、算出した値が所定値を下回った場合には、この区域およびこの区域以降の区域に属するパケットを遮断するよう構成したので、通常累計数を通常分布データのパケット総数で除した値、すなわち、巻き添え率に基づいて遮断対象の区域を選択することによって、断対象となる区域に属する非攻撃パケットが巻き添えとなって攻撃パケットとともに遮断されてしまう比率を抑制することができるという効果を奏する。
【0030】
また、請求項9の発明によれば、異常分布データに含まれる区域に属するパケット数をこの区域に対応した通常分布データに含まれる区域に属するパケット数で除した値を異常度とするよう構成したので、攻撃パケット数および非攻撃パケット数の総和を非攻撃パケット数で除した値を異常度とすることによって、攻撃パケットの割合が高い区域を容易に判別することができるという効果を奏する。
【0031】
また、請求項10の発明によれば、異常分布データに含まれる区域に属するパケット数からこの区域に対応した通常分布データに含まれる区域に属するパケット数を差し引いた値を異常度とするよう構成したので、攻撃パケット数および非攻撃パケット数の総和から非攻撃パケット数を差し引いた値、すなわち、攻撃パケット数を異常度とすることによって、攻撃パケットを数多く含む区域を容易に判別することができるという効果を奏する。
【0032】
また、請求項11の発明によれば、異常分布データに含まれる区域に属するパケット数からこの区域に対応した通常分布データに含まれる区域に属するパケット数を差し引いた値を異常分布データについての標準偏差で除した値を異常度とするよう構成したので、攻撃パケット数を標準偏差で除した値を異常度とすることによって、遮断対象となる区域を適正に選択することができるという効果を奏する。
【0033】
また、請求項12の発明によれば、区域に属するパケットの累計数として、異常時のパケット数から通常時のパケット数を差し引いた差分数を用い、遮断対象とすることを決定した区域に属するパケットのうち差分数のパケットを遮断するよう構成したので、攻撃パケットとともに非攻撃パケットが遮断されてしまう事象を効果的に抑制することができるという効果を奏する。
【発明を実施するための最良の形態】
【0034】
以下に添付図面を参照して、この発明に係る中継装置および中継装置用プログラムの実施例を詳細に説明する。
【実施例】
【0035】
まず、本発明に係る中継装置の特徴について図1を用いて説明する。図1は、本発明に係る中継装置10の特徴を示す図である。図1に示すように、インターネット20、ISP(Internet Service Provider)が管理するISP網21および企業網22の各ネットワークが接続されたネットワーク環境に、本発明に係る中継装置10が設けられている。ここで、この中継装置10はISP網21と企業網22との間で送受信されるパケットを中継する処理を行う装置である。なお、図1においては、この中継装置10がISP網21に設けられた場合について示しているが、これに限らず、ISP網21と企業網22との間あるいは企業網22に中継装置10を設けることとしても構わない。
【0036】
図1に示したネットワーク環境において、攻撃者は企業網22に攻撃を仕掛けるため、インターネット20およびISP網21を介して企業網22に対して攻撃用パケットを大量に送信する。本実施例に係る中継装置10は、かかる攻撃用パケットの中継を制御することによって企業網22を防御する目的で用いられる。なお、企業網22には、図示しないIDS(Intrusion Detection System)が設けられており、企業網22が攻撃されているなどの異常状態を検出すると、かかる異常を中継装置10に対して通知するものとする。
【0037】
図1に示す中継装置10は、中継対象パケットの統計を取得する機能(パケット統計機能)を有しており、攻撃がない状態における通常時の分布データを生成する(図1の(1)参照)。ここで「分布データ」とは、パケット(たとえば、IP(Internet Protocol)パケット)を構成する1つ以上の属性(以下、「フィールド」と記載する)について、フィールドの設定値を複数の区域に分割して区域ごとのパケット数の分布を計数したデータである。
【0038】
この「フィールド」としては、たとえば、IPヘッダのTTL(Time To Live)、Protocol、送信元アドレス、宛先アドレスなどがある。そして、「複数の区域に分割」とは、たとえば、TTLが0〜255の値をとると仮定した場合に、0〜7、8〜15、16〜23というように分割することを指す。なお、本実施例においては、各区域を等分にした場合について説明するが、各区域をそれぞれ等分にする必要はなく、たとえば、パケット量に応じて各区域を不等分に構成することとしてもよい。
【0039】
中継装置10の動作についての説明をつづける。攻撃者が、インターネット20およびISP網21を介して企業網22に攻撃パケットを大量に送信すると、企業網22のIDSが異常を検出して中継装置10に通知する(図1の(2)参照)。異常通知を受けた中継装置10は、上記したパケット統計機能を用いて異常時の分布データを生成する(図1の(3)参照)。そして、生成した異常時分布データと、通常時(攻撃がない状態)で生成しておいた通常時分布データとの比較結果に基づいて企業網22に対するパケットの遮断制御を実施する(図1の(4)参照)。
【0040】
このように、本実施例に係る中継装置10は、上記した「通常時分布データ」と「異常時分布データ」との比較結果に基づいて攻撃パケットの遮断制御をおこなうので、攻撃者に防御パターンを読み取られるおそれがない。すなわち、攻撃パケット検出ルールをあらかじめ設定するタイプの中継装置では、設定した検出ルールが攻撃者に知られてしまうと検出ルールを回避した形の攻撃を仕掛けられるおそれがあった。これに対し、本実施例に係る中継装置10は、異常時のパケット量と通常時のパケット量とを比較することによって遮断すべきパケットを動的に決定するので防御パターンを攻撃者に知られるおそれがない。したがって、本実施例に係る中継装置10を用いることとすれば、攻撃パケットを確実に廃棄(遮断)することができる。
【0041】
次に、本実施例に係る中継装置10の内部構成について図2を用いて説明する。図2は、中継装置10の構成を示すブロック図である。同図に示すように、中継装置10は、入力インタフェース部11と、出力インタフェース部12と、分布データ生成部13と、分布データ管理部14と、異常度算出部15と、パケット制御部16とを備えている。なお、以下の説明においては、IPに準拠したパケットをIPパケットと記載することとし、中継装置10がこのIPパケットを中継する場合について説明することとする。
【0042】
入力インタフェース部11は、LAN(Local Area Network)ボードなどの通信デバイスで構成され、ISP網21を経由して転送されるIPパケットや、企業網22を経由して転送されるIPパケットを受け付け、受け付けたIPパケットを分布データ生成部13やパケット制御部16に渡す処理をおこなう処理部である。また、出力インタフェース部12は、入力インタフェース部11と同じくLANボードなどの通信デバイスで構成され、パケット制御部16が通過させることを決定したIPパケットをISP網21や企業網22に出力する処理をおこなう処理部である。
【0043】
分布データ生成部13は、入力インタフェース部11から渡されたIPパケットを構成する一つ以上のフィールドについて、各フィールドに設定された値が、上記したどの区域に該当するかを判定して区域ごとのパケット数に関する分布データを生成する処理部である。
【0044】
具体的には、この分布データ生成部13は、非攻撃時(通常時)における分布データ(通常時分布データ14a)を生成して分布データ管理部14に渡すとともに、攻撃時(異常時)における分布データ(異常時分布データ14b)を生成して分布データ管理部14に渡す処理をおこなう。なお、企業網22が異常である旨の通知は、この分布データ生成部13が受け取ることとしてもよいし、異常通知を受け取る処理部をあらたに設け、この処理部が分布データ生成部13に異常通知を渡すよう構成してもよい。
【0045】
また、この分布データ生成部13は、各区域に属するパケットの個数が単位時間あたりに何個であるかを計数する。なお、単位時間としては、たとえば、1秒間などの時間を用いることができ、通信量や運用方式などに応じて任意の時間に変更することができる。
【0046】
分布データ管理部14は、不揮発性RAM(Random Access Memory)や磁気ディスク装置といった記憶デバイスを用いることによって、分布データ生成部13から渡された通常時分布データ14aおよび異常時分布データ14bを管理する処理をおこなう処理部である。ここで、分布データ管理部14が管理する分布データの例について図3を用いて説明しておく。図3は、分布データ管理部14が管理する分布データの一例を示す図である。なお、図3に示した(A)が通常時分布データ14aの例であり、同じく(B)が異常時分布データ14bの例である。
【0047】
同図に示す各分布データ(14aおよび14b)のグラフは、横軸が上記した「区域」をあらわしており、縦軸がパケット数(度数)をあらわしている。また、各グラフは、IPパケットを構成するフィールドの中からTTLフィールドを選択した場合を示している。図3に示すように、TTLに設定されている値が0〜7に該当するパケットを区域1に、8〜15に該当するパケットを区域2に、というように全パケットをTTLの値に応じて各区域に分類する。なお、図3においては、TTLフィールドの値を8ごとに各区域に対応させる場合について示したが、これに限らず、1ごと、あるいは、任意の数nごとに分類することとしてもよい。
【0048】
また、TTLフィールドのように単一のフィールドに着目するのではなく、たとえば、TTLおよびProtocolというように複数のフィールドに着目して各パケットが属する区域を決定することとしてもよい。すなわち、攻撃が仕掛けられていることを特定することができるフィールドであれば、いかなるフィールドを採用してもよく、また、単一のフィールドのみではなく複数のフィールドに着目することとしてもよい。
【0049】
図3の(B)に示した斜線部分が、図3の(A)に示した通常時の分布データから増加したパケット数に該当する。このように、図3の(B)に示した異常時分布データは、1日前、1週間前、あるいは、1ヶ月前の同時刻などに生成された図3の(A)に示した正常時分布データと比較してパケット数が増加していることがあらわされている。なお、中継装置10が用いる通常時分布データ14aとしては、IPパケットの遮断処理を実施していないときの分布データを用いることが望ましい。
【0050】
図2の説明に戻り、異常度算出部15について説明する。異常度算出部15は、分布データ管理部14が管理する通常時分布データ14aおよび異常時分布データ14bに基づいて攻撃時(異常時)の異常性の度合いを示す「異常度」を算出する処理部である。
【0051】
この異常度算出部15は、区域ごとに通常時のパケット数(図3の黒い矩形)と、異常時のパケット数(図3の斜線の矩形+黒い矩形)とを対比することによって、かかる「異常度」を算出する。たとえば、通常時のパケット数をN[i](iは0以上の整数であり、各区域に対応する)、異常時のパケットをA[i]とすれば異常度は、
【数1】

であらわされる。
【0052】
式(1)に示すように、異常時のパケット数を通常時のパケット数で除した値が大きい区域ほど異常度が高いと判定される。そして、異常度算出部15は、異常度の降順あるいは昇順で各区域に優先順位をつけ、優先順位が高い区域に属するパケットは後述するパケット制御部16によってパケット遮断の対象とされることになる。なお、異常度算出部15は、N[i]が0の場合にはA[i]が大きい区域ほど異常度が高いと判定する。
【0053】
パケット制御部16は、入力インタフェース部11から受け取ったパケットについて遮断/通過の判定をおこなったうえで、通過対象と判定したパケットを出力インタフェース部12を介してネットワークに出力する処理をおこなう処理部である。具体的には、このパケット制御部16は、異常度算出部15が算出した異常度に基づいて各区域を遮断対象とするか否かを判定し、遮断対象の区域に属するパケットである場合には、このパケットを遮断する。一方、遮断対象の区域に属さないパケットである場合には、このパケットを通過させることになる。
【0054】
なお、上記した分布データ生成部13、分布データ管理部14、異常度算出部15およびパケット制御部16は、それぞれCPU(Central Processing Unit)などのプロセッサによって処理されるプログラムのモジュールであってもよい。そして、各モジュールは1つのCPUで処理されてもよく、複数のCPUに分散して処理されてもよい。
【0055】
次に、異常度算出部15およびパケット制御部16がおこなう処理の詳細について図4を用いて説明する。図4は、中継装置10においておこなわれるパケット制御処理の処理手順を示すフローチャートである。同図に示すように、まず、異常時のパケット数の累計をあらわす異常累計数を0に初期化するとともに(ステップS101)、異常分布データ14bに属する総パケット数を算出する(ステップS102)。
【0056】
つづいて、各区域について異常度(たとえば、数(1))を算出し(ステップS103)、各区域を異常度の高いほうから低いほうに並べたうえで、異常度が最大の区域を選択する(ステップS104)。そして、選択した区域の異常時パケット数(A[i])を異常累計数に加算し(ステップS105)、総パケット数から異常累計数を差し引いた値が許容パケット数よりも小さいか否かを判定する(ステップS106)。ここで、許容パケット数とは、たとえば、ISP網21と企業網22とを接続する回線の速度に応じてあらかじめ決められた値である。なお、この許容パケット数は、運用の状況に応じて適宜変更することができる。
【0057】
ステップS106において許容パケット数以上であると判定された場合には(ステップS106,No)、選択した区域の全IPパケットを遮断することを決定し(ステップS107)、異常度が次に大きい区域を対象区域として選択して(ステップS108)ステップS105以降の処理を繰り返す。
【0058】
一方、ステップS106において許容パケット数より小さいと判定された場合には(ステップS106,Yes)、選択した区域の全IPパケットを遮断することを決定し(ステップS109)、遮断しなかったIPパケットを通過させて(ステップS110)処理を終了する。なお、ステップS106において一度もNoの判定をおこなうことなくYesの判定をおこなった場合、すなわち、異常時分布データのパケット総数が許容パケット数を下回っている場合には、ステップS109の動作をおこなうことなく(IPパケットを遮断することなく)全IPパケットを通過させることとしてもよい。
【0059】
次に、図4に示したパケット制御処理の変形例1について図5を用いて説明する。図5は、図4に示したパケット制御処理の変形例1を示すフローチャートである。この変形例1は、通常時分布データ14aの各区域についてのパケット数を累計した通常累計数を、異常時分布データ14bの各区域についてのパケット数を累計した異常累計数で除した値が許容値を上回るまで、該当する区域に属するパケットを遮断対象とするものである。
【0060】
図5に示すように、まず、異常時のパケット数の累計をあらわす異常累計数と、通常時のパケット数の累計をあらわす通常累計数とを0に初期化し(ステップS201)、各区域について異常度(たとえば、数(1))を算出する(ステップS202)。そして、各区域を異常度の高いほうから低いほうに並べたうえで、異常度が最大の区域を選択する(ステップS203)。
【0061】
つづいて、選択した区域の異常時パケット数(A[i])を異常累計数に加算するとともに(ステップS204)、通常時パケット数(N[i])を通常累計数に加算する(ステップS205)。そして、通常累計数を異常累計数で除した値が所定の許容値よりも大きいか否かを判定する(ステップS206)。
【0062】
ここで、この「通常累計数を異常累計数で除した値」を誤検知率と呼ぶこととする。この誤検知率が0であれば、遮断対象となる区域に属する通常時のIPパケットが巻き添えとなって異常時のIPパケットとともに遮断されることがないことになる。また、この誤検知率が大きいほど通常時のIPパケットが巻き添えを被る比率が高まってしまうことになる。なお、所定の許容値とは、運用の状況応じてあらかじめ決められた値であり、運用状況の変化に応じて適宜変更することができる。
【0063】
ステップS206において所定の許容値以下であると判定された場合には(ステップS206,No)、選択した区域の全IPパケットを遮断することを決定し(ステップS207)、異常度が次に大きい区域を対象区域として選択して(ステップS208)ステップS205以降の処理を繰り返す。一方、ステップS206において所定の許容値より大きいと判定された場合には(ステップS206,Yes)、遮断しなかったIPパケットを通過させて(ステップS209)処理を終了する。
【0064】
次に、図4に示したパケット制御処理の変形例2について図6を用いて説明する。図6は、図4に示したパケット制御処理の変形例2を示すフローチャートである。この変形例2は、通常時のIPパケットの巻き添え(遮断対象の区域に含まれる通常パケットが異常パケットともに遮断されること)を配慮した変形例である。
【0065】
図6に示すように、まず、通常時のパケット数の累計をあらわす通常累計数を0に初期化するとともに(ステップS301)、通常分布データ14aに属する総パケット数を算出する(ステップS302)。
【0066】
つづいて、各区域について異常度(たとえば、数(1))を算出し(ステップS303)、各区域を異常度の高いほうから低いほうに並べたうえで、異常度が最大の区域を選択する(ステップS304)。そして、選択した区域の通常時パケット数(N[i])を通常累計数に加算し(ステップS305)、この通常累計数をステップS302において算出した総パケット数で除した値が所定の許容値よりも大きいか否かを判定する(ステップS306)。
【0067】
ここで、この「通常累計数を通常時の総パケット数で除した値」を巻き添え率と呼ぶこととする。この巻き添え率が0であれば、遮断対象となる区域に属する通常時のIPパケットが巻き添えとなって異常時のIPパケットとともに遮断されることがないことになる。また、この巻き添え率が大きいほど通常時のIPパケットが巻き添えを被る比率が高まってしまうことになる。なお、所定の許容値とは、運用の状況に応じてあらかじめ決められた値であり、運用状況の変化に応じて適宜変更することができる。
【0068】
ステップS306において所定の許容値以下であると判定された場合には(ステップS306,No)、選択した区域の全IPパケットを遮断することを決定し(ステップS307)、異常度が次に大きい区域を対象区域として選択して(ステップS308)ステップS305以降の処理を繰り返す。一方、ステップS306において所定の許容値より大きいと判定された場合には(ステップS306,Yes)、遮断しなかったIPパケットを通過させて(ステップS309)処理を終了する。
【0069】
次に、図4に示したパケット制御処理の変形例3について図7を用いて説明する。図7は、図4に示したパケット制御処理の変形例3を示すフローチャートである。この変形例3は、図4、変形例1(図5)および変形例2(図6)において異常度の高い区域から低い区域に向かって(異常度の降順で)おこなっていた処理を、異常度の昇順でおこなった場合の処理手順を示したものである。なお、図7においては、図4に示した処理を異常度の昇順にした場合について示しているが、同様に、図5あるいは図6に示した処理を異常度の昇順でおこなうことも可能である。
【0070】
図7に示すように、まず、異常時のパケット数の累計をあらわす異常累計数を0に初期化するとともに(ステップS401)、異常分布データ14bに属する総パケット数を算出する(ステップS402)。
【0071】
つづいて、各区域について異常度(たとえば、数(1))を算出し(ステップS403)、各区域を異常度の低いほうから高いほうに並べたうえで、異常度が最小の区域を選択する(ステップS403)。そして、選択した区域の異常時パケット数(A[i])を異常累計数に加算し(ステップS405)、総パケット数から異常累計数を差し引いた値が許容パケット数よりも大きいか否かを判定する(ステップS406)。
【0072】
ステップS406において許容パケット数以下であると判定された場合には(ステップS406,No)、選択した区域の全IPパケットを通過させることを決定し(ステップS407)、異常度が次に小さい区域を対象区域として選択して(ステップS408)ステップS405以降の処理を繰り返す。
【0073】
一方、ステップS406において許容パケット数より大きいと判定された場合には(ステップS406,Yes)、選択した区域以降の区域に属する全パケットを遮断することを決定して(ステップS409)処理を終了する。
【0074】
なお、上述した説明においては、異常度を上記した式(1)で求められる値としたが、かかる異常度をこれとは異なる算出式で算出することとしてもよい。すなわち、式(1)と同様に、通常時のIPパケット数をN[i](iは0以上の整数であり、各区域に対応する)、異常時のIPパケットをA[i]として異常度を、
【数2】

とあらわすこととしてもよい。
【0075】
つまり、式(2)では、異常度を、異常時のパケット数A[i]から通常時のパケット数N[i]を差し引いた値としている。式(2)を用いることで、通常時を基準として異常時のパケット数が大きく増加している区域を優先して遮断対象とすることができる。
【0076】
また、異常度を算出する算出式の他の例として、異常時の時刻ごとの分布データに係る区域iの標準偏差SDを用いるものがある。すなわち、式(1)あるいは式(2)と同様に、通常時のIPパケット数をN[i](iは0以上の整数であり、各区域に対応する)、異常時のIPパケットをA[i]とあらわすとともに、上記した標準偏差をSDとして異常度を、
【数3】

とあらわすこととしてもよい。
【0077】
また、図4〜図7に示したフローチャートでは、ステップS107、ステップS207、ステップS307およびステップS408において、遮断対象と決定した区域に属する全パケットを遮断することとした場合について説明した。しかしながら、これに限らず、遮断対象と決定した区域に属するパケットのうち異常時に増加したパケット数(図3の斜線の矩形参照)分のパケットを遮断することとしてもよい。
【0078】
上述してきたように、本実施例においては、分布データ生成部が、入力されたパケットについて通常時および異常時の分布データを生成し、分布データ管理部が、分布データ生成部が生成した各分布データを管理し、異常度算出部が、分布データ管理部が管理する通常時分布データおよび異常時分布データに基づいて異常度を算出するよう構成した。そして、パケット制御部が、異常度算出部が算出した異常度に基づいてパケットの通過/遮断を判定し、通過対象としたパケットを出力するよう構成した。したがって、攻撃者に検出ルールなどの防御パターンを知られることなく、攻撃パケットを確実に廃棄することができる。
【0079】
ところで、上述した実施例においては、中継装置がIDSから異常通知を受けた際に異常時分布データを生成する場合について説明した。しかしながら、これに限らず、IDSを用いることなく(異常通知を受けることなく)異常時分布データを生成することも可能である。具体的には、中継装置が最新の分布データを異常時分布データとして取り扱うこととするとともに、この異常時分布データに対して、前日、1週間前、1ヶ月前の同時刻などに生成された分布データを通常時分布データとすることとしてもよい。
【0080】
また、上記した実施例では、本発明に係る中継装置を機能面から説明したが、中継装置の各機能はパーソナルコンピュータやワークステーションなどのコンピュータ、あるいはプログラムを搭載可能なルータなどの通信機器にプログラムを実行させることによって実現することもできる。
【0081】
すなわち、上述した各種の処理手順は、あらかじめ用意されたプログラムをコンピュータ上で実行することによって実現することができる。そして、これらのプログラムは、インターネットなどのネットワークを介して配布することができる。さらに、これらのプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【0082】
つまり、例を挙げれば、各実施例に示した中継装置用プログラムを格納したCD−ROMを配布し、このCD−ROMに格納されたプログラムを各コンピュータが読み出して実行するようにしてもよい。
【産業上の利用可能性】
【0083】
以上のように、本発明に係る中継装置および中継装置用プログラムは、攻撃パケットの遮断に有用であり、特に、攻撃者に検出ルールなどの防御パターンを知られることなく、攻撃パケットを確実に廃棄したい場合に適している。そして、本発明は、中継装置に限らず、ルータ、シェーパ、あるいは、スイッチといった他の通信機器にも適用することができる。
【図面の簡単な説明】
【0084】
【図1】本発明に係る中継装置の特徴を示す図である。
【図2】中継装置の構成を示すブロック図である。
【図3】分布データ管理部が管理する分布データの一例を示す図である。
【図4】中継装置においておこなわれるパケット制御処理の処理手順を示すフローチャートである。
【図5】図4に示したパケット制御処理の変形例1を示すフローチャートである。
【図6】図4に示したパケット制御処理の変形例2を示すフローチャートである。
【図7】図4に示したパケット制御処理の変形例3を示すフローチャートである。
【符号の説明】
【0085】
10 中継装置
11 入力インタフェース部
12 出力インタフェース部
13 分布データ生成部
14 分布データ管理部
14a 通常時分布データ
14b 異常時分布データ
15 異常度算出部
16 パケット制御部
20 インターネット
21 ISP網
22 企業網

【特許請求の範囲】
【請求項1】
ネットワーク上に設けられ前記ネットワークを流通するパケットの中継制御をおこなう中継装置であって、
パケットに含まれる各属性の中から選択した少なくとも1つの属性を対象とし、当該属性の属性値がとりうる値を複数の区域に分割して各区域に属するパケット数についての分布データを生成する分布データ生成手段と、
前記分布データ生成手段が生成した分布データに基づいてパケットの通過/遮断を制御するパケット通過制御手段と
を備えたことを特徴とする中継装置。
【請求項2】
前記分布データ生成手段が生成した通常時の前記分布データをあらわす通常分布データと異常時の前記分布データをあらわす異常分布データとを比較することによって前記区域ごとの異常の度合いを示す異常度を算出する異常度算出手段
をさらに備え、
前記パケット通過制御手段は、
前記異常度算出手段が算出した前記区域の異常度に基づいて前記区域ごとにパケットの通過/遮断を制御する
ことを特徴とする請求項1に記載の中継装置。
【請求項3】
前記パケット通過制御手段は、
前記異常分布データに含まれる区域に属するパケットの累計数を前記異常度の降順で順次算出し、前記異常分布データのパケット総数から前記累計数を差し引いた値が出力パケットの許容数を下回った場合には、当該区域および当該区域以前の区域に属するパケットを遮断することを特徴とする請求項2に記載の中継装置。
【請求項4】
前記パケット通過制御手段は、
前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記異常分布データに含まれる区域に属するパケットの累計数である異常累計数で除した値を前記異常度の降順で順次算出し、算出した値が所定値を上回った場合には、当該区域以前の区域に属するパケットを遮断することを特徴とする請求項2に記載の中継装置。
【請求項5】
前記パケット通過制御手段は、
前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記通常分布データのパケット総数で除した値を前記異常度の降順で順次算出し、算出した値が所定値を上回った場合には、当該区域以前の区域に属するパケットを遮断することを特徴とする請求項2に記載の中継装置。
【請求項6】
前記パケット通過制御手段は、
前記異常分布データに含まれる区域に属するパケットの累計数を前記異常度の昇順で順次算出し、前記累計数が出力パケットの許容数を上回った場合には、当該区域および当該区域以降の区域に属するパケットを遮断することを特徴とする請求項2に記載の中継装置。
【請求項7】
前記パケット通過制御手段は、
前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記異常分布データに含まれる区域に属するパケットの累計数である異常累計数で除した値を前記異常度の昇順で順次算出し、算出した値が所定値を下回った場合には、当該区域および当該区域以降の区域に属するパケットを遮断することを特徴とする請求項2に記載の中継装置。
【請求項8】
前記パケット通過制御手段は、
前記異常度の降順で前記通常分布データに含まれる区域に属するパケットの累計数である通常累計数を前記通常分布データのパケット総数で除した値を順次算出し、算出した値が所定値を下回った場合には、当該区域および当該区域以降の区域に属するパケットを遮断することを特徴とする請求項2に記載の中継装置。
【請求項9】
前記異常度算出手段は、
前記異常分布データに含まれる区域に属するパケット数を当該区域に対応した前記通常分布データに含まれる区域に属するパケット数で除した値を前記異常度とすることを特徴とする請求項2〜8のいずれか一つに記載の中継装置。
【請求項10】
前記異常度算出手段は、
前記異常分布データに含まれる区域に属するパケット数から当該区域に対応した前記通常分布データに含まれる区域に属するパケット数を差し引いた値を前記異常度とすることを特徴とする請求項2〜8のいずれか一つに記載の中継装置。
【請求項11】
前記異常度算出手段は、
前記異常分布データに含まれる区域に属するパケット数から当該区域に対応した前記通常分布データに含まれる区域に属するパケット数を差し引いた値を前記異常分布データについての標準偏差で除した値を前記異常度とすることを特徴とする請求項2〜8のいずれか一つに記載の中継装置。
【請求項12】
前記パケット通過制御手段は、
前記区域に属するパケットの累計数として、異常時のパケット数から通常時のパケット数を差し引いた差分数を用い、遮断対象とすることを決定した区域に属するパケットのうち前記差分数のパケットを遮断することを特徴とする請求項1〜11のいずれか一つに記載の中継装置。
【請求項13】
ネットワーク上に設けられ前記ネットワークを流通するパケットの中継制御をおこなう中継装置に搭載される中継装置用プログラムであって、
パケットに含まれる各属性の中から選択した少なくとも1つの属性を対象とし、当該属性の属性値がとりうる値を複数の区域に分割して各区域に属するパケット数についての分布データを生成する分布データ生成手順と、
前記分布データ生成手順が生成した分布データに基づいてパケットの通過/遮断を制御するパケット通過制御手順と
をコンピュータに実行させることを特徴とする中継装置用プログラム。
【請求項14】
前記分布データ生成手順が生成した通常時の前記分布データをあらわす通常分布データと異常時の前記分布データをあらわす異常分布データとを比較することによって前記区域ごとの異常の度合いを示す異常度を算出する異常度算出手順
をさらにコンピュータに実行させ、
前記パケット通過制御手順は、
前記異常度算出手順が算出した前記区域の異常度に基づいて前記区域ごとにパケットの通過/遮断を制御する
ことを特徴とする請求項13に記載の中継装置用プログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2007−143020(P2007−143020A)
【公開日】平成19年6月7日(2007.6.7)
【国際特許分類】
【出願番号】特願2005−337041(P2005−337041)
【出願日】平成17年11月22日(2005.11.22)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】