米CERT/CCは米国時間4月17日,オープン・ソースの侵入検知システム(IDS)ソフト「Snort」に見つかった2つのセキュリティ・ホールを警告した。影響を受けるのは,バージョン1.8から2.0 RC1まで。セキュリティ・ホールを悪用されると,Snortを稼働しているマシンの管理者権限をリモートから奪われる恐れがある。対策はバージョン2.0にアップグレードすることなど。

 Snortには,ユーザーが機能を追加できるように,さまざまなモジュール(プリプロセッサ・モジュール)が同梱されている。同梱されているモジュールのうち,デフォルトで有効になっている「stream4プリプロッセ」と「RPCプリプロッセ」に,それぞれ異なるセキュリティ・ホールが見つかっている。

 stream4プリプロッセのセキュリティ・ホールは,「CORE Security Technologies」)が発見し,4月15日に公開した。stream4プリプロセッサは,SnortにTCPパケットのリアセンブル(フラグメント化したパケットを元に戻す)機能を持たせるモジュールである。

 stream4プリプロセッサには,バッファ・オーバーフローのセキュリティ・ホールがある。このため,細工が施されたパケットを送られると,パケットに仕込まれた任意のコードを実行させられる恐れがある。コードは,Snortが稼働する権限――通常は管理者(root)権限――で実行されるので,事実上,Snortが稼働するマシンの管理者権限を奪われることになる。バージョン1.8から2.0 RC1までが,このセキュリティ・ホールの影響を受ける。

 RPCプリプロッセのセキュリティ・ホールを発見したのは,Internet Security Systems(ISS)である。3月3日に公開した。IDSをかいくぐる攻撃手法として,フラグメント化したRPCパケットを使う手法がある。そのような攻撃パケットを検知できるようにするのがRPCプリプロッセであり,Snortのバージョン1.8からサポートされた。

 RPCプリプロッセにもバッファ・オーバーフローのセキュリティ・ホールがあるため,細工が施されたパケットを送信されると,任意のコードを管理者権限で実行される恐れがある。このセキュリティ・ホールの影響を受けるのは,バージョン1.8 から 1.9.1 および 2.0 Beta。

 対策は,セキュリティ・ホールを修正したバージョン2.0にアップグレードすること。Snort.orgダウンロード・ページから,ソースおよびバイナリを入手できる。

 stream4およびRPCプリプロセッサを無効にすることでも回避できる。具体的には,Snortの設定ファイルである「snort.conf」の中の,「preprocessor stream4_reassemble」および「preprocessor rpc_decode: 111 32771」の行をコメント・アウトする(行頭に「#」を付ける)(CERT/CCの情報Snort.orgの情報)。ただし,セキュリティ・ホールの影響を回避できる代わりに,これらのプリプロセッサが持つ機能も当然使えなくなるので注意が必要である。

◎参考文献
「CA-2003-13 Multiple Vulnerabilities in Snort Preprocessors」(CERT/CC)
「Snort TCP Stream Reassembly Integer Overflow Vulnerability」(CORE Security Technologies)
「Snort Advisory: Integer Overflow in Stream4」(Snort.org)
「Snort RPC Preprocessing Vulnerability」(ISS)

(勝村 幸博=IT Pro)