# Automated Proactive Anomaly Detection
> [!abstract] 概要(abstract の日本語訳)
> 障害管理の複雑さの増大に対処するため、我々は適応的な統計的技法を用いた自動化されたプロアクティブ監視システムを提案する。事前に必要とするネットワーク固有の情報はごくわずかであり、システムは継続的にデータを収集し、そのデータを用いてネットワークの正常な挙動を学習し、正常からの逸脱を検知する。これにより、提案システムは未知の、あるいはこれまで見たことのない障害を検知できる。実ネットワークデータによる実験結果は、提案システムが障害が実際に発生する前に異常な挙動を検知できることを示す。
## 論文情報
- タイトル: Automated Proactive Anomaly Detection
- 著者: C. S. Hood(Illinois Institute of Technology, Department of Computer Science and Applied Mathematics)、C. Ji(Rensselaer Polytechnic Institute, Department of Electrical, Computer and Systems Engineering)
- 媒体: *Integrated Network Management V*(A. A. Lazar, R. Stadler, R. Wies 編), Springer Science+Business Media Dordrecht, 1997(掲載ページ 689–699)
- キーワード: Fault detection, proactive network monitoring, statistical learning methods, MIB, SNMP
## 概要
障害の事前モデルを持たずに、SNMP で収集した MIB 変数の時系列から障害の予兆となる異常な挙動を検知する自動化・プロアクティブ監視システムを提案する論文である。観測処理(observation processing)で各測定変数を AR(2) モデルのパラメータへ特徴量化し、その特徴量をベイジアンネットワーク(belief network)で Network / IF(インタフェース)/ IP / UDP という階層構造に統合することで、単一変数の閾値超過では捉えられない「ネットワーク全体の異常確率」を推定する。RPI(Rensselaer Polytechnic Institute)計算機科学科ネットワークの実データで評価し、あるファイルサーバダウン障害についてはサーバ無応答が報告される約 12 分前に異常を検知できたと報告する。
## 問題設定
- **背景**: ネットワーク障害管理は、ネットワークが重要インフラの構成要素になるにつれ重要性を増す一方、ネットワークの動的性・異機種混在性(複数ベンダーの機器・ソフトウェアの混在)により年々困難になっている。
- **既存アプローチの限界**: エキスパートシステム、有限状態機械(FSM)、高度なデータベース技法、確率的アプローチといった従来の障害管理研究は、いずれも検知対象の障害をあらかじめ仕様化(specification)する必要があり、起こりうる障害を網羅的に列挙するのは現実的でない。学習機械による異常検知の先行研究も、障害モデリングの問題には対応するが、収集情報を時間・空間で相関づける方法を提供していない。
- **本論文が取り組む問題**: 障害の具体モデルを持たない自動障害検知。すなわち (1) 未知・未見の障害を検知できること、(2) 情報を時間・空間で相関づけられること、(3) 実際の障害発生前の微妙な変化を検知できること、(4) 事前に必要なネットワーク固有情報を最小化し複数ノード・複数ネットワーク種別へ一般化できること、を同時に満たすシステムを目指す。
- **入力**: SNMP で収集した Management Information Base(MIB)変数(15 秒間隔でポーリング)。特殊なハードウェアは不要。
- **評価に使うラベル**: syslog が報告する重大な障害(主に "server not responding")。syslog はネットワーク障害専用ではないため、報告される障害は全体の一部(重大なもの)に限られ、障害の原因についての情報も持たない。
## 提案手法
監視システムは局所的(各ノードに常駐)に動作し、観測処理(observation processing)とベイジアンネットワークによる情報統合(combination of information)の 2 段構成を取る。
![[fig02-monitoring-system-flow.png]]
(Figure 2, p.691: 生の測定変数 → 観測処理 → 情報統合 → ノードから見たネットワーク挙動、という監視システムの論理的な情報の流れ)
- **セグメンテーション(segmentation)**: ネットワークの挙動は動的で非定常なため、時系列を可変長のセグメントへ分割し、各セグメントを統計的に類似した区間として扱う。セグメンテーションにより (1) セグメントごとの統計量が信号をより代表しやすくなる、(2) 定常性を要求する信号処理技法をセグメント内で使える、という利点に加え、観測を時間的に相関づけられる。セグメンテーションアルゴリズムは Appel & Brandt(1983)の逐次分割手法を用いる。
- **特徴抽出(feature extraction)**: 従来の閾値ベース手法(実務・研究の双方で主流)は、閾値の適切な設定がトラフィック水準に強く依存するうえ、分散の変化や平均の微妙な変化のような、閾値では捉えられない緩やかな挙動変化を見逃す。本論文は各測定変数の特徴量として、2 次自己回帰過程(AR(2))のパラメータ a1・a2 を用いる。AR(2) は非定常性に追従しながらモデルを継続的に適応させるため、トラフィックパターン非依存の「理想的な特徴」という未解決問題への実用的な妥協案として選ばれている。
- **正常挙動の学習**: 変数ごとに、その変数がネットワーク機能正常時にどの尤度分布に従うかを推定したいが、いつが「正常」かのラベルは通常得られない。異常時の分布を学習しようにも異常事例は希少すぎて学習に不十分である(Cortes ら 1995 の指摘)。そこで本論文は、正常/異常のラベルではなく「学習ウィンドウ(learning window)」内での通常の挙動を正常挙動とみなして尤度分布を学習する。学習ウィンドウ中に重大な障害が長く継続していない限り、この仮定は妥当であるとする。
- **情報統合(ベイジアンネットワーク)**: 観測されない内部変数として Network・Interface(IF)・IP・UDP の 4 ノードを定義し、Network を IF・IP・UDP の共通の原因(親)とする単純な木構造(条件付き独立の仮定を満たす)を採る。IF・IP・UDP の各内部ノードは、対応する MIB グループに属する測定変数(観測ノード)を子に持つ。
![[fig03-bayesian-network-fault-detection.png]]
(Figure 3, p.694: Network → IF/IP/UDP → 各 MIB 変数、という障害検知用ベイジアンネットワークの構造。矢印は原因から結果への向き)
ベイジアンネットワークを用いる理由の背景として、Bayesian network(belief network / causal network)は問題領域内の関係を表す有向非巡回グラフ(DAG)であり、各ノードはその親が与えられればそれ以外のノードと条件付き独立になるという仮定を置く(§2 の定式化、Figure 1 で例示)。
![[fig01-bayesian-network-independence.png]]
(Figure 1, p.690: ベイジアンネットワークの条件付き独立の仮定を示す例。p[W,n | p(n)] = p[W | p(n)] p[n | p(n)] という分解が図示される)
本研究のネットワーク機能間には、機能ごとに独立に故障しうる一方で機能間の伝播関係もあるという複雑な関係が存在するが、伝播の方向(低レベル機能→高レベル機能、あるいはその逆)まで組み込んだ構造は特定が難しいため、本論文では機能間の事前関係を仮定しない単純な木構造を出発点として採用する(障害伝播構造を仮定した代替構造は Hood の博士論文 [6] で検討済みとする)。局所監視であるため、観測された MIB 変数からのすべての証拠(確率)がシステムに利用可能であり、完全かつ最新の観測集合から事後確率を計算できる。
## 新規性
- 障害を具体的に仕様化せず、統計的学習だけで未知障害を検知できる点(閾値法・エキスパートシステム・FSM 等の従来手法が要求する障害仕様を不要にする)。
- AR(2) パラメータという、閾値では捉えられない「分散・平均の緩やかな変化」を捉える特徴量を採用した点。
- 個々の MIB 変数レベルの異常情報を、ベイジアンネットワークにより Network / IF / IP / UDP という階層構造で時間・空間的に相関づけ、ノード単位でネットワーク全体の健全性を要約する 1 つの確率値に統合した点。個々の変数を診断(diagnosis)にのみ使っていた先行研究([6] の Linear Lightwave Networks 診断)と異なり、検知そのものにベイジアンネットワークを使う。
- 特殊なハードウェアを要さず SNMP の標準 MIB のみで動作し、事前に必要なネットワーク固有情報を最小化することで、異なるノード・ネットワーク種別へ一般化可能な設計を狙った点。
## 実験設定
- **データ収集環境**: RPI(Rensselaer Polytechnic Institute)計算機科学科ネットワーク。7 個のサブネットと 2 台のルータから構成される。Router 1 はキャンパスネットワークとのゲートウェイ、Router 2 はサブネット間のローカルトラフィックを主に中継する。データは内部ルータである Router 2 から収集した。
![[fig04-monitored-network-configuration.png]]
(Figure 4, p.695: 監視対象ネットワークの構成。7 サブネットと 2 ルータ、キャンパスネットワークへの接続)
- **収集方法**: Router 2 を 15 秒間隔で SNMP ポーリングし、取得可能な MIB 変数のうち活動的な 14 変数を対象とした(その他の変数は変化が乏しく、既知の障害時にも追加情報をほとんど与えなかった)。約 7 ヶ月間、ほぼ継続的に収集を行い、syslog のログも並行して保存し障害ラベルとして用いた。
- **評価対象の障害**: 1995 年 10 月〜1996 年 3 月の間に観測された 10 件の障害。うち 9 件が "server not responding"、残り 1 件がサブネット上のイーサネット衝突過多の報告。syslog によるログ機構の制約上、観測できる障害はネットワーク提供サービスが機能しなくなるような重大なものに限られる。
- **比較手法**: MIB 変数ごとの上限・下限閾値を用い、閾値超過変数の総数を統合するベースライン。閾値は学習ウィンドウ 1 時間・4 時間・1 週間の 3 通りで計算した。
## 実験結果
- 1996 年 12 月 23 日 6:33〜6:36 に発生した、Subnet 2 上のファイルサーバの無応答障害(Subnet 2/3/4 の計 13 台のマシンから報告)を対象に詳細結果を示す。
![[fig05-results-1hour-learning-window.png]]
(Figure 5, p.696: 1 時間学習ウィンドウを用いた結果。アスタリスクがファイルサーバのダウン期間を示す。Network の異常はサーバ無応答が報告される約 12 分前に検知され、IF・IP・UDP の 3 機能すべてで障害前に異常が現れるが、クラッシュ中に異常を検知するのは IP のみである)
4 時間学習ウィンドウでも同様の結果が得られたと報告する。
- **10 障害全体の集計**: 事後確率が Network について 0.5 を超えた場合を検知とみなすと、1 時間学習ウィンドウでは 10 件中 7 件、4 時間学習ウィンドウでは 10 件中 5 件を検知した。
- **異常時間の割合(誤検知の代理指標)**: ラベルの制約上、偽陽性率そのものは計算できないため、Network / IF / IP / UDP がそれぞれ「異常」と判定される時間の割合を代理指標として示す。
- Network 異常: 1 時間ウィンドウで 6.29%、4 時間ウィンドウで 3.85%
- IF 異常: 1 時間ウィンドウで 35.97%、4 時間ウィンドウで 24.85%
- IP 異常: 1 時間ウィンドウで 42.03%、4 時間ウィンドウで 33.32%
- UDP 異常: 1 時間ウィンドウで 42.24%、4 時間ウィンドウで 30.29%
最上位の Network レベルで異常と判定される時間の割合が小さいことから、テスト障害の検知(6.29%/3.85% の時間帯に集中して検知が起きている)には意味があるとする。検知できなかった障害については、ルータ側に症状が現れていなかった可能性、または使用した特徴量では捉えられない症状だった可能性を挙げる。
![[fig06-results-thresholds.png]]
(Figure 6, p.698: 閾値法による結果。(a) 1 時間, (b) 4 時間, (c) 1 週間の学習ウィンドウ。アスタリスクがファイルサーバのダウン期間を示す)
- **閾値法との比較**: 1 時間・4 時間の学習ウィンドウでは結果はほぼ同一で、14 個の MIB 変数のうち 3 個が閾値を超えるという小さなピークしか現れない。1 週間の学習ウィンドウでは、対象の 1 時間全体にわたって結果がほぼ一定となり、有用な情報を与えない。
## 考察
- 提案するベイジアンネットワークによる統合は、障害の具体モデルなしに未知障害を検知でき、かつ検知に必要な情報を時間・空間で相関づけられるという理論的枠組みを提供する。
- ルータ自体は正常にすべての他のトラフィックをルーティングし続けており、ファイルサーバのダウン自体はルータの機能に問題を起こさないにもかかわらず、ルータの MIB 変数への影響からファイルサーバのダウンを検知できたと報告する(監視対象がルータであっても、間接的な影響を通じて他コンポーネントの異常を検知できることを示す観察)。
- 今後の課題として、(1) 対象実験の規模拡大、(2) 特徴抽出・ベイジアンネットワーク構造(伝播構造を含む)のさらなる検討、(3) Network 変数を超えた MIB グループの拡張と、複数ノードの観測を中央のネットワーク管理者側で統合するベイジアンネットワークへの拡張、(4) 既知障害の診断・特徴抽出の改善のための障害情報のより良い活用、を挙げる。
## 強み / 弱点・課題
- **Strengths**: 障害の事前仕様なしに未知障害を検知できる設計、AR(2) 特徴量による閾値法では捉えられない緩やかな変化の検知、ベイジアンネットワークによる階層的な情報統合により単一変数の閾値超過に頼らず「ネットワーク全体の健全性」を要約できる点、実運用ネットワークの実データ(7 ヶ月・10 障害)による検証。
- **Weaknesses/Limitations**: 評価に使えるラベルが syslog の報告する重大障害("server not responding" が大半)に限られ、偽陽性率(誤検知率)を直接計算できていない(異常時間の割合という代理指標にとどまる)。検知率も 1 時間学習ウィンドウで 7/10、4 時間学習ウィンドウで 5/10 と、残りの障害は検知できていない。ネットワーク機能間の構造は事前関係を仮定しない単純な木構造にとどまり、実際の障害伝播(低レベル↔高レベル機能間)は明示的にモデル化されていない。評価は単一サイト(RPI 計算機科学科ネットワーク)の単一ルータからの観測に基づく。