(57)【要約】【課題】自ＡＳから送信したプローブパケットに対する応答により直接観測することができない、攻撃に関係する可能性のある経路の状態変化を検知すること。【解決手段】プローブ送受信部１５ａが、指定された宛先への経路を構成する各ノードにプローブパケットを送信し、算出部１５ｃが、各ノードから受信したプローブパケットに対する応答から該各ノードの状態を表す特徴量を算出し、検知モデル管理部１５ｄがノード間での特徴量の相関を反映した検知モデルを構築し、検知実行部１５ｅが、検知モデル管理部１５ｄが構築した検知モデルと、該検知モデルが構築された後に受信したプローブパケットに対する応答から算出部１５ｃが算出した特徴量とを用いて、ノード間の相関関係の変化を検知する。【選択図】図１
2017208652.tif 000002
【特許請求の範囲】
【請求項１】
指定された宛先への経路を構成する各ノードにプローブパケットを送信する送信部と、
前記各ノードから受信した前記プローブパケットに対する応答から該各ノードの状態を表す特徴量を算出する算出部と、
前記ノード間での前記特徴量の相関を反映したモデルを構築する構築部と、
前記構築部が構築した前記モデルと、該モデルが構築された後に受信した前記プローブパケットに対する応答から前記算出部が算出した特徴量とを用いて、前記ノード間の相関関係の変化を検知する検知部と、
を備えることを特徴とする検知装置。
【請求項２】
指定された宛先への経路を構成する各ノードにプローブパケットを送信する送信部と、
前記各ノードから受信した前記プローブパケットに対する応答から、宛先ごとに想定される複数の各経路の状態を表す特徴量を算出する算出部と、
前記経路間での前記特徴量の相関を反映したモデルを構築する構築部と、
前記構築部が構築した前記モデルと、該モデルが構築された後に受信した前記プローブパケットに対する応答から前記算出部が算出した特徴量とを用いて、前記経路間の相関関係の変化を検知する検知部と、
を備えることを特徴とする検知装置。
【請求項３】
前記検知部による変化の検知結果が所定の閾値を超えた場合に、変化に関する情報を出力する出力部をさらに備えることを特徴とする請求項１または２に記載の検知装置。
【請求項４】
複数の前記送信部を備えることを特徴とする請求項１〜３のいずれか１項に記載の検知装置。
【請求項５】
検知装置で実行される検知方法であって、
指定された宛先への経路を構成する各ノードにプローブパケットを送信する送信工程と、
前記各ノードから受信した前記プローブパケットに対する応答から該各ノードの状態を表す特徴量を算出する算出工程と、
前記ノード間での前記特徴量の相関を反映したモデルを構築する構築工程と、
前記構築工程において構築された前記モデルと、該モデルが構築された後に受信した前記プローブパケットに対する応答から前記算出工程において算出された特徴量とを用いて、前記ノード間の相関関係の変化を検知する検知工程と、
を含んだことを特徴とする検知方法。
【請求項６】
検知装置で実行される検知方法であって、
指定された宛先への経路を構成する各ノードにプローブパケットを送信する送信工程と、
前記各ノードから受信した前記プローブパケットに対する応答から、宛先ごとに想定される複数の各経路の状態を表す特徴量を算出する算出工程と、
前記経路間での前記特徴量の相関を反映したモデルを構築する構築工程と、
前記構築工程において構築された前記モデルと、該モデルが構築された後に受信した前記プローブパケットに対する応答から前記算出工程において算出された特徴量とを用いて、前記経路間の相関関係の変化を検知する検知工程と、
を含んだことを特徴とする検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検知装置および検知方法に関する。
【背景技術】
【０００２】
インターネットでは、通信経路を構成するＡＳ（Autonomous  System，自律システム）間の経路制御はＢＧＰ（Border  Gateway  Protocol）に従って行われている（非特許文献１参照）。ＢＧＰでは、各ＡＳが自身の保有するＩＰアドレスを他のＡＳに周知することにより、他のＡＳから自ＡＳのＩＰアドレスへの通信を到達させている。各ＡＳは、受信したＢＧＰの制御メッセージ（BGP  Update）に自身の経路制御ポリシを適用して経路を決定する。
【０００３】
ここで、ＢＧＰでは、受信した経路制御情報は信用されることが前提となっている。したがって、詐称された経路制御情報を受信すれば、通信の傍受や中間者攻撃、サービス提供者の成りすましなどが発生する恐れがある。
【０００４】
例えば、ある攻撃者のＡＳが、標的とする他のＡＳの保有するＩＰアドレスを自ＡＳ内のＩＰアドレスとして周知すれば、標的とするＡＳ内のＩＰアドレス宛の通信が攻撃者のＡＳに流れることになる（非特許文献２参照）。また、攻撃者のＡＳがＢＧＰの制御メッセージの制御パラメータを詐称すれば、標的とするＡＳ間の通信を攻撃者のＡＳに流れるようにすることが可能となる場合がある。また、他のＡＳ等の管理主体の異なるネットワークに属するルータ等のノードの状態は、多くの場合に非公開で把握が難しいため、経路上の他のＡＳでこのような攻撃が行われているかを直接観測することは難しい。
【０００５】
このような攻撃を検知するために、様々な技術が提案されている。例えば、ＲＩＲ（Regional  Internet  Registry）では、ＲＰＫＩ（Resource  Public-Key  Infrastructure）と呼ばれる認証基盤を使ったＯｒｉｇｉｎ  ｖａｌｉｄａｔｉｏｎと呼ばれる技術が提案されている（非特許文献３参照）。Ｏｒｉｇｉｎ  ｖａｌｉｄａｔｉｏｎによれば、ＢＧＰの経路情報に記載されたＩＰアドレスとＡＳ番号との正当性を、認証基盤を用いて登録されている正当なＡＳ番号とＩＰアドレスとの組み合わせとの比較で検証し、他ＡＳによるＩＰアドレスの詐称を検出する。
【０００６】
また、ｔｒａｃｅｒｏｕｔｅと呼ばれる通信経路の探査ツールが知られている。ｔｒａｃｅｒｏｕｔｅは、自ＡＳから指定した宛先ＩＰアドレスを保有するノードまでの経路を構成する各ノードにプローブパケットを送信し、受信したプローブ応答から各ノードのＩＰアドレス、往復遅延時間（ＲＴＴ：Round  Trip  Time）およびオプションの設定によりＡＳ番号を測定する。
【０００７】
通常のｔｒａｃｅｒｏｕｔｅとは逆方向に、他ＡＳから自ＡＳへの通信経路を探査するＲｅｖｅｃｅ  Ｔｒａｃｅｒｏｕｔｅも知られている（非特許文献４参照）。また、ヨーロッパＩＰリソースネットワーク調整センター（ＲＩＰＥ  ＮＣＣ）では、世界中のＡＳにプローブパケットを送信する機能を配備するＡｔｌａｓと呼ばれる取り組みがなされている（非特許文献５参照）。
【０００８】
また、ＣＡＩＤＡ（Center  for  Applied  Internet  Data  Analysis）では、ＢＧＰ制御メッセージ等とｔｒａｃｅｒｏｕｔｅによる測定の結果とを比較して、各ルータの属するＡＳのパスの違いから、経路途中に存在する不正なＡＳを検出する技術が提案されている（非特許文献６参照）。
【０００９】
なお、一般に、インターネットの経路は、往路と復路とで経由するノードが異なる（非特許文献７参照）。また、非特許文献８には、インターネットの標準的な通信手順に知られているセキュリティ上の弱点箇所に関する調査結果が報告されている。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】RFC  4271,“A  Border  Gateway  Protocol  4  (BGP-4)”，[online]，2006年1月，[2016年3月30日検索]，インターネット＜URL:https://www.ietf.org/rfc/rfc4271.txt＞
【非特許文献２】吉村  知夏，“2015年に起きたBGP経路ハイジャック”，JANOG  37，2016年
【非特許文献３】JPNIC，“RPKI  チュートリアル＆ハンズオン  〜ROA発行からルータの参照まで〜”，ENOG20  Meeting，2013年4月26日
【非特許文献４】Ethan  Katz-Bassett，Harsha  V.Madhyastha，et.al.，“Reverse  traceroute”，USENIX  NSDI  2010，2010年
【非特許文献５】Vesna  Manojlovic，“RIPE  Atlasから見た日本のピアリング状態”，JANOG  37，2016年
【非特許文献６】“HIJACKS:Detecting  and  Characterizing  Internet  Traffic  Interception  based  BGP  Hijacking”，[online]，CAIDA，2014年，[2016年3月15日検索]，インターネット＜URL:https://www.caida.org/funding/hijacks/hijacks_proposal.xml]
【非特許文献７】Abhinav  Pathak，et.al.，“A  Measurement  Study  of  Internet  Delay  Asymmetry”，Proceeding  PAM’08  Proceedings  of  the  9th  international  conference  on  Passive  and  active  network  measurement，2008年，p.182-191
【非特許文献８】IPA，“TCP/IPに係る既知の脆弱性に関する調査報告書  改訂第5版”，2010年11月
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記のような宛先のＩＰアドレスが詐称される攻撃の他、正当なＡＳのＩＰアドレス宛の通信について、経由ノードが変更されて盗聴等の攻撃が行われる場合がある。しかしながら、宛先のＩＰアドレスのＡＳが正当であれば、経由するノードで攻撃を受けても上記ＲＰＫＩのＯｒｉｇｉｎ  Ｖａｌｉｄａｔｉｏｎで検知することはできない。
【００１２】
また、攻撃者がプローブパケットに応答せず、ＩＰヘッダのＴＴＬ（Time  To  Live）の値を減らさないまま経路上の次のノードにプローブパケットを転送する等の隠蔽工作を行う場合がある。その場合には、上記ＣＡＩＤＡの提案のようにＢＧＰ制御メッセージに含まれる経路とｔｒａｃｅｒｏｕｔｅで測定された経路とを比較しても、攻撃を検知できない。
【００１３】
また、ｔｒａｃｅｒｏｕｔｅで測定できるのは、経路上の往路のみであり、復路の経由ノードを測定することはできない。これに対し、Ｒｅｖｅｒｓｅ  Ｔｒａｃｅｒｏｕｔｅによれば復路の経由ノードの情報を得ることができるものの、Ｒｅｖｅｒｓｅ  Ｔｒａｃｅｒｏｕｔｅで利用するＩＰパケットのオプションは、セキュリティ上、ファイアウォール等での遮断が推奨されており（非特許文献８参照）望ましくない。また、Ａｔｌａｓの取り組みは、ＩＰｖ４でのＡＳへの普及率が６．３３％程度（非特許文献５参照）と低いため、実用的ではない。
【００１４】
本発明は、上記に鑑みてなされたものであって、自ＡＳから送信したプローブパケットに対する応答により直接観測することができない、攻撃に関係する可能性のある経路の状態変化を検知することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するために、本発明に係る検知装置は、指定された宛先への経路を構成する各ノードにプローブパケットを送信する送信部と、前記各ノードから受信した前記プローブパケットに対する応答から該各ノードの状態を表す特徴量を算出する算出部と、前記ノード間での前記特徴量の相関を反映したモデルを構築する構築部と、前記構築部が構築した前記モデルと、該モデルが構築された後に受信した前記プローブパケットに対する応答から前記算出部が算出した特徴量とを用いて、前記ノード間の相関関係の変化を検知する検知部と、を備えることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、自ＡＳから送信したプローブパケットに対する応答により直接観測することができない、攻撃に関係する可能性のある経路の状態変化を検知することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、第１の実施形態に係る検知装置の概略構成を示す模式図である。
【図２】図２は、第１の実施形態の検知モデルの構築を説明するための説明図である。
【図３】図３は、第１の実施形態の検知モデル構築処理手順を示すフローチャートである。
【図４】図４は、第１の実施形態の検知実行処理手順を示すフローチャートである。
【図５】図５は、第２の実施形態の検知モデルの構築を説明するための説明図である。
【図６】図６は、第２の実施形態の検知モデル構築処理手順を示すフローチャートである。
【図７】図７は、第２の実施形態の検知実行処理手順を示すフローチャートである。
【図８】図８は、検知プログラムを実行するコンピュータを例示する図である。
【発明を実施するための形態】
【００１８】
［第１の実施形態］
以下、図面を参照して、本発明の第１の実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１９】
［検知装置の構成］
図１は、本実施形態に係る検知装置の概略構成を示す模式図である。図１に例示するように、検知装置１は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部１１、出力部１２、通信制御部１３、記憶部１４、および制御部１５を備える。
【００２０】
入力部１１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部１５に対して処理開始などの各種指示情報を入力する。
【００２１】
出力部１２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現される。
【００２２】
通信制御部１３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介した他のノード等の外部の装置と制御部１５との通信を制御する。
【００２３】
記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。なお、記憶部１４は、通信制御部１３を介して制御部１５と通信する構成でもよい。記憶部１４には、応答結果ＤＢ（データベース）１４ａが記憶されている。応答結果ＤＢ１４ａには、後述する検知処理において、各ノードから受信したプローブパケットに対する応答が記憶される。
【００２４】
制御部１５は、ＣＰＵ（Central  Processing  Unit）等を用いて実現され、メモリに記憶された処理プログラムを実行する。これにより、制御部１５は、図１に例示するように、プローブ送受信部１５ａ、応答結果前処理部１５ｂ、算出部１５ｃ、検知モデル管理部１５ｄ、および検知実行部１５ｅとして機能して、後述する検知処理を実行する。
【００２５】
なお、本実施形態の検知装置１は、検知処理を実行する他、ユーザパケットを指定の宛先まで送信する経路を構成するノードの１つとして機能している。すなわち、検知装置１は、受信したパケットのＢＧＰ制御メッセージに宛先として指定されているＩＰアドレス宛の経路上の隣接ノードにパケットを転送する。
【００２６】
プローブ送受信部１５ａは、送信部として、指定された宛先への経路を構成する各ノードにプローブパケットを送信する。具体的に、プローブ送受信部１５ａは、監視対象とする宛先ＩＰアドレス宛の経路に向けて、定期的にプローブパケットを送信する。その際、プローブ送受信部１５ａは、ＴＴＬの値を１から１ずつ増やしながら複数のプローブパケットを経路上の隣接ノードに送信することにより、経路上の各ノードに向けたプローブパケットを送信する。ＴＴＬの値が２以上のプローブパケットを受信したノードは、ＴＴＬの値を１だけ小さくしてプローブパケットを次のノードへ転送する。ＴＴＬの値が１のプローブパケットを受信したノードが、自身のＩＰアドレスを含めた応答を検知装置１に返送する。
【００２７】
また、プローブ送受信部１５ａは、各ノードから時系列に受信したプローブパケットに対する応答（以下、プローブ応答とも称する。）を受信して、記憶部１４の応答結果ＤＢ１４ａに格納する。この応答結果ＤＢ１４ａには、プローブパケットの宛先ＩＰアドレス、プローブパケットの送信時刻を意味する測定時刻、プローブ応答を返送したノードのＩＰアドレスと経路上の位置を特定する情報、測定時刻からプローブ応答受信までの時間を意味するＲＴＴ、およびプローブ応答パケットのＴＴＬ値を含むヘッダ情報等が記憶される。応答結果ＤＢ１４ａに記憶される情報には、その他に、プローブ応答を返送したノードのホスト名や属するＡＳ番号等が含まれてもよい。
【００２８】
なお、プローブ送受信部１５ａは一つに限定されず、複数配置されてもよい。複数のプローブ送受信部１５ａが配置されている場合、応答結果ＤＢ１４ａには、プローブ送受信部１５ａごとのプローブ応答が集約されて記憶されればよい。これにより、他のＡＳと接続するルータが接続先のＡＳごとに異なる場合にも、経路情報を取得することができる。
【００２９】
応答結果前処理部１５ｂは、応答結果ＤＢ１４ａから時系列のプローブ応答を取得して、後述する検知モデル管理部１５ｃの処理の実行に必要な形式への前処理を行う。具体的に、応答結果前処理部１５ｂは、例えば、欠測値の補間または破棄、観測値の量子化、ノードのＩＰアドレスまたはＡＳ等のカテゴリに応じた集約等を行う。
【００３０】
なお、応答結果ＤＢ１４ａは、応答結果前処理部１５ｂからのクエリの応答として、あるいは、クエリなしで自動的に、記憶されているプローブ応答の一部または全てを応答結果前処理部１５ｂに送信する。また、後述する検知モデル管理部１５ｄの処理において、前処理は必須ではない。以下に説明する算出部１５ｃが応答結果ＤＢ１４ａに記憶されているプローブ応答の情報を直接取得してもよい。
【００３１】
算出部１５ｃは、各ノードから受信したプローブパケットに対する応答から各ノードの状態を表す特徴量を算出する。また、検知モデル管理部１５ｄは、構築部として、ノード間での特徴量の相関を反映した検知モデルを構築する。
【００３２】
ここで、図２を参照して、本実施形態の検知モデルの構築について説明する。図２に示す例では、検知装置１は、ノードｓｒｃを自ノードとして、ノードｄｓｔを宛先としたトラヒックにおける経路を監視する。図２に示す各ノードは互いに異なるＡＳに属するものとする。
【００３３】
平常時には、図２（ａ）に示すように、ノードｓｒｃからノードｄｓｔへの往路トラヒックは、ノードｓｒｃ→ノードＮ３→ノードＡ１→ノードＭ２→ノードＭ１→ノードＮ２→ノードＮ１→ノードｄｓｔの順に経由する経路１が選択されるものと想定する。また、ノードｄｓｔからノードｓｒｃへの復路トラヒックは、ノードｄｓｔ→ノードＮ１→ノードＮ２→ノードＮ３→ノードｓｒｃの順に経由する経路２が選択されるものと想定する。なお、プローブ送受信部１５ａが送信するプローブパケットに対する応答は、経路１についてのみ取得可能である。
【００３４】
ここで、ノードＡ１が攻撃者であって、ノードｓｒｃからノードｄｓｔへの復路トラヒックもノードＡ１を経由する経路１に変更されるよう、ノードＡ１がノードＮ２およびノードＮ３にＢＧＰ制御情報を送信したものと想定する。これにより、ある時刻ｔ＿１以降に、図２（ｂ）に例示するように、ノードｄｓｔからノードｓｒｃへの復路トラヒックも経路１に変更されたものとする。また、経路１と経路２との間で、通信にかかる時間を意味する通信遅延の平均値には次式（１）の関係が成立するものとする。
【００３５】
経路２の通信遅延の平均値＋μ＿２＝経路１の通信遅延の平均値  …（１）
【００３６】
この場合に、算出部１５ｃが、経路上の各ノードの状態を表す特徴量として、トラヒックの日周期を考慮して、測定時刻の日付を無視した時刻ｔから時刻ｔ＋ａまでの所定の時間幅ａの時間区間［ｔ，ｔ＋ａ）ごとに、各ノードへのＲＴＴの平均値ｘを集計する。
【００３７】
ここで、トラヒックが時間的に周期性をもち周期上の同一の時間区間には同一の分布に従うと仮定した場合、中心極限定理よりＲＴＴの平均値ｘは正規分布に従う可能性がある。そこで、最尤推定による正規分布へのパラメータフィッティング等を行えばよい。
【００３８】
そして、検知モデル管理部１５ｄが、経路の状態を反映するノード間の特徴量の相関を反映した検知モデルとして、各ノードのＲＴＴの平均値の確率分布モデルを構築する。具体的に、検知モデル管理部１５ｄは、各時刻ｔに対する時間区間［ｔ，ｔ＋ａ）ごとに求めた各ノードへのＲＴＴの平均値が多変量正規分布Ｎ（ｘ＿ｔ｜μ＿ｔ，Σ＿ｔ）に従うと仮定して、パラメータを推定する。
【００３９】
ここで、ｘ＿ｔは、時刻ｔにおける各ノードへのＲＴＴの平均値ベクトルを表し、実際の観測値を意味する。また、μ＿ｔは、分布のパラメータとして、多変量正規分布Ｎにおける、時刻ｔにおける各ノードへのＲＴＴの平均値ベクトルを表す。また、Σ＿ｔは、分布のパラメータとして、多変量正規分布Ｎにおける、時刻ｔにおける共分散行列を表す。検知モデル管理部１５ｄは、ここで推定したパラメータを、記憶部１４の適当な領域に格納する。
【００４０】
また、検知モデル管理部１５ｄは、経路上のノードの状態を反映する検知モデルとして、同一経路上で隣接する２つのノード間のＲＴＴの平均値の相関を反映した確率分布モデルを構築する。具体的に、検知モデル管理部１５ｄは、隣接する２つのノードｉ，ｊ∈｛Ｎ１，Ｎ２，Ｎ３、Ｍ１，Ｍ２，Ａ１，ｄｓｔ｝の組み合わせごとに、ノード間のＲＴＴの平均値の相関を反映した確率分布モデルを構築する。すなわち、検知モデル管理部１５ｄは、確率分布モデルとして、各時刻ｔに対する時間区間［ｔ，ｔ＋ａ）ごとに求めた各ノードへのＲＴＴの平均値ｘ＿ｉ，ｘ＿ｊの相関を表す分布Ｐ（ｘ＿ｊ｜ｘ＿ｉ，ｔ）を想定し、パラメータを推定する。検知モデル管理部１５ｄは、ここで推定したパラメータを、記憶部１４の適当な領域に格納する。
【００４１】
なお、検知モデル管理部１５ｄは、適宜な機会に応答結果前処理部１５ｂおよび算出部１５ｃを介して新しいプローブ応答を取得して、検知モデルのパラメータを更新する。また、検知モデル管理部１５ｄは、取得したプローブ応答と構築済みの検知モデルとの適合度を評価して、検知モデルの構築に使用するプローブ応答の収集期間を決定する。
【００４２】
図１の説明に戻る。検知実行部１５ｅは、検知部として、検知モデル管理部１５ｄが構築した検知モデルと、検知モデルが構築された後に受信したプローブパケットに対する応答から算出部１５ｃが算出した特徴量とを用いて、ノード間の相関関係の変化を検知する。
【００４３】
具体的に、図２に示した例について説明する。検知実行部１５ｅは、まず、記憶部１４を参照し推定されたパラメータを取得して、ＲＴＴの平均値ｘの多変量正規分布Ｎ（ｘ＿ｔ｜μ＿ｔ，Σ＿ｔ）と、２つの隣接ノードｉ、ｊに対するＲＴＴの平均値の相関の分布Ｐ（ｘ＿ｊ｜ｘ＿ｉ，ｔ）とを特定する。
【００４４】
また、算出部１５ｃが、応答結果ＤＢ１４ａから応答結果前処理部１５ｂを介して時刻ｔから時刻ｔ＋ｗまでの所定の時間幅ｗの時間区間［ｔ，ｔ＋ｗ）のプローブ応答を取得する。そして、算出部１５ｃが、各時刻ｔに対する時間区間［ｔ，ｔ＋ｗ）ごとに各ノードへのＲＴＴの平均値を特徴量として算出する。そして、検知実行部１５ｅが、ＲＴＴの平均値の多変量正規分布Ｎ（ｘ＿ｔ｜μ＿ｔ，Σ＿ｔ）における観測確率を算出する。
【００４５】
その際、検知実行部１５ｅは、時間区間を［ｔ＋１，ｔ＋１＋ｗ），［ｔ＋２，ｔ＋２＋ｗ），…というようにスライドさせながら特徴量の算出と観測確率の算出とを行う。検知実行部１５ｅは、例えば、ここで算出した観測確率が予め定めた基準値ｐを下回った場合に計数し、予め定めた期間内にこの基準値ｐを下回った回数が予め定めたＮ回以上になった場合に、観測対象の宛先ＩＰアドレス宛の経路の状態が変化したと判定する。
【００４６】
例えば、図２に示した例において、時刻ｔ＿１にノードｓｒｃからノードｄｓｔへの復路トラヒックが経路１に変更された場合、ノードＮ２、ノードＮ１、およびノードｄｓｔのＲＴＴの平均値がμ＿２増加する。この場合に、時刻ｔ＿１付近から、算出された特徴量の観測確率が基準値ｐを下回る回数が増加して、経路の状態が変化したことが検知される。
【００４７】
なお、検知のトリガは、本実施形態では観測確率としているが、これに限定されない。例えば、文献（井手剛，“入門  機械学習による異常検知―Rによる実践ガイド”，2015年2月）に開示されているように、観測確率の負の対数値を異常度とし、算出した異常度が、異常度の従う確率分布において観測される観測確率に対して予め設けられた閾値を超えた場合を検知のトリガとすることも可能である。
【００４８】
また、検知実行部１５ｅは、経路の状態の変化が検知された場合、変化した時刻ｔ＿１以降に経路を構成する各ノードへのＲＴＴの平均値ｘを算出する。そして、検知実行部１５ｅは、隣接する２つのノードｉ，ｊ∈｛Ｎ１，Ｎ２，Ｎ３、Ｍ１，Ｍ２，Ａ１，ｄｓｔ｝の組み合わせごとに、Ｐ（ｘ＿ｊ｜ｘ＿ｉ，ｔ）の観測確率を算出する。検知実行部１５ｅは、ここで算出した観測確率が予め定めた基準値ｑを下回った場合に、ノードｊが経路の状態の変化の原因となったノードであると判定する。
【００４９】
図２に示した例において、ノードＭ１へのＲＴＴの平均値ｘ＿Ｍ１と、ノードＮ２へのＲＴＴの平均値ｘ＿Ｎ２についてのＰ（ｘ＿Ｎ２｜ｘ＿Ｍ１，ｔ）の観測確率が基準値ｑを下回った場合に、ノードＮ２が経路の状態の変化の原因となったノードと判定される。
【００５０】
このように、検知モデル管理部１５ｄが経路の状態を反映するノード間の特徴量の相関を反映した検知モデルを構築し、これを用いて、検知実行部１５ｅが経路の状態の変化を検知する。また、検知モデル管理部１５ｄが経路上のノードの状態を反映する検知モデルを構築し、これを用いて、検知実行部１５ｅが経路の状態の変化の原因となったノードを検知する。
【００５１】
図１の説明に戻る。出力部１２は、検知実行部１５ｅによる変化の検知結果が所定の閾値を超えた場合に、変化に関する情報を出力する。例えば、検知実行部１５ｅが算出した観測確率が予め定められた基準値ｐを下回った回数Ｎが、一定の時間内に所定の回数を超えた場合が例示される。この場合に、出力部１２は、例えば、状態変化のあった宛先ＩＰアドレス、経路を構成するノードの組み合わせ、変化を検知した時刻、状態変化の原因となったノード、観測確率等の変化スコア等を出力する。これにより、実効的に経路の状態変化を検知できる。
【００５２】
［検知処理］
次に、図３および図４を参照して、本実施形態に係る検知装置１による検知処理について説明する。本実施形態の検知処理は、検知モデル構築処理と検知実行処理とを含む。
【００５３】
図３は、検知モデル構築処理手順を示すフローチャートである。図３のフローチャートは、例えば、処理の開始を指示する操作入力があったタイミングで開始される。
【００５４】
プローブ送受信部１５ａが、指定された宛先への経路を構成する各ノードに送信したプローブパケットに対するプローブ応答を受信する。算出部１５ｃが、各ノードからの時系列のプローブ応答を取得して（ステップＳ１）、各ノードの状態を表す特徴量を算出する（ステップＳ２）。例えば、各ノードへのＲＴＴの平均値が算出される。
【００５５】
また、検知モデル管理部１５ｄが、ノード間での特徴量の相関を反映した検知モデルを構築する（ステップＳ３）。例えば、検知モデル管理部１５ｄは、経路の状態を反映するノード間の特徴量の相関を反映した検知モデルとして、時刻ごとに各ノードのＲＴＴの平均値の確率分布モデルを構築する。また、検知モデル管理部１５ｄは、経路上のノードの状態を反映する検知モデルとして、時刻ごとに同一経路上で隣接するノード間のＲＴＴの平均値の相関を反映した確率分布モデルを構築する。これにより、一連の検知モデル構築処理が終了する。
【００５６】
図４は、検知実行処理手順を示すフローチャートである。図４のフローチャートは、例えば、処理の開始を指示する操作入力があったタイミングで開始される。
【００５７】
算出部１５ｃが、検知モデルが構築された後のプローブ応答を取得し（ステップＳ１１）、各ノードの特徴量を算出する（ステップＳ１２）。また、検知実行部１５ｅが、検知モデルと時刻ごとの各ノードの特徴量とを用いて、ノード間の相関関係の変化を検知することにより、経路の状態変化を検知する（ステップＳ１３）。
【００５８】
また、経路の状態変化が検知された場合に、出力部１２が変化に関する情報を出力する（ステップＳ１４）。これにより、一連の検知実行処理が終了する。
【００５９】
以上、説明したように、本実施形態の検知装置は、プローブ送受信部１５ａが、指定された宛先への経路を構成する各ノードにプローブパケットを送信する。また、算出部１５ｃが、各ノードから受信したプローブパケットに対する応答から該各ノードの状態を表す特徴量を算出する。また、検知モデル管理部１５ｄが、ノード間での特徴量の相関を反映した検知モデルを構築する。そして、検知実行部１５ｅが、検知モデル管理部１５ｄが構築した検知モデルと、該検知モデルが構築された後に受信したプローブパケットに対する応答から算出部１５ｃが算出した特徴量とを用いて、ノード間の相関関係の変化を検知する。これにより、検知装置１は、経路の状態変化を検知することができる。このように、検知装置１は、自ＡＳから送信したプローブパケットに対する応答により直接観測することができない、攻撃に関係する可能性のある経路の状態変化を検知することができる。
【００６０】
なお、算出部１５ｃは、例えば経路上のノードの組み合わせごとに、ノード間の状態を表す特徴量を算出してもよい。これによっても、ノード間での特徴量の相関を反映した検知モデルを構築できるので、経路の状態変化を検知することができる。
【００６１】
また、検知実行部１５ｅによる変化の検知結果が所定の閾値を超えた場合に、出力部１２が変化に関する情報を出力する。これにより、実効的に経路の状態変化を検知できる。
【００６２】
また、検知装置１は複数のプローブ送受信部１５ａを備えてもよい。これにより、他のＡＳと接続するルータがＡＳごとに異なる場合にも、経路情報を取得することができる。
【００６３】
［第２の実施形態］
上記の第１の実施形態の検知装置１では、プローブの応答から各ノードの状態を表す特徴量を算出している。これに対し、本実施形態ではプローブの応答から、宛先ごとに想定される複数の経路のそれぞれの状態を表す特徴量を算出する。すなわち、本実施形態は、上記の第１の実施形態とは、算出部１５ｃ、検知モデル管理部１５ｄおよび検知実行部１５ｅの処理の一部が異なる。その他の第１の実施形態と同一内容については、説明を省略する。
【００６４】
すなわち、本実施形態の算出部１５ｃは、各ノードから受信したプローブパケットに対する応答から、複数の宛先ごとに想定される複数の各経路の状態を表す特徴量を算出する。また、検知モデル管理部１５ｄが、構築部として、経路間での特徴量の相関を反映した検知モデルを構築する。また、検知実行部１５ｅが、検知部として、検知モデル管理部１５ｄが構築した検知モデルと、該検知モデルが構築された後に受信したプローブパケットに対する応答から算出部１５ｃが算出した特徴量とを用いて、経路間の相関関係の変化を検知する。
【００６５】
図５を参照して、本実施形態の検知モデルの構築について説明する。図５に示す例では、ノードｓｒｃを自ノードすなわち検知装置１として、ノードｄｓｔ１またはノードｄｓｔ２を宛先としたトラヒックにおける経路を監視する。図５に示す各ノードは互いに異なるＡＳに属するものとする。
【００６６】
平常時には、図５（ａ）に示すように、ノードｓｒｃからノードｄｓｔ１への往路トラヒックは、ノードｓｒｃ→ノードＮ４→ノードＮ３→ノードＮ２→ノードＮ１→ノードｄｓｔ１の順に経由する経路１が選択されるものと想定する。また、ノードｓｒｃからノードｄｓｔ２への往路トラヒックは、ノードｓｒｃ→ノードＮ４→ノードＡ１→ノードＭ２→ノードＭ１→ノードＮ２→ノードＮ１→ノードｄｓｔ２の順に経由する経路２が選択されるものと想定する。
【００６７】
一方、ノードｄｓｔ１からノードｓｒｃへの復路トラヒックは、ノードｄｓｔ１→ノードＮ１→ノードＮ２→ノードＮ３→ノードＮ４→ノードｓｒｃの順に経由する経路１が選択されるものと想定する。また、ノードｄｓｔ２からノードｓｒｃへの復路トラヒックも、ノードｄｓｔ２→ノードＮ１→ノードＮ２→ノードＮ３→ノードＮ４→ノードｓｒｃの順に経由する経路１が選択されるものと想定する。
【００６８】
なお、プローブ送受信部１５ａが送信するプローブパケットに対する応答は、ノードｄｓｔ１宛のトラヒックについては経路１についてのみ、ノードｄｓｔ２宛のトラヒックについては経路２についてのみ取得可能である。
【００６９】
ここで、ノードＡ１が攻撃者であって、ノードｄｓｔ１からノードｓｒｃへの復路トラヒックおよびノードｄｓｔ２からノードｓｒｃへの復路トラヒックがともにノードＡ１を経由する経路２に変更されるよう、ノードＡ１がノードＮ２にＢＧＰ制御情報を送信したものと想定する。これにより、ある時刻ｔ＿１以降に、図５（ｂ）に例示するように、ノードｄｓｔ１からノードｓｒｃへの復路トラヒックおよびノードｄｓｔ２からノードｓｒｃへの復路トラヒックの経路がともに経路２に変更されたものとする。
【００７０】
この場合に、算出部１５ｃは、複数の宛先（ノードｄｓｔ１、ノードｄｓｔ２）ごとに想定される複数の各経路（経路１、経路２）の状態を表す特徴量として、両経路に含まれるノードへのＲＴＴの観測値パターンと各宛先への経路のみに含まれるノードへのＲＴＴの観測値のパターンとを算出する。ここで、両経路に含まれるノードＮ＿ａｌｌは｛Ｎ２，Ｎ１，Ｎ４｝、ｄｓｔ１宛の経路１にのみ含まれるノードＮ＿ｄｓｔ１は｛Ｎ３｝、ｄｓｔ２宛の経路２にのみ含まれるノードＮ＿ｄｓｔ２は｛Ｍ１，Ｍ２，Ａ１｝である。
【００７１】
また、検知モデル管理部１５ｄは、経路間の相関を反映した検知モデルとして、両経路に含まれるノードへのＲＴＴの観測値のパターンと各宛先への経路のみに含まれるノードへのＲＴＴの観測値のパターンとの類似度とを用いて、監視対象の通信の宛先を識別する識別関数を想定する。すなわち、ある時間範囲におけるＮ＿ａｌｌとＮ＿ｄｓｔ１とのＲＴＴの観測値のパターンの類似度と、Ｎ＿ａｌｌとＮ＿ｄｓｔ２とのＲＴＴの観測値のパターンとの類似度とを用いて、監視対象の通信の宛先がｄｓｔ１またはｄｓｔ２のいずれかを識別する識別関数ＤＦを想定し、パラメータを学習する。すなわち、識別関数ＤＦには、特定の時間区間ごとのＮ＿ａｌｌ、Ｎ＿ｄｓｔ１、およびＮ＿ｄｓｔ２のそれぞれのＲＴＴの観測値パターンを示す観測値ベクトルが入力され、ｄｓｔ１宛、ｄｓｔ２宛のいずれかのラベルが出力される。識別関数ＤＦの学習データとして、ｄｓｔ１宛またはｄｓｔ２宛のラベルが付与された、特定の時間区間ごとのＮ＿ａｌｌ、Ｎ＿ｄｓｔ１、およびＮ＿ｄｓｔ２のＲＴＴの観測値ベクトルが用いられる。
【００７２】
検知実行部１５ｅは、検知モデル管理部１５ｄからパラメータが学習された識別関数ＤＦを取得する。また、算出部１５ｃは、応答結果前処理部１５ｂから継続的にプローブ応答を取得して、特定の時間区間ごとに、宛先ＩＰアドレスごとに分けられたＮ＿ａｌｌ、Ｎ＿ｄｓｔ１、およびＮ＿ｄｓｔ２のそれぞれのＲＴＴの観測値ベクトルを算出する。また、検知実行部１５ｅが、算出された観測値ベクトルを識別関数ＤＦへ入力する。これにより、検知実行部１５ｅは、入力したＮ＿ａｌｌの宛先と出力された宛先とを比較する。
【００７３】
経路の状態が学習時から変化していない場合には、入力した宛先と出力された宛先とが一致する。一方、図５に示した例において、時刻ｔ＿１にノードｄｓｔ１→ノードｓｒｃのトラヒックおよびノードｄｓｔ２→ノードｓｒｃのトラヒックが経路２に変更されると、入力した宛先と出力された宛先とが異なる。
【００７４】
検知実行部１５ｅは、識別関数ＤＦの出力結果の宛先が入力した宛先と異なる事象が、例えば、１回または所定の期間内に所定のＮ回以上観測された場合に、ノードｄｓｔ１およびノードｄｓｔ２からノードｓｒｃへの経路が経路２に変更されたと判定する。
【００７５】
この場合に、出力部１２は、変化に関する情報として、変化を検知した時刻、変化のあった宛先ＩＰアドレスの経路、変更された経路パターン等を出力する。
【００７６】
次に、図６および図７を参照して、本実施形態の検知処理について説明する。第１の実施形態と同様に、本実施形態の検知処理も検知モデル構築処理と検知実行処理とを含む。
【００７７】
図６は、本実施形態の検知モデル構築処理手順を示すフローチャートである。図６のフローチャートは、例えば、処理の開始を指示する操作入力があったタイミングで開始される。
【００７８】
プローブ送受信部１５ａが、指定された宛先への経路を構成する各ノードに送信したプローブパケットに対するプローブ応答を受信する。算出部１５ｃが、各ノードからの時系列のプローブ応答を取得して（ステップＳ１）、複数の宛先ごとに想定される各経路の状態を表す特徴量を算出する（ステップＳ２１）。例えば、全経路に含まれるノードへのＲＴＴの観測値パターンと各宛先への経路のみに含まれるノードへのＲＴＴの観測値のパターンとが算出される。
【００７９】
また、検知モデル管理部１５ｄが、経路間での特徴量の相関を反映した検知モデルを構築する（ステップＳ３１）。例えば、経路間の相関を反映した検知モデルとして、両経路に含まれるノードへのＲＴＴの観測値のパターンと各宛先への経路のみに含まれるノードへのＲＴＴの観測値のパターンとの類似度とを用いて、監視対象の通信の宛先を識別する識別関数を学習する。これにより、一連の検知モデル構築処理が終了する。
【００８０】
図７は、本実施形態の検知実行処理手順を示すフローチャートである。図７のフローチャートは、例えば、処理の開始を指示する操作入力があったタイミングで開始される。
【００８１】
検知実行部１５ｅは、検知モデルが構築された後のプローブ応答を取得し（ステップＳ１１）、各経路の特徴量を算出する（ステップＳ１２１）。また、検知実行部１５ｅは、検知モデルと各経路の特徴量とを用いて、経路間の相関関係の変化を検知することにより、経路の状態変化を検知する（ステップＳ１３１）。
【００８２】
経路の状態変化が検知された場合に、出力部１２が変化に関する情報を出力する（ステップＳ１４）。これにより、一連の検知実行処理が終了する。
【００８３】
以上のように、本実施形態の検知装置１によれば、算出部１５ｃが、複数の宛先ごとに想定される複数の各経路の状態を表す特徴量を算出し、検知モデル管理部１５ｄが、経路間での特徴量の相関を反映した検知モデルを構築する。また、検知実行部１５ｅが、検知モデル管理部１５ｄが構築した検知モデルと、検知モデルが構築された後に受信したプローブ応答から算出部１５ｃが算出した特徴量とを用いて、経路間の相関関係の変化を検知する。これにより、攻撃に関係する可能性のある複数の宛先への経路の状態変化を検知することができる。
【００８４】
［プログラム］
上記実施形態に係る検知装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、検知装置は、パッケージソフトウェアやオンラインソフトウェアとして上記の検知処理を実行する検知プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の検知プログラムを情報処理装置に実行させることにより、情報処理装置を検知装置として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）などのスレート端末などがその範疇に含まれる。また、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の検知処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、検知装置１は、プローブ応答を入力とし、経路の変化に関する情報を出力する検知処理サービスを提供するサーバ装置として実装される。この場合、検知装置は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の検知処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。以下に、検知装置と同様の機能を実現する検知プログラムを実行するコンピュータの一例を説明する。
【００８５】
図８に示すように、検知プログラムを実行するコンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００８６】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００８７】
ここで、図８に示すように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００８８】
また、検知プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した検知装置が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００８９】
また、検知プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００９０】
なお、検知プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、検知プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００９１】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００９２】
１  検知装置
１１  入力部
１２  出力部
１３  通信制御部
１４  記憶部
１４ａ  応答結果ＤＢ（データベース）
１５  制御部
１５ａ  プローブ送受信部
１５ｂ  応答結果前処理部
１５ｃ  算出部
１５ｄ  検知モデル管理部
１５ｅ  検知実行部
【図１】
2017208652.tif 000003
【図２】
2017208652.tif 000004
【図３】
2017208652.tif 000005
【図４】
2017208652.tif 000006
【図５】
2017208652.tif 000007
【図６】
2017208652.tif 000008
【図７】
2017208652.tif 000009
【図８】
2017208652.tif 000010