マイクロソフトは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)