マイクロソフトは7月25日,Exchange Server 5.5のセキュリティ・ホールを公表した。 Internet Mail Connector(IMC)を有効にしている場合,不正なSMTPコマンドをメール・クライアントなどから送信されると,バッファ・オーバーフローを引き起こし,サービスを停止させられたり,任意のコード(プログラム)を実行されたりする恐れがある。対策はパッチを適用すること。ただし,米Microsoftの情報によると,攻撃を成功させることは難しいという(後述)。そのため,最大深刻度は「中」に設定されている。

 今回,Exchange Serverのコンポーネントの一つであるIMCに,バッファ・オーバーフローのセキュリティ・ホールが発見された。IMCはSMTP(Simple Message Transfer Protocol)による通信を可能にするコンポーネントである。IMCをインストールすることで,Exchange Server以外のメール・サーバーなどとメールをやり取りすることができるようになる。デフォルトではインストールされていない。IMCをインストールしていない場合には,セキュリティ・ホールの影響を受けない。

 バッファ・オーバーフローが発生する恐れがあるのは,メール・クライアントあるいはサーバーから,SMTPコマンドの一つである「extended Hello(EHLO)」を送信されて,その応答をするときである。

 STMPのコネクションが確立した後,Exchange Serverと接続しているメール・サーバー/クライアントは,「EHLO」を送信する。それに対して,Exchange Serverは

250-(Exchange Server 自身のドメイン名*)Hello (接続相手のドメイン名あるいはIPアドレス)

*:FQDN(fully-quality domain name:絶対ドメイン名)

といった応答を返す。このとき,この応答文字列がある長さ以上になると,バッファ・オーバーフローを引き起こすという。バッファ・オーバーフローさせるには,「Hello」以前の文字列は短いので,(接続相手のドメイン名あるいはIPアドレス)が非常に長くなくてはいけない。

 Exchange Serverは,接続相手がDNSサーバーで逆引きできる場合のみドメイン名を使い,逆引きできなかった場合には,IPアドレスを表示する。つまり,

・IMCが接続相手のIPアドレスを逆引きできる
・逆引きした結果が非常に長い

という条件を満たす場合のみ,攻撃は“成功”するという。

 条件を満たすには,対象とするExchange Serverが参照するDNSサーバーに,不正な情報を仕込まなければならない(あるいは,不正なDNSサーバーを参照させる)。そのため,米Microsoftの情報によれば,攻撃を成功させることは非常に難しいという。

 ただし,このセキュリティ・ホールを発見した米Internet Security Systemsの情報によれば,ドメイン名に使用できるのは255文字までなのに対して,IMCが用意するバッファはそれよりも小さいので,“正規”のドメイン名でバッファ・オーバーフローを引き起こせるとしている。

 対策はパッチを適用すること。適用条件は,Exchange 5.5 Service Pack 4 を適用済みであること。また,レジストリを変更して,接続相手のIPアドレスが逆引きできる場合でもIPアドレスを表示するようにすれば,影響を回避できる(詳細情報)。

 なお,Exchange 2000は影響を受けない。

◎参考資料
MS02-037: SMTPクライアントEHLO コマンドへのサーバー応答で,バッファオーバーランが発生する(マイクロソフト,要約情報とパッチ)
Microsoft Security Bulletin MS02-037「Server Response To SMTP Client EHLO Command Results In Buffer Overrun」(米Microsoft,英語情報)
Remote Buffer Overflow Vulnerability in Microsoft Exchange Server(米Internet Security Systems,英語情報)
SMTPクライアントEHLO コマンドへのサーバー応答で,バッファオーバーランが発生する(Q326322) (MS02-037) (マイクロソフト,日本語情報とパッチ)

(勝村 幸博=IT Pro)