トラフィック分析システム及びトラフィック分析方法
【課題】高い精度で異常トラフィックを探知することを課題とする。
【解決手段】トラフィック分析システム100は、正常なトラフィックの特性を示すトラフィックプロファイルを記憶するトラフィックプロファイル記憶部121を備える。また、トラフィックプロファイル更新部131は、最新のトラフィックを分析することにより該トラフィックを異常なトラフィックと正常なトラフィックとに区分けし、正常なトラフィックを用いて算出したトラフィックプロファイルによりトラフィックプロファイル記憶部121に記憶されたトラフィックプロファイルを更新する。また、異常トラフィックテスト部132は、トラフィックを分析することにより該トラフィックの特性を示す値を算出し、算出した値と最新のトラフィックプロファイルとの比較結果に基づいて、該トラフィックに含まれる異常なトラフィックの有無を判定する。
【解決手段】トラフィック分析システム100は、正常なトラフィックの特性を示すトラフィックプロファイルを記憶するトラフィックプロファイル記憶部121を備える。また、トラフィックプロファイル更新部131は、最新のトラフィックを分析することにより該トラフィックを異常なトラフィックと正常なトラフィックとに区分けし、正常なトラフィックを用いて算出したトラフィックプロファイルによりトラフィックプロファイル記憶部121に記憶されたトラフィックプロファイルを更新する。また、異常トラフィックテスト部132は、トラフィックを分析することにより該トラフィックの特性を示す値を算出し、算出した値と最新のトラフィックプロファイルとの比較結果に基づいて、該トラフィックに含まれる異常なトラフィックの有無を判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、トラフィック分析システム及びトラフィック分析方法に関する。
【背景技術】
【0002】
近年、インターネット電話サービスなどにおいては、低料金や多様な付加サービスを背景に加入者が急増し、トラフィックも急増している。また、これに伴い非正常的なユーザ(abnormal users)による異常トラフィック(abnormal traffic)も増加している。
【0003】
従来、このようなサービスを管理することを目的として、トラフィック分析システムが用いられている。トラフィック分析システムは、例えば、トラフィックに変化が発生する前のトラフィックと発生中のトラフィックとを比較し、変化を引き起こしたトラフィックを抽出して分析することで、異常トラフィックを探知する。また、例えば、スイッチを通過するトラフィックを分析することで、異常トラフィックを探知する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−044501号公報
【特許文献2】特開2009−089241号公報
【特許文献3】特開2010−039994号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した従来の技術では、異常トラフィックを探知する精度が低いという課題がある。すなわち、従来のトラフィック分析システムは、固定的な閾値を用いて異常トラフィックを探知する。この点、ネットワークの状況は、例えば曜日や時間帯によって変化したり、例えばイベントやキャンペーンのような突発的な事由によって変化することもあるので、固定的な閾値を用いて探知する手法では限界がある。
【0006】
本発明は、上記に鑑みてなされたものであって、高い精度で異常トラフィックを探知することが可能なトラフィック分析システム及びトラフィック分析方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、開示の技術は、一つの態様において、ネットワークを流れるトラフィックを時系列に記憶するトラフィック記憶手段と、正常なトラフィックの特性を示す特性情報を記憶する特性情報記憶手段と、前記トラフィック記憶手段から所定の間隔毎に最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックを異常なトラフィックと正常なトラフィックとに区分けし、区分けした正常なトラフィックを用いて算出した特性情報により前記特性情報記憶手段に記憶された特性情報を更新する更新手段と、前記トラフィック記憶手段から最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックの特性を示す値を算出し、算出した値と前記特性情報記憶手段に記憶された最新の特性情報との比較結果に基づいて、該トラフィックに含まれる異常なトラフィックの有無を判定する判定手段とを備える。
【0008】
また、開示の技術は、一つの態様において、コンピュータが、ネットワークを流れるトラフィックを時系列に記憶するトラフィック記憶手段と、正常なトラフィックの特性を示す特性情報を記憶する特性情報記憶手段として機能し、前記トラフィック記憶手段から所定の間隔毎に最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックを異常なトラフィックと正常なトラフィックとに区分けし、区分けした正常なトラフィックを用いて算出した特性情報により前記特性情報記憶手段に記憶された特性情報を更新する更新工程と、前記トラフィック記憶手段から最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックの特性を示す値を算出し、算出した値と前記特性情報記憶手段に記憶された最新の特性情報との比較結果に基づいて、該トラフィックに含まれる異常なトラフィックの有無を判定する判定工程とを含む。
【発明の効果】
【0009】
開示の技術によれば、高い精度で異常トラフィックを探知することが可能になるという効果を奏する。
【図面の簡単な説明】
【0010】
【図1】図1は、実施例1に係るトラフィック分析システム100の概要を説明するための図である。
【図2】図2は、実施例1におけるトラフィック分析の対象を説明するための図である。
【図3】図3は、実施例1に係るトラフィック分析システム100の構成を示すブロック図である。
【図4】図4は、メッセージ群の集計結果を説明するための図である。
【図5】図5は、異常閾値ρの決定を説明するための図である。
【図6】図6は、トラフィックプロファイル更新部131による処理手順を示すフローチャートである。
【図7】図7は、異常トラフィックテスト部132による処理手順を示すフローチャートである。
【図8】図8は、非正常メッセージ探知テストを説明するための図である。
【図9】図9は、非正常的ユーザリストを説明するための図である。
【図10】図10は、エントロピー比較テストに用いられるトラフィックプロファイルを説明するための図である。
【図11】図11は、適合性テストに用いられるトラフィックプロファイルを説明するための図である。
【図12】図12は、適合性テストにおける期待値及び測定値の演算を説明するための図である。
【図13】図13は、モデリング分析及び異常トラフィックテストの概要を示す図である。
【図14】図14は、分析結果集計部133による処理手順を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下に、開示の技術に係るトラフィック分析システム及びトラフィック分析方法の実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。
【実施例1】
【0012】
[実施例1に係るトラフィック分析システムの概要]
図1は、実施例1に係るトラフィック分析システム100の概要を説明するための図である。図1に例示するように、実施例1に係るトラフィック分析システム100は、IP(Internet Protocol)ネットワーク1に接続されたクライアント2とサーバ3との間で送受信されるトラフィックを分析する。図1に例示するように、IPネットワーク1とサーバ3とを接続する経路上にTAP(Test Access Point)4が設置され、TAP4によって収集されたトラフィックデータが、時系列にトラフィックデータベース10に蓄積される。
【0013】
図1に例示するように、実施例1に係るトラフィック分析システム100は、トラフィックプロファイル記憶部121と、トラフィックプロファイル更新部131と、異常トラフィックテスト部132とを備える。なお、実施例1に係るトラフィック分析システム100はその他の各部も備えるが、ここでは概要を説明する観点から割愛する。また、トラフィック分析システム100は、トラフィックデータベース10をトラフィック分析システム100内の部として備えてもよい。
【0014】
トラフィックプロファイル記憶部121は、正常なトラフィック(normal traffic)の特性を示すトラフィックプロファイル(「特性情報」とも称する)を記憶する。トラフィックプロファイル更新部131は、トラフィックデータベース10から所定の間隔毎に最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックを異常なトラフィックと正常なトラフィックとに区分けする。次に、トラフィックプロファイル更新部131は、区分けした正常なトラフィックを用いて算出したトラフィックプロファイルによりトラフィックプロファイル記憶部121に記憶されたトラフィックプロファイルを更新する。
【0015】
異常トラフィックテスト部132は、トラフィックデータベース10から最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックの特性を示す値を算出し、算出した値とトラフィックプロファイル記憶部121に記憶された最新のトラフィックプロファイルとの比較結果に基づいて、該トラフィックに含まれる異常なトラフィックの有無を判定する。
【0016】
なお、実施例1に係るトラフィックプロファイル更新部131は、第一の間隔で分析を行い、実施例1に係る異常トラフィックテスト部132は、第二の間隔で分析を行う。これは、両分析が必ずしも同じ間隔で行われなくてもよいことを示すものであるが、第一の間隔と第二の間隔とが一致する場合にも、開示の技術を同様に適用することができる。
【0017】
このように、実施例1に係るトラフィック分析システム100は、トラフィックプロファイルを適宜更新するとともに、適宜更新されたトラフィックプロファイルを用いて異常トラフィックを探知する。また、トラフィックプロファイルの更新や、更新されたトラフィックプロファイルを用いた異常トラフィックの探知は、継続的に行われる。すなわち、実施例1に係るトラフィック分析システム100は、トラフィックプロファイルを適宜更新することによりトラフィックプロファイルにIPネットワーク1の最新の状況を反映し、最新の状況が反映されたトラフィックプロファイルを用いて異常トラフィックを探知するので、高い精度で、かつ継続的に、異常トラフィックを探知することが可能になる。
【0018】
[実施例1におけるトラフィック分析の対象]
図2は、実施例1におけるトラフィック分析の対象を説明するための図である。図2に例示するように、実施例1においては、トラフィック分析の対象の一例として、SIP(Session Initiation Protocol)を基盤とするインターネット電話サービスを説明する。すなわち、実施例1に係るトラフィック分析システム100は、インターネット電話サービスのトラフィックを分析し、異常トラフィックを探知する。
【0019】
図2に例示するように、SIPを基盤とするインターネット電話サービスにおいては、SIP送信者(Caller)がSIP受信者(Callee)に対して発呼することにより、SIP送信者とSIP受信者との間に通話が発生する。そして、SIPサーバ(Proxy)を介し、SIP送信者とSIP受信者との間でSIPメッセージが送受信されることにより、トラフィックが発生する。なお、以下では、SIP発呼者をSIP送信者という。
【0020】
ここで、インターネット電話サービスにおいては、図2に例示するように、非正常的なユーザが混在する場合があり、非正常的なユーザによる異常トラフィックが発生する場合がある。異常トラフィックとは、例えば、悪意あるユーザやマルウェアによる攻撃によって生じるトラフィック、機器の障害やプログラムのバグによって生じるトラフィック、操作ミスによって生じるトラフィックなどである。このため、図2に例示するSIPトラフィックデータベース10には、正常なトラフィックのSIPメッセージの他、このような異常トラフィックのSIPメッセージも蓄積されることになり、実施例1に係るトラフィック分析システム100は、このSIPメッセージをトラフィック分析の対象とする。
【0021】
[実施例1に係るトラフィック分析システムの構成]
図3は、実施例1に係るトラフィック分析システム100の構成を示すブロック図である。図3に例示するように、トラフィック分析システム100は、入力部111と、出力部112とを備える。また、トラフィック分析システム100は、記憶部として、トラフィックプロファイル記憶部121と、分析結果記憶部122とを備える。また、トラフィック分析システム100は、制御部として、トラフィックプロファイル更新部131と、異常トラフィックテスト部132と、分析結果集計部133とを備える。
【0022】
入力部111は、例えばマウスやキーボードなどであり、各種操作の入力などを受け付ける。出力部112は、例えばディスプレイなどであり、各種操作のための情報などを出力する。
【0023】
例えば、実施例1において、トラフィック分析システム100は、出力部112であるディスプレイに、UI(User Interface)として制御パネルを表示する。また、トラフィック分析システム100は、制御パネル上に、例えば、『トラフィックモデリング』、『1日トラフィック分析』、及び『1週トラフィック分析』と示されたアイコンを表示する。トラフィック分析システム100の操作者は、ディスプレイに表示されたアイコンを、入力部111であるマウスを用いて押下することにより、操作を入力する。例えば、トラフィック分析システム100の操作者は、『トラフィックモデリング』のアイコンを押下することにより、『トラフィックモデリング』の開始指示を入力する。
【0024】
また、実施例1において、トラフィック分析システム100は、出力部112であるディスプレイに、UIとして分析結果を表示する。例えば、トラフィック分析システム100は、『1日トラフィック分析結果』、『非正常的ユーザリスト』、『1週トラフィック分析結果』などを表示する。
【0025】
実施例1における記憶部は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスクや、その他の記憶媒体(光ディスクなど)であり、各種情報を記憶する。
【0026】
トラフィックプロファイル記憶部121は、正常なトラフィックの特性を示すトラフィックプロファイルを記憶する。具体的には、トラフィックプロファイル記憶部121は、後述するトラフィックプロファイル更新部131によって格納されることでトラフィックプロファイルを記憶する。また、トラフィックプロファイル記憶部121が記憶するトラフィックプロファイルは、後述するトラフィックプロファイル更新部131によって適宜更新される。また、トラフィックプロファイル記憶部121が記憶するトラフィックプロファイルは、後述する異常トラフィックテスト部132による処理に利用される。なお、トラフィックプロファイルの具体例は、後述する。
【0027】
分析結果記憶部122は、分析結果を記憶する。具体的には、分析結果記憶部122は、後述する異常トラフィックテスト部132や分析結果集計部133によって格納されることで、分析結果を記憶する。また、分析結果記憶部122が記憶する分析結果は、後述する分析結果集計部133による処理に利用される。なお、分析結果の具体例は、後述する。
【0028】
実施例1における制御部は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路、又は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路であり、トラフィック分析システム100が備える各部を制御する。以下、トラフィックプロファイル更新部131によるトラフィックプロファイル更新処理、異常トラフィックテスト部132による異常トラフィックテスト処理、分析結果集計部133による分析結果集計処理を、順に説明する。
【0029】
[トラフィックプロファイル更新処理]
トラフィックプロファイル更新部131は、図3に例示するように、モデリング分析部131aと、更新部131bとを有する。モデリング分析部131aは、IPネットワーク1を流れるトラフィックを第一の間隔で分析する。以下、この分析を「モデリング分析」という。更新部131bは、モデリング分析部131aによる分析の結果を用いてトラフィックプロファイル記憶部121に記憶されたトラフィックプロファイルを更新する。
【0030】
ここで、モデリング分析部131aによる分析の一例を説明する。実施例1に係るモデリング分析部131aは、SIPトラフィックデータベース10に蓄積されたSIPメッセージをSIPトラフィックデータベース10から読み出し、読み出したSIPメッセージを、メッセージの種類毎に、各種時間単位(30分、1日、1週、1月など)で分類し、統計的手法を用いて分析することで、トラフィックプロファイルを生成する。例えば、モデリング分析部131aは、SIPメッセージを、『INVITE』、『REGISTER』、『ACK』、『BYE』、『CANCEL』、『OPTIONS』の種類毎に分類する。また、モデリング分析部131aは、メッセージの種類毎に分類されたSIPメッセージを、メッセージに含まれるタイムスタンプに基づいて、例えば30分の時間単位で分類する。なお、以下、時間によって区切られる分析の単位を「分析ウィンドウ」という。
【0031】
次に、モデリング分析部131aは、分類されたメッセージ群毎に集計を行う。図4は、メッセージ群の集計結果を説明するための図である。図4に例示する集計結果は、S1〜Snというn個のセットを含んでおり、各セットは、『メッセージ数』、『送信者数』、『メッセージ数の累積比率』、『送信者数の累積比率』という項目を有する。また、S1〜Snは、メッセージ数の値に基づいて昇順にソートされている。
【0032】
『メッセージ数』は、送信者単位でメッセージの数を集計した値である。『送信者数』は、送信者単位で集計したメッセージの数が『メッセージ数』の項目の値と同一の送信者の数である。『メッセージ数の累積比率』は、送信者単位で集計したメッセージの数が『メッセージ数』の項目の値以下である送信者によるメッセージ数の合計が全メッセージ数に占める比率である。『送信者数の累積比率』は、送信者単位で集計したメッセージの数が『メッセージ数』の項目の値以下である送信者数が全送信者数に占める比率である。
【0033】
例えば、図4に例示する集計結果のセットS2は、送信者単位で集計したメッセージの数が「Nm2」である送信者の数が「Nc2」であり、送信者単位で集計したメッセージの数が「Nm2」以下である送信者によるメッセージ数の合計が全メッセージ数に占める比率が「Rm2」であり、送信者単位で集計したメッセージの数が「Nm2」以下である送信者数が全送信者数に占める比率が「Rc2」であることを示す。
【0034】
続いて、モデリング分析部131aは、集計結果を用いて、正常なトラフィックと異常トラフィックとを判別する。例えば、モデリング分析部131aは、(1)式を用いて、正常なトラフィックと異常トラフィックとを判別するための異常閾値ρを決定する。
【数1】
【0035】
ここで、μは、1送信者あたりのメッセージ数の平均値である。また、δは、1送信者あたりのメッセージ数の標準偏差値である。平均値μ及び標準偏差値δは、それぞれ、(2)式及び(3)式を用いて算出される。また、ωは、異常範囲(abnormal range)決定パラメータであり、例えば1、2、3のいずれかの値が選択され、設定される。図5は、異常閾値ρの決定を説明するための図である。図5に例示するように、異常範囲決定パラメータωの値に応じて、異常範囲は変化する。
【数2】
【数3】
【0036】
また、モデリング分析部131aは、メッセージ数が異常閾値ρ以下となる送信者数が全送信者数に占める比率と、メッセージ数が異常閾値ρ以下となる送信者によるメッセージ数の合計が全メッセージ数に占める比率との差を算出する。『メッセージ数』が異常閾値ρと同値又は最も近い値のセットがStである場合、モデリング分析部131aは、Stの『送信者数の累積比率』である「Rct」と『メッセージ数の累積比率』である「Rmt」とを集計結果から取得し、両者の差を算出する。
【0037】
そして、モデリング分析部131aは、算出した比率差と、設定された比率差の閾値とを比較し、算出された比率差が閾値よりも大きい場合に、送信者単位で集計されたメッセージ数が異常閾値ρよりも多い送信者によるトラフィックを、異常トラフィックとして判別する。すなわち、モデリング分析部131aは、メッセージの種類毎かつ分析ウィンドウ毎に分類されたメッセージ群毎に、異常なトラフィックと正常なトラフィックとに区分けする。なお、比率差の閾値は、異常閾値ρに基づいて異常トラフィックを判別することが適切であるか否かを判定するために用いられる。
【0038】
次に、モデリング分析部131aは、トラフィックから異常トラフィックを除き、正常なトラフィックのみを用いて、正常なトラフィックの特性を示すモデリング値(modeling value)を算出する。例えば、モデリング分析部131aは、メッセージの種類毎かつ分析ウィンドウ毎に分類されたメッセージ群毎のモデリング値として、例えば、エントロピー値(entropy value)や、全メッセージに占める種類別メッセージの出現頻度(割合)、その他、送信者数の変化、メッセージ数の変化など、各種の値を、統計的手法を用いて算出する。
【0039】
一方、更新部131bは、モデリング分析部131aによって算出されたモデリング値をトラフィックプロファイル記憶部121に格納することで、トラフィックプロファイルを更新する。ここで、実施例1に係る更新部131bは、(4)式に示すように、0〜1の範囲で設定される重みwによる加重調整を行い、トラフィックプロファイルを更新する。Vpreviousは、モデリング分析部131aによる過去の分析結果であり、Vcurrentは、モデリング分析部131aによる現在の分析結果であり、Vは、加重調整後の分析結果である。
【数4】
【0040】
図6は、トラフィックプロファイル更新部131による処理手順を示すフローチャートである。図6に例示するように、トラフィックプロファイル更新部131において、モデリング分析部131aは、モデリング分析を開始するか否かを判定している(ステップS101)。例えば、トラフィック分析システム100の操作者が『トラフィックモデリング』のアイコンを押下することを契機として、また、例えば、設定された所定のタイミング(例えば1週間毎など)を契機として、モデリング分析部131aは、モデリング分析を開始する(ステップS101肯定)。
【0041】
そして、モデリング分析部131aが、モデリング分析を行い、トラフィックプロファイルとなるモデリング値を算出すると(ステップS102)、更新部131bが、トラフィックプロファイル記憶部121を更新し、処理を終了する(ステップS103)。
【0042】
[異常トラフィックテスト処理]
異常トラフィックテスト部132は、IPネットワーク1を流れるトラフィックを、トラフィックプロファイル記憶部121に記憶されたトラフィックプロファイルを用いて第二の間隔で分析し、該トラフィックに含まれる異常トラフィックを探知する。具体的には、異常トラフィックテスト部132は、異常トラフィックテストを実行して異常トラフィックを探知し、異常トラフィックテストによる分析結果を分析結果記憶部122に格納する。
【0043】
まず、実施例1に係る異常トラフィックテストの全体像を把握するために、異常トラフィックテスト部132による処理手順を説明する。図7は、異常トラフィックテスト部132による処理手順を示すフローチャートである。図7に例示するように、異常トラフィックテスト部132は、異常トラフィックテストを開始するか否かを判定している(ステップS201)。例えば、トラフィック分析システム100の操作者が『1日トラフィック分析』のアイコンを押下することを契機として、また、例えば、設定された所定のタイミング(例えば1日毎など)を契機として、異常トラフィックテスト部132は、異常トラフィックテストを開始する(ステップS201肯定)。
【0044】
実施例1に係る異常トラフィックテスト部132は、異常トラフィックテストとして、図7に例示するように、非正常メッセージ探知テスト(ステップS202)、エントロピー比較テスト(ステップS203)、適合性テスト(ステップS204)を実行する。なお、実施例1において、トラフィックプロファイル記憶部121に記憶されたトラフィックプロファイルを用いて行われる異常トラフィックテストは、エントロピー比較テスト及び適合性テストの2つである。異常トラフィックテスト部132は、エントロピー比較テスト及び適合性テストそれぞれを実行すると、分析結果を分析結果記憶部122に格納して(ステップS207)、処理を終了する。
【0045】
また、図7に例示するように、非正常メッセージ探知テストにおいては、異常トラフィックテスト部132は、異常トラフィックの有無を判定し(ステップS205)、異常トラフィックが存在すると判定した場合には(ステップS205肯定)、非正常的ユーザリストを生成し(ステップS206)、生成した非正常的ユーザリストを分析結果記憶部122に格納して(ステップS207)、処理を終了する。一方、異常トラフィックが存在しないと判定した場合には(ステップS205否定)、異常トラフィックテスト部132は、分析結果を分析結果記憶部122に格納して(ステップS207)、処理を終了する。
【0046】
次に、図8及び図9を用いて、非正常メッセージ探知テストの一例を説明する。図8は、非正常メッセージ探知テストを説明するための図である。
【0047】
実施例1に係る異常トラフィックテスト部132は、SIPトラフィックデータベース10に蓄積されたSIPメッセージを、メッセージの種類毎かつ分析ウィンドウ毎に分類する。例えば、異常トラフィックテスト部132は、SIPメッセージを、『INVITE』、『REGISTER』、『ACK』、『BYE』、『CANCEL』、『OPTIONS』の種類毎に分類する。また、異常トラフィックテスト部132は、メッセージの種類毎に分類されたSIPメッセージを、メッセージに含まれるタイムスタンプに基づいて、例えば30分の時間単位で分類する。
【0048】
次に、異常トラフィックテスト部132は、分類されたメッセージ群毎に、送信者単位でメッセージの数を集計する。図8に例示するS1〜Snというn個のセットは、メッセージ数の値に基づいて昇順にソートされている。
【0049】
続いて、異常トラフィックテスト部132は、集計結果を用いて、正常なトラフィックと異常トラフィックとを判別する。例えば、異常トラフィックテスト部132は、異常値の判別に有用とされるマハラノビス距離(Mahalanobis distance)方式を用いて、正常なトラフィックと異常トラフィックとを判別するための異常閾値ρを決定する。
【0050】
ここで、(5)式は、逆共分散行列を示す。また、(6)式は、S1〜Snというn個のセットxを示す。また、μは、1送信者あたりのメッセージ数の平均値である。また、δは、1送信者あたりのメッセージ数の標準偏差値である。平均値μ及び標準偏差値δは、それぞれ、上述した(2)式及び(3)式を用いて算出される。
【数5】
【数6】
【0051】
そして、異常トラフィックテスト部132は、(7)式〜(9)式を用いて、異常閾値ρを決定する。(7)式は、(8)式を求める過程として共変行列(covariance matrix)を求める式であり、右辺のP(x)は、xの発生確率を示す。(8)式の左辺は、各セットの距離を示し、この距離がρδより大きくなるセットの中で最小値となるメッセージ数が、異常閾値ρである。すなわち、(9)式を満たすセットの中で最小値となるメッセージ数が、異常閾値ρである。このように、異常トラフィックテスト部132は、メッセージの種類毎かつ分析ウィンドウ毎に分類されたメッセージ群毎に、異常閾値ρを決定する。
【数7】
【数8】
【数9】
【0052】
続いて、異常トラフィックテスト部132は、メッセージの種類毎に、非正常的ユーザリストを作成する。図9は、非正常的ユーザリストを説明するための図である。なお、図9に例示する『wn』は、分析ウィンドウを示す。
【0053】
異常トラフィックテスト部132は、メッセージ数が異常閾値ρより多い範囲(異常メッセージ範囲)に含まれるセットに対応する送信者の識別情報(例えばSIP−URI(Uniform Resource Identifier)など)を特定し、特定した送信者の識別情報を、メッセージ数に基づき例えば降順でソートし、非正常的ユーザリストを作成する。例えば、送信者『A』が分析ウィンドウ『w1』で送信したメッセージの数が異常メッセージ範囲に含まれれば、そのメッセージ数は、『a1』に記録される。仮に、送信者『A』が、次の分析ウィンドウ『w2』で送信したメッセージの数が異常メッセージ範囲に含まれなければ(正常なメッセージ範囲に含まれれば)、『a2』には『0』が記録される。異常トラフィックテスト部132は、非正常メッセージ探知テストを繰り返し行い、その都度非正常的ユーザリストを更新し、更新した非正常的ユーザリストを分析結果として分析結果記憶部122に格納する。
【0054】
続いて、図10を用いて、エントロピー比較テストの一例を説明する。図10は、エントロピー比較テストに用いられるトラフィックプロファイルを説明するための図である。
【0055】
上述したように、実施例1においては、トラフィックプロファイル更新部131が、トラフィックプロファイルを継続的に更新し、トラフィックプロファイル記憶部121に格納する。例えば、実施例1に係るトラフィックプロファイル更新部131は、トラフィックプロファイルとしてエントロピー値を算出し、図10に例示するようにトラフィックプロファイル記憶部121に格納する。そして、異常トラフィックテスト部132は、図10に例示するトラフィックプロファイルを用いて、エントロピー比較テストを行う。
【0056】
ここで、エントロピー値の計算手法を説明する。なお、この計算手法は、トラフィックプロファイル更新部131によってエントロピー値が算出される際、及び、異常トラフィックテスト部132によってエントロピー値が算出される際の双方において用いられる。
【0057】
エントロピー値は、特定の分析ウィンドウにおいてメッセージを送信した全送信者の「randomness」の測定に用いられる。異常トラフィックテスト部132によって算出されたエントロピー値が、同一の分析ウィンドウのトラフィックプロファイルのエントロピー値と比較して小さく、かつその小ささの幅が所定幅以上であれば、非正常的ユーザからの異常トラフィックが多く含まれていることを示す。
【0058】
(10)式は、分析ウィンドウを示す。(11)式は、分析ウィンドウwにおいて送信された特定の種類のSIPメッセージ(例えばREQUESTメッセージ)の合計数を示す。(12)式は、分析ウィンドウwにおいて送信された、送信者iによる特定の種類のSIPメッセージ(例えばREQUESTメッセージ)の合計数を示す。(13)式は、特定の種類のSIPメッセージ(例えばREQUESTメッセージ)の合計数のうち、送信者iによって送信されたメッセージ数の割合を示し、(14)式によって算出される。そして、(15)式に示すエントロピー値は、(16)式によって算出される。
【数10】
【数11】
【数12】
【数13】
【数14】
【数15】
【数16】
【0059】
異常トラフィックテスト部132は、上記計算手法によってエントロピー値を算出すると、トラフィックプロファイル記憶部121に記憶されたエントロピー値を参照する。そして、異常トラフィックテスト部132は、分析ウィンドウ及びSIPメッセージの種類が同一のエントロピー値をトラフィックプロファイル記憶部121から取得し、算出したエントロピー値と取得したエントロピー値とを比較する。続いて、異常トラフィックテスト部132は、算出したエントロピー値が、取得したエントロピー値よりも小さく、かつ、その幅が、設定された所定の閾値よりも大きい場合に、異常トラフィックが多く含まれていると探知する。
【0060】
次に、図11及び図12を用いて、適合性テストの一例を説明する。図11は、適合性テストに用いられるトラフィックプロファイルを説明するための図である。
【0061】
上述したように、実施例1においては、トラフィックプロファイル更新部131が、トラフィックプロファイルを継続的に更新し、トラフィックプロファイル記憶部121に格納する。例えば、実施例1に係るトラフィックプロファイル更新部131は、トラフィックプロファイルとして、図11に例示するようにカテゴリ別の出現頻度(frequency)を算出し、トラフィックプロファイル記憶部121に格納する。そして、異常トラフィックテスト部132は、図11に例示するトラフィックプロファイルを用いて、カイスクエア(chi-square)方式による適合性テストを行う。なお、カテゴリは、例えば、SIPメッセージの種類に対応する。
【0062】
適合性テストは、特定の分析ウィンドウにおいて発生したメッセージと、トラフィックプロファイルの値との一致度により、適合性を判定する。図12は、適合性テストにおける期待値及び測定値の演算を説明するための図である。異常トラフィックテスト部132は、図12に例示するように、特定の分析ウィンドウにおいて観測されたSIPメッセージの合計数nに対してカテゴリ毎の出現頻度を乗算することで、期待値を算出する。次に、異常トラフィックテスト部132は、測定値と、算出した期待値とを(17)式に代入し、テスト値(G2)を算出する。
【0063】
例えば、トラフィックプロファイルにおいて、SIPメッセージの種類別の出現頻度が、『INVITE』メッセージが『f1』%、『REGISTER』メッセージが『f2』%、『ACK』メッセージが『f3』%、『BYE』メッセージが『f4』%であるとする。特定の分析ウィンドウにおいて観測されたメッセージの合計数がnであるとすると、SIPメッセージの種類毎の期待値は、『INVITE』メッセージが『e1=n*f1』%、『REGISTER』メッセージが『e2=n*f2』%、『ACK』メッセージが『e3=n*f3』%、『BYE』メッセージが『e4=n*f4』%となる。異常トラフィックテスト部132は、これらの値(e1、e2、e3、e4)と実際に測定された測定値(x1、x2、x3、x4)との適合性を、(17)式を用いて計算する。
【数17】
【0064】
ある種類のSIPメッセージが非正常的に大量に発生すれば、このテスト値は大きく増加する。すなわち、異常トラフィックテスト部132は、計算したテスト値の変化を計測し、その増加分を、予め設定された所定の閾値と比較し、閾値よりも大きい場合に、ある種類のSIPメッセージが非正常的に大量に発生したことを探知する。なお、ここでいうテスト値の変化とは、例えば、時系列上連続する分析ウィンドウ間の比較における変化(例えば、時刻(t−1)の分析ウィンドウにおいて計算されたテスト値と、時刻tの分析ウィンドウにおいて計算されたテスト値との間の変化)などのことである。異常トラフィックテスト部132は、適合性テストを実施することにより、このような非正常的現象を探知することができる。
【0065】
図13は、モデリング分析及び異常テストの概要を示す図である。図13に例示するように、実施例1に係るトラフィックプロファイル更新部131及び異常トラフィックテスト部132は、ある分析ウィンドウにおいて観測されたSIPメッセージを、SIPメッセージの種類毎に分類し、分類後のメッセージ群を対象として、モデリング分析や異常トラフィックテストを実施する。また、図13に例示するように、分析結果(非正常的ユーザリストを含む)は、SIPメッセージの種類毎かつ分析ウィンドウ毎に生成され、出力部112を通じてサービスの管理者に報告され、また、分析結果記憶部122に格納される。また、図13に例示するように、非正常的ユーザリストは、アクセス制御など、ネットワーク管理の情報として活用される。
【0066】
[分析結果集計処理]
次に、分析結果集計部133による分析結果集計処理を説明する。図14は、分析結果集計部133による処理手順を示すフローチャートである。図14に例示するように、分析結果集計部133は、1週トラフィック分析を開始するか否かを判定している(ステップS301)。例えば、トラフィック分析システム100の操作者が『1週トラフィック分析』のアイコンを押下することを契機として、また、例えば、設定された所定のタイミングを契機として、分析結果集計部133は、1週トラフィック分析を開始する(ステップS301肯定)。
【0067】
次に、分析結果集計部133は、分析結果記憶部122から、1日トラフィック分析の分析結果を、1週間分ロードする(ステップS302)。そして、分析結果集計部133は、ロードした1週間分の分析結果を集計し(ステップS303)、1週トラフィック分析の分析結果として、分析結果記憶部122に格納する(ステップS304)。
【0068】
例えば、長期間(例えば1週間など)の分析結果が必要な場合に活用できる。例えば、分析結果集計部133は、分析結果記憶部122に記憶された短期間(例えば1日など)の分析結果を集計・要約し、長期間(例えば1週間など)の分析結果を得る。
【0069】
[実施例1の効果]
上述したように、実施例1においては、トラフィックプロファイル更新部131が、IPネットワーク1を流れるトラフィックを所定の間隔でモデリング分析し、正常なトラフィックの特性を示すトラフィックプロファイルを更新する。また、異常トラフィックテスト部132が、IPネットワーク1を流れるトラフィックをトラフィックプロファイルを用いて分析し、該トラフィックに含まれる異常トラフィックを探知する。また、トラフィックプロファイルの更新や、更新されたトラフィックプロファイルを用いた異常トラフィックの探知は、継続的に行われる。このように、実施例1においては、トラフィックプロファイルを適宜更新することによりトラフィックプロファイルにIPネットワーク1の最新の状況を反映し、最新の状況が反映されたトラフィックプロファイルを用いて異常トラフィックを探知するので、高い精度で、かつ継続的に、異常トラフィックを探知することが可能になる。
【0070】
例えば、実施例1において、異常トラフィックテスト部132は、IPネットワーク1を流れるトラフィックからメッセージ種別毎のエントロピー値を計算し、計算したエントロピー値とトラフィックプロファイル記憶部121に記憶されたエントロピー値とを比較することで、該トラフィックに含まれる異常なトラフィックを探知する。また、実施例1において、異常トラフィックテスト部132は、IPネットワーク1を流れるトラフィックからメッセージ種別毎のメッセージ数を計上するとともに、トラフィックプロファイル記憶部121に記憶された出現頻度を用いてメッセージ種別毎の期待値を計算し、計上されたメッセージ数と計算された期待値とを用いて分析することで、該トラフィックに含まれる異常なトラフィックを探知する。
【0071】
さらに、実施例1において、異常トラフィックテスト部132は、IPネットワーク1を流れるトラフィックを、正常なトラフィックと異常なトラフィックとに区分けし、異常なトラフィックに区分けされたトラフィックの送信元を識別する情報を特定し、特定した情報を用いて非正常的ユーザリストを作成する。
【0072】
ここで、インターネット電話サービスを安全かつ効率的に管理するためには、トラフィックの特性及び変化を継続的に観察するトラフィック分析システムの役割が重要となる。また、このようなトラフィック分析システムには、その分析結果をサービスの管理者に報告する機能や、非正常的なユーザを監視する機能が望まれる。この点、実施例1に係るトラフィック分析システム100は、IPネットワーク1を流れるトラフィックを継続的にモデリング分析し、最新のIPネットワーク1の状況が反映されたトラフィックプロファイルを継続的に更新し、このようなトラフィックプロファイルを用いて異常トラフィックを探知するので、トラフィックの特性及び変化を継続的に観察することができる。例えば、インターネット電話サービスの管理者は、インターネット電話サービスにおける使用量の変化や使用パターンなどを確認することができる。
【0073】
また、実施例1に係るトラフィック分析システム100は、分析結果をUIを通じて管理者に報告する機能を有し、かつ、分析結果記憶部122に格納する機能も有する。さらに、実施例1に係るトラフィック分析システム100は、非正常的ユーザリストを継続的に生成・更新し、これらをUIを通じて管理者に報告したり、別途アクセス制御に活用させるなどすることで、非正常的なユーザを継続的に監視する機能も有する。
【0074】
また、実施例1に係るトラフィック分析システム100は、分析対象とするトラフィックを、SIPメッセージの種類毎、分析ウィンドウ毎に分類した上で分析を行い、その分析結果を報告、蓄積する機能を有する。言い換えると、実施例1に係るトラフィック分析システム100は、細かい粒度でトラフィック分析を行うことで、高い精度で異常トラフィックを探知することができる。例えば、トラフィック分析システム100は、SIPメッセージの種類毎に分析を行うので、特定の種類のSIPメッセージを悪用したネットワーク攻撃などに対応することが容易になる。
【0075】
なお、トラフィック分析システム100は、例えば、トラフィックをSIPメッセージの種類毎に分類することなく、全SIPメッセージを対象として、上記と同様の手法によりトラフィックプロファイルを作成し、異常トラフィックテストを行ってもよい。この場合には、トラフィック分析システム100は、細かい粒度のトラフィック分析と、全体的なトラフィック分析との双方の分析結果を得ることが可能になり、サービスの管理者は、種類毎のメッセージの変化と、全体的なトラフィックの変化とを確認することが可能になる。
【0076】
また、実施例1に係るトラフィック分析システム100は、1日トラフィック分析、1週トラフィック分析など、ある分析結果をさらに集計・要約するなどして、他の観点からの分析も行い、多面的な分析結果を提供することができる。通常、異常トラフィックは、一時的に発生するのではなく、長期間ある程度決まったパターンで発生する場合が多い。短期間の分析(例えば1日トラフィック分析など)による分析結果に基づいて異常トラフィックを探知することも可能であるが、この分析結果をさらに集計・要約するなどした長期間の分析(例えば1週トラフィック分析など)によれば、異常トラフィックのパターンまで適切に特定することが可能になる。例えば、長期間の分析結果に基づいて、どのような経路を通じて異常トラフィックが流入しているのか、といったパターンを特定し、例えば特定のソース(source、送信元)から流入されるトラフィックを遮断する、といった制御も可能になる。なお、「1日」、「1週」といった単位は任意に変更することが可能である。
【0077】
以上のように、実施例1に係るトラフィック分析システム100は、時間スケール別かつSIPメッセージの種類別に、統計的手法による多面的なトラフィック分析を行い、その結果、異常トラフィックを探知し、非正常的ユーザリストを作成して、これを継続的に管理することにより、高い精度で、かつ継続的に、異常トラフィック及び非正常的ユーザを監視する。
【実施例2】
【0078】
これまで、開示の技術に係るトラフィック分析システム及びトラフィック分析方法の実施例として実施例1を説明してきたが、開示の技術はこれに限られるものではない。種々の異なる形態にて実施されてよいものである。
【0079】
上記実施例1においては、トラフィック分析システム100が、分析結果集計部133を備える例を説明したが、開示の技術はこれに限られるものではなく、トラフィック分析システム100は、必ずしも分析結果集計部133を備える必要はない。すなわち、上記実施例1においては、トラフィック分析システム100が、1日単位のトラフィック分析及び1週単位のトラフィック分析の双方を行う例を説明したが、トラフィック分析を行う単位は任意に変更可能であり、また、ある単位で行われたトラフィック分析の分析結果を集計するか否かも任意に変更可能である。
【0080】
また、上記実施例1においては、トラフィック分析システム100が、異常トラフィックテストとして、非正常メッセージ探知テスト、エントロピー比較テスト、及び適合性テストの3つのテストを行う例を説明したが、開示の技術はこれに限られるものではない。例えば、トラフィック分析システム100は、非正常メッセージ探知テストを行わなくてもよいし、また、エントロピー比較テストや適合性テストに替えて他のテストを行ってもよい。すなわち、異常トラフィックを探知するための異常トラフィックテストとしてどのようなテストを行うかは任意に変更可能である。
【0081】
また、上記実施例1においては、開示の技術に係るトラフィック分析の対象の一例として、SIPを基盤とするインターネット電話サービスを説明したが、開示の技術はこれに限られるものではなく、ネットワークにおけるトラフィック分析であれば同様に適用することができる。図1に例示したようなクライアントとサーバとの間のトラフィック分析に限られるものでもない。
【0082】
また、上記実施例1において説明したエントロピー比較テストや適合性テストによるテスト結果と、非正常的ユーザリストの生成とを連携させてもよい。ここで、エントロピー比較テストも適合性テストも、そのテストの結果は、異常トラフィックの有無を探知するものである。エントロピー比較テストや適合性テストにおいて異常トラフィックの有無が探知されると、異常トラフィックが有るとされた分析ウィンドウが特定される。そこで、例えば、異常トラフィックテスト部132は、この特定した分析ウィンドウに対応する非正常メッセージ探知テストを行って、非正常的ユーザリストを作ってもよい。
【0083】
[トラフィック分析プログラム]
また、上記実施例1において説明したトラフィック分析方法は、トラフィック分析プログラムによる情報処理がコンピュータを用いて具体的に実現されることで実行されてもよい。コンピュータは、例えば、CPUと、システムメモリと、ハードディスクドライブインタフェースと、ディスクドライブインタフェースと、シリアルポートインタフェースと、ビデオアダプタと、ネットワークインタフェースとを有し、これらの各部はシステムバスによって接続される。システムメモリは、ROM及びRAMを含む。ROMは、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェースは、ハードディスクドライブに接続される。ディスクドライブインタフェースは、ディスクドライブに接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェースは、例えば、マウス、キーボードに接続される。ビデオアダプタは、例えば、ディスプレイに接続される。
【0084】
ここで、ハードディスクドライブは、例えば、OS(Operating System)、アプリケーションプログラム、プログラムモジュール、プログラムデータを記憶する。すなわち、開示の技術に係るトラフィック分析プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクに記憶される。具体的には、上記実施例で説明したトラフィックプロファイル更新部131と同様の処理を実行する手順と、異常トラフィックテスト部132と同様の処理を実行する手順と、分析結果集計部133と同様の処理を実行する手順とが記述されたプログラムモジュールが、ハードディスクに記憶される。
【0085】
また、上記実施例で説明したトラフィックプロファイル記憶部121及び分析結果記憶部122に記憶されるデータのように、トラフィック分析プログラムによる処理に用いられるデータは、プログラムデータとして、例えばハードディスクに記憶される。そして、CPUが、ハードディスクに記憶されたプログラムモジュールやプログラムデータを必要に応じてRAMに読み出し、上記手順を実行する。
【0086】
なお、トラフィック分析プログラムに係るプログラムモジュールやプログラムデータは、ハードディスクに記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPUによって読み出されてもよい。あるいは、トラフィック分析プログラムに係るプログラムモジュールやプログラムデータは、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェースを介してCPUによって読み出されてもよい。
【符号の説明】
【0087】
100 トラフィック分析システム
111 入力部
112 出力部
121 トラフィックプロファイル記憶部
122 分析結果記憶部
131 トラフィックプロファイル更新部
132 異常トラフィックテスト部
133 分析結果集計部
【技術分野】
【0001】
本発明は、トラフィック分析システム及びトラフィック分析方法に関する。
【背景技術】
【0002】
近年、インターネット電話サービスなどにおいては、低料金や多様な付加サービスを背景に加入者が急増し、トラフィックも急増している。また、これに伴い非正常的なユーザ(abnormal users)による異常トラフィック(abnormal traffic)も増加している。
【0003】
従来、このようなサービスを管理することを目的として、トラフィック分析システムが用いられている。トラフィック分析システムは、例えば、トラフィックに変化が発生する前のトラフィックと発生中のトラフィックとを比較し、変化を引き起こしたトラフィックを抽出して分析することで、異常トラフィックを探知する。また、例えば、スイッチを通過するトラフィックを分析することで、異常トラフィックを探知する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−044501号公報
【特許文献2】特開2009−089241号公報
【特許文献3】特開2010−039994号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した従来の技術では、異常トラフィックを探知する精度が低いという課題がある。すなわち、従来のトラフィック分析システムは、固定的な閾値を用いて異常トラフィックを探知する。この点、ネットワークの状況は、例えば曜日や時間帯によって変化したり、例えばイベントやキャンペーンのような突発的な事由によって変化することもあるので、固定的な閾値を用いて探知する手法では限界がある。
【0006】
本発明は、上記に鑑みてなされたものであって、高い精度で異常トラフィックを探知することが可能なトラフィック分析システム及びトラフィック分析方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、開示の技術は、一つの態様において、ネットワークを流れるトラフィックを時系列に記憶するトラフィック記憶手段と、正常なトラフィックの特性を示す特性情報を記憶する特性情報記憶手段と、前記トラフィック記憶手段から所定の間隔毎に最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックを異常なトラフィックと正常なトラフィックとに区分けし、区分けした正常なトラフィックを用いて算出した特性情報により前記特性情報記憶手段に記憶された特性情報を更新する更新手段と、前記トラフィック記憶手段から最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックの特性を示す値を算出し、算出した値と前記特性情報記憶手段に記憶された最新の特性情報との比較結果に基づいて、該トラフィックに含まれる異常なトラフィックの有無を判定する判定手段とを備える。
【0008】
また、開示の技術は、一つの態様において、コンピュータが、ネットワークを流れるトラフィックを時系列に記憶するトラフィック記憶手段と、正常なトラフィックの特性を示す特性情報を記憶する特性情報記憶手段として機能し、前記トラフィック記憶手段から所定の間隔毎に最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックを異常なトラフィックと正常なトラフィックとに区分けし、区分けした正常なトラフィックを用いて算出した特性情報により前記特性情報記憶手段に記憶された特性情報を更新する更新工程と、前記トラフィック記憶手段から最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックの特性を示す値を算出し、算出した値と前記特性情報記憶手段に記憶された最新の特性情報との比較結果に基づいて、該トラフィックに含まれる異常なトラフィックの有無を判定する判定工程とを含む。
【発明の効果】
【0009】
開示の技術によれば、高い精度で異常トラフィックを探知することが可能になるという効果を奏する。
【図面の簡単な説明】
【0010】
【図1】図1は、実施例1に係るトラフィック分析システム100の概要を説明するための図である。
【図2】図2は、実施例1におけるトラフィック分析の対象を説明するための図である。
【図3】図3は、実施例1に係るトラフィック分析システム100の構成を示すブロック図である。
【図4】図4は、メッセージ群の集計結果を説明するための図である。
【図5】図5は、異常閾値ρの決定を説明するための図である。
【図6】図6は、トラフィックプロファイル更新部131による処理手順を示すフローチャートである。
【図7】図7は、異常トラフィックテスト部132による処理手順を示すフローチャートである。
【図8】図8は、非正常メッセージ探知テストを説明するための図である。
【図9】図9は、非正常的ユーザリストを説明するための図である。
【図10】図10は、エントロピー比較テストに用いられるトラフィックプロファイルを説明するための図である。
【図11】図11は、適合性テストに用いられるトラフィックプロファイルを説明するための図である。
【図12】図12は、適合性テストにおける期待値及び測定値の演算を説明するための図である。
【図13】図13は、モデリング分析及び異常トラフィックテストの概要を示す図である。
【図14】図14は、分析結果集計部133による処理手順を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下に、開示の技術に係るトラフィック分析システム及びトラフィック分析方法の実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。
【実施例1】
【0012】
[実施例1に係るトラフィック分析システムの概要]
図1は、実施例1に係るトラフィック分析システム100の概要を説明するための図である。図1に例示するように、実施例1に係るトラフィック分析システム100は、IP(Internet Protocol)ネットワーク1に接続されたクライアント2とサーバ3との間で送受信されるトラフィックを分析する。図1に例示するように、IPネットワーク1とサーバ3とを接続する経路上にTAP(Test Access Point)4が設置され、TAP4によって収集されたトラフィックデータが、時系列にトラフィックデータベース10に蓄積される。
【0013】
図1に例示するように、実施例1に係るトラフィック分析システム100は、トラフィックプロファイル記憶部121と、トラフィックプロファイル更新部131と、異常トラフィックテスト部132とを備える。なお、実施例1に係るトラフィック分析システム100はその他の各部も備えるが、ここでは概要を説明する観点から割愛する。また、トラフィック分析システム100は、トラフィックデータベース10をトラフィック分析システム100内の部として備えてもよい。
【0014】
トラフィックプロファイル記憶部121は、正常なトラフィック(normal traffic)の特性を示すトラフィックプロファイル(「特性情報」とも称する)を記憶する。トラフィックプロファイル更新部131は、トラフィックデータベース10から所定の間隔毎に最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックを異常なトラフィックと正常なトラフィックとに区分けする。次に、トラフィックプロファイル更新部131は、区分けした正常なトラフィックを用いて算出したトラフィックプロファイルによりトラフィックプロファイル記憶部121に記憶されたトラフィックプロファイルを更新する。
【0015】
異常トラフィックテスト部132は、トラフィックデータベース10から最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックの特性を示す値を算出し、算出した値とトラフィックプロファイル記憶部121に記憶された最新のトラフィックプロファイルとの比較結果に基づいて、該トラフィックに含まれる異常なトラフィックの有無を判定する。
【0016】
なお、実施例1に係るトラフィックプロファイル更新部131は、第一の間隔で分析を行い、実施例1に係る異常トラフィックテスト部132は、第二の間隔で分析を行う。これは、両分析が必ずしも同じ間隔で行われなくてもよいことを示すものであるが、第一の間隔と第二の間隔とが一致する場合にも、開示の技術を同様に適用することができる。
【0017】
このように、実施例1に係るトラフィック分析システム100は、トラフィックプロファイルを適宜更新するとともに、適宜更新されたトラフィックプロファイルを用いて異常トラフィックを探知する。また、トラフィックプロファイルの更新や、更新されたトラフィックプロファイルを用いた異常トラフィックの探知は、継続的に行われる。すなわち、実施例1に係るトラフィック分析システム100は、トラフィックプロファイルを適宜更新することによりトラフィックプロファイルにIPネットワーク1の最新の状況を反映し、最新の状況が反映されたトラフィックプロファイルを用いて異常トラフィックを探知するので、高い精度で、かつ継続的に、異常トラフィックを探知することが可能になる。
【0018】
[実施例1におけるトラフィック分析の対象]
図2は、実施例1におけるトラフィック分析の対象を説明するための図である。図2に例示するように、実施例1においては、トラフィック分析の対象の一例として、SIP(Session Initiation Protocol)を基盤とするインターネット電話サービスを説明する。すなわち、実施例1に係るトラフィック分析システム100は、インターネット電話サービスのトラフィックを分析し、異常トラフィックを探知する。
【0019】
図2に例示するように、SIPを基盤とするインターネット電話サービスにおいては、SIP送信者(Caller)がSIP受信者(Callee)に対して発呼することにより、SIP送信者とSIP受信者との間に通話が発生する。そして、SIPサーバ(Proxy)を介し、SIP送信者とSIP受信者との間でSIPメッセージが送受信されることにより、トラフィックが発生する。なお、以下では、SIP発呼者をSIP送信者という。
【0020】
ここで、インターネット電話サービスにおいては、図2に例示するように、非正常的なユーザが混在する場合があり、非正常的なユーザによる異常トラフィックが発生する場合がある。異常トラフィックとは、例えば、悪意あるユーザやマルウェアによる攻撃によって生じるトラフィック、機器の障害やプログラムのバグによって生じるトラフィック、操作ミスによって生じるトラフィックなどである。このため、図2に例示するSIPトラフィックデータベース10には、正常なトラフィックのSIPメッセージの他、このような異常トラフィックのSIPメッセージも蓄積されることになり、実施例1に係るトラフィック分析システム100は、このSIPメッセージをトラフィック分析の対象とする。
【0021】
[実施例1に係るトラフィック分析システムの構成]
図3は、実施例1に係るトラフィック分析システム100の構成を示すブロック図である。図3に例示するように、トラフィック分析システム100は、入力部111と、出力部112とを備える。また、トラフィック分析システム100は、記憶部として、トラフィックプロファイル記憶部121と、分析結果記憶部122とを備える。また、トラフィック分析システム100は、制御部として、トラフィックプロファイル更新部131と、異常トラフィックテスト部132と、分析結果集計部133とを備える。
【0022】
入力部111は、例えばマウスやキーボードなどであり、各種操作の入力などを受け付ける。出力部112は、例えばディスプレイなどであり、各種操作のための情報などを出力する。
【0023】
例えば、実施例1において、トラフィック分析システム100は、出力部112であるディスプレイに、UI(User Interface)として制御パネルを表示する。また、トラフィック分析システム100は、制御パネル上に、例えば、『トラフィックモデリング』、『1日トラフィック分析』、及び『1週トラフィック分析』と示されたアイコンを表示する。トラフィック分析システム100の操作者は、ディスプレイに表示されたアイコンを、入力部111であるマウスを用いて押下することにより、操作を入力する。例えば、トラフィック分析システム100の操作者は、『トラフィックモデリング』のアイコンを押下することにより、『トラフィックモデリング』の開始指示を入力する。
【0024】
また、実施例1において、トラフィック分析システム100は、出力部112であるディスプレイに、UIとして分析結果を表示する。例えば、トラフィック分析システム100は、『1日トラフィック分析結果』、『非正常的ユーザリスト』、『1週トラフィック分析結果』などを表示する。
【0025】
実施例1における記憶部は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスクや、その他の記憶媒体(光ディスクなど)であり、各種情報を記憶する。
【0026】
トラフィックプロファイル記憶部121は、正常なトラフィックの特性を示すトラフィックプロファイルを記憶する。具体的には、トラフィックプロファイル記憶部121は、後述するトラフィックプロファイル更新部131によって格納されることでトラフィックプロファイルを記憶する。また、トラフィックプロファイル記憶部121が記憶するトラフィックプロファイルは、後述するトラフィックプロファイル更新部131によって適宜更新される。また、トラフィックプロファイル記憶部121が記憶するトラフィックプロファイルは、後述する異常トラフィックテスト部132による処理に利用される。なお、トラフィックプロファイルの具体例は、後述する。
【0027】
分析結果記憶部122は、分析結果を記憶する。具体的には、分析結果記憶部122は、後述する異常トラフィックテスト部132や分析結果集計部133によって格納されることで、分析結果を記憶する。また、分析結果記憶部122が記憶する分析結果は、後述する分析結果集計部133による処理に利用される。なお、分析結果の具体例は、後述する。
【0028】
実施例1における制御部は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路、又は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路であり、トラフィック分析システム100が備える各部を制御する。以下、トラフィックプロファイル更新部131によるトラフィックプロファイル更新処理、異常トラフィックテスト部132による異常トラフィックテスト処理、分析結果集計部133による分析結果集計処理を、順に説明する。
【0029】
[トラフィックプロファイル更新処理]
トラフィックプロファイル更新部131は、図3に例示するように、モデリング分析部131aと、更新部131bとを有する。モデリング分析部131aは、IPネットワーク1を流れるトラフィックを第一の間隔で分析する。以下、この分析を「モデリング分析」という。更新部131bは、モデリング分析部131aによる分析の結果を用いてトラフィックプロファイル記憶部121に記憶されたトラフィックプロファイルを更新する。
【0030】
ここで、モデリング分析部131aによる分析の一例を説明する。実施例1に係るモデリング分析部131aは、SIPトラフィックデータベース10に蓄積されたSIPメッセージをSIPトラフィックデータベース10から読み出し、読み出したSIPメッセージを、メッセージの種類毎に、各種時間単位(30分、1日、1週、1月など)で分類し、統計的手法を用いて分析することで、トラフィックプロファイルを生成する。例えば、モデリング分析部131aは、SIPメッセージを、『INVITE』、『REGISTER』、『ACK』、『BYE』、『CANCEL』、『OPTIONS』の種類毎に分類する。また、モデリング分析部131aは、メッセージの種類毎に分類されたSIPメッセージを、メッセージに含まれるタイムスタンプに基づいて、例えば30分の時間単位で分類する。なお、以下、時間によって区切られる分析の単位を「分析ウィンドウ」という。
【0031】
次に、モデリング分析部131aは、分類されたメッセージ群毎に集計を行う。図4は、メッセージ群の集計結果を説明するための図である。図4に例示する集計結果は、S1〜Snというn個のセットを含んでおり、各セットは、『メッセージ数』、『送信者数』、『メッセージ数の累積比率』、『送信者数の累積比率』という項目を有する。また、S1〜Snは、メッセージ数の値に基づいて昇順にソートされている。
【0032】
『メッセージ数』は、送信者単位でメッセージの数を集計した値である。『送信者数』は、送信者単位で集計したメッセージの数が『メッセージ数』の項目の値と同一の送信者の数である。『メッセージ数の累積比率』は、送信者単位で集計したメッセージの数が『メッセージ数』の項目の値以下である送信者によるメッセージ数の合計が全メッセージ数に占める比率である。『送信者数の累積比率』は、送信者単位で集計したメッセージの数が『メッセージ数』の項目の値以下である送信者数が全送信者数に占める比率である。
【0033】
例えば、図4に例示する集計結果のセットS2は、送信者単位で集計したメッセージの数が「Nm2」である送信者の数が「Nc2」であり、送信者単位で集計したメッセージの数が「Nm2」以下である送信者によるメッセージ数の合計が全メッセージ数に占める比率が「Rm2」であり、送信者単位で集計したメッセージの数が「Nm2」以下である送信者数が全送信者数に占める比率が「Rc2」であることを示す。
【0034】
続いて、モデリング分析部131aは、集計結果を用いて、正常なトラフィックと異常トラフィックとを判別する。例えば、モデリング分析部131aは、(1)式を用いて、正常なトラフィックと異常トラフィックとを判別するための異常閾値ρを決定する。
【数1】
【0035】
ここで、μは、1送信者あたりのメッセージ数の平均値である。また、δは、1送信者あたりのメッセージ数の標準偏差値である。平均値μ及び標準偏差値δは、それぞれ、(2)式及び(3)式を用いて算出される。また、ωは、異常範囲(abnormal range)決定パラメータであり、例えば1、2、3のいずれかの値が選択され、設定される。図5は、異常閾値ρの決定を説明するための図である。図5に例示するように、異常範囲決定パラメータωの値に応じて、異常範囲は変化する。
【数2】
【数3】
【0036】
また、モデリング分析部131aは、メッセージ数が異常閾値ρ以下となる送信者数が全送信者数に占める比率と、メッセージ数が異常閾値ρ以下となる送信者によるメッセージ数の合計が全メッセージ数に占める比率との差を算出する。『メッセージ数』が異常閾値ρと同値又は最も近い値のセットがStである場合、モデリング分析部131aは、Stの『送信者数の累積比率』である「Rct」と『メッセージ数の累積比率』である「Rmt」とを集計結果から取得し、両者の差を算出する。
【0037】
そして、モデリング分析部131aは、算出した比率差と、設定された比率差の閾値とを比較し、算出された比率差が閾値よりも大きい場合に、送信者単位で集計されたメッセージ数が異常閾値ρよりも多い送信者によるトラフィックを、異常トラフィックとして判別する。すなわち、モデリング分析部131aは、メッセージの種類毎かつ分析ウィンドウ毎に分類されたメッセージ群毎に、異常なトラフィックと正常なトラフィックとに区分けする。なお、比率差の閾値は、異常閾値ρに基づいて異常トラフィックを判別することが適切であるか否かを判定するために用いられる。
【0038】
次に、モデリング分析部131aは、トラフィックから異常トラフィックを除き、正常なトラフィックのみを用いて、正常なトラフィックの特性を示すモデリング値(modeling value)を算出する。例えば、モデリング分析部131aは、メッセージの種類毎かつ分析ウィンドウ毎に分類されたメッセージ群毎のモデリング値として、例えば、エントロピー値(entropy value)や、全メッセージに占める種類別メッセージの出現頻度(割合)、その他、送信者数の変化、メッセージ数の変化など、各種の値を、統計的手法を用いて算出する。
【0039】
一方、更新部131bは、モデリング分析部131aによって算出されたモデリング値をトラフィックプロファイル記憶部121に格納することで、トラフィックプロファイルを更新する。ここで、実施例1に係る更新部131bは、(4)式に示すように、0〜1の範囲で設定される重みwによる加重調整を行い、トラフィックプロファイルを更新する。Vpreviousは、モデリング分析部131aによる過去の分析結果であり、Vcurrentは、モデリング分析部131aによる現在の分析結果であり、Vは、加重調整後の分析結果である。
【数4】
【0040】
図6は、トラフィックプロファイル更新部131による処理手順を示すフローチャートである。図6に例示するように、トラフィックプロファイル更新部131において、モデリング分析部131aは、モデリング分析を開始するか否かを判定している(ステップS101)。例えば、トラフィック分析システム100の操作者が『トラフィックモデリング』のアイコンを押下することを契機として、また、例えば、設定された所定のタイミング(例えば1週間毎など)を契機として、モデリング分析部131aは、モデリング分析を開始する(ステップS101肯定)。
【0041】
そして、モデリング分析部131aが、モデリング分析を行い、トラフィックプロファイルとなるモデリング値を算出すると(ステップS102)、更新部131bが、トラフィックプロファイル記憶部121を更新し、処理を終了する(ステップS103)。
【0042】
[異常トラフィックテスト処理]
異常トラフィックテスト部132は、IPネットワーク1を流れるトラフィックを、トラフィックプロファイル記憶部121に記憶されたトラフィックプロファイルを用いて第二の間隔で分析し、該トラフィックに含まれる異常トラフィックを探知する。具体的には、異常トラフィックテスト部132は、異常トラフィックテストを実行して異常トラフィックを探知し、異常トラフィックテストによる分析結果を分析結果記憶部122に格納する。
【0043】
まず、実施例1に係る異常トラフィックテストの全体像を把握するために、異常トラフィックテスト部132による処理手順を説明する。図7は、異常トラフィックテスト部132による処理手順を示すフローチャートである。図7に例示するように、異常トラフィックテスト部132は、異常トラフィックテストを開始するか否かを判定している(ステップS201)。例えば、トラフィック分析システム100の操作者が『1日トラフィック分析』のアイコンを押下することを契機として、また、例えば、設定された所定のタイミング(例えば1日毎など)を契機として、異常トラフィックテスト部132は、異常トラフィックテストを開始する(ステップS201肯定)。
【0044】
実施例1に係る異常トラフィックテスト部132は、異常トラフィックテストとして、図7に例示するように、非正常メッセージ探知テスト(ステップS202)、エントロピー比較テスト(ステップS203)、適合性テスト(ステップS204)を実行する。なお、実施例1において、トラフィックプロファイル記憶部121に記憶されたトラフィックプロファイルを用いて行われる異常トラフィックテストは、エントロピー比較テスト及び適合性テストの2つである。異常トラフィックテスト部132は、エントロピー比較テスト及び適合性テストそれぞれを実行すると、分析結果を分析結果記憶部122に格納して(ステップS207)、処理を終了する。
【0045】
また、図7に例示するように、非正常メッセージ探知テストにおいては、異常トラフィックテスト部132は、異常トラフィックの有無を判定し(ステップS205)、異常トラフィックが存在すると判定した場合には(ステップS205肯定)、非正常的ユーザリストを生成し(ステップS206)、生成した非正常的ユーザリストを分析結果記憶部122に格納して(ステップS207)、処理を終了する。一方、異常トラフィックが存在しないと判定した場合には(ステップS205否定)、異常トラフィックテスト部132は、分析結果を分析結果記憶部122に格納して(ステップS207)、処理を終了する。
【0046】
次に、図8及び図9を用いて、非正常メッセージ探知テストの一例を説明する。図8は、非正常メッセージ探知テストを説明するための図である。
【0047】
実施例1に係る異常トラフィックテスト部132は、SIPトラフィックデータベース10に蓄積されたSIPメッセージを、メッセージの種類毎かつ分析ウィンドウ毎に分類する。例えば、異常トラフィックテスト部132は、SIPメッセージを、『INVITE』、『REGISTER』、『ACK』、『BYE』、『CANCEL』、『OPTIONS』の種類毎に分類する。また、異常トラフィックテスト部132は、メッセージの種類毎に分類されたSIPメッセージを、メッセージに含まれるタイムスタンプに基づいて、例えば30分の時間単位で分類する。
【0048】
次に、異常トラフィックテスト部132は、分類されたメッセージ群毎に、送信者単位でメッセージの数を集計する。図8に例示するS1〜Snというn個のセットは、メッセージ数の値に基づいて昇順にソートされている。
【0049】
続いて、異常トラフィックテスト部132は、集計結果を用いて、正常なトラフィックと異常トラフィックとを判別する。例えば、異常トラフィックテスト部132は、異常値の判別に有用とされるマハラノビス距離(Mahalanobis distance)方式を用いて、正常なトラフィックと異常トラフィックとを判別するための異常閾値ρを決定する。
【0050】
ここで、(5)式は、逆共分散行列を示す。また、(6)式は、S1〜Snというn個のセットxを示す。また、μは、1送信者あたりのメッセージ数の平均値である。また、δは、1送信者あたりのメッセージ数の標準偏差値である。平均値μ及び標準偏差値δは、それぞれ、上述した(2)式及び(3)式を用いて算出される。
【数5】
【数6】
【0051】
そして、異常トラフィックテスト部132は、(7)式〜(9)式を用いて、異常閾値ρを決定する。(7)式は、(8)式を求める過程として共変行列(covariance matrix)を求める式であり、右辺のP(x)は、xの発生確率を示す。(8)式の左辺は、各セットの距離を示し、この距離がρδより大きくなるセットの中で最小値となるメッセージ数が、異常閾値ρである。すなわち、(9)式を満たすセットの中で最小値となるメッセージ数が、異常閾値ρである。このように、異常トラフィックテスト部132は、メッセージの種類毎かつ分析ウィンドウ毎に分類されたメッセージ群毎に、異常閾値ρを決定する。
【数7】
【数8】
【数9】
【0052】
続いて、異常トラフィックテスト部132は、メッセージの種類毎に、非正常的ユーザリストを作成する。図9は、非正常的ユーザリストを説明するための図である。なお、図9に例示する『wn』は、分析ウィンドウを示す。
【0053】
異常トラフィックテスト部132は、メッセージ数が異常閾値ρより多い範囲(異常メッセージ範囲)に含まれるセットに対応する送信者の識別情報(例えばSIP−URI(Uniform Resource Identifier)など)を特定し、特定した送信者の識別情報を、メッセージ数に基づき例えば降順でソートし、非正常的ユーザリストを作成する。例えば、送信者『A』が分析ウィンドウ『w1』で送信したメッセージの数が異常メッセージ範囲に含まれれば、そのメッセージ数は、『a1』に記録される。仮に、送信者『A』が、次の分析ウィンドウ『w2』で送信したメッセージの数が異常メッセージ範囲に含まれなければ(正常なメッセージ範囲に含まれれば)、『a2』には『0』が記録される。異常トラフィックテスト部132は、非正常メッセージ探知テストを繰り返し行い、その都度非正常的ユーザリストを更新し、更新した非正常的ユーザリストを分析結果として分析結果記憶部122に格納する。
【0054】
続いて、図10を用いて、エントロピー比較テストの一例を説明する。図10は、エントロピー比較テストに用いられるトラフィックプロファイルを説明するための図である。
【0055】
上述したように、実施例1においては、トラフィックプロファイル更新部131が、トラフィックプロファイルを継続的に更新し、トラフィックプロファイル記憶部121に格納する。例えば、実施例1に係るトラフィックプロファイル更新部131は、トラフィックプロファイルとしてエントロピー値を算出し、図10に例示するようにトラフィックプロファイル記憶部121に格納する。そして、異常トラフィックテスト部132は、図10に例示するトラフィックプロファイルを用いて、エントロピー比較テストを行う。
【0056】
ここで、エントロピー値の計算手法を説明する。なお、この計算手法は、トラフィックプロファイル更新部131によってエントロピー値が算出される際、及び、異常トラフィックテスト部132によってエントロピー値が算出される際の双方において用いられる。
【0057】
エントロピー値は、特定の分析ウィンドウにおいてメッセージを送信した全送信者の「randomness」の測定に用いられる。異常トラフィックテスト部132によって算出されたエントロピー値が、同一の分析ウィンドウのトラフィックプロファイルのエントロピー値と比較して小さく、かつその小ささの幅が所定幅以上であれば、非正常的ユーザからの異常トラフィックが多く含まれていることを示す。
【0058】
(10)式は、分析ウィンドウを示す。(11)式は、分析ウィンドウwにおいて送信された特定の種類のSIPメッセージ(例えばREQUESTメッセージ)の合計数を示す。(12)式は、分析ウィンドウwにおいて送信された、送信者iによる特定の種類のSIPメッセージ(例えばREQUESTメッセージ)の合計数を示す。(13)式は、特定の種類のSIPメッセージ(例えばREQUESTメッセージ)の合計数のうち、送信者iによって送信されたメッセージ数の割合を示し、(14)式によって算出される。そして、(15)式に示すエントロピー値は、(16)式によって算出される。
【数10】
【数11】
【数12】
【数13】
【数14】
【数15】
【数16】
【0059】
異常トラフィックテスト部132は、上記計算手法によってエントロピー値を算出すると、トラフィックプロファイル記憶部121に記憶されたエントロピー値を参照する。そして、異常トラフィックテスト部132は、分析ウィンドウ及びSIPメッセージの種類が同一のエントロピー値をトラフィックプロファイル記憶部121から取得し、算出したエントロピー値と取得したエントロピー値とを比較する。続いて、異常トラフィックテスト部132は、算出したエントロピー値が、取得したエントロピー値よりも小さく、かつ、その幅が、設定された所定の閾値よりも大きい場合に、異常トラフィックが多く含まれていると探知する。
【0060】
次に、図11及び図12を用いて、適合性テストの一例を説明する。図11は、適合性テストに用いられるトラフィックプロファイルを説明するための図である。
【0061】
上述したように、実施例1においては、トラフィックプロファイル更新部131が、トラフィックプロファイルを継続的に更新し、トラフィックプロファイル記憶部121に格納する。例えば、実施例1に係るトラフィックプロファイル更新部131は、トラフィックプロファイルとして、図11に例示するようにカテゴリ別の出現頻度(frequency)を算出し、トラフィックプロファイル記憶部121に格納する。そして、異常トラフィックテスト部132は、図11に例示するトラフィックプロファイルを用いて、カイスクエア(chi-square)方式による適合性テストを行う。なお、カテゴリは、例えば、SIPメッセージの種類に対応する。
【0062】
適合性テストは、特定の分析ウィンドウにおいて発生したメッセージと、トラフィックプロファイルの値との一致度により、適合性を判定する。図12は、適合性テストにおける期待値及び測定値の演算を説明するための図である。異常トラフィックテスト部132は、図12に例示するように、特定の分析ウィンドウにおいて観測されたSIPメッセージの合計数nに対してカテゴリ毎の出現頻度を乗算することで、期待値を算出する。次に、異常トラフィックテスト部132は、測定値と、算出した期待値とを(17)式に代入し、テスト値(G2)を算出する。
【0063】
例えば、トラフィックプロファイルにおいて、SIPメッセージの種類別の出現頻度が、『INVITE』メッセージが『f1』%、『REGISTER』メッセージが『f2』%、『ACK』メッセージが『f3』%、『BYE』メッセージが『f4』%であるとする。特定の分析ウィンドウにおいて観測されたメッセージの合計数がnであるとすると、SIPメッセージの種類毎の期待値は、『INVITE』メッセージが『e1=n*f1』%、『REGISTER』メッセージが『e2=n*f2』%、『ACK』メッセージが『e3=n*f3』%、『BYE』メッセージが『e4=n*f4』%となる。異常トラフィックテスト部132は、これらの値(e1、e2、e3、e4)と実際に測定された測定値(x1、x2、x3、x4)との適合性を、(17)式を用いて計算する。
【数17】
【0064】
ある種類のSIPメッセージが非正常的に大量に発生すれば、このテスト値は大きく増加する。すなわち、異常トラフィックテスト部132は、計算したテスト値の変化を計測し、その増加分を、予め設定された所定の閾値と比較し、閾値よりも大きい場合に、ある種類のSIPメッセージが非正常的に大量に発生したことを探知する。なお、ここでいうテスト値の変化とは、例えば、時系列上連続する分析ウィンドウ間の比較における変化(例えば、時刻(t−1)の分析ウィンドウにおいて計算されたテスト値と、時刻tの分析ウィンドウにおいて計算されたテスト値との間の変化)などのことである。異常トラフィックテスト部132は、適合性テストを実施することにより、このような非正常的現象を探知することができる。
【0065】
図13は、モデリング分析及び異常テストの概要を示す図である。図13に例示するように、実施例1に係るトラフィックプロファイル更新部131及び異常トラフィックテスト部132は、ある分析ウィンドウにおいて観測されたSIPメッセージを、SIPメッセージの種類毎に分類し、分類後のメッセージ群を対象として、モデリング分析や異常トラフィックテストを実施する。また、図13に例示するように、分析結果(非正常的ユーザリストを含む)は、SIPメッセージの種類毎かつ分析ウィンドウ毎に生成され、出力部112を通じてサービスの管理者に報告され、また、分析結果記憶部122に格納される。また、図13に例示するように、非正常的ユーザリストは、アクセス制御など、ネットワーク管理の情報として活用される。
【0066】
[分析結果集計処理]
次に、分析結果集計部133による分析結果集計処理を説明する。図14は、分析結果集計部133による処理手順を示すフローチャートである。図14に例示するように、分析結果集計部133は、1週トラフィック分析を開始するか否かを判定している(ステップS301)。例えば、トラフィック分析システム100の操作者が『1週トラフィック分析』のアイコンを押下することを契機として、また、例えば、設定された所定のタイミングを契機として、分析結果集計部133は、1週トラフィック分析を開始する(ステップS301肯定)。
【0067】
次に、分析結果集計部133は、分析結果記憶部122から、1日トラフィック分析の分析結果を、1週間分ロードする(ステップS302)。そして、分析結果集計部133は、ロードした1週間分の分析結果を集計し(ステップS303)、1週トラフィック分析の分析結果として、分析結果記憶部122に格納する(ステップS304)。
【0068】
例えば、長期間(例えば1週間など)の分析結果が必要な場合に活用できる。例えば、分析結果集計部133は、分析結果記憶部122に記憶された短期間(例えば1日など)の分析結果を集計・要約し、長期間(例えば1週間など)の分析結果を得る。
【0069】
[実施例1の効果]
上述したように、実施例1においては、トラフィックプロファイル更新部131が、IPネットワーク1を流れるトラフィックを所定の間隔でモデリング分析し、正常なトラフィックの特性を示すトラフィックプロファイルを更新する。また、異常トラフィックテスト部132が、IPネットワーク1を流れるトラフィックをトラフィックプロファイルを用いて分析し、該トラフィックに含まれる異常トラフィックを探知する。また、トラフィックプロファイルの更新や、更新されたトラフィックプロファイルを用いた異常トラフィックの探知は、継続的に行われる。このように、実施例1においては、トラフィックプロファイルを適宜更新することによりトラフィックプロファイルにIPネットワーク1の最新の状況を反映し、最新の状況が反映されたトラフィックプロファイルを用いて異常トラフィックを探知するので、高い精度で、かつ継続的に、異常トラフィックを探知することが可能になる。
【0070】
例えば、実施例1において、異常トラフィックテスト部132は、IPネットワーク1を流れるトラフィックからメッセージ種別毎のエントロピー値を計算し、計算したエントロピー値とトラフィックプロファイル記憶部121に記憶されたエントロピー値とを比較することで、該トラフィックに含まれる異常なトラフィックを探知する。また、実施例1において、異常トラフィックテスト部132は、IPネットワーク1を流れるトラフィックからメッセージ種別毎のメッセージ数を計上するとともに、トラフィックプロファイル記憶部121に記憶された出現頻度を用いてメッセージ種別毎の期待値を計算し、計上されたメッセージ数と計算された期待値とを用いて分析することで、該トラフィックに含まれる異常なトラフィックを探知する。
【0071】
さらに、実施例1において、異常トラフィックテスト部132は、IPネットワーク1を流れるトラフィックを、正常なトラフィックと異常なトラフィックとに区分けし、異常なトラフィックに区分けされたトラフィックの送信元を識別する情報を特定し、特定した情報を用いて非正常的ユーザリストを作成する。
【0072】
ここで、インターネット電話サービスを安全かつ効率的に管理するためには、トラフィックの特性及び変化を継続的に観察するトラフィック分析システムの役割が重要となる。また、このようなトラフィック分析システムには、その分析結果をサービスの管理者に報告する機能や、非正常的なユーザを監視する機能が望まれる。この点、実施例1に係るトラフィック分析システム100は、IPネットワーク1を流れるトラフィックを継続的にモデリング分析し、最新のIPネットワーク1の状況が反映されたトラフィックプロファイルを継続的に更新し、このようなトラフィックプロファイルを用いて異常トラフィックを探知するので、トラフィックの特性及び変化を継続的に観察することができる。例えば、インターネット電話サービスの管理者は、インターネット電話サービスにおける使用量の変化や使用パターンなどを確認することができる。
【0073】
また、実施例1に係るトラフィック分析システム100は、分析結果をUIを通じて管理者に報告する機能を有し、かつ、分析結果記憶部122に格納する機能も有する。さらに、実施例1に係るトラフィック分析システム100は、非正常的ユーザリストを継続的に生成・更新し、これらをUIを通じて管理者に報告したり、別途アクセス制御に活用させるなどすることで、非正常的なユーザを継続的に監視する機能も有する。
【0074】
また、実施例1に係るトラフィック分析システム100は、分析対象とするトラフィックを、SIPメッセージの種類毎、分析ウィンドウ毎に分類した上で分析を行い、その分析結果を報告、蓄積する機能を有する。言い換えると、実施例1に係るトラフィック分析システム100は、細かい粒度でトラフィック分析を行うことで、高い精度で異常トラフィックを探知することができる。例えば、トラフィック分析システム100は、SIPメッセージの種類毎に分析を行うので、特定の種類のSIPメッセージを悪用したネットワーク攻撃などに対応することが容易になる。
【0075】
なお、トラフィック分析システム100は、例えば、トラフィックをSIPメッセージの種類毎に分類することなく、全SIPメッセージを対象として、上記と同様の手法によりトラフィックプロファイルを作成し、異常トラフィックテストを行ってもよい。この場合には、トラフィック分析システム100は、細かい粒度のトラフィック分析と、全体的なトラフィック分析との双方の分析結果を得ることが可能になり、サービスの管理者は、種類毎のメッセージの変化と、全体的なトラフィックの変化とを確認することが可能になる。
【0076】
また、実施例1に係るトラフィック分析システム100は、1日トラフィック分析、1週トラフィック分析など、ある分析結果をさらに集計・要約するなどして、他の観点からの分析も行い、多面的な分析結果を提供することができる。通常、異常トラフィックは、一時的に発生するのではなく、長期間ある程度決まったパターンで発生する場合が多い。短期間の分析(例えば1日トラフィック分析など)による分析結果に基づいて異常トラフィックを探知することも可能であるが、この分析結果をさらに集計・要約するなどした長期間の分析(例えば1週トラフィック分析など)によれば、異常トラフィックのパターンまで適切に特定することが可能になる。例えば、長期間の分析結果に基づいて、どのような経路を通じて異常トラフィックが流入しているのか、といったパターンを特定し、例えば特定のソース(source、送信元)から流入されるトラフィックを遮断する、といった制御も可能になる。なお、「1日」、「1週」といった単位は任意に変更することが可能である。
【0077】
以上のように、実施例1に係るトラフィック分析システム100は、時間スケール別かつSIPメッセージの種類別に、統計的手法による多面的なトラフィック分析を行い、その結果、異常トラフィックを探知し、非正常的ユーザリストを作成して、これを継続的に管理することにより、高い精度で、かつ継続的に、異常トラフィック及び非正常的ユーザを監視する。
【実施例2】
【0078】
これまで、開示の技術に係るトラフィック分析システム及びトラフィック分析方法の実施例として実施例1を説明してきたが、開示の技術はこれに限られるものではない。種々の異なる形態にて実施されてよいものである。
【0079】
上記実施例1においては、トラフィック分析システム100が、分析結果集計部133を備える例を説明したが、開示の技術はこれに限られるものではなく、トラフィック分析システム100は、必ずしも分析結果集計部133を備える必要はない。すなわち、上記実施例1においては、トラフィック分析システム100が、1日単位のトラフィック分析及び1週単位のトラフィック分析の双方を行う例を説明したが、トラフィック分析を行う単位は任意に変更可能であり、また、ある単位で行われたトラフィック分析の分析結果を集計するか否かも任意に変更可能である。
【0080】
また、上記実施例1においては、トラフィック分析システム100が、異常トラフィックテストとして、非正常メッセージ探知テスト、エントロピー比較テスト、及び適合性テストの3つのテストを行う例を説明したが、開示の技術はこれに限られるものではない。例えば、トラフィック分析システム100は、非正常メッセージ探知テストを行わなくてもよいし、また、エントロピー比較テストや適合性テストに替えて他のテストを行ってもよい。すなわち、異常トラフィックを探知するための異常トラフィックテストとしてどのようなテストを行うかは任意に変更可能である。
【0081】
また、上記実施例1においては、開示の技術に係るトラフィック分析の対象の一例として、SIPを基盤とするインターネット電話サービスを説明したが、開示の技術はこれに限られるものではなく、ネットワークにおけるトラフィック分析であれば同様に適用することができる。図1に例示したようなクライアントとサーバとの間のトラフィック分析に限られるものでもない。
【0082】
また、上記実施例1において説明したエントロピー比較テストや適合性テストによるテスト結果と、非正常的ユーザリストの生成とを連携させてもよい。ここで、エントロピー比較テストも適合性テストも、そのテストの結果は、異常トラフィックの有無を探知するものである。エントロピー比較テストや適合性テストにおいて異常トラフィックの有無が探知されると、異常トラフィックが有るとされた分析ウィンドウが特定される。そこで、例えば、異常トラフィックテスト部132は、この特定した分析ウィンドウに対応する非正常メッセージ探知テストを行って、非正常的ユーザリストを作ってもよい。
【0083】
[トラフィック分析プログラム]
また、上記実施例1において説明したトラフィック分析方法は、トラフィック分析プログラムによる情報処理がコンピュータを用いて具体的に実現されることで実行されてもよい。コンピュータは、例えば、CPUと、システムメモリと、ハードディスクドライブインタフェースと、ディスクドライブインタフェースと、シリアルポートインタフェースと、ビデオアダプタと、ネットワークインタフェースとを有し、これらの各部はシステムバスによって接続される。システムメモリは、ROM及びRAMを含む。ROMは、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェースは、ハードディスクドライブに接続される。ディスクドライブインタフェースは、ディスクドライブに接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェースは、例えば、マウス、キーボードに接続される。ビデオアダプタは、例えば、ディスプレイに接続される。
【0084】
ここで、ハードディスクドライブは、例えば、OS(Operating System)、アプリケーションプログラム、プログラムモジュール、プログラムデータを記憶する。すなわち、開示の技術に係るトラフィック分析プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクに記憶される。具体的には、上記実施例で説明したトラフィックプロファイル更新部131と同様の処理を実行する手順と、異常トラフィックテスト部132と同様の処理を実行する手順と、分析結果集計部133と同様の処理を実行する手順とが記述されたプログラムモジュールが、ハードディスクに記憶される。
【0085】
また、上記実施例で説明したトラフィックプロファイル記憶部121及び分析結果記憶部122に記憶されるデータのように、トラフィック分析プログラムによる処理に用いられるデータは、プログラムデータとして、例えばハードディスクに記憶される。そして、CPUが、ハードディスクに記憶されたプログラムモジュールやプログラムデータを必要に応じてRAMに読み出し、上記手順を実行する。
【0086】
なお、トラフィック分析プログラムに係るプログラムモジュールやプログラムデータは、ハードディスクに記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPUによって読み出されてもよい。あるいは、トラフィック分析プログラムに係るプログラムモジュールやプログラムデータは、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェースを介してCPUによって読み出されてもよい。
【符号の説明】
【0087】
100 トラフィック分析システム
111 入力部
112 出力部
121 トラフィックプロファイル記憶部
122 分析結果記憶部
131 トラフィックプロファイル更新部
132 異常トラフィックテスト部
133 分析結果集計部
【特許請求の範囲】
【請求項1】
ネットワークを流れるトラフィックを時系列に記憶するトラフィック記憶手段と、
正常なトラフィックの特性を示す特性情報を記憶する特性情報記憶手段と、
前記トラフィック記憶手段から所定の間隔毎に最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックを異常なトラフィックと正常なトラフィックとに区分けし、区分けした正常なトラフィックを用いて算出した特性情報により前記特性情報記憶手段に記憶された特性情報を更新する更新手段と、
前記トラフィック記憶手段から最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックの特性を示す値を算出し、算出した値と前記特性情報記憶手段に記憶された最新の特性情報との比較結果に基づいて、該トラフィックに含まれる異常なトラフィックの有無を判定する判定手段と
を備えたことを特徴とするトラフィック分析システム。
【請求項2】
前記特性情報記憶手段は、前記特性情報としてメッセージ種別毎のエントロピー値を記憶し、
前記判定手段は、前記トラフィック記憶手段から読み出した最新のトラフィックからメッセージ種別毎のエントロピー値を計算し、計算したエントロピー値と前記特性情報記憶手段に記憶されたエントロピー値とを比較することで、該トラフィックに含まれる異常なトラフィックの有無を判定することを特徴とする請求項1に記載のトラフィック分析システム。
【請求項3】
前記特性情報記憶手段は、前記特性情報としてメッセージ種別毎の出現頻度を記憶し、
前記判定手段は、前記トラフィック記憶手段から読み出した最新のトラフィックからメッセージ種別毎のメッセージ数を計上するとともに、前記特性情報記憶手段に記憶された出現頻度を用いてメッセージ種別毎の期待値を計算し、計上されたメッセージ数と計算された期待値とを用いて分析することで、該トラフィックに含まれる異常なトラフィックの有無を判定することを特徴とする請求項1に記載のトラフィック分析システム。
【請求項4】
前記トラフィック記憶手段から読み出した最新のトラフィックを、正常なトラフィックと異常なトラフィックとに区分けする区分け手段と、
前記異常なトラフィックに区分けされたトラフィックの送信元を識別する利用者情報を特定し、特定した利用者情報を用いて異常利用者の一覧を作成する一覧作成手段と
をさらに備えたことを特徴とする請求項1〜3のいずれか一つに記載のトラフィック分析システム。
【請求項5】
前記判定手段による判定結果、および/または、前記一覧作成手段により作成された一覧を、出力部を介して報告する報告手段をさらに備えたことを特徴とする請求項1〜4のいずれか一つに記載のトラフィック分析システム。
【請求項6】
前記トラフィック記憶手段から最新のトラフィックを読み出し、読み出したトラフィックをメッセージ種別毎に分析することによりメッセージ種別毎の状態および/または変化を示す分析結果を生成するメッセージ種別毎分析手段をさらに備え、
前記報告手段は、さらに、前記メッセージ種別毎分析手段により生成された分析結果を出力部を介して報告することを特徴とする請求項5に記載のトラフィック分析システム。
【請求項7】
コンピュータが、
ネットワークを流れるトラフィックを時系列に記憶するトラフィック記憶手段と、
正常なトラフィックの特性を示す特性情報を記憶する特性情報記憶手段として機能し、
前記トラフィック記憶手段から所定の間隔毎に最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックを異常なトラフィックと正常なトラフィックとに区分けし、区分けした正常なトラフィックを用いて算出した特性情報により前記特性情報記憶手段に記憶された特性情報を更新する更新工程と、
前記トラフィック記憶手段から最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックの特性を示す値を算出し、算出した値と前記特性情報記憶手段に記憶された最新の特性情報との比較結果に基づいて、該トラフィックに含まれる異常なトラフィックの有無を判定する判定工程と
を含んだことを特徴とするトラフィック分析方法。
【請求項1】
ネットワークを流れるトラフィックを時系列に記憶するトラフィック記憶手段と、
正常なトラフィックの特性を示す特性情報を記憶する特性情報記憶手段と、
前記トラフィック記憶手段から所定の間隔毎に最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックを異常なトラフィックと正常なトラフィックとに区分けし、区分けした正常なトラフィックを用いて算出した特性情報により前記特性情報記憶手段に記憶された特性情報を更新する更新手段と、
前記トラフィック記憶手段から最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックの特性を示す値を算出し、算出した値と前記特性情報記憶手段に記憶された最新の特性情報との比較結果に基づいて、該トラフィックに含まれる異常なトラフィックの有無を判定する判定手段と
を備えたことを特徴とするトラフィック分析システム。
【請求項2】
前記特性情報記憶手段は、前記特性情報としてメッセージ種別毎のエントロピー値を記憶し、
前記判定手段は、前記トラフィック記憶手段から読み出した最新のトラフィックからメッセージ種別毎のエントロピー値を計算し、計算したエントロピー値と前記特性情報記憶手段に記憶されたエントロピー値とを比較することで、該トラフィックに含まれる異常なトラフィックの有無を判定することを特徴とする請求項1に記載のトラフィック分析システム。
【請求項3】
前記特性情報記憶手段は、前記特性情報としてメッセージ種別毎の出現頻度を記憶し、
前記判定手段は、前記トラフィック記憶手段から読み出した最新のトラフィックからメッセージ種別毎のメッセージ数を計上するとともに、前記特性情報記憶手段に記憶された出現頻度を用いてメッセージ種別毎の期待値を計算し、計上されたメッセージ数と計算された期待値とを用いて分析することで、該トラフィックに含まれる異常なトラフィックの有無を判定することを特徴とする請求項1に記載のトラフィック分析システム。
【請求項4】
前記トラフィック記憶手段から読み出した最新のトラフィックを、正常なトラフィックと異常なトラフィックとに区分けする区分け手段と、
前記異常なトラフィックに区分けされたトラフィックの送信元を識別する利用者情報を特定し、特定した利用者情報を用いて異常利用者の一覧を作成する一覧作成手段と
をさらに備えたことを特徴とする請求項1〜3のいずれか一つに記載のトラフィック分析システム。
【請求項5】
前記判定手段による判定結果、および/または、前記一覧作成手段により作成された一覧を、出力部を介して報告する報告手段をさらに備えたことを特徴とする請求項1〜4のいずれか一つに記載のトラフィック分析システム。
【請求項6】
前記トラフィック記憶手段から最新のトラフィックを読み出し、読み出したトラフィックをメッセージ種別毎に分析することによりメッセージ種別毎の状態および/または変化を示す分析結果を生成するメッセージ種別毎分析手段をさらに備え、
前記報告手段は、さらに、前記メッセージ種別毎分析手段により生成された分析結果を出力部を介して報告することを特徴とする請求項5に記載のトラフィック分析システム。
【請求項7】
コンピュータが、
ネットワークを流れるトラフィックを時系列に記憶するトラフィック記憶手段と、
正常なトラフィックの特性を示す特性情報を記憶する特性情報記憶手段として機能し、
前記トラフィック記憶手段から所定の間隔毎に最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックを異常なトラフィックと正常なトラフィックとに区分けし、区分けした正常なトラフィックを用いて算出した特性情報により前記特性情報記憶手段に記憶された特性情報を更新する更新工程と、
前記トラフィック記憶手段から最新のトラフィックを読み出し、読み出したトラフィックを分析することにより該トラフィックの特性を示す値を算出し、算出した値と前記特性情報記憶手段に記憶された最新の特性情報との比較結果に基づいて、該トラフィックに含まれる異常なトラフィックの有無を判定する判定工程と
を含んだことを特徴とするトラフィック分析方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−244098(P2011−244098A)
【公開日】平成23年12月1日(2011.12.1)
【国際特許分類】
【出願番号】特願2010−112478(P2010−112478)
【出願日】平成22年5月14日(2010.5.14)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成23年12月1日(2011.12.1)
【国際特許分類】
【出願日】平成22年5月14日(2010.5.14)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]