280 likes | 411 Views
二分決定グラフによる 省メモリ侵入検知システム. 2010.2.9 電気通信大学大学院 情報工学専攻 阿部研究室 0831041 宮澤 僚太. 発表の流れ. 1.はじめに 2.侵入検知システムの概要と問題点 3.関連研究 4.提案手法 5.評価実験 6.まとめ. 侵入検知システム( IDS ). シグネチャ型 IDS あらかじめ定義されたルール(シグネチャ)に対応したパケットを検知すると警告を発する 未知攻撃には対応できない アノーマリ型 IDS 統計的手法によって異常を発見する False-positive が多い. IDS の構成と動作.
E N D
二分決定グラフによる省メモリ侵入検知システム二分決定グラフによる省メモリ侵入検知システム 2010.2.9 電気通信大学大学院 情報工学専攻 阿部研究室 0831041 宮澤 僚太
発表の流れ 1.はじめに 2.侵入検知システムの概要と問題点 3.関連研究 4.提案手法 5.評価実験 6.まとめ
侵入検知システム(IDS) • シグネチャ型IDS • あらかじめ定義されたルール(シグネチャ)に対応したパケットを検知すると警告を発する • 未知攻撃には対応できない • アノーマリ型IDS • 統計的手法によって異常を発見する • False-positiveが多い
IDSの構成と動作 • パケット分類エンジン • ヘッダ照合 • ペイロード検知エンジン • 文字列照合
IDSの問題(1)パケット分類の構成 • 処理効率重視のパケット分類 • ポート番号だけで分類 ① 分類が非効率的 ② ANYルールの複製により検知エンジンサイズが増大
IDSの問題(2)検知エンジンの消費メモリ • ペイロード検知エンジンのサイズ • Aho-corasick法[2]による複数文字列検索 ⇒文字列統合により エンジンサイズが増大
関連研究消費メモリの改善 • Aho-corasick Sparse-Banded[3] • インデックスの追加とデータ構造を縮小 ⇒ ペイロード検知エンジンのサイズを縮小 • Hash-Based Detection Engine[4] • ANYルールを単体扱いし、複製をしない構造化 ⇒ ペイロード検知エンジンのサイズを縮小 ※ ペイロード検知エンジンのみの最適化
関連研究分類効率の改善 • Using decision trees to improve signature-based intrusion detection[5] • 機械学習による多次元パケット分類決定木 ⇒ 不必要な情報の削除により検索効率が向上 ※ しかしパケット分類エンジンのサイズが増大
提案手法 • ルールやトラフィックの偏りを考慮した二分決定グラフによるパケット分類エンジン • 二分決定グラフの採用 ・エンジンのサイズを縮小 • ルール及びトラフィックの偏りの利用 ・変数順の最適化による効率的な検索
二分決定グラフBinary Decision Diagram:BDD • ブール関数を表現するためのデータ構造 • 共有と削除の操作により簡約化 • 変数順によりサイズと検索効率が大きく変化
二分決定グラフBinary Decision Diagram:BDD • パケット分類の論理式例 NTP={ab} 例:(D_port=123,S_IP=内部) POP3={cd}例:(D_port=110,S_IP=外部) HTTP={ef}例:(D_port=80, S_IP=any ) Attack={ab+cd+ef}(1)最悪順 (2)最小順 (3)効率最適順 (1) (2) (3)
提案手法変数順決定(1) • ヘッダフィールド間の分類精度の偏り[8]を利用 表:各フィールドのヘッダ値一致時のシグネチャ排除率 ⇒ ヘッダフィールド間の優先順位決定に利用
提案手法変数順決定(2) • トラフィックの偏り[9]を利用 表:宛先ポート毎に見たパケット数の偏り ⇒ ヘッダ値の登場頻度を変数順決定に利用
提案手法の概要 • BDDパケット分類エンジン • ANYループアルゴリズム • BDDキャッシュ機能
提案手法BDDパケット分類エンジン • フィールド階層構造 • N次元=N階層 • ANYは最後尾 • 分類処理 • 一致 ⇒ 左子ノード • 不一致⇒ 右子ノード • 葉 ⇒ 各ペイロード検知 エンジンへのリンク BDDパケット分類エンジンの簡易例
提案手法ANYループアルゴリズム • HBDE[4]に従いANYルールは単体として扱う • パケット(A,B,C,D)に対して検知すべき組合せ 置換0 : (A,B,C,D) 置換1 : (A,B,C,ANY), (A,B,ANY,D), … , (ANY,B,C,D) 置換2 : (A,B,ANY,ANY), (A,ANY,C,ANY), … , (ANY,ANY, C, D) 置換3 : (A,ANY,ANY,ANY), (ANY,B,ANY,ANY), … , (ANY,ANY,ANY,D) 置換4 : (ANY,ANY,ANY,ANY) ⇒ これらを擬似パケットとし、全てをBDD分類エンジンにかける
提案手法ANYループアルゴリズム • 従来法 [/1パケット] 分類処理は固定1回 検知処理は最大1回 • 提案手法 [/1パケット] 分類処理は固定2n回 検知処理は最大2n回 従来法 提案手法
提案手法BDDキャッシュ機能 1.ANYキャッシュと比較 ↓ 2.BDDキャッシュと比較 ↓ 3.BDDの根から探索 3はループ中、最初のみ ⇒高確率でキャッシュヒット
評価実験 • 以下の手法による比較実験 • 従来手法(Snort[1]) • 既存手法(ACSB[3]) • 提案手法(BDD2, BDD4, BDD5) • 評価項目 • メモリサイズ • 処理時間
メモリサイズに関する評価実験 • 分類エンジンサイズが大幅に縮小 • BDDの共有と削除の効果的に行われた • 検知エンジンサイズも大幅に縮小 • HBDE手法[4]によりANYルールの複製がなくなり、文字列統合が減った
処理時間に関する評価実験 • Snortよりは大幅に速くなった • エンジンサイズ減少により、ディスクアクセスがなくなった • ACSBとは同等か、若干遅くなった • ANYループのオーバーヘッドによりスループットが落ちた
まとめ • エンジンサイズが86~95%程減少した • パケット分類エンジンは多次元にも関わらずサイズが減少した • スループットは同程度か、やや落ちた • 高次元ではオーバーヘッドが大きいので、最適次元数はエンジンサイズとのトレードオフ • 今後の課題 • BDDの部分木レベルでの変数順最適化 • 他の方針で決めた変数順のBDDとの比較 • 分類エンジンのサイズ縮小に関する他の研究との比較
実験(1) • BDDキャッシュ機能と変数順
実験(2) • ルール数とペイロード検知エンジンサイズの関係
実験(3) • ルール数と処理時間の関係
実験(4) • ルール数とパケット分類エンジンの関係
関連研究二分決定グラフの利用 • Uniform hardware-based network intrusion detection engine[6] • 二分決定グラフを用いて回路の最適化 ⇒ ハードウェア実装において回路縮小に成功 ※ IDSの特性を考慮しない最適化 ※ 対象もペイロード検知エンジンのみ