(Mark Joseph Edwards)

 オープン・ソースの侵入検知/防御システム(IDS/IPS)である「Snort」を使っている人は,多いことだろう。もしそうなら,このソフトがユーザー・コミュニティの強い支援を受けた素晴らしいツールだということもご存知だろう。米Sourcefireは,Snortの商用版と他のネットワーク防御ツールを販売している。

 最近,私がSnort.orgのWebサイトを訪ねたところ,現在Sourcefire Vulnerability Research Teamの認定ルール・セットを定期的に入手できることが分かった(該当サイト)。これは最新のルール・セットを,一般に公開されるよりも5日早く入手できるというものだ。

効率的なルール作成がトラフィック低下を防ぐ
 恐らくあなたは,SnortのWebサイトで入手できるルール・セットを使うだけでなく,独自のルールを追加するだろう。何かのアプリケーションのソース・コードを書く場合と同じように,ルールをどう書くかはSnortの性能に影響する。

 ひどい書き方をしたルールは処理に多くの時間がかかる。あちこちでほんの数μ秒だけ余計な処理時間がかかるのは大した問題ではないように見える。しかし,トラフィックの負荷全体を考えてみれば,その時間の積み重ねが実際の速度では秒単位,あるいは分単位にもなることもある。効率的なルールであるほど,IDSをより効率的に稼働させて,異常なトラフィック低下の発生を防ぐことになる。

 ではあなたが書いたツールが,どのくらい効率的かはどうやって判断できるのだろうか? 簡単な方法は,新しいTurboSnortRulesオンライン・ベンチマーク用ツールを使うことだ。これはVigilantMindsが提供している。TurboSnortRulesは,あなたが入力したルールの性能を,あるコントロール・データのセットに照らしながら,様々なバージョンのSnort上でテストしてくれるWebベースのサービスである(該当サイト)。このテストの結果を見ると選択したバージョンの上であなたのルールがどのくらいの速さで動くかが分かる。

ルール・セットを評価してくれるサービスを試す
 このサービスが効果を発揮する例として,2つのセットのテスト結果が見られる(該当サイト1該当サイト2)。テストを受けたどちらのルールも,Yahoo! Messengerのログオンを検知するために設計されたものだ。その結果を見て分かるように,片方のルールはもう片方よりもかなり早く処理をしている。

 もう1つの例として,トロイの木馬「Mytob」を検知するために書かれた2つのルールのテスト結果を見てほしい(該当サイト1該当サイト2)。

 1つのルールはもう片方より早く処理しているがこの場合,速度の差はYahoo! Messenger用のルールの場合ほど劇的なものではない。それにしても少しでも速度が上がればしめたものだ。片方の遅いルールはSnortがパケットを見落とし始める状態を引き起こすようで,セキュリティ全体を危険にさらす可能性がある。さらに下手なルールが引き起こす損害を示しておこう(該当サイト)。

 さらにTurboSnortRulesには,ルールを検索できるデータベースがある。ルールはSnortの配布物に含まれていたり,管理者がテスト目的でそのサイトに公開していたりする。このデータベースは,必要とするが自分では書きたくないルールを見つけるのに役立つ。さらに,そうしたルールがどのくらいうまく動くかを示す性能データも見つけられる。このサイトにある別の素晴らしいリソースは,Snort Performance Wikiだ。これは,できる限り高速にSnortを稼働させる方法を教えてくれる,有用な示唆に富んだものである。