• 検索結果がありません。

第 4 章 NIDS の協調による性能向上と耐障害性向上 62

4.3 実験

4.3.4 耐障害性向上

のCPU使用率が増加した.ルール移譲が停止すると,全てのNIDSのCPU使用率 はほぼ同じ程度となった.

実験結果:重複ルールの削除の効果

重複ルールの削除による性能向上の効果を示すため,NIDSの初期ルール設定を,

上流・下流双方ともデフォルトルールを全て有効として,実験を行った.全ての NIDSが同じルール設定となっているため,トラフィックは必ず同じルールに対し て2回チェックされる.

図4.6に実験結果を示す.図4.6 (a)に各NIDSでの有効ルール数の水位を示す.

この図が示すように,実験開始30分後にBrownieが動作を開始すると,まず冗長 ルールを全て削除する.その後,一部のルールが上流NIDSから下流NIDSに移譲 される.冗長ルールを削除したあとの設定は,第4.3.3節での初期設定UPと同一 であるため,この移譲は第4.3.3節とほぼ同様となる.図4.6 (b)と(c)にそれぞれ 上流NIDSと下流NIDSのCPU使用率を示す.Brownieなしの場合,上流NIDSの

CPU使用率は100%になる場合がある.一方,Brownieありの場合,ルールを移譲

するにつれて,上流NIDSのCPU使用率は減少する.また,下流NIDSのCPU使 用率は,Brownieなしの場合とほとんど変化はなかった.

0 1000 2000 3000 4000 5000 6000 7000 8000 9000

0 1 2 3 4 5

number of rules

Elapsed time [hour]

transfer rules eliminate

rules

upstream NIDS downstream NIDS

(a) # of rules with Brownie

0 20 40 60 80 100

0 1 2 3 4 5

CPU usage [%]

Elapsed time [hour]

w/ Brownie w/o Brownie

(b) CPU usage of upstream NIDS

0 20 40 60 80 100

0 1 2 3 4 5

CPU usage [%]

Elapsed time [hour]

w/ Brownie w/o Brownie

(c) CPU usage of downstream NIDS

図4.6: 実験結果:冗長ルール削除(実トラフィック,初期設定: BOTH)

に示す.縦線は,1つ目が上流NIDSが停止した時刻,2つめが下流NIDSがルー ル設定を変更した時刻を表す.実験開始時は上流・下流NIDS双方で攻撃を検知し 警告を発しているが,上流NIDSを停止させると下流NIDSのみで警告が発生する ようになる.停止後しばらくの間は下流NIDSで発生する警告数は変化しないが,

障害を検知し上流NIDSでのルールも有効にすると,警告数が増加し,上流NIDS での障害をカバーできていることがわかる.また,ベンチマークスループットを

図4.7 (c)に示す.前節の実験でも示した通り,デフォルトルールを全て有効にす

ることは,下流NIDSには過負荷となるため,障害発生前に比べてスループットは 減少している.

初期設定を同じく負荷分散した後のルール設定で,下流NIDSを停止させた時 の実験結果は,図4.8の通りである.上記の場合と下流NIDSと下流NIDSが逆に なった以外は大きな違いはない.なお,下流NIDSが停止した後のスループットが,

停止する前のスループットよりも増加している原因として,下流NIDSではSnort が停止しているためと考えられる.NIDSでSnortが稼働している場合,パケット を検査するためにユーザレベルに一度上げる必要があるが,NIDSが停止している 場合そのまま転送するからである.

この実験では,ハートビート30秒,障害検知までのハートビート待機時間を60 秒としたため,障害発生からルール再設定まで1分半程度要した.この期間,障 害が発生したNIDSで有効になっていたルールに対する攻撃は検知されない.ハー トビートの間隔及びハートビート待機時間を短くすることで,この期間を短くす ることができる.もちろん,完全冗長のルール設定を行っていれば,この期間は ない.しかし,第4.3.2節の実験で示した通り,完全冗長は性能が低下する.また,

今回は性能をスループットで計測するためにNIPSとしてinline-modeで動作させ たが,NIDSの場合過負荷になるとパケットの取りこぼしがおきるため,ルールを 有効にしていても攻撃を検知できない可能性がある.また,Brownieがない場合 は,障害が起こっていないNIDSが元々有効にしていたルールのみを検知する期間 が非常に長くなる.これは,例えば管理者がNIDSの障害に気づき対処するまで,

という時間となり,Brownieによる障害検知及び他NIDSによる肩代わりよりも長 い時間になることが予想される.

0 1000 2000 3000 4000 5000 6000 7000 8000 9000

0 2 4 6 8 10

number of rules

Elapsed time [min]

upstream NIDS downstream NIDS

(a) # of rules

0 200 400 600 800 1000 1200 1400

0 2 4 6 8 10

number of alerts

Elapsed time [min]

upstream NIDS downstream NIDS

(b) # of alerts

0 50 100 150 200 250

0 2 4 6 8 10

Throughput [Mbit/sec]

Elapsed time [min]

(c) Throughput

図4.7: 実験結果:耐障害性(初期設定: BALANCED,上流NIDSを停止)

0 1000 2000 3000 4000 5000 6000 7000 8000 9000

0 2 4 6 8 10

number of rules

Elapsed time [min]

upstream NIDS downstream NIDS

(a) # of rules

0 200 400 600 800 1000 1200 1400

0 2 4 6 8 10

number of alerts

Elapsed time [min]

upstream NIDS downstream NIDS

(b) # of alerts

0 50 100 150 200 250

0 2 4 6 8 10

Throughput [Mbit/sec]

Elapsed time [min]

(c) Throughput

図4.8: 実験結果:耐障害性(初期設定: BALANCED,下流NIDSを停止)