JP4898648B2 - 高パケットレートフローのオンライン検出方法およびそのためのシステムならびにそのためのプログラム - Google Patents

高パケットレートフローのオンライン検出方法およびそのためのシステムならびにそのためのプログラム Download PDF

Info

Publication number
JP4898648B2
JP4898648B2 JP2007326789A JP2007326789A JP4898648B2 JP 4898648 B2 JP4898648 B2 JP 4898648B2 JP 2007326789 A JP2007326789 A JP 2007326789A JP 2007326789 A JP2007326789 A JP 2007326789A JP 4898648 B2 JP4898648 B2 JP 4898648B2
Authority
JP
Japan
Prior art keywords
flow
packet
detection
rate
packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007326789A
Other languages
English (en)
Other versions
JP2009152712A (ja
Inventor
憲昭 上山
亮一 川原
薫明 原田
哲哉 滝根
隆則 工藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007326789A priority Critical patent/JP4898648B2/ja
Publication of JP2009152712A publication Critical patent/JP2009152712A/ja
Application granted granted Critical
Publication of JP4898648B2 publication Critical patent/JP4898648B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、フロー計測から得られたデータを用いて、高パケットレートフローを特定する技術に係り、特に、実際のパケットそのものからの情報は用いないで、パケットサンプリングによって得られた統計データのみを用いることによって、設定した時間内に十分高い確率で高パケットレートフローを検出する高パケットレートフローのオンライン検出技術に関するものである。
近年、インターネット上で公的機関や企業のサーバを狙ったSenial of Service(DoS)攻撃が深刻な問題となっている。DoS攻撃とは、サーバがクライアントに対して供給するサービスを不正なパケットを送りつけることによって妨害するという、ネットワークを利用した攻撃のことである。
そのDoS攻撃の中で現在最も頻繁に発生しているのがSYN Flood攻撃である。これは、攻撃者が攻撃対象のサーバに対して、TCPの接続要求であるSYNパケットのヘッダを改竄して大量に送りつけるというものである。
SYNパケットを受け取ったサーバは送信元に対してSYN/ACKを返す。しかしSYNパケットのヘッダに書かれている送信元のIPアドレスが実際には存在しないアドレスに書き換えられているため、サーバからのSYN/ACKに対してACKを返すクライアントは存在せず、サーバは返ってこないACKをタイムアウトになるまで待ち続けなければならない。
この状態はhalf-openと呼ばれ、half-open状態のコネクションはサーバ内のbacklog queueに蓄積される。backlog queueのサイズはサーバ毎に決められており、このbacklog queueが一杯のときは、サーバはクライアントからの接続要求に応えることができない。
すなわち、IPアドレスを改竄したSYNパケットが大量に送られてくると、サーバのbacklog queueは常に一杯の状態になってしまい、正常なクライアントに対してTCP接続を確立することができず、サービスを供給できなくなる。
またSYN Flood攻撃の他にも、サイズの大きいUDPパケットなどを大量に送り続けサーバ付近の帯域を占有してしまう攻撃なども存在する。
いずれの場合も攻撃者本人のコンピュータからの単一の攻撃ではなく、多くの場合、トロイの木馬などによって攻撃者の支配下に陥ってしまった多数のコンピュータを踏み台とし、一斉に攻撃を仕掛けるDistributed DoS(DDoS)攻撃が用いられる。
DDoS攻撃では多数のコンピュータからパケットが送信されるため、個々の送信するパケットの量がそれほど多くなくても、標的となったホストに到着するパケット数は膨大となる。
SYN Flood攻撃の場合は、すぐにbacklog queueが一杯になってしまい、その後サーバ管理者が気づく、あるいは知らされるまで、サービスが停止した状態が続くことになってしまう。そのためDoS攻撃が発生したときには、いち早くその発生を検出することが重要である。
DoS攻撃の検出に関連する研究としては、下記非特許文献1および非特許文献2に記載されたものがある。
(a)非特許文献1において、Sirisらはトラヒックに含まれるSYNパケットの数を計測し、2種類のアルゴリズムを用いて動的に閾値を定め、閾値を超えるSYNパケットが計測された場合にSYN Flood攻撃の発生を検出するという手法を提案している。
彼らの手法は、SYN Flood攻撃が発生していることは検知できても、SYN Flood攻撃のフローを特定することができないという点、およびトラヒックのデータを全て計測対象としている点で本発明とは異なる。
また、SYN Flood攻撃のみを対象としている点が、本発明の高パケットレートのDoS攻撃全てを対象としている点と異なる。
(b)また、非特許文献2において、大下らはSYN Flood攻撃を検出する手法を提案している。彼らの手法はbacklog queueのサイズとタイムアウトになる時間を考慮し、サーバがサービス停止状態になる前に検出を行う。
しかし、トラヒックを観測するポイントが、本発明ではネットワークのバックボーンを想定しているのに対し、彼らはサーバ側のネットワークへのインターフェース部分を想定しており、さらにトラヒックの全パケットを観測している点で本発明とは異なっている。
V.A.Siris and F.Papagalou、"Application of Anomaly Detection Algorithms for Detecting SYN Flooding Attacks,"Computer Communications,vol.29,issue9,pp.1433--1442,May 2006. Y.Ohsita,S.Ata and M. Murata,"Detecting Distributed Denial of Service Attacks by Utilizing Statistical Analysis of TCP SYN Packets,"IEICE Technical Report,vol.103,no.651,pp.23−−28,February 2004.
本発明では、DoS攻撃フローのパケットレートが正常なフローのパケットレートに比べて非常に大きいことに注目し、フロー毎のパケットレートを用いてネットワークのバックボーンルータにおいてDoS攻撃を検出することを試みる。
DoS攻撃の検出を行う機能をバックボーンルータに実装させる利点としては、端末や端末に近いルータへ実装させる場合に比べて実装箇所が少なくて済むためコストが抑えられることや、DoS攻撃が検出された場合に、すぐに攻撃パケットの破棄や攻撃元の特定などの対抗策が取れることなどが挙げられる。
ここで、DoS攻撃のフローが正常なフローよりもパケットレートが大きいことを前提とするが、その値には様々なものが予想される。また、サーバが機能を停止するぎりぎりのレートから、1秒あたりのパケット数が数十万から数百万にも達するような高レートまでのすべてのDoS攻撃を、パケットレートの大きさのみを用いて誤りなく検出することは不可能である。
そこで本発明の目的は、DDoS攻撃のように到着レートが非常に大きく、サーバ側での対処が難しい高パケットレートのDoS攻撃に注目し、単位時間あたりの到着パケット数が予め定めた閾値を越えるような高パケットレートフローをDoS攻撃等の異常トラヒックの候補として、設定した時間内に十分高い確率で検出できる高パケットレートフローのオンライン検出技術を提供することである。
本発明は、上記目的を達成するために、次のような構成を採用している。
a)パケットサンプリングによって得られた統計データのみを用いて、所定の測定期間内におけるパケット数Xが閾値x個以上のフローを高パケットレートフローとして特定するために、パケットレートの閾値R、所定の測定期間内におけるパケット数Xと前記閾値xが等しいフローの検出の検出見逃し許容確率ε、およびフローの発生から検出までに要する検出許容時間TD_maxを予め入力しておき、前記所定の測定期間内におけるパケット数Xと前記閾値xが等しいフローが特定される確率が1-ε以上となるという第1の制約条件で、高パケットフローであることを特定するサンプリングデータのパケット数閾値yを最大の整数に設定し、パケットフローを所定の測定期間の間、所定のパケットサンプリングレートfでサンプリングしてパケットフローごとのサンプルパケット数yを計測し、前記パケット数yが前記パケット数閾値y以上の場合に、前記サンプリングしたパケットフローを高パケットレートフローであると特定するようにしたものである。
さらに、前記パケットフローごとのサンプルパケット数を計測する測定期間として、一定時間長TSWのスライディングウインドウ方式を用い、自然数Kに対してTSW/K刻みでウインドウをK個に分割したベーシックウインドウを設け、TSW/Kごとにベーシックウインドウを単位としたデータ更新を行うようにしている。
さらに、前記第1の制約条件に加え、これらのフローの発生から検出までに要する時間を上限値TD_max以下とすること、ならびにスライディングウインドウの解析に要する時間をベーシックウインドウの時間TSW/K以下とすること、を第2の制約条件として、低レートフローの誤検出確率PWDを最小化するように、前記TSW,f,Kを設計するようにした。
さらに、前記低レートフローの誤検出確率を最小化するステップの代わりに、パケットサンプリングレートfとウインドウサイズTSWとの積を最大化することにより、前記TSW,f,Kを最適設計するようにしている。
また、本発明に係るプログラムは、コンピュータを上記の各処理を実行させるためのプログラムである。
本発明は、パケットサンプリングによって得られた情報のみを用いて、測定期間のパケット数が閾値以上の高パケットレートフローをリアルタイムに検出できるという効果を有する。
図1は、本発明の高パケットレートフローのオンライン検出方法の実施の形態の一例を示すシステム構成図である。図1において、101は設定条件入力手段、102はパラメタ設計手段、103は高パケットレートフロー検出手段、104は高パケットレートフローリストである。本システムは、通常のコンピュータ構成を有しており、本発明に係る高パケットレートフローのオンライン検出方法を実現するためのプログラムをCPU、メモリなどのハードウェアを用いて実行することにより、本発明を実現する。
設定条件入力手段101により特定閾値パケットレートRなどの設定条件が入力され、パラメタ設計手段102によりウインドウサイズTSWやサンプリングレートfなどが設計される。設計されたパラメタを用いて高パケットレートフロー検出手段103により高パケットレートフローが検出され、検出された高パケットレートフローを高パケットレートフローリスト104(例えば、ハードディスクなどの記憶手段に格納)に出力する。
次に、本発明の実施の形態に係る高パケットレートフローのオンライン検出方法について説明する。
(A)<高パケットレートフローのオンライン検出手法>
DoS攻撃等の異常トラヒックが発生した際、ネットワークのバックボーンにおいて迅速に検知することは、ネットワーク全体を保守管理する上で非常に重要である。
本発明ではDDoS攻撃等、特に高パケットレートの異常トラヒックに注目し、パケットレートが予め定められた閾値を超えるフローを異常トラヒックの候補として予め定められた時間内に検出することを試みる。
(A1)<検出の枠組み>
まず本発明で扱うフローの定義を行う。ネットワークを流れるトラヒックにおいてフローを定義するものとしてIPアドレス,ポート番号,SYNフラグなどがあるが、本発明では一般のDoS攻撃を想定し、同一の宛先IPアドレスを持つパケット群をフローと定義する。
フロー毎のパケットレートを求めるためには、測定時間とフロー毎のパケット数という二つの情報が必要である。しかし転送されている全てのパケットを解析して統計量を収集することは、処理能力やメモリなどの面で限界がありスケーラビリティに欠ける。
そこで、これらの問題を解決する手段としてパケットサンプリングを用いる。この手法では、パケットの標本抽出を行い、得られた情報を元にサンプリングの対象となった母集団の統計量を推定するため、処理サイクル、メモリ使用量を押さえることができる。
本発明では、各パケットに対してフローの情報を用いず、独立に一定の確率fでサンプリングを行うランダムパケットサンプリングという手法を用いる。これにより処理サイクルを大幅に抑えることができ、バックボーンなどの高速な回線にも適用可能となる。
しかしパケットサンプリングはその性質上、情報の欠如をもたらし、特にサンプルする頻度が少ない場合、サンプリングの対象である母集団の統計量を推定することが困難になる。例えば、一つのパケットもサンプルされないフローについては、母集団における統計量を推定することは非常に困難である。
しかし、通常のトラヒックに含まれるフローに比べてはるかに高いパケットレートをもつフローに対しては、適切なサンプリングレートを用いることによって、十分、母集団を推定できるだけの標本を抽出できると考えられる。
また、トラヒックを監視し続けるためには常にデータの取得,解析,廃棄を行わなければならない。このオンライン処理を実現するために、スライディングウインドウ方式を用いる。スライディングウインドウ方式とは、解析データを保持するスライディングウインドウをベーシックウインドウと呼ばれるユニットに分割し、そのベーシックウインドウ単位でデータを更新する、オンライン処理アルゴリズムである。
(A2)<ランダムパケットサンプリングを用いた検出>
まず、ランダムパケットサンプリングの対象となるm個のフローからなるパケット群を想定し、このパケット群を母集団として、各パケットが独立に一定の確率fでサンプリングされることを考える。
X_jとY_j(j=1,2,・・,m)をそれぞれj番目のフローに含まれる、母集団におけるパケット数ならびにサンプルされたパケット数と定義する。j番目のフローにおいてX_j=xであったとき、y個のパケットがサンプルされる確率を示す数式1は数式2のような二項分布で与えられる。
Figure 0004898648
Figure 0004898648
異常トラヒックの候補として検出する際の閾値となる母集団におけるパケットレートをR[packet/秒]とおくと、母集団の全パケットの測定にかかった時間がT[秒]であったとき、それらの積を求めることによって、検出したいフローの母集団における閾値をパケットレートからパケット数に変換することができる。ここでパケット数の閾値をxとおく。しかし測定時間が実数であるため、自然数であるxは次の数式3に示す床関数(floor function)により定められる。
Figure 0004898648
すなわち、ある測定時間Tの間に通過した全パケットで構成される母集団において、x個以上のパケットからなるフローを検出することが目的となる。すなわち、ランダムパケットサンプリングによって得られたデータから、母集団においてx個以上のパケットからなるフローを見つけなければならない。
ここで、y個以上サンプルされたフローを異常トラヒックの候補として検出することにする。本発明は、異常トラヒックが発生した際、確実に検出することが目標であるが、パケットサンプリングによって情報が欠如するため、対象フローが検出される確率を1にすることは不可能である。
そこで、母集団におけるパケット数がx個以上であるフローが、十分高い確率で検出されるようにyを定める。具体的には、母集団においてx個のパケットが含まれるフローを、検出できずに見逃してしまう確率を十分小さな確率(検出見逃し許容確率)ε以下にする。言い換えると、パケットレートがR[packet/秒]であるフローが、1-ε以上の確率で検出されるようにyを定める。よってyは次式を満たさなければならない。
Figure 0004898648
もし、yが数式4を満たすならば、パケットレートがRより大きいフローの検出確率は1-εより大きくなることに注意する。なお、数式4の左辺は数式2を用いて以下の式で表される。
Figure 0004898648
を定める際には、パケットレートがR[packet/秒]未満の低レートフローがy個以上サンプルされてしまい、誤って検出されてしまう確率も考慮する。異常トラヒックの候補として検出されたフローが、実際に異常トラヒックであるかどうかを確かめる作業はかなりのオーバーヘッドがあるため、低レートフローの誤検出確率はできるだけ小さくしなければならない。この誤検出確率はyに関して減少関数である。そこで数式4を満たす自然数の中で最大のものをyとすると、yは下記数式6で表わされる。
Figure 0004898648
サンプルデータにおけるパケット数の閾値yは、予め与えられるパケットレートの閾値R,検出見逃し許容確率εに加えて、サンプリングレートfと測定時間Tが与えられれば一意に定めることができる。
(A3)<スライディングウインドウ方式によるデータ更新>
インターネットの回線を流れているトラヒックを常に測定し、対象となるフローの検出を行うにはオンラインのアルゴリズムが必要である。すなわち、データの取得,解析,破棄を常時繰り返し行う必要がある。
データの解析は、測定時間T[秒]の間にサンプルされた各フロー毎のパケット数がy個以上であるか否かを判定し、y個以上であるフローを検出するという作業を指すので、問題となるのは解析対象となるデータをどのようにして取得および破棄を行い、更新していくかということである。本発明では、解析対象となるデータの測定時間をTSW秒に固定した、スライディングウインドウ方式を用いてデータの更新を行う。
<スライディングウインドウ方式の概要>
スライディングウインドウ方式とは、解析対象となるデータを保持するスライディングウインドウをベーシックウインドウと呼ばれる複数のユニットに分割し、解析終了後に最も古いベーシックウインドウのデータを破棄し、新たにサンプルされた1ベーシックウインドウ分のデータを加えることによって解析対象のデータを更新する方式である。
スライディングウインドウ方式には、ウインドウのサイズをパケット数で規定する方法と測定時間で規定する方法の二種類が存在する。前者は一定数のパケットが回線を通過したとき、あるいは一定数のパケットがサンプルされたときにベーシックウインドウを生成し、スライディングウインドウを更新する。
母集団におけるパケット数を一定にすると、トラヒックのフロー毎のパケット数分布などを求めやすくなったり、あるいはサンプル数を一定にすると、メモリの使用量を一定にすることができるなどのメリットがある。
一方、一定時間毎にベーシックウインドウを生成しスライディングウインドウを更新すると、母集団におけるパケット数およびサンプルされるパケット数はスライディングウインドウが更新される度に変わるが、測定時間を一定にすることができる。
本発明では、パケットレートの閾値R,検出見逃し許容確率ε,サンプリングレートf,そして測定時間を用いて、サンプルされたデータにおけるパケット数の閾値yを求める。測定時間が一定ならばスライディングウインドウが更新されてもyは一定であるので、閾値を計算し直す必要がなくなり、オンラインのアルゴリズムとしては都合が良い。
また、トラヒックのフロー毎のパケット数分布なども必要としないため、測定時間を一定にしたスライディングウインドウ方式が適している。
そこで本発明では、スライディングウインドウが保持する解析対象データであるサンプルされたパケットの測定時間が、一定時間TSW秒になるようにスライディングウインドウのサイズを規定する。また自然数Kを用いて、スライディングウインドウをTSW/K秒刻みでK個のベーシックウインドウに分割する。
すなわち、TSW/K秒毎にサンプルされたパケットで新たなベーシックウインドウを生成し、スライディングウインドウに加えると共に、スライディングウインドウ内の最も古いベーシックウインドウのデータを破棄することによって、解析対象となるデータの更新を行う。以上の手続きを下記にまとめる。
a)Srep1:一定の確率fで母集団からパケットをサンプルする。
b)Step2:ベーシックウインドウの境界にきたら、TSW秒間に取得したデータ(スライディングウインドウ)に対して、yを超えるフローが存在するかどうかを調べる。
c)Step3:新たにTSW/K秒間に取得したデータ(ベーシックウインドウ)をスライディングウインドウに加え、スライディングウインドウ内の一番古いベーシックウインドウのデータを破棄する。
d)Step4:上記Step2とStep3を繰り返す。
図2−1は、図1に示したシステムを用いて実行される高パケットレートフローのオンライン検出方法の処理の流れを示すフローチャートである。
図2−1に示すように、まず、予め設定条件入力手段101からパケットレートの閾値R,検出見逃し許容確率εなどを設定する。次に、パラメタ設計手段102により、一定時間TSW(スライディングウインドウのサイズ),サンプリングレートf,ベーシックウインドウの数Kなどのパラメタを設計する(ステップS10)。
次に、一定のサンプリングレートfで母集団からパケットをサンプルする(ステップS11)。ベーシックウインドウの境界でなければ(ステップS12:N)ステップS11に戻り、ベーシックウインドウの境界にきたら(ステップS12:Y)、次にTSW秒間に取得したデータ(スライディングウインドウ)に対して、yを超えるフローが存在するかどうかを調べ(ステップS13)、yを超えるフローが存在したら(ステップS13:Y)、それらのフローを高パケットレートフローとして検出し、高パケットレートフローリスト104に出力する(ステップS15)。
を超えるフローが存在しない場合(ステップS13:N)、あるいはステップS15の後、新たにTSW/K秒間に取得したデータ(ベーシックウインドウ)をスライディングウインドウに加え、スライディングウインドウ内の一番古いベーシックウインドウのデータを破棄することによってサンプルデータを更新した後(ステップS14)、ステップS11に戻る。
<スライディングウインドウ方式の利点>
オンライン処理のためのデータ更新の代表的な手法として、スライディングウインドウ方式の他にジャンピングウインドウ方式が知られている。この方式は、解析が終了したデータは全て破棄し、次に解析するデータを一から取得し直すという方式であり、GR2000などのルータで実装されている。
しかしこの方式は、スライディングウインドウ方式においてベーシックウインドウの数Kを1にした場合と等しく、スライディングウインドウの特別な場合として考えることができる。ジャンピングウインドウ方式とベーシックウインドウの数Kが2以上のスライディングウインドウ方式を比較したときに最も違いが現れてくるのが、高パケットレートのフローが発生した時点から検出されるまでにかかる時間である。
例えば、ジャンピングウインドウ方式において、パケットレートR[packet/秒]のフローがある時点のウインドウの途中から発生したとき、そのウインドウ終了時において当該フローを検出できる確率は1-εに満たない。1-ε以上の確率で検出されるようになるのは次のウインドウであり、最悪の場合一つのジャンピングウインドウ(スライディングウインドウ)分の時間だけ検出が遅れてしまうことになる。
しかし複数個のベーシックウインドウからなるスライディングウインドウであれば、この遅れを一つのベーシックウインドウ分で済ませることができる。すなわちベーシックウインドウの数Kが大きいほど、この遅れは小さくなる。よって、高パケットレートの異常トラヒックが発生してから予め定められた時間内に検出を行うには、ベーシックウインドウの数Kは大きいほど都合が良い。
しかし、オンラインアルゴリズムとして正常に動作させるには、新しいベーシックウインドウが生成される前にスライディングウインドウの解析を終了させなければならない。ベーシックウインドウの数Kを大きくするとベーシックウインドウの取得にかかる時間が短くなり、スライディングウインドウの解析に割くことができる時間が短くなる。
そのためベーシックウインドウの数Kは予め定められた時間内に高パケットレートの異常トラヒックを検出するという条件と、スライディングウインドウ方式を用いた本手法がオンラインのアルゴリズムとして正常に機能するという条件を考慮して、適切に選ぶ必要がある。
(A4)<パラメタの値による影響>
本発明では、予め与えられるパケットレートの閾値R[packet/秒]と検出見逃し許容確率εの他に、スライディングウインドウのサイズであるTSWとサンプリングレートf、そしてスライディングウインドウ内におけるベーシックウインドウの数であるKを定める必要がある。
図3は、これら三つのパラメタ(TSW,f,K)のうち二つを固定し、パケットレートの閾値R[packet/秒]のフローを見逃す確率を検出見逃し許容確率ε以下にする条件を満たしたまま、残りの一つを変化させた場合に該パラメタ値が小の場合と大の場合とでそれぞれどのような利点があるかをまとめた図である。
同図に示すように、スライディングウインドウのサイズTSWが小の場合は使用メモリを軽減することができ、また検出までの時間を短縮できるという利点があり、大の場合は低レートフローの誤検出確率を低下させることができるという利点がある。
また、サンプリングレートfが小の場合はCPUにかかる負荷を低減できるという利点があり、大の場合は低レートフローの誤検出確率を低下させることができるという利点がある。
また、ベーシックウインドウの数Kが小の場合はCPUにかかる負荷を低減できるという利点があり、大の場合は検出までにかかる時間を短縮することができるという利点がある。
なお、スライディングウインドウのサイズTSW,サンプリングレートf,ベーシックウインドウの数Kの3つのパラメタは、予め定められた時間内に検出するという条件と、オンラインのアルゴリズムとして正常に動作するという条件を満たすように選ぶ必要があることに注意する。
(B)<制御パラメタの最適化手法>
パケットレートR[packet/秒]をもつフローの発生後、検出許容時間以内に1-ε以上の確率で検出することを保証した上で、パケットレートが閾値未満の低レートフローが誤って検出されてしまう確率を最小化するような制御パラメタの設定法を提案する。その際、検出に要する時間とオンラインアルゴリズムとして機能するためのスライディングウインドウの計算時間に関して制約条件を設ける。すなわち、次のような最適化問題を考察する。
目的関数:低レートフロー誤検出確率→最小
制約条件:パケットレートRをもつフローの検出確率≧1-ε
パケットレートRをもつフローの発生から検出までに要する時間≦TD_max
オンラインアルゴリズムとして機能すること
以下では、この問題が近似的に非線形混合計画問題として定式できること、その非線形計画問題が大域的最適解を持つこと、ならびに最適解の導出について述べる。
(B1)<制御パラメタと制約条件>
高パケットレートをもつ異常トラヒックの検出方法は、予め与えられるパケットレートの閾値R[packet/秒],検出見逃し許容確率ε,ならびに検出許容時間TD_max[秒]の他に、以下の制御パラメータを設定する必要がある。
a)スライディングウインドウのサイズ:TSW[秒]
b)サンプリングレート:f
c)ベーシックウインドウ数:K
この三つの制御パラメタのうち、スライディングウインドウのサイズTSWとサンプリングレートfが与えられると、サンプルされたデータにおけるパケット数の閾値yは、数式6により一意に定めることができる。
制御パラメタを設定する際に考慮しなければならないのが、定めた時間TD_max以内に対象のフローを検出するという条件と、検出のアルゴリズムがオンラインのアルゴリズムとして正常に動作するという条件である。ここでシステムを規定するために以下のようなパラメタを導入する。
・対象回線の最大パケットレートCmax[packet/秒]
・1サンプルパケット当たりの解析処理に必要な時間Δ[秒]
・1スライディングウインドウの解析に要する、サンプルパケット数とは独立な時間Δ[秒]
スライディングウインドウ方式を用いて検出を行う際に、対象フローが発生してから検出されるまでにかかる時間の最大値T[秒]は、スライディングウインドウの解析にかかる時間をτ[秒]とおくと、下記数式7で表される。
Figure 0004898648
数式7の右辺の各項は順に、1スライディングウインドウ分のパケットの測定時間,1ベーシックウインドウ分のパケットの測定時間,そしてスライディングウインドウの解析にかかる時間を表している。
仮に、パケットレートがR[packet/秒]の検出対象フローが発生したとすると、その発生は多くの場合、ベーシックウインドウの途中から始まる。攻撃の開始を含むベーシックウインドウが、スライディングウインドウにおいて最も古いベーシックウインドウになるときを考えると、このときのスライディングウインドウの母集団ではDoS攻撃フローのパケット数は下記数式8には達しておらず、1-ε以上の確率で検出されることが保証されない。
Figure 0004898648
1-ε以上の確率で検出されるようになるのは、攻撃の開始を含むベーシックウインドウが破棄されたあとのスライディングウインドウにおいてである。
そのため検出対象のフローが初めて回線を通過したときから検出されるまでには、最悪の場合1スライディングウインドウ分の測定時間TSWと1ベーシックウインドウ分の測定時間TSW/K、そしてスライディングウインドウの解析にかかる時間の合計時間分だけかかることになる。
また、スライディングウインドウの解析に要する時間の平均値τ[秒]は、トラヒック全体のパケットレートC[packet/秒]を用いて次のような式で表される。
Figure 0004898648
スライディングウインドウの解析にかかる時間は、サンプルされるパケット数に比例する時間(数式9の右辺第1項)と、サンプルされるパケット数とは無関係な定量的な計算時間(数式9の右辺第2項)に分けて考えることができる。
数式9の右辺第1項は1サンプルパケット当たりの処理時間Δに、ベーシックウインドウの中にサンプルされるパケット数の期待値fC(TSW/K)をかけたものである。
本発明で用いるスライディングウインドウ方式では、新しく生成されたベーシックウインドウ内に含まれるフロー毎のパケット数をカウントするとともに、宛先IPアドレスに対してハッシュ化を行い、得られたハッシュ値を用いて予め用意しておいた配列にフロー毎のパケット数のデータを格納する。この処理にかかる時間が数式9の右辺第1項にあたる。
新しいベーシックウインドウの統計データが得られると、それをスライディングウインドウ全体の統計データに足し合わせ、同時に最も古いベーシックウインドウの統計データを差し引く。
ベーシックウインドウ数K個分の配列とスライディングウインドウの統計データを保持する配列を予め十分な大きさで用意しておくことで、処理の簡単化をはかると同時に、計算量のオーダがスライディングウインドウ全体のパケット数とは無関係のアルゴリズムを実現することができる。このデータの更新にかかる時間や、yとの比較などの処理にかかる時間は、サンプルされたパケット数とは無関係に数式9の右辺第2項として与えられる。
一方、検出にかかる時間に関して、Tは次の条件を満たさなければならない。
Figure 0004898648
また、本発明がオンラインのアルゴリズムとして正常に動作させるためには、スライディングウインドウの解析を次の1ベーシックウインドウ分のパケットをサンプルする前に終わらせなければならない。
そのためτは、以下の数式11で示す条件を満たす必要がある。
Figure 0004898648
数式7を数式10へ、数式9を数式11へそれぞれ代入すると、下記数式12−1と数式12−2で示すような二つの数式を得る。
Figure 0004898648
Figure 0004898648
このとき、トラヒック全体のパケットレートC[packet/秒]がどのような値であっても、数式12−1と数式12−2が成り立つように、回線の最大パケットレートCmax[packet/秒]を用いて下記数式13のようにする。
Figure 0004898648
さらに、これらを変形すると下記数式14−1と数式14−2が得られる。
Figure 0004898648
Figure 0004898648
上記の制約が成立していれば、一時的なパケットバーストが起こったとしても、スライディングウインドウの解析が間に合わなくなるという事態を避けられる。この数式14−1と数式14−2が、制御パラメタ(スライディングウインドウのサイズTSW,サンプリングレートf,ベーシックウインドウの数K)を設定する際の制約条件となる。
ここで低レートフロー誤検出確率、すなわちパケットレートがλ(<R)[packet/秒]であるフローが誤って検出されてしまう確率PWD(λ)を下記数式15のようにおく。
Figure 0004898648
ただし、λTSWは整数であると仮定している。このときXおよびYは、それぞれ、パケットレートがλ[packet/秒]であるフローの、スライディングウインドウ時間TSWの間に回線を通過した、母集団におけるパケット数およびサンプルされたパケット数を表す確率変数である。
そして制約条件である上記数式14−1と数式14−2の下で、任意のλに対して低レートフロー誤検出確率PWD(λ)が最小になるように制御パラメタを設定する。
(B2)<低パケットレートフロー誤検出確率の最小化問題>
上述した議論より、(B)の冒頭で述べた考察すべき最適化問題は以下のよう
に記述できる。
Figure 0004898648
この最適化問題を解くためには、目的関数である低パケットレートフロー誤検出確率PWD(λ)を陽に表現する必要がある。その手段として、ポアソン分布を用いた近似を考える。二項分布B(N,f)において、母集団のパケット数をN、サンプリングレートをfとおいたとき、積Nfを一定に保ちながら、N→∞,f→0としたときに得られる極限分布はポアソン分布となる。この近似を用いると、パケットレートがR[packet/秒] であるフローから、スライディングウインドウサイズTSW[秒]の間にパケットをy個以上サンプルする確率は下記数式17のようになる。
Figure 0004898648
ただし、RTSWは整数であると仮定している。
さらに、数式17を用いてパケット数閾値yを数式6によって求めると、パケット数閾値yはサンプリングレートfとスライディングウインドウサイズTSWの積を引数とした関数y(fTSW)とみなすことができる。
また、上記数式15で定義された、パケットレートがR未満のλであるフローを誤って検出してしまう確率を、ポアソン分布による近似を用いて求めると下記数式18で表される。
Figure 0004898648
ただし、λTSWは整数であると仮定している。
数式18より低レートフロー誤検出確率PWD(λ)は、サンプリングレートfとスライディングウインドウサイズTSWの積を引数とした関数として考えられる。このサンプリングレートfとスライディングウインドウサイズTSWの値が大きいほどサンプルされるパケット数は多くなり、情報量も増えるので推定の精度が良くなると考えられる。すなわちfTSWを最大化することが、低レートフローの誤検出確率を最小化することになると推測される。
パケット数閾値yは自然数の値をとるため、スライディングウインドウサイズTSWに対して階段関数となり、低レートフロー誤検出確率PWD(λ)は単調な減少関数とはならない。これはパケット数閾値yは自然数の値をとること、ならびに、サンプリングレートfが固定されている場合、スライディングウインドウサイズTSWが大きいほど低レートフローのサンプル数は多くなり、同一のyを取る範囲においては誤検出確率が高くなるためである。
この性質があるため、fTSWが最大のときに、低レートフロー誤検出確率PWDが最小になるとは必ずしも言えない。また単調な減少関数でないため、数学的に証明することは困難であると考えられる。しかし低レートフロー誤検出確率PWDはfTSWの単調減少関数で上から押えられる。
(B3)<制御パラメタの近似最適化問題>
ここまでの議論から、上記(B)で述べた最適化問題は、同じ制約下でfTSWの最大化問題(あるいは-fTSWの最小化問題)として書き換えられることが判明した。すなわち、上記(B)にある最適化問題は下記数式19の非線形混合計画問題で近似的に定式化できることが明らかとなった。
Figure 0004898648
ここでは、K>0,Cmax,TD_max>0,Δ>0,Δ>0を予め与えられた定数とし、TD_max,K,Δの間には、下記数式20が成立しているという仮定の下で、次の定理1を証明する。
Figure 0004898648
<定理1>
ベーシックウインドウ数Kが予め与えられたとき、下記数式21の最小化問題には大域的最小解(数式22)が存在し、それは下記数式23で与えられる。
Figure 0004898648
Figure 0004898648
Figure 0004898648
(定理1の証明)
上記問題を解くため、x=TSW,y=fとおき、条件x>0,y>0を取り除いた下記数式24という緩和された最小化問題Pを考える。
Figure 0004898648
ただし、a=K+1>1,b=CmaxΔ>0,
c=K(TD_max−Δ)>0,d=KΔ>0
とした。なお、予め与えられているパラメタ間の条件である数式20より、
c=ad>0
が成立することに注意する。
最初に緩和問題Pに大域最適解が存在することを示す。仮に制約条件が等号で成立していると仮定すると、下記数式25が成立する。
Figure 0004898648
すなわち、緩和問題Pは「-xy<0」なる実行可能解をもつため、十分に小さな正定数ζ>0に対して下記数式26の最小化問題P’を考える。
Figure 0004898648
まず、2番目と3番目の制約条件より、
0≧(by−1)x+d≧bζ−x+d
となるため、x≧d+bζを得る。
さらに、1番目と3番目の制約条件より、
c≧(a+by)x≧ax+bζ
となるため、(c−bζ)/a≧x≧ d+ζである。
同様に、1番目の制約条件より下記数式27となるので、下記数式28が得られる。
Figure 0004898648
Figure 0004898648
また、3番目の制約条件より、下記数式29を得る。
Figure 0004898648
以上の議論より、問題P'の実行可能集合は有界閉集合になる。連続関数は有界閉集合上で大域的最小値を持つため、問題P'には大域的最小解(x,y)が存在する。
この(x,y)は緩和問題Pの大域的最小解でもある。実際、(x,y)が緩和問題Pの大域的最小解でなければ、下記数式30となる緩和問題Pの実行可能解下記数式31が存在することになるが、数式31は問題P'の実行可能解でもあるので、(x,y)が問題P'の大域的最小解であることに矛盾する。
Figure 0004898648
Figure 0004898648
以上の議論により、緩和問題Pの大域的最小解(x,y)は存在し、
-x<0
となる。すなわち、緩和問題Pの局所最小解(数式32)として、下記数式33を満たすものが存在する。
Figure 0004898648
Figure 0004898648
ここでラグランジェ関数L(x,y,u,u)を定義する。
L(x,y,u,u
= -xy+u{(a+by)x-c}+u{(by-1)x+d}
ただし、u,uはラグランジェ乗数である。数式33なる局所最小解(数式32)に対するKKT条件より下記数式34を得る。
Figure 0004898648
Figure 0004898648
に注意して整理すると、
au-u=0, bu+bu=1
が得られ、これよりラグランジェ乗数u,uは下記数式36のように一意に定まる。
Figure 0004898648
よって緩和問題Pにおける2つの制約条件は共に有効制約となっている。この結果、局所最小解(数式32)は、数式25より下記数式37で与えられ、一意に定まる。
Figure 0004898648
よって、数式37で与えられる緩和問題Pの局所最小解(数式32)は大域的最小解(x,y)である。さらにx>0,y>0より、元の問題の大域的最小解となっていることが分かる。数式23は数式37より直ちに得られる。
(B4)<制御パラメタの決定法>
前節では、fTSWを最大にするfと下記数式38の値が、ベーシックウインドウ数Kの関数として数式23で与えられることを示した。その結果、積fTSWは下記数式39で与えられる。
Figure 0004898648
Figure 0004898648
ここで自然数Kを実数zに置き換え、数式39をzについて1回微分すると、下記数式40となる。
Figure 0004898648
さらにzで微分すると、下記数式41となる。
Figure 0004898648
数式41は正数zの値によらず常に負であるので、数式39はKの凹関数であることがわかる。さらに数式40の右辺が0になるときのz=zを求めると、下記数式42となる。
Figure 0004898648
これから数式39が最大値をとる実数zが求まる。
Kは自然数であるので上記数式42で与えられた実数zから下記数式43で表わされる二つの値を求める。
Figure 0004898648
このKとKのうち、fTSWの値が大きくなる方をKとして採用する。すなわち、数式44としたとき、ベーシックウインドウ数をK=Kとする。
Figure 0004898648
なお、数式42は数式20の仮定の下で導かれたため、Kは数式20を満たす必要がある。数式43で表されるKは関数の性質上、次の条件を満たす。
<z+1
下記数式45と数式20より、下記数式46が成立することが、数式20を満たすための十分条件となる。
Figure 0004898648
Figure 0004898648
数式46を変形すると下記数式47に示す条件が導かれる。
Figure 0004898648
すなわち、数式47が満たされていれば、本手法によるKの導出は有効である。
さらに、得られたKを数式23に代入すると、下記数式48として、fとTSWも一意に定めることができる。
Figure 0004898648
しかし、パケット数閾値yが離散値を取るため、パケット数閾値yとスライディングウインドウサイズTSWが同じであるときは、サンプリングレートfが小さいほど誤検出確率は低くなる。そこで数式48により得られるfと数式38を用いてyを定め、その上で下記数式49を固定したままyが変化しない最小の値下記数式50を求め、これを実際に用いるサンプリングレートの最終的な値とする。
Figure 0004898648
Figure 0004898648
以上の手続きをまとめると以下のようになる。図2−2は、以上の制御パラメタの決定手順を説明するためのフローチャートである。
・Step1:予め与えられた規定パラメタから、数式42と数式44を用いてスライディングウインドウに含まれるベーシックウインドウ数Kを定める(ステップS21)。
・Step2:Step1で定めたKを数式48へ代入し、サンプリングレートfの暫定最適解fとスライディングウインドウサイズTSWの最適値(数式38,数式23参照)を求める(ステップS22)。
・Step3:RとStep2で求めた数式38で表わされる最適値を用いてxを下記数式51より求める(ステップS23)。
・Step4:Step2で求めたfとStep3で求めたxならびに検出見逃し許容確率εを用いて数式6よりyを求める(ステップS24)。
・Step5:予め与えられている検出見逃し許容確率ε,Step2で求めた数式38の値,Step3で求めたxならびにStep4で求めたyに対して、下記数式52で表わされる最小のサンプリングレートを求め、これをサンプリングレートとする(ステップS25)。
Figure 0004898648
Figure 0004898648
(C)<性能評価実験>
本節では、インターネットを通じて公開されているトレースデータを元に擬似的な高速回線のトラヒックデータを作成し、作成したデータに対して適当な規定パラメタの下で解析実験を行い、本発明の性能評価を行う。
まず、実験に用いるトラヒックデータについて言及する。続いて性能を評価するための指標について述べ、最後に実験の結果を示し、その考察を行う。
(C1)<トレースデータの概要>
性能評価を行うトレースデータとして、WIDE ProjectのMAWI Working Groupによって2006年3月3日の20:00から22:30の間に、100Mbpsのバックボーンリンクで測定されたトレースデータを用いる。このトレースデータの中には、宛先IPアドレスを持たない、あるいは識別できないパケットデータが含まれているが、これらのパケットは予めサンプリング実験の対象外とした。
また、バックボーンのような高速な回線を想定し、なおかつ検出対象となる高パケットレートを複数生成するために、150分間のトレースデータを時間スケールで1/10に圧縮し、15分間のトラヒックデータとして扱うことにする。これによって各フローのパケットレートを実際のトレースデータの10倍と見なすことができる。
図4は、本実験に用いたトラヒックデータの概要を示す図である。
同図に示すように、本実験では、測定時間900秒、パケット数90897905個、フロー数1313204個のトラヒックデータを用いて実験が行われた。
(C2)<性能評価指標>
本発明の性能を評価するための比較対象として、スライディングウインドウサイズTSWおよびベーシックウインドウ数Kは本発明と同じ値であるが、下記数式53とした場合、すなわち、本発明と同じ条件下で全てのパケットを抽出する場合を考える。
Figure 0004898648
この比較対象ならびに本発明を用いた際の指標として以下のt,tを導入する。
・全てのパケットを抽出する場合の検出対象フローの検出時刻t
・本発明を用いた場合の検出対象フローの検出時刻t
なおt,tには、閾値に達するパケットを抽出したベーシックウインドウの取得終了時間を用いた。
検出対象フローに関しては検出結果を以下の4通りの場合に分類する。
(i) t>t,
(ii) t=t,
(iii) t<t<∞,
(iv) t=∞
場合(i)について補足する。比較対象ではf=1かつ下記数式54であるため、検出対象フローが初めてスライディングウインドウ内でx個以上のパケットが通過した時のベーシックウインドウの取得終了時間がtとなる。
Figure 0004898648
一方、本発明は誤検出確率が0でないため、検出対象フローが初めてスライディングウインドウ内でx個以上のパケットが通過する以前に(誤って)検出してしまう可能性がある。そのため全パケットを抽出する場合よりも早く検出される、すなわち、t>tとなる可能性がある。
しかし、検出対象のフローに関しては、結果としてt≧tであれば、本発明がフロー発生時から検出許容時間TD_max以内に検出したことになる。よって、場合(i),(ii)は共に目標時間内に検出されたことを示し、場合(iii)は目標時間は過ぎてしまったが検出はされたことを示す。また場合(iv)は検出対象フローを検出できずに見逃してしまったことを示す。一方、検出対象外のフローを誤検出してしまう割合を評価するため、以下の数式55で表される誤検出率を用いる。
Figure 0004898648
(C3)<実験結果>
予め与えられるパラメタである、TD_max[秒],Δ[秒],Δ[秒],Cmax[packet/秒]はそれぞれ図5のように与えた。すなわち、TD_max[秒]=10秒,Δ[秒]=10−3秒,Δ[秒]=10−2秒,Cmax[packet/秒]=10packet/秒とした。
また、検出見逃し許容確率εは0.05,0.01の二通りを考え、パケットレート閾値R[packet/秒]は1000,2500,5000の3通りを考えた。さらに、図5のパラメタおよび3種類のパケットレート閾値Rの値を元に、本発明の制御パラメタ設定法およびパケット数閾値yの導出法を用いた結果、図6のような制御パラメタ値とパケット数閾値yを得た。
なお、図5のパラメタ値(TD_max[秒],Δ[秒],Δ[秒],Cmax[packet/秒])が与えられると、ベーシックウインドウ数KならびにスライディングウインドウサイズTSWは検出見逃し許容確率εならびにパケットレート閾値Rの値とは無関係に定まることに注意する。
これらのパラメタ値を用いて、上記(C1の項)で示したトラヒックデータに対してサンプリング実験を100回行った。検出見逃し許容確率εが0.05ならびに0.01の場合における検出対象フロー数に関する結果を、図7と図8に示す。
なお、これらの図7,8に記載されている数値は全て100回の試行の平均値と95%信頼区間である。図7および図8より、検出見逃し許容確率εの値に関わらず、検出対象フローの大半において全パケットが抽出される場合(f=1)よりも早く検出されている。
一般に検出対象となる高パケットレートフローは、フロー発生後、時間と共にパケットレートを増加させていき、いずれ検出目標値を上回るパケットレートに達すると考えられる。
この結果は、検出対象フローが目標値へ向けてパケットレートを増加させる過程において検出されていることを示している。一方、検出許容時間後に検出されるフロー数ならびに検出を見逃したフロー数は一般に非常に少ない。特に大きなレートをもつフローを対象とする場合は、検出を完全に見逃してしまうフローは皆無となっている。また、検出見逃し許容確率を0.01とすると、検出許容時間後に検出されるフロー数ならびに検出を見逃したフロー数はほとんどなくなっている。
図9ならびに図10は、それぞれ、図7ならびに図8の結果を検出対象フロー数で正規化し、結果を割合で示したものである。どのようなパケットレート閾値Rについても検出対象フローを1-ε以上の割合で目標時間内に検出できているが、検出に成功する割合は目標値を大きく上回る傾向がある。これはパケットレートが目標値に達するまでの増加過程において(誤って)検出されることに起因しているためである。
最後に、検出見逃し許容確率εが0.05ならびに0.01における誤検出率に関する結果を、図11ならびに図12に示す。ただし、誤検出フロー数ならびに誤検出率は100回の試行の平均値と95%信頼区間である。これらの結果から、一般に、誤検出されるフロー数は検出対象となるフロー数以上となる場合が多く、目標パケットレートRが小さくなるとその傾向が顕著になる事が分かる。
さらに、目標パケットレートが小さい場合、検出見逃し許容確率εを0.05とすることで、0.01の場合と比較して誤検出されるフロー数を大幅に減少させることができている。なお、検出対象外のフロー数は非常に多く、検出対象外の低パケットレートフローを誤って検出してしまう割合に関しては検出見逃し許容確率の値に関わらず十分小さく押えられていることがわかる。
以上より、本発明は設計した通り十分機能していることが確認された。
a)目標パケットレートが大きく、検出対象となるフロー数が少ない場合、検出見逃し許容確率εが0.01であっても0.05であっても大差はない。
b)一方、目標パケットレートが比較的小さく、検出対象となるフロー数が増加すると、検出見逃し許容確率によって結果が異なってくるが、検出に成功するフロー数は設定値を大きく上回る傾向があるため、検出見逃し許容確率を多少大きめに設定することによって誤検出フロー数を抑制することが望ましいように思われる。
なお、本発明の上記各手段によって行われる処理(例えば、図2−1、図2−2参照)を実現するためのプログラムは、CD−ROM、DVD、FDやインターネットを介して広く市場に流通させることができる。
本発明の実施の形態の一例を示すシステム構成図である。 図1に示したシステムを用いて実行される高パケットレートフローのオンライン検出方法の処理の流れを示すフローチャートである。 本発明における制御パラメタの決定手順を説明するためのフローチャートである。 パラメタ値の変化による利点を説明するための図である。 実験に用いたトラヒックデータの概要を示す図である。 実験に用いた規定パラメタを示す図である。 図5のパラメタを元に発明の方法で得られた制御パラメタとパケット数閾値yを示す図である。 検出見逃し許容確率ε=0.05のときの対象フローの検出結果(フロー数)を示す図である。 検出見逃し許容確率ε=0.01のときの対象フローの検出結果(フロー数)を示す図である。 検出見逃し許容確率ε=0.05のときの対象フローの検出結果(割合)を示す図である。 検出見逃し許容確率ε=0.01のときの対象フローの検出結果(割合)を示す図である。 検出見逃し許容確率ε=0.05のときの対象外フローの誤検出結果を示す図である。 検出見逃し許容確率ε=0.01のときの対象外フローの誤検出結果を示す図である。
符号の説明
101:設定条件入力装置
102:パラメタ設計装置
103:高パケットレートフロー検出装置
104:高パケットレートフローリスト

Claims (9)

  1. 設定条件入力手段、パラメタ設計手段、高パケットレートフロー検出手段を具備するコンピュータの処理により、パケットサンプリングによって得られた統計データのみを用いて、所定の測定期間内におけるパケット数Xが閾値x個以上のフローを高パケットレートフローとして特定する高パケットレートフローのオンライン検出方法において、
    前記設定条件入力手段により、パケットレートの閾値R、所定の測定期間内におけるパケット数Xと前記閾値xが等しいフローの検出の検出見逃し許容確率ε、およびフローの発生から検出までに要する検出許容時間TD_maxを入力するステップと、
    前記パラメタ設計手段により、前記所定の測定期間内におけるパケット数Xと前記閾値xが等しいフローが特定される確率が1-ε以上となるという第1の制約条件で、高パケットフローであることを特定するサンプリングデータのパケット数閾値yを最大の整数に設定するステップと、
    前記高パケットレートフロー検出手段により、パケットフローを所定の測定期間の間、所定のパケットサンプリングレートfでサンプリングするステップと、パケットフローごとのサンプルパケット数yを計測するステップと、前記パケット数yが前記パケット数閾値y以上の場合に、前記サンプリングしたパケットフローを高パケットレートフローであると特定するステップを有する
    ことを特徴とする高パケットレートフローのオンライン検出方法。
  2. 請求項1に記載の高パケットレートフローのオンライン検出方法において、
    前記パケットフローごとのサンプルパケット数を計測する測定期間として、一定時間長TSWのスライディングウインドウ方式を用い、自然数Kに対してTSW/K刻みでウインドウをK個に分割したベーシックウインドウを設け、TSW/Kごとにベーシックウインドウを単位としたデータ更新を行うステップを有することを特徴とする高パケットレートフローのオンライン検出方法。
  3. 請求項2に記載の高パケットレートフローのオンライン検出方法において、
    前記第1の制約条件に加え、これらのフローの発生から検出までに要する時間を上限値TD_max以下とすること、ならびにスライディングウインドウの解析に要する時間をベーシックウインドウの時間TSW/K以下とすること、を第2の制約条件として、低レートフローの誤検出確率PWDを最小化するように、前記TSW,f,Kを設計するステップを有することを特徴とする高パケットレートフローのオンライン検出方法。
  4. 請求項3に記載の高パケットレートフローのオンライン検出方法において、
    前記低レートフローの誤検出確率を最小化するステップの代わりに、パケットサンプリングレートfとウインドウサイズTSWとの積を最大化することにより、前記TSW,f,Kを最適設計するステップを有することを特徴とする高パケットレートフローのオンライン検出方法。
  5. 設定条件入力手段、パラメタ設計手段、高パケットレートフロー検出手段を具備し、パケットサンプリングによって得られた統計データのみを用いて、所定の測定期間内におけるパケット数Xが閾値x個以上のフローを高パケットレートフローとして特定する高パケットレートフローのオンライン検出システムにおいて、
    前記設定条件入力手段は、パケットレートの閾値R、所定の測定期間内におけるパケット数Xと前記閾値xが等しいフローの検出の検出見逃し許容確率ε、およびフローの発生から検出までに要する検出許容時間TD_maxを入力する手段であり、
    前記パラメタ設計手段は、前記所定の測定期間内におけるパケット数Xと前記閾値xが等しいフローが特定される確率が1-ε以上となるという第1の制約条件で、高パケットフローであることを特定するサンプリングデータのパケット数閾値yを最大の整数に設定する手段であり、
    前記高パケットレートフロー検出手段は、パケットフローを所定の測定期間の間、所定のパケットサンプリングレートfでサンプリングし、パケットフローごとのサンプルパケット数yを計測し、前記パケット数yが前記パケット数閾値y以上の場合に、前記サンプリングしたパケットフローを高パケットレートフローであると特定する手段である
    ことを特徴とする高パケットレートフローのオンライン検出システム。
  6. 請求項5に記載の高パケットレートフローのオンライン検出システムにおいて、
    前記パケットフローごとのサンプルパケット数を計測する測定期間として、一定時間長TSWのスライディングウインドウ方式を用い、自然数Kに対してTSW/K刻みでウインドウをK個に分割したベーシックウインドウを設け、TSW/Kごとにベーシックウインドウを単位としたデータ更新を行う手段を有することを特徴とする高パケットレートフローのオンライン検出システム。
  7. 請求項6に記載の高パケットレートフローのオンライン検出システムにおいて、
    前記第1の制約条件に加え、これらのフローの発生から検出までに要する時間を上限値TD_max以下とすること、ならびにスライディングウインドウの解析に要する時間をベーシックウインドウの時間TSW/K以下とすること、を第2の制約条件として、低レートフローの誤検出確率PWDを最小化するように、前記TSW,f,Kを設計する手段を有することを特徴とする高パケットレートフローのオンライン検出システム。
  8. 請求項7に記載の高パケットレートフローのオンライン検出システムにおいて、
    前記低レートフローの誤検出確率を最小化する手段の代わりに、パケットサンプリングレートfとウインドウサイズTSWとの積を最大化することにより、前記TSW,f,Kを最適設計する手段を有することを特徴とする高パケットレートフローのオンライン検出システム。
  9. コンピュータを、請求項5から8のいずれかに記載の高パケットレートフローのオンライン検出システムにおける各手段として機能させるためのプログラム。
JP2007326789A 2007-12-19 2007-12-19 高パケットレートフローのオンライン検出方法およびそのためのシステムならびにそのためのプログラム Expired - Fee Related JP4898648B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007326789A JP4898648B2 (ja) 2007-12-19 2007-12-19 高パケットレートフローのオンライン検出方法およびそのためのシステムならびにそのためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007326789A JP4898648B2 (ja) 2007-12-19 2007-12-19 高パケットレートフローのオンライン検出方法およびそのためのシステムならびにそのためのプログラム

Publications (2)

Publication Number Publication Date
JP2009152712A JP2009152712A (ja) 2009-07-09
JP4898648B2 true JP4898648B2 (ja) 2012-03-21

Family

ID=40921366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007326789A Expired - Fee Related JP4898648B2 (ja) 2007-12-19 2007-12-19 高パケットレートフローのオンライン検出方法およびそのためのシステムならびにそのためのプログラム

Country Status (1)

Country Link
JP (1) JP4898648B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5532241B2 (ja) * 2010-07-15 2014-06-25 日本電信電話株式会社 高パケットレートフロー検出装置及び高パケットレートフロー検出方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006164038A (ja) * 2004-12-09 2006-06-22 Nippon Telegr & Teleph Corp <Ntt> DoS攻撃あるいはDDoS攻撃に対処する方法、ネットワーク装置、および分析装置
JP4454506B2 (ja) * 2005-01-11 2010-04-21 日本電信電話株式会社 高レートフロー特定化方法並びに高レートフロー特定化システム
JP4148242B2 (ja) * 2005-06-22 2008-09-10 日本電信電話株式会社 高特定精度による高レートフロー特定方法
JP4512196B2 (ja) * 2005-10-20 2010-07-28 アラクサラネットワークス株式会社 異常トラヒックの検出方法およびパケット中継装置
JP4209897B2 (ja) * 2006-02-16 2009-01-14 日本電信電話株式会社 大量フロー生成ホスト特定方法およびシステム

Also Published As

Publication number Publication date
JP2009152712A (ja) 2009-07-09

Similar Documents

Publication Publication Date Title
EP3304853B1 (en) Detection of malware and malicious applications
US10135844B2 (en) Method, apparatus, and device for detecting e-mail attack
US8402543B1 (en) Machine learning based botnet detection with dynamic adaptation
US8813236B1 (en) Detecting malicious endpoints using network connectivity and flow information
EP2241072B1 (en) Method of detecting anomalies in a communication system using numerical packet features
EP2227889B1 (en) Method of detecting anomalies in a communication system using symbolic packet features
US20090282478A1 (en) Method and apparatus for processing network attack
KR101295708B1 (ko) 트래픽 수집장치, 트래픽 분석장치, 시스템 및 그 분석방법
JP5947838B2 (ja) 攻撃検出装置、攻撃検出方法、および攻撃検出プログラム
JP2005348415A (ja) 加速されたフロー単位トラフィック推定
JP2005348416A (ja) フロー単位のトラフィック推定
CN104734916B (zh) 一种基于tcp协议的高效多级异常流量检测方法
JPWO2016175131A1 (ja) コネクション制御装置、コネクション制御方法およびコネクション制御プログラム
KR20110067264A (ko) 네트워크 이상징후 탐지장치 및 방법
US10341364B2 (en) Systems and methods for monitoring and mitigating network attacks
Deshpande et al. Formal analysis of the DNS bandwidth amplification attack and its countermeasures using probabilistic model checking
JP5532241B2 (ja) 高パケットレートフロー検出装置及び高パケットレートフロー検出方法
Salah Queuing analysis of network firewalls
JP4898648B2 (ja) 高パケットレートフローのオンライン検出方法およびそのためのシステムならびにそのためのプログラム
JP2009267892A (ja) 巨大フロー特定方法とシステムおよびプログラムとフロー制御システム
JP4209897B2 (ja) 大量フロー生成ホスト特定方法およびシステム
JP6712944B2 (ja) 通信予測装置、通信予測方法及び通信予測プログラム
JP6715751B2 (ja) 通信監視装置、通信監視方法及び通信監視プログラム
JP4777366B2 (ja) ワーム対策プログラム、ワーム対策装置、ワーム対策方法
Divya et al. Internet Worm detection based on traffic behavior monitoring with improved C4. 5

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101126

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20101126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20101201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110608

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110608

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110616

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110704

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111226

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees