(57)【要約】【課題】過去に観測されたことのない不正メッセージや正常時に較べて特徴量が大幅に乖離しない不正メッセージも容易に検出できるBGP不正メッセージ検出方法および装置を提供する。【解決手段】メッセージ抽出部１０１は、BGPルータAS20により観測・収集されているBGPメッセージの中からANNOUNCEメッセージを抽出する。変動検知部１０２は、メッセージに記述されている属性の属性値を抽出する属性値抽出部１０２ａおよび前後に観測された同じプレフィックスを含むメッセージに記述されている属性を比較することで同プレフィックスの属性値の変動を抽出する変動抽出部１０２ｂを含む。不正メッセージ検出部１０３は、属性値の変動が検知されたプレフィックを変動後の属性値に応じて分類する分類部１０３ａと、分類結果に基づいて属性の変動後の属性値が特異的なメッセージを不正メッセージと推定する推定部１０３ｂとを含む。【選択図】図４
2011182030.tif 000002
【特許請求の範囲】
【請求項１】
BGPネットワーク上で各ASから広報されるBGPメッセージに含まれる不正メッセージを検出するBGP不正メッセージ検出装置において、
BGP の経路更新を広報するメッセージを収集するメッセージ収集手段と、
前記メッセージに付加された属性の変動をプレフィックスごとに検知する変動検知手段と、
前記属性の変動が特異的なメッセージを不正メッセージと推定する推定手段とを具備したことを特徴とするBGP不正メッセージ検出装置。
【請求項２】
前記推定手段は、属性ごとに同一の属性値への変動を広報するASが少ない属性変動を特異的とすることを特徴とする請求項１に記載のBGP不正メッセージ検出装置。
【請求項３】
BGP経路表を収集する手段と、
前記BGP経路表に基づいて、プレフィックスごとに各属性の初期値を検出する手段とを具備し、
前記推定手段は、BGP経路表を参照することでプレフィックスごとに各属性の初期値を把握し、過去に観測されたことのない新規なプレフィックスの属性値が初期値と同じであれば、これを特異的な属性変動としないことを特徴とする請求項１または２に記載のBGP不正メッセージ検出装置。
【請求項４】
BGP経路表を収集する手段と、
前記BGP経路表に基づいて、属性ごとに各属性値を使用するAS数を集計する手段とを具備し、
前記推定手段は、前記BGP経路表において多くのASにより使用されている属性値への変動を特異的な属性変動としないことを特徴とする請求項１または２に記載のBGP不正メッセージ検出装置。
【請求項５】
前記メッセージ収集手段は、BGPルータからオンラインでメッセージを収集することを特徴とする請求項１ないし４のいずれかに記載のBGP不正メッセージ検出装置。
【請求項６】
前記メッセージ収集手段は、BGPルータからオフラインでメッセージを収集することを特徴とする請求項１ないし４のいずれかに記載のBGP不正メッセージ検出装置。
【請求項７】
BGPネットワーク上で各ASから広報されるBGPメッセージに含まれる不正メッセージを検出するBGP不正メッセージ検出方法において、
BGP の経路更新を広報するメッセージを収集する手順と、
前記メッセージに付加された属性の変動をプレフィックスごとに検知する手順と、
前記属性の変動が特異的なメッセージを不正メッセージと推定する手順とを含むことを特徴とするBGP不正メッセージ検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、BGPネットワークにおいて、BGPメッセージで通知されるプレフィックス毎の属性の変動状況に基づいて不正メッセージを検出する方法および装置に関する。
【背景技術】
【０００２】
異常検出はコンピューター・セキュリティーの分野で広く研究されてきた。非特許文献１，２には、コンピューター・セキュリティー分野における異常検出の技術が開示されている。非特許文献１は、過去に観測された異常時のトラヒックパターンから異常パターンを定義し、監視ネットワークにおいて同パターンのトラヒックが観測された場合に異常状態として検出する方法である。非特許文献２は、トラヒック量などの特徴量を用い、過去の統計的な特徴量に較べて現在の特徴量が一定の閾値を超えた場合を異常状態として検出する方法である。
【０００３】
非特許文献３は、非特許文献１，２に開示された検出法をBGPネットワークの異常検出に適応した手法である。非特許文献４は、BGPネットワークにおいて、経路ハイジャックの検出に特化した異常検出手法であり、BGPメッセージで通知されるプレフィックスの広報元ASの変化に着眼し、観測したプレフィックスの広報元ASが正常時から変化した場合を異常状態として検出する方法である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】M. Roesch, Snort: Lightweight intrusion detection for networks, USENIX LISA Conference, 1999.
【非特許文献２】H.S. Javitz, and A. Valdes, The NIDES Statistical Component: Description and Justification, SRI International, 1993.
【非特許文献３】K. Zhang, A. Yen, X. Zhao, D. Massey, S. F. Wu, and L. Zhang, On detection of anomalous routing dynamics in BGP, IFIP-TC6 Networking, 2004.
【非特許文献４】J. Karlin, S. Forrest, and J. Rexford, Pretty Good BGP: Improving BGP by Cautiously Adopting Routes, ICNP, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１に代表される従来技術では、過去に観測された異常時のトラヒックパターンから異常パターンが定義され、同パターンに一致するトラヒックが異常状態として検出される。実用例として、非特許文献３では、実BGPネットワークで観測された異常時の経路変動から６つの異常パターンが定義され、同パターンに一致する経路変動が検出される。しかしながら、本方法による異常検出は、予め定義されたパターンに一致する経路変動に限られるため、過去に観測されたことのない異常変動を検出できない。
【０００６】
非特許文献2では、トラヒック量などの過去の統計的な特徴量に較べて現在の特徴量が一定の閾値を超えた場合を異常状態として検出するので、正常時に較べて特徴量が大幅に乖離しない異常変動は検出できない。
【０００７】
非特許文献３では、プレフィックス毎の単位時間あたりのBGPメッセージ数やAS_PATH属性におけるASの出現回数などを用いて正常時との乖離度が計算され、一定の閾値を超えた場合が異常状態として検出される。しかしながら、本手法は特徴量に基づいた異常検出であるため、正常時に較べて特徴量が大幅に乖離しない異常変動は検出できない。また、仮に異常状態を検出できた場合でも、その原因となる不正メッセージを特定できない。
【０００８】
非特許文献４では、BGPメッセージで通知されるプレフィックスの広報元ASの変化に着眼し、その変化が検出される。本手法は、AS_PATH属性における広報元ASの変化が少ない点に着眼しているため、頻繁に変化する属性を対象とした場合には検出数が膨大となり、不正メッセージを容易に特定できない。
【０００９】
本発明の目的は、上記した従来技術の課題を解決し、過去に観測されたことのない異常や、正常時に較べて特徴量が大幅に乖離しない異常の原因となる不正メッセージを容易に特定できるBGP不正メッセージ検出方法および装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明は、BGPネットワーク上で各ASから広報されるBGPメッセージに含まれる不正メッセージを検出するBGP不正メッセージ検出装置において、以下のような手段を講じた点に特徴がある。
【００１１】
(1)BGP の経路更新を広報するメッセージを収集するメッセージ収集手段と、メッセージに付加された属性の変動を検知する変動検知手段と、属性の変動が特異的なメッセージを不正メッセージと推定する推定手段とを具備した。
【００１２】
(2)推定手段は、変動後の属性値を使用するASの数が少ないことを基準に特異的なメッセージを推定するようにした。
【００１３】
(3)BGP経路表を収集する手段と、BGP経路表に基づいて、プレフィックスごとに各属性の初期値を検出する手段とを具備し、推定手段はBGP経路表を参照することでプレフィックスごとに各属性の初期値を把握し、過去に観測されたことのない新規なプレフィックスの属性値が初期値と同じであれば、これを特異的な属性変動としないようにした。
【００１４】
(4)BGP経路表を収集する手段と、BGP経路表に基づいて属性ごとに各属性値を使用するAS数を集計する手段とを具備し、推定手段は、BGP経路表において多くのASにより使用されている属性値への変動を特異的な属性変動と判定しないようにした。
【発明の効果】
【００１５】
本発明によれば、以下のような効果が達成される。
【００１６】
(1)BGP の経路更新を広報するメッセージに付加された属性の変動が特異的なメッセージが不正メッセージと推定されるので、過去に観測されたことのない異常の原因となる不正メッセージや、正常時に較べて特徴量が大幅に乖離しない異常の原因となる不正メッセージを容易に検出できるようになる。
【００１７】
(2)変動後の属性値を使用するAS数が少ないメッセージが特異的なメッセージと判定されるので、特異的なメッセージの検出が容易になる。
【００１８】
(3)BGP経路表を参照することでプレフィックスごとに各属性の初期値を把握し、過去に観測されたことのない新規なプレフィックスのメッセージであっても、その変動後の属性値が初期値と同じであれば属性変動として抽出されないようにしたので、過去に観測されたことのないプレフィックスの属性値が全て属性変動として抽出されてしまうことを防止できるようになる。
【００１９】
(4)BGPメッセージに基づいて相対的に特異的とされた属性変動の属性値をBGP経路表と照合し、変動後の属性値を使用しているAS数が多い場合には特異的な属性変動ではないとするので、少数の正規メッセージが特異的な不正メッセージとされる誤検出を防止できるようになる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態に係るBGP不正メッセージ検出装置のブロック図である。
【図２】BGP不正メッセージ検出装置の他の実施形態のブロック図である。
【図３】本発明が適用されるBGPネットワークの構成を示したブロック図である。
【図４】本発明の第１実施形態に係る計算サーバの機能ブロック図である。
【図５】本発明の第１実施形態の動作を示したフローチャートである。
【図６】属性変動の抽出結果の一例を模式的に表現した図である。
【図７】変動後属性値を使用するAS数の一覧を示した図である。
【図８】変動後属性値に基づくグループ分けの一例を示した図である。
【図９】属性変動が特異的なエントリの抽出結果の一例を示した図である。
【図１０】本発明の第２実施形態に係る計算サーバの機能ブロック図である。
【図１１】本発明の第３実施形態に係る計算サーバの機能ブロック図である。
【図１２】属性の属性値の度数の集計結果の一例を模式的に表現した図である。
【図１３】不正メッセージの推定方法を模式的に表現した図である。
【図１４】不正メッセージの抽出例を示した図である。
【図１５】不正メッセージの検出結果の表示例を示した図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図１は、本発明の一実施形態に係るBGP不正メッセージ検出装置の構成を示したブロック図であり、管理下のBGPルータ（後述するAS20）から境界ルータRを中継して収集されたBGPメッセージおよびBGP経路表を取得し、不正メッセージおよびその広報元として疑わしいASをプレフィックスごとに検出する計算サーバ１と、前記検出結果を表示する表示装置２とを主要な構成としている。
【００２２】
前記ネットワークと計算サーバ１とは、図１に示したようにオンラインで接続されていても良いし、あるいは図２に示した他の実施形態のように、オフラインであってもよい。この場合、管理下のBGPルータにより収集されたBGPメッセージやBGP経路表のログデータは、ディスク状の記録媒体３や可搬性の半導体メモリ４を仲介して計算サーバ１に取り込まれる。
【００２３】
図３は、本発明が適用されるBGPネットワークの構成を示したブロック図であり、前記と同一の符号は同一または同等部分を表している。本実施形態では、ネットワークを構成する６つのAS（AS10〜AS60）に着目し、AS50が不正メッセージの広報元である場合を例にして説明する。
【００２４】
[実施形態１]
図４は、本発明の第１実施形態に係る計算サーバ１の機能ブロック図であり、ここでは本発明の説明に不要な構成は図示が省略されている。
【００２５】
メッセージ抽出部１０１は、BGPルータAS20により観測・収集されているBGPメッセージの中から、BGPの経路更新を広報するANNOUNCEメッセージを抽出する。変動検知部１０２は、前記ANNOUNCEメッセージに記述されている各属性の属性値をプレフィックス毎に抽出する属性値抽出部１０２ａ、および前後に観測されたANNOUNCEメッセージに記述されている各属性の属性値をプレフィックス毎に比較することで属性値の変動を抽出する変動抽出部１０２ｂを含む。不正メッセージ検出部１０３は、属性変動を変動後の属性値に応じて分類する分類部１０３ａと、前記分類結果に基づいて、属性変動が特異的なメッセージを不正メッセージと推定する推定部１０３ｂとを含む。
【００２６】
図５は、本実施形態の動作を示したフローチャートであり、主に計算サーバ１の動作を示している。
【００２７】
ステップＳ１では、前記メッセージ抽出部１０１により、BGPルータAS20において観測・収集されている多数のBGPメッセージの中からANNOUNCEメッセージが抽出される。ステップＳ２では、各ANNOUNCEメッセージに付加情報として記述されている属性（パス属性）およびその属性値が前記属性値抽出部１０２ａにより抽出される。前記属性には、経路情報の生成元を示す"ORIGIN"、ある経路へ到達するために通過するAS番号のリストを示す"AS_PATH"、トラヒックを転送すべきルータのアドレスを示す"NEXT_HOP"などがある。
【００２８】
ステップＳ３では、前記変動抽出部１０２ｂにおいて、前後に観測されてプレフィックスが同一のANNOUNCEメッセージに記述されている属性値を属性ごとに比較することで属性変動がプレフィックスごとに抽出される。このとき、過去に観測されたことのない新規なプレフィックスのANNOUNCEメッセージに記述されている属性は、全て変動として抽出される。
【００２９】
図６は、前記変動抽出部１０２ｂによりプレフィックス毎に抽出された属性変動の一例を模式的に表現した図であり、本実施形態では、属性値の変動が検知されるごとに、その観察日、観察時刻、広報元AS、プレフィックス、変動のあった属性（変動属性）および変動後の属性値が関連付けられてエントリされる。
【００３０】
図６において、「変動属性」が"ORIGIN"であって「属性値」が"IGP"のエントリは、あるプレフィックスに対応する"ORIGIN"属性の属性値が"IGP"に変化したことを意味する。「変動属性」が"NEXT_HOP"であって「属性値」が"2.2.2.2"のエントリは、あるプレフィックスに対応する"NEXT_HOP"属性の属性値が"2.2.2.2"に変化したことを意味する。「変動属性」が"AS_PATH"であって「属性値」が"３"のエントリは、あるプレフィックスに対応するAS_PATH長の属性値が"３"に変化したことを意味する。
【００３１】
なお、各メッセージの広報元ASは、AS_PATH属性内で最も右にあるASとして検出できる。例えば、AS_PATHが[20 30 60]であれば、その広報元ASは「60」となる。また、AS_PATHはAS毎に異なるのでAS_PATH長を用いて分析される。本実施形態では、AS_PATH長としてAS_PATHに含まれるAS数が採用される。したがって、AS_PATHが[20 30 60]であれば、そのAS_PATH長は「３」になる。
【００３２】
図５へ戻り、ステップＳ４では、各属性変動の特異性を判定するために、各エントリが変動後の属性値に応じて、前記分類部１０３ａによりグループ分けされる。図７、８は、前記グループ分けの一例を示した図であり、ここでは、同じ時間間隔（例えば1分間）で発生した属性変動後の属性値が同一であるエントリが同一グループに分類され、そのAS数が検出されている。
【００３３】
本実施形態では、「変動属性」"ORIGIN"が「属性値」"IGP"に変動したことを広報する２つのプレフィックスに対応する各エントリが同一グループに分類されている。また、「変動属性」"NEXT_HOP"が「属性値」"2.2.2.2"に変動したことを広報する４つのプレフィックスに対応する各エントリも同一グループに分類されている。さらに、「変動属性」"AS_PATH"が「属性値」"３"に変動したことを広報する２つのプレフィックスに対応する各エントリも同一グループに分類されている。
【００３４】
但し、変動後の「属性値」が同じであってもメッセージの観測日時が異なるエントリは異なるグループに分類される。図７、８の例では、「変動属性」"NEXT_HOP"の属性値が"2.2.2.2"に変化した５つのエントリのうち、観測時刻が１６時１１分台の４つのエントリは同一グループに分類されるものの、１６時１２分台のエントリは同一グループに分類されない。また、「変動属性」"NEXT_HOP"の属性値が"3.3.3.3"に変動した２つのエントリは、広報元ASが同じ（いずれも、AS50）なので、変動後に同じ属性値を使用するAS数は１となる。
【００３５】
ステップＳ５では、前記図７，８に示したグループ分けの結果に基づいて、前記推定部１０３ｂにより、属性変動が特異的なエントリが抽出される。本実施形態では、図９に一例を示したように、変動後の属性値を使用するAS数が「１」のグループに分類された少数派として、「変動属性」"NEXT_HOP"の属性値が"4.4.4.4"であるエントリ、「変動属性」"NEXT_HOP"の属性値が"3.3.3.3"である２つのエントリ、および「変動属性」"NEXT_HOP"の属性値が"2.2.2.2"であるエントリの計４つのエントリが抽出され、これらを広報したメッセージが不正メッセージと推定される。
【００３６】
ステップＳ６では、前記抽出された４つのエントリの広報元AS（AS40，AS50およびAS60）が不正メッセージの広報元ASの候補として検出される。ステップＳ７では、前記検出結果が表示部２へ出力される。
【００３７】
本実施形態によれば、BGP の経路更新を広報するメッセージに付加された属性の変動が特異的なメッセージが不正メッセージと推定されるので、過去に観測されたことのない異常の原因となる不正メッセージや、正常時に較べて特徴量が大幅に乖離しない異常の原因となる不正メッセージを容易に検出できるようになる。また、本実施形態では変動後に同一の属性値を広報するASが少数であるときに、そのメッセージが特異的なメッセージと判定されるので、特異的なメッセージの検出が容易になる。
【００３８】
[実施形態２]
上記の第１実施形態では、過去に観測されたことのないプレフィックスのANNOUNCEメッセージに記述されている属性が全て変動として抽出されるので、正規のメッセージも不正なメッセージと誤認される場合があった。そこで、本発明の第２実施形態では、BGP経路表を参照することでプレフィックスごとに各属性の初期値を把握し、過去に観測されたことのない新規なプレフィックスのANNOUNCEメッセージであっても、その属性値が初期値と同じであれば変動として抽出されないようにしている。
【００３９】
図１０は、本発明の第２実施形態に係る計算サーバ１の機能ブロック図であり、前記と同一の符号は同一または同等部分を表しているので、その説明は省略する。
【００４０】
経路表抽出部１０４は、BGPルータAS20により収集されているBGP経路表を抽出する。初期値検出部１０５は、前記抽出されたBGP経路表に基づいて、プレフィックスごとに各属性の初期値を検出する。前記変動検知部１０２の変動絞込部１０２ｃは、過去に観測されたことのない新規なプレフィックスであるとして前記変動抽出部１０２ｂにより抽出された属性変動が前記BGP経路表に初期値として登録されているか否かを判定し、未登録であれば、その属性変動としての扱いを維持する一方、既登録であれば属性変動としての扱いを取り止めることで前記属性変動を絞り込む。
【００４１】
本実施形態によれば、過去に観測されたことのないプレフィックスの属性値が全て属性変動として抽出されてしまうことを防止できるようになる。
【００４２】
[実施形態３] 
上記の第１実施形態では、観測されたANNOUNCEメッセージに記述されている属性の変動状況を比較することで相対的に特異的な変動が抽出されるものとして説明したが、本実施形態では、BGP経路情報を予め集計することで属性ごとに各属性値を使用するAS数を把握し、BGP経路表において多くのASにより使用されている属性値に関しては、これを属性変動として広報するメッセージ数が少なくても特異的と判定しないようにしている。
【００４３】
図１１は、本発明の第３実施形態に係る計算サーバ１の機能ブロック図であり、前記と同一の符号は同一または同等部分を表しているので、その説明は省略する。
【００４４】
集計部１０６は、前記抽出されたBGP経路表の初期値に基づいて、属性ごとに各属性値を使用するAS数を集計する。前記推定部１０３ｂは、前記第１実施形態での機能に加えて、さらに属性ごとに経路表の中でも多くのASにより使用されている属性値に変動しているプレフィックスを含むメッセージを特異的と判定しない機能を備えている。
【００４５】
図１２は、前記AS数の集計結果の一例を模式的に表現した図であり、この例では、「属性」"NEXT_HOP"の「属性値」として"4.4.4.4"を利用するAS数（度数）が44,444であり、"2.2.2.2"を利用するAS数が22,222であることを示している。
【００４６】
前記推定部１０３ｂは、図１３に一例を示したように、属性変動が特異的とされたエントリ（ここでは、４つ）と、前記属性ごとに各属性値を使用するAS数とを照合して不正メッセージの広報元ASを推定する。本実施形態では、「変動属性」"NEXT_HOP"の属性値"2.2.2.2"および"4.4.4.4"は、多数のASにより使用されていることがBGP経路表から明らかなのに対して、属性値"3.3.3.3"を使用しているASは存在しないので、図１４に示したように、変動後の属性値が"3.3.3.3"であるエントリのみが特異的として抽出され、この特異的な変動を含むメッセージが不正メッセージとされる。図１５は、表示装置２へ出力される不正メッセージの一例を示した図である。
【００４７】
本実施形態によれば、BGP経路表において多くのASにより使用されている属性値に変動したプレフィックスを含むメッセージは特異的と判定されないので、少数の正規メッセージが特異的な不正メッセージとされる誤検出を防止できるようになる。
【符号の説明】
【００４８】
１…計算サーバ，２…表示装置，１０１…メッセージ抽出部，１０２…変動検知部，１０２ａ…属性値抽出部，１０２ｂ…変動抽出部，１０３…不正メッセージ検出部，１０３ａ…分類部，１０３ｂ…推定部，１０４…経路表抽出部，１０５…初期値検出部，１０６…集計部
【図１】
2011182030.tif 000003
【図２】
2011182030.tif 000004
【図３】
2011182030.tif 000005
【図４】
2011182030.tif 000006
【図５】
2011182030.tif 000007
【図６】
2011182030.tif 000008
【図７】
2011182030.tif 000009
【図８】
2011182030.tif 000010
【図９】
2011182030.tif 000011
【図１０】
2011182030.tif 000012
【図１１】
2011182030.tif 000013
【図１２】
2011182030.tif 000014
【図１３】
2011182030.tif 000015
【図１４】
2011182030.tif 000016
【図１５】
2011182030.tif 000017