(57)【要約】【課題】従来からあるネットワークの監視方法では事前に設定を行い、設定に該当する通信を許可または遮断する。このような手法では正規ユーザが不正な挙動を行った場合に対応することができず、不正な通信の発見に時間がかかり被害が深刻化するため、動的に不正な通信を発見し、遮断する方法が必要になる。【解決手段】L3SWでパケットキャプチャを実施する。キャプチャしたデータからユーザ毎にトラフィックを監視する閾値を算出し、ユーザ毎の通信トラフィックが閾値の範囲内に収まっているか監視する。【選択図】図２
2016010089.tif 000002
【特許請求の範囲】
【請求項１】
第一のノードを収容する第一のL3SWと、第二のノードを収容する第二のL3SWと、を介して前記第一のノードと前記第二のノードとが接続されるネットワークシステムにおける、前記第一のノードと前記第二のノード間のトラフィックを監視するシステムであって、
前記第二のL3SWは、
前記トラフィックの前記第一のノードから送出されるパケットをキャプチャする機能と、
前記ネットワークシステムに係る特別なイベントの有無を調べる機能と、
特別なイベントが無い場合は、前記キャプチャにより取得したデータから、所定間隔の時点毎に、許容するトラフィック増減率の閾値を算出する機能と、
特別なイベントがある場合は、前記特別なイベントに合わせた前記許容するトラフィック増減率の閾値を取得する機能と、
算出または取得した前記閾値に基づき、前記第一のノードからの前記トラフィックの遮断要否を決定する機能と、を備える
ことを特徴とするトラフィック監視システム。
【請求項２】
請求項１に記載のトラフィック監視システムにおいて、
前記第二のL3SWの前記閾値を算出する機能は、
キャプチャした前記パケットを計数する機能と、
キャプチャした前記パケットから、送信元と送信先とを特定する情報を抽出する機能と、
抽出した、前記送信元を特定する情報と、前記送信先を特定する情報と、の組合せ毎に、前記時点毎のパケット数に基づき、トラフィック量の増減率の前記閾値を算出する機能と、を備える
ことを特徴とするトラフィック監視システム。
【請求項３】
請求項１または2に記載のトラフィック監視システムにおいて、
イベント管理サーバを備え、
前記特別なイベントの有無を調べる機能は、
前記イベント管理サーバへ、前記ネットワークシステムに係る特別なイベントの有無を問い合わせ、
前記問い合わせの結果、前記特別なイベントがある場合は、前記第二のL3SWの前記閾値を算出する機能は、前記特別なイベントに係る過去のパケット増減率の閾値を取得する
ことを特徴とするトラフィック監視システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は不正なトラフィックの検知と遮断を行う方法及びシステムに係る。
【背景技術】
【０００２】
インターネットの利用時間は人の生活サイクルに依存しており、ネットワーク上のパケット数は毎日ある程度似たパターンで推移する。そのためあるシステムを利用するユーザが、システムを利用する時間帯もある程度集中し、ユーザに依存する部分もあるものの、特別なイベントがない限り、繁忙期と閑散期が似たような時間帯に発生する。また特別なイベントが開始されるとパケット数が通常のパターンとは異なり、不規則に変化する場合もある。
【０００３】
これらのトラフィックを監視する従来手法に用いる下記製品や技術が知られている。
（１）ファイアウォール（以下、FW）
FWはインターネットからイントラネットに入る際のパケットを監視し、決めたらルールを元にパケットの通過許可、遮断を行う。既存のFW製品の多くは不正パケットの進入を検知する機能であるIntrusion Detection System（以下、IDS）やIDSの機能にパケットを遮断する機能もたせたIntrusion Prevention System（以下、IPS）によりインターネット上のパケットを監視する。
（２）レイヤー2スイッチ（以下、L2SW）、レイヤー3スイッチ（以下、L3SW）
L2SWはデータリンク層でMedia Access Control address（以下、MACアドレス）やVirtual Local Area Network（以下、VLAN）とポートを関連付け、パケットを転送する。L3SWはネットワーク層でInternet Protocol address（以下、IPアドレス）とポートを関連付け、パケットを転送する。L2SW、L3SWは装置がパケットのフィルタ機能を有しているものが多く、事前に許可する通信を設定し不要なパケットを遮断する。
【０００４】
これらの機器は事前に設定した定義ファイルの内容に従い、ネットワークのセキュリティを確保するが、ネットワークの状況は日々変化しており、事前に設定した内容だけでは、セキュリティを確保することは難しい。すなわち、該当アドレス、ポートまたは特殊な定義ファイルを設定し、そのパターンにあった通信を検知するため、例えば、通常ユーザが不正な挙動を行った場合の監視をすることはできない。
【０００５】
この問題に対して、特許文献１では、以下の手法を提案している。すなわち、L2SWに届いたパケットのMACアドレスが未知の場合はプローブパケットを受信インタフェース以外のすべてのインタフェースに同報通信する。応答がなかったインタフェースへは、未知のパケットの転送は行わず、応答が返ってきたインタフェースへはパケットを転送し、MACアドレスを登録しパケットを監視する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−５０５１７５公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１はMACアドレスを管理しているリストを更新し、パケットをフィルタする方法を提案（段落００１７、００１８）しているが、レイヤー2のMACアドレスを対象としたフィルタであり、レイヤー3の機能であるIPアドレスやポート番号などを使用した監視については開示しておらず、MACアドレス以外の不正な通信を監視できない。
【０００８】
近年のインターネットにおける、コンピュータウィルスによる不正なパケットの連続送信や、ユーザのネットワーク構成の不具合などによりネットワークがループ構成となり起こるフラッディング、の場合、MACアドレスの監視だけではパケットを遮断することができない。
【０００９】
したがって、レイヤー2より高いレイヤーで汎用的に監視が可能となるレイヤー3のIPアドレスを使用して、ネットワークを監視できることが望まれる。
【００１０】
L3SWで行う従来のパケットフィルタ制御は、事前に通信を許可または拒否する送信元や送信先のIPアドレスを設定し、設定した内容に沿った通信を許可するもので、フィルタ設定はすべて事前に設定しておく必要がある。
【００１１】
そのため、以下のように、直前まで正規の通信を行っていたユーザがコンピュータウィルスに感染した場合やネットワーク構成の誤りなどでパケットのフラッディングが発生した場合、従来のL3SWではパケットをフィルタすることができない。
【００１２】
（１)通常ユーザが不正ユーザに変わってしまった場合
直前までサービス提供者が提供するサービスを正規に利用していたユーザがコンピュータウィルスに感染した場合、ネットワークに影響を与える不正なユーザへと変化してしまう。
【００１３】
コンピュータウィルスには感染したコンピュータのIPアドレスは変えずに多量パケットを送信するものが存在する。もしコンピュータウィルスに関したコンピュータが送信するパケットがL3SWのフィルタを通過できた場合、多量のパケットがネットワークに流れるためネットワークに大きな負荷を与え、提供者が提供するサービスや他のユーザが利用するサービスに影響を与えてしまう。
【００１４】
（２）ネットワーク構成の誤りなどでパケットのフラッディングが発生した場合
ユーザが利用するネットワークが誤ってループ構成となったり、障害などによりループ構成となったりした場合、パケットのフラッディングが発生する。
【００１５】
フラッディングは送信元のIPアドレスを変更することはないため、L3SWが同一のネットワークの場合は通信が許可される。フラッディングネットワーク上に多量のパケットを流すため、ネットワークに大きな負荷を与え、提供者が提供するサービスや他のユーザが利用するサービスに影響を与えてしまう。
【００１６】
もし通常ユーザが不正ユーザに変わってしまった場合、またネットワーク上でフラッディングが発生した場合にその通信を抑制することは困難である。
【課題を解決するための手段】
【００１７】
本発明は、トラフィックの経時変化の観察により、通信異常を検知する手法を提供する。
【００１８】
具体的には、装置の状態を監視し、過去のトラフィックと現在のトラフィックとの比較により、ネットワークの異常を検知する手法を提供する。
【００１９】
すなわち、通常時に流れるネットワークのトラフィックをL3SWで観測し、通常ユーザが不正な挙動を行った際の異常を検出し、不正行為を行うユーザの通信を遮断する。
【００２０】
開示されるのは、
第一のノードを収容する第一のL3SWと、第二のノードを収容する第二のL3SWと、を介して第一のノードと第二のノードとが接続されるネットワークシステムにおける、第一のノードと第二のノード間のトラフィックを監視するトラフィック監視システムである。
【００２１】
より具体的には、第二のL3SWは、トラフィックの第一のノードから送出されるパケットをキャプチャする機能と、ネットワークシステムに係る特別なイベントの有無を調べる機能と、特別なイベントが無い場合は、キャプチャにより取得したデータから、所定間隔の時点毎に、許容するトラフィック増減率の閾値を算出する機能と、特別なイベントがある場合は、特別なイベントに合わせた許容するトラフィック増減率の閾値を取得する機能と、算出または取得した閾値に基づき、第一のノードからのトラフィックの遮断要否を決定する機能と、を備えることを特徴とするトラフィック監視システムである。
【００２２】
さらに、上記第二のL3SWの閾値を算出する機能は、キャプチャしたパケットを計数する機能と、キャプチャしたパケットから、送信元と送信先とを特定する情報を抽出する機能と、抽出した、送信元を特定する情報と、送信先を特定する情報と、の組合せ毎に、時点毎のパケット数に基づき、トラフィック量の増減率の閾値を算出する機能と、を備えるように構成しても良い。
【００２３】
さらに、トラフィック監視システムがイベント管理サーバを備え、上記第二のL3SWの特別なイベントの有無を調べる機能は、イベント管理サーバへ、ネットワークシステムに係る特別なイベントの有無を問い合わせ、問い合わせの結果、特別なイベントがある場合は、上記第二のL3SWの閾値を算出する機能は、特別なイベントに係る過去のパケット増減率の閾値を取得するように構成しても良い。
【発明の効果】
【００２４】
本発明によれば、トラフィックの経時変化の観察により、通信異常を検知することができる。
【図面の簡単な説明】
【００２５】
【図１】実施例におけるトラフィック監視システムの全体構成を例示する図。
【図２】図１のL3SWにおける処理概略を例示する図
【図３】実施例における閾値設定と監視の処理フロー例を示す図。
【図４】実施例における閾値算出方法を例示する図。
【図５】実施例における異常検知フロー概要を示す図。
【図６】実施例における、キャプチャデータと閾値を格納する閾値表0600の、ユーザAの端末に係るデータを例示する図
【図７】実施例における閾値表0600の、ユーザBの端末に係るデータを例示する図。
【発明を実施するための形態】
【００２６】
図を参照して本発明の実施例を説明する。
【００２７】
本実施例では、通常時に流れるネットワークのトラフィックをL3SWで観測し、通常ユーザが不正な挙動を行った際の異常を検出し、不正行為を行うユーザの通信を遮断する通信システムを説明する。
【００２８】
本実施例の概要を以下に示す。
【００２９】
L3SWなどのネットワーク機器にサーバの機能を組み込み、インタフェースを通過するパケットをL3SW監視する。L3SWにサーバでネットワークを監視できるパケットキャプチャ（snort等）をインストールすることで、パケット数の監視、不正アクセスの検知を行う。
【００３０】
パケットキャプチャ（snort等）で取得した不正アクセスのログから、次の観測時点のパケット数の上下限量を想定し、次の観測次官で観測したパケット数が想定外となったパケットを送信したユーザのアカウントをIPアドレスから結び付け、ユーザの通信を遮断し、サービスの利用ができないようにする。
【００３１】
L3SWでユーザから発信されるトラフィックをキャプチャし、ユーザ1日のトラフィックの推移を取得し、ユーザの挙動を監視する閾値を動的に算出し、ユーザの送信するトラフィックの異常を検知した場合、L3SWで動的にユーザのトラフィックを停止させ、ネットワーク全体に与える影響を極小化する機能を持つ。
【００３２】
トラフィックパターンの比較を行い、例えば、以下の通り、トラフィックの監視と制御を行う。
(1)想定のトラフィック量の増減量は前回の想定トラフィック量の割合（増減率）で算出する。
(2)算出した増減率に対して、所定の範囲（例えば、マイナス20％〜プラス20％）で上下の増減率の限界値を設定する。
(3)次の時点に取得したトラフィック量の増減率が限界値内に入っているか判定する。
(4)上下限界値を超えている場合、対象ユーザの通信を遮断する。これによりサービスを停止する。
(5)特別なイベント（サービスのリリースなど）があった場合、算出の幅を過去のイベントの増減率の限界値に変更し、次回計測値が範囲に入るか監視する。
【００３３】
以下、本実施例をより具体的に説明する。
【００３４】
本実施例のより具体的な構成では、図１に例示するようにL3SW(0106)は、第一のノードとしてのユーザA(0101)の端末(0109)とユーザBの端末(0110)と、第二のノードとしての配信サーバ（0107））の間の、インターネット(0105)を経由してやり取りされるトラフィックを中継している。
【００３５】
L3SW(0106)は、収容しているユーザAのL3SW（0102）、ユーザBのL3SW（0104）に設定されているユーザA LAN(0101)、ユーザB LAN（0103）のIPアドレスと、配信サーバ(0107)のIPアドレスと、を元にフィルタの設定を行い、ネットワークの監視を行う。
【００３６】
L3SW(0106)は、図２に例示するようにユーザAのL3SW(0102)が収容しているユーザA(0101)の端末から送信されたトラフィック(パケット)をインタフェース(0201)で常時パケットキャプチャする。パケットキャプチャを行った結果からキャプチャデータの正規化（0202）を行いトラフィック量の増減率を算出する(0203)。
【００３７】
キャプチャしたデータの正規化(0202)では送信元を特定するためのIPアドレス、ポート番号、送信先を特定するためのIPアドレス、ポート番号を抽出し、さらにパケット数を数える。キャプチャデータの正規化(0202)を行った際に数えたパケット数（トラフィック量）を使用して、トラフィック量の増減率と、上下限値（閾値）と、を図４の算出手順で算出し、算出したデータをデータベース(0204)に保存する。
【００３８】
正規化したキャプチャデータと算出した閾値は、送信元と送信先との組み合わせ毎に図6のように閾値表(0600)にまとめ、データベース(0204)に保存する。データは1秒、1分毎とネットワークの管理者が指定して管理し、指定した日時単位でデータを更新する。
【００３９】
図３にL3SW（0106）で動作するシステムの処理フローの一例を記載する。
【００４０】
L3SW（0106）はパケットキャプチャ（0301）を行い、取得したデータを基にキャプチャデータの正規化（0202）（0302）を行う。
【００４１】
次に現在の時刻は日付が変わって最初のキャプチャデータの正規化（0202）のタイミングかを確認する（0303）。もし、日付が変わって最初のキャプチャデータの正規化（0202）のタイミングであった場合は、イベント管理サーバ（0108）にその日に特別なイベントがあるか問合せを実施する（0304）。イベント管理サーバ（0108）では、L3SW（0106）が問合せした日に新商品の発売や新サービスの提供など特別なイベントがあるかを登録しておき、L3SW（0106）に回答する。
【００４２】
L3SW（0106）はイベント管理サーバ（0108）の回答から特別なイベントがあるか判断する（0305）。特別なイベントがある場合には、過去の特別なイベント時に算出した、許容する増減率をデータベース（0204）から参照（0308）し、さらにトラフィック量の上下限値をデータベースから取得する（0309）。
【００４３】
特別なイベントがない場合には、正規化したキャプチャデータから現時点の観測したキャプチャデータのトラフィック量と1つ前の時点で観測したトラフィック量からトラフィックの増減率(0306)を算出し、所定の範囲の増減率の上下限値（ここではマイナス20％〜プラス20％とする）を算出する(0307)。
【００４４】
算出したトラフィックの上下限値をL3SW（0106）の監視範囲（0310）とし、これらのデータをデータベース（0204）に保存し(0311)、ユーザ端末による通信の監視を行う（0312）。
【００４５】
もし次回観測したパケット数（トラフィック量）が監視しているパケット数（トラフィック量）の上下限値外となった場合には、ユーザ端末の使用しているIPアドレスを遮断することで、ネットワークに異常な状態が起きないようにする。ここで、前回、次回とは図６に示す取得日時を表しており、仮に今回が2秒前の状態とした場合、前回は3秒前、次回は1秒前の状態を指す。
【００４６】
データベース（0204）への保存内容について記す。
【００４７】
配信サーバ(0107)とユーザA(0101)の端末(0109)から送信されたトラフィックについて、データベースへの保存例を図6に記載した。ユーザA(0101)の端末の3秒前と4秒前のデータから、増減率が1.25倍となっており、増減率の上下限値は1.0-1.5倍となっている。2秒前のデータの増減率は1.2倍となっていることから、想定の範囲内のトラフィックの増減率になり、ユーザA(0101)の端末の通信は許可される（遮断判定0613が−）。
【００４８】
配信サーバ(0107)とユーザB(0103)の端末(0110)から送信されたトラフィックについて、データベースの保存例を図7に記載した。ユーザB(0103)の端末の3秒前と4秒前のデータからの増減率が1.5倍となっているから、増減率の上下限値は1.2-1.8倍となる。2秒前のデータでは増減率が2.0倍となっていることから、想定の範囲外のトラフィックの増減率となり、ユーザB(0103)の端末の通信は遮断される（遮断判定0613が○）。
【００４９】
図4の計算式と図6に示す取得データとに基づき、ユーザAの端末の増減率、増減率の上下限値を算出する方法を、具体的に示す。
【００５０】
ユーザA(0101)の端末の3秒前トラフィック(x)はx=250000である。4秒前のトラフィック(y)は200000である。これより増減率(rate)はrate=250000／200000=1.25になる。
【００５１】
増減率の上下限値は1.25の±20％となるため、上限値（max）はmax = 1.25 × 1.2 = 1.5、下限値（min）はmin = 1.25 × 0.8 = 1.0となる。これより次の観測地点の想定する増減率は1.0〜1.5倍の範囲内となる。
【００５２】
2分前のトラフィック量は300000のため、同様に増減率（rate）を計算すると1.2となるため、増減率の範囲1.0〜1.5に入るため正常な状態となり遮断されない。
【００５３】
本実施例により、以下の効果が得られる。
【００５４】
(1)ネットワークの不具合による大量のパケット送信の防止
サービスを利用するネットワークに不具合があった場合に、該当のサービスを利用するユーザの端末のみへ、多量のパケットが送信されてくる。ネットワークの構築で誤った接続をしてしまった場合やネットワーク障害などで一時的に多量なパケットが発生してしまった場合、前回のトラフィック量から次点の観測時のトラフィック量を想定できていれば、想定のトラフィックを超えたユーザの通信を遮断することでネットワークのサービスを安定して供給することができるようになる。
【００５５】
(2)ユーザ端末がコンピュータウィルスに感染などしている場合への対策
ユーザ端末が、コンピュータウィルスに感染している場合や、不正アクセスなどを行う端末の場合、本来のユーザの活動時間に関係なくトラフィックを送り続けるため、通常とは異なるトラフィックのパターンが検知できる。
【００５６】
またコンピュータウィルスや不正アクセスによる通信ではアドレスの偽装やポートの変更なども可能なため、このような端末を使用しているユーザに対してはサービスの一時停止と連絡を行いネットワーク全体として安心したサービスを提供することができるようになる。
【００５７】
(3)ネットワークの不具合によるサービス提供の不具合への対策
サービスを提供するシステムのアプリケーションに不具合があった場合に、該当のサービスに対してのみ、大量のアクセスが来る、または、アクセスが全く来なくなることが予想できる。
【００５８】
例えば瞬間的に大量のトラフィックが発生する場合は、サービス提供者が提供する商品の価格がアプリケーションの不具合で本来提供される価格に比べ、格安の条件で提供できる状態になってしまっていた場合、ユーザはその商品に対して大量の注文を行うことが予想でき、ネットワークを流れるトラフィック量が大幅に増加すると考えられる。
【００５９】
またトラフィックがまったくなくなる場合は、システムトラブルの発生により、サービスの提供が一時的に遅延するまたは最悪の場合サービスが提供できない状態になっていると考えられる。このような事態になった場合には該当サービスにアクセスをできなくすることにより、ユーザや企業が被る損害を抑えることができる。
【００６０】
(4)L3SWの機能でネットワークのセキュリティを向上
L3SWでネットワークを監視するため、コストをかけずにセキュリティレベルの向上が可能になる。
【００６１】
(5)ユーザの通信パターンの可視化によるサービスの向上
L3SWで通信ログをユーザ端末毎に保存できるため、後で問題が発生した場合の通信ログをそのルータ、L3SWを調べることで確認できるようになる。また、ルータ、L3SWのスループットなども保存されるデータからリプレースが必要かの判断ができるようになる。
【符号の説明】
【００６２】
0101： ユーザA LAN
0102： ユーザAの端末 L3SW
0103： ユーザB LAN
0104： ユーザB L3SW 
0105： Internet
0106： L3SW
0107： 配信サーバ
0108： イベント管理サーバ
0201： L3SWのインタフェース
0202： L3SW内でのキャプチャデータ正規化機能
0203： L3SW内での閾値決定機能
0204： L3SW内のデータベース
0301： パケットキャプチャ情報取得
0302： パケットキャプチャ情報の正規化
0303： 日付が変わった最初の問合せか
0304： イベント情報を管理しているサーバから当日のイベント情報を取得
0305： 特別なイベントがあるか
0306： トラフィック量増減率算出
0307： トラフィック量±２０％算出
0308： イベント時のトラフィック量の増減率をデータベースから取得
0309： イベント時のトラフィック量の上下限値をデータベースから取得
0310： トラフィック量の上下限値をユーザの監視域とする
0311： データベース保存
0312： 監視開始
0600： 閾値表
0601： 取得時刻 何秒前
0602： 取得日 YYYYMMDD
0603： 取得時刻 HH:MM:SS
0604： 送信元情報
0605： IPアドレス
0606： ポート番号
0607： 送信先情報
0608： トラフィック量（bps/s）
0609： 取得データ
0610： 増減率
0611： 増減率下閾値
0612： 増減率上閾値
0613： 遮断判定
【図１】
2016010089.tif 000003
【図２】
2016010089.tif 000004
【図３】
2016010089.tif 000005
【図４】
2016010089.tif 000006
【図５】
2016010089.tif 000007
【図６】
2016010089.tif 000008
【図７】
2016010089.tif 000009