マイクロソフトが10月16日に公開したセキュリティ・ホール「MS03-043」は,「Blaster」ワームなどが突くセキュリティ・ホール「MS03-026」や「MS03-039」と同程度に危険である。セキュリティ・ホールを実証するコード(Exploit)も既に公開されているので,すべてのWindowsユーザーが早急に対策を施す必要がある。今回の記事では,3番目の“超特大”セキュリティ・ホールといえる,この「MS03-043」を詳細に解説する。

メッセンジャ サービスにセキュリティ・ホール

 過去の記事でも説明しているように,このコラムでは,「特別なソフトウエアや機能を組み込んでいなくても,ほとんどすべてのWindowsが影響を受ける」かつ「セキュリティ・ホールを悪用するのに,攻撃対象マシンのユーザーのアクションを必要としない(ユーザーがWebページやHTMLメールなどを閲覧しなくても被害に遭う)」セキュリティ・ホールを“超特大”として注意を呼びかけている。

 「Blaster」ワームなどが実際に悪用した「RPC インターフェイスのバッファ オーバーランによりコードが実行される (823980) (MS03-026)」「RPCSS サービスのバッファ オーバーランによりコードが実行される(824146)(MS03-039)」に続く,3件目の“超特大”セキュリティ・ホールが,10月16日に公開された「MS03-043」である。

メッセンジャ サービスのバッファ オーバーランにより,コードが実行される (828035) (MS03-043)

 これは,管理者やソフトウエアがユーザーにメッセージを通知するために使用する「メッセンジャ サービス」の実装に見つかったセキュリティ・ホールである。同サービスでは,受信したメッセージを割り当てられたバッファに渡す前に,メッセージの長さを検証しない。このため,細工が施されたメッセージを送信されると,バッファ・オーバーランが発生し,任意のコードを実行させられる可能性がある(関連記事)。

 Windows NT 4.0/2000/XP/Server 2003が影響を受ける。Windows Meは影響を受けない。クライアントやサーバーの区別なく,ネットワークに接続するだけで攻撃を受ける恐れがあるので,影響を受けるすべてのWindowsマシンに至急パッチを適用する必要がある。

 セキュリティ・ベンダーであるInternet Security Systems(ISS)からは,「MS03-043」のセキュリティ・ホールをチェックするツール「MS03-043 Messenger Service Scanning Utility」が公開されている。必要に応じて利用して,パッチの適用を徹底したい。なお,マイクロソフトは「MS03-026」と「MS03-039」をチェックするツールを公開しているが,「MS03-043」をチェックするツールは未公開である。

 なお,メッセンジャ サービスは,Windows(Windows Meを除く)が標準で備えるサービスである。インスタント・メッセージング・サービスである「Windows メッセンジャ」や「MSN メッセンジャ」とは無関係である。

 マイクロソフトが公開するセキュリティ情報の「謝辞」によれば,発見者である「The LSD Research Group(The Last Stage of Delirium Research Group)」から,マイクロソフトへの事前報告や協力があったことが分かる。このことから,セキュリティ情報の公開前に,このセキュリティ・ホールが悪用されている可能性は小さいと考えられる。最初の“超特大”セキュリティ・ホール「MS03-026」を発見したのも,The LSD Research Groupである。

メッセンジャ サービスを無効にして回避

 「MS03-043」のセキュリティ情報には明確に記載されていないが,このセキュリティ・ホールを突いた攻撃を成立させるには,攻撃対象マシンが以下の条件を満たしている必要がある。

 (1)メッセンジャ サービスを有効にしている
 (2)NetBIOS および UDP ブロードキャストの着信トラフィックを有効にしている
 (3)RPC(Remote Procedure Call)サービスを有効にしている

 いずれもデフォルトで有効である。それゆえ,「MS03-043」は“超特大”なのである。すぐにパッチを適用できない場合には,上記いずれかの条件を無効にすれば,攻撃を回避できる。

 とはいえ,RPC(Remote Procedure Call)サービスを無効にすれば,Windowsの動作に影響を及ぼす可能性がある。(1)あるいは(2)を無効にすることで,回避する必要がある。

 マイクロソフトは(1)のメッセンジャ サービスを無効にする回避策を推奨している。セキュリティ情報の冒頭で,「推奨する対応策 :メッセンジャ サービスを直ちに無効にし,修正プログラム適用の必要性を評価して下さい」と明記している。このように,マイクロソフト自身がデフォルトで有効な機能を無効にするよう勧めるのは,極めて異例のことである。

 例えば,前回の記事で解説したように,「Internet Explorer 用の累積的な修正プログラム (828750) (MS03-040)」を悪用した攻撃を回避するには,ActiveXコントロールを無効にすることが最も確実である。しかし,「よく寄せられる質問 」では,無効にするようには勧めず,ダイアログを表示する設定を勧めている。このように,Windowsが標準で搭載して,デフォルトで有効にしている機能を「無効にしましょう」とは,マイクロソフトは通常は言わないのである。

 筆者も,サーバーであるかクライアントであるかを問わずに,メッセンジャ サービスを無効にすることをお勧めする。「MS03-043」のパッチを適用していても,メッセンジャ サービスを無効にしておくべきである。というのも,今後,このサービスに関連したセキュリティ・ホールが見つかり,攻撃に悪用される可能性が高いからである。

 「MS03-026」という最初の“超特大”セキュリティ・ホールがRPCサービスに見つかっために,関係者はRPCサービスに注目し,その後,類似のセキュリティ・ホール「MS03-039」が発見された。メッセンジャ サービスについても,今回の「MS03-043」を契機に関係者の注目が集まり,メッセンジャ サービスに関連したセキュリティ・ホールが見つけられる可能性は高いと考えられる。

 また,国内ではあまり問題になっていないようだが,海外ではメッセンジャ サービスを悪用して,広告をポップアップ表示させる新手のスパムが登場しているという。「マイクロソフト サポート技術情報 - 330904 インターネット広告が掲載されたメッセンジャ サービス ウィンドウが表示される」にも,この問題は記載されている。メッセンジャ機能を利用して広告を送るソフトウエアも販売されている。「メッセンジャ・スパム」でわずらわしい思いをしないためにも,メッセンジャ サービスを無効にしておきたい。

 メッセンジャ サービスを無効にする方法は,「MS03-043」のセキュリティ情報の「回避策」に記載されている。なおWindows Server 2003 では,メッセンジャ サービスはデフォルトで無効となっている。このため,Server 2003における「MS03-043」の深刻度は,最低の「警告」に設定されている。

セキュリティ情報に誤解を与える記述

 次に,(2)「NetBIOS および UDP ブロードキャストの着信トラフィックを有効にしている」について解説する。

 メッセンジャ サービスのメッセージは,net send コマンドやクライアントとサーバー間の Alerter (警告) サービスにより, NetBIOS または RPC を使って配信される。 このため,NetBIOS および UDP ブロードキャスト・パケットをブロックすれば,攻撃を回避できる。

 マイクロソフトが公開する「MS03-043」のセキュリティ情報では,「問題を緩和する要素」の項で,「ユーザーが NetBIOS ポート (ポート 137-139) および UDP ブロードキャスト・パケットをファイアウォールでブロックしている場合,攻撃者は,これらのポートを使用し,メッセンジャサービスにメッセージを送ることができません」としている。NetBIOS と UDP ブロードキャスト・パケットをブロックすることは正しいのだが,具体的に書かれているポート番号が「137-139」だけなので,誤解を与える恐れがある。

 「マイクロソフト サポート技術情報 - 330904 インターネット広告が掲載されたメッセンジャ サービス ウィンドウが表示される」では,「メッセンジャ サービスは,UDP ポート 135,137,138,および TCP ポート 135,139,445,さらに 1024 よりも大きい番号の一時利用ポートを使用します」と,ポート番号を明記している。ISSも「ワームまたは攻撃コードが利用すると予想されるのは,TCPおよびUDPの1024-1100番までのポート」と注意を促している。

 これらを考慮すれば,誤解を与えないために,「NetBIOS が使用するポート (TCP/UDP ポート番号 135,137-139,445) および UDP ブロードキャスト パケットが使用するポート(UDP ポート番号 1024 以上)をふさぐ必要がある」と明確に書くべきだろう。

 Windows XPとWindows Server 2003では,標準搭載されているICF(インターネット接続ファイアウォール)機能を有効にすれば,これらのポートをブロックできる。Windows XPに当初搭載されたICFは,ユニキャストの着信トラフィックのみを検査したが,Windows XP Service Pack 1 および Windows Server 2003からは,すべてのトラフィック(ユニキャスト/マルチキャスト/ブロードキャスト)を検査対象とする。そして,勝手に送られてくるトラフィックは,どのようなものでもブロックする(詳細は,「マイクロソフト サポート技術情報 - 329928 - Windows XP SP1 および Windows Server 2003 では ICF が勝手に送り付けてくるユニキャスト,マルチキャスト,およびブロードキャスト トラフィックをブロックする」 を参照)。

「MS03-043」の公開から4日後にExploit出現

 「MS03-043」のセキュリティ・ホールを発見した「The LSD Research Group」は,「MS03-043」のパッチが公開された後も,「We have discovered a critical security vulnerability in the RPC Messenger Service. 」(私たちは,RPCメッセンジャ サービスにセキュリティ上の重大な脆弱性を発見した)という簡単なメッセージしか公開していない。悪用を防ぐためだと考えられる。

 前述のように,The LSD Research Groupは「MS03-026」も発見している。このときも,悪用を恐れて,パッチ公開後も技術的な内容は公開していない。

  • exploits codeは必ず作成できる
  • TCP/IP でメッセージの送受信を処理するRPCのある特定の個所にセキュリテ・ホールが存在する
  • RPC を使用する DCOMインターフェイスに影響が発生する
  • Windows Me/98は影響を受けない
  • Windows NT 4.0とNT Server 4.0 TSEは,特に影響を受けやすい

などを記したレポート「Buffer Overrun In Windows RPC Interface」を公開しただけである。

 それにもかかわらず,上記のレポートが公開された9日後に,「Xfocus」と呼ばれる中国で設立されたグループが,「MS03-026」の詳細な分析とExploitを公開した。2003年8月に出現したBlasterワームとその変種は,このとき公開されたExploitがベースになっているといわれている。

 Xfocusがどのような方法でセキュリティ・ホールを解析したのかは不明である。しかし,The LSD Research Groupのレポートがヒントになった可能性は否定できない。そこで今度は,技術的な内容はもちろんのこと,ヒントになりそうなことは一切公開せず,「We have discovered a critical security vulnerability in the RPC Messenger Service. 」とだけ公開したのではないかと,筆者は考えている。

 だが,The LSD Research Groupが情報を公開しなかったにもかかわらず,パッチ公開からわずか4日後に,「MS03-043」のExploitが出現した。情報処理振興事業協会(IPA)は,10月20日に公開した「Windows のメッセンジャサービスの脆弱性について」で「この脆弱性を攻略するプログラムが既に出現しています」と警告している。

 ISSも,10月21日に公開した「Weekly SOC Report」において,「すでに,この脆弱性に対するDoSコードが公開されており,ワームに転用できるコードも,近日中に公開されるものと予想されています」と警告している。

 さらに同社は,セキュリティ アドバイザリ「Microsoft RPC での競合状態によるサービス不能」において,「MS03-039」のパッチを適用しても修正できないセキュリティ・ホールが,RPC サービスに存在することを明らかにした。このセキュリティ・ホールを突くDoSコードが既に存在するという。

 筆者が以前の記事「今後も見つかる可能性が高い“超特大”セキュリティ・ホール,回避策の実施が不可欠 パッチが公開される前の“ゼロ・デイ・アタック”に備えよ」で予測した事態が発生しているのだ。

 セキュリティ・ホールの発見者が何のヒントを出さなくても,Exploitは必ず作られる。さらには,パッチが未公開のセキュリティ・ホールを突くExploitも作られる。ユーザーとしては,セキュリティ・ホールが公開されれば,必ずパッチあるいは回避策を施すことはもちろんのこと,未知のセキュリティ・ホールに備えた回避策を施す必要もあるのだ。

 幸い,「MS03-026」や「MS03-039」の回避策は基本的に共通であり,RPC関連の未知のセキュリティ・ホールに対しても,かなりの確度で有効だと考えられる。具体的な回避策は,過去の記事および「よく寄せられる質問 : マイクロソフトセキュリティ情報(MS03-039)」「Blaster に関する情報」の「回避策」を参照してほしい。

マイクロソフトのアナウンスは不十分

 繰り返しになるが,「MS03-043」は他の「緊急」のセキュリティ・ホールよりも強調して注意を呼びかけるべきセキュリティ・ホールである。「MS03-026」や「MS03-039」と同じように,ネットワークに接続するだけで攻撃を受ける恐れがあるのだ。マイクロソフトは,このことをきちんとアナウンスしているのだろうか。答えは残念ながら「ノー」である。他のセキュリティ情報に埋もれているのが現状だ。

 マイクロソフトはセキュリティ情報とパッチの公開スケジュールを変更し,1カ月に1度まとめて公開するようになった(関連記事)。その第1回目が10月16日だった。7種類のセキュリティ・ホールが公開され,そのうち5種類が,最大深刻度「緊急」のセキュリティ・ホールだった。「MS03-043」はそのうちの1つだった。“別格”扱いしなければ,ユーザーは5種類の「緊急」にうんざりするばかりで,「MS03-043」の危険性に気付きにくいだろう。

 ところが,マイクロソフトのWebサイトを見る限りでは,“別格”扱いしていない。「セキュリティ情報センターのご案内」「セキュリティ スクエア」では,「MS03-043」に関するアナウンスは見当たらない。

 「マイクロソフト セキュリティ」では,「Important Announcements」として,「Windows Update」の実施を促すと同時に,なぜか「MS03-047: Exchange Server 5.5 Outlook Web Access の脆弱性により,クロスサイト スクリプティングの攻撃が実行される (828489)」と「MS03-046: Exchange Server の脆弱性により,任意のコードが実行される (829436)」をアナウンスしている。これだけを見ると,「MS03-046」と「MS03-047」が重要なように見えるが,単に新しい順で並べているだけのようだ。「MS03-046」はExchange Serverを稼働しているマシンだけが影響を受けるものの,最大深刻度は「緊急」である。しかし,「MS03-047」の最大深刻度は「警告」である。「MS03-043」を差し置いて,目立つべき場所でアナウンスする必要があるとは思えない。

 「TechNet セキュリティ センター」では,相変わらず「Internet Explorer 用の累積的な修正プログラム (828750) (MS03-040)」「RPCSS サービスのバッファ オーバーランによりコードが実行される (824146) (MS03-039)」を強調している。

 もし,マイクロソフトが今回の「MS03-043」を“超特大”のセキュリティ・ホールであると認識しているのであれば,ぜひ積極的にアナウンスしてもらいたい。

 一方で,望ましい“アナウンス不足”もある。10月15日に公開された「Windows XP アップデート ロールアップ 1」も,「MS03-043」同様,積極的にはアナウンスしていない。「MS03-043」についてはこのままでは不十分だが,「Windows XP アップデート ロールアップ 1」についてはこのままで十分だ。

 というのも,「Windows XP アップデート ロールアップ 1」は,「Windows XP についてこれまでにリリースされたすべての重要なアップデートを 1 つのパッケージにまとめたもの」であるが,肝心の「MS03-043」が含まれていないからだ(「Windows XP アップデート ロールアップ 1」に含まれているパッチは「マイクロソフト サポート技術情報 - 826939 Windows XP 用ロールアップ修正プログラム 1 について」に詳しい)。

 「マイクロソフト サポート技術情報 - 826939 Windows XP 用ロールアップ修正プログラム 1 について」には,「SP1 未適用の Windows XP ベースのコンピュータにこのロールアップ修正プログラムをインストールすることはできますが,SP1 およびこのロールアップ修正プログラムに含まれない他の重要な更新とセキュリティ修正プログラムもインストールすることを推奨します」と記述されているものの,「MS03-043」を含む10月分のパッチと「Windows XP アップデート ロールアップ 1」の公開日が近かったために,「『Windows XP アップデート ロールアップ 1』を適用すれば,しばらくは大丈夫」と誤解される恐れがある。

 最後に,スペースの都合上詳細は割愛するが,「MS03-043」以外のWindows関連セキュリティ・トピックス(2003年10月26日時点分)については,プロダクトごとにまとめたリンクを記事末に記したので,最新情報を確認してほしい。

 特に,「リストボックスおよびコンボボックスのコントロールのバッファオーバーランにより,コードが実行される (824141) (MS03-045)」では,「Windows XP 用のファイル情報が誤っていたこと」や「パッチによっては,特定のソフトウエアとの互換性に問題があること」が追記された。ただし後者については,日本語版パッチは影響を受けない。

 また,「Exchange Server 5.5 Outlook Web Access の脆弱性により,クロスサイト スクリプティングの攻撃が実行される (828489) (MS03-047)」では新たなパッチが公開された。当初公開されたパッチは,特定の言語に対応していなかったためである。ただし,新しく公開されたパッチを適用する必要があるのは,Outlook Web Access の言語パックから言語をインストールしている場合だけ。インストールしていない場合には,新しいパッチを適用する必要はない。



マイクロソフト セキュリティ情報一覧

 2003 年 10 月のセキュリティ情報 (Windows)
 (2003年10月16日:日本語情報公開)
 2003 年 10 月のセキュリティ情報 (Exchange)
 (2003年10月23日:MS03-047 が更新され,Outlook Web Access 言語パックにより追加される言語のための修正パッチの詳細情報が追加)
 (2003年10月16日:日本語情報公開)

『Windowsファミリ』
Windows の「ヘルプとサポート」のバッファ オーバーランにより,システムが侵害される(825119) (MS03-044)
 (2003年10月16日:日本語情報および日本語版パッチ公開,最大深刻度 : 緊急)

『Windowsファミリ(Windows Meを除く)』
メッセンジャ サービスのバッファ オーバーランにより,コードが実行される (828035) (MS03-043)
 (2003年10月16日:日本語情報および日本語版パッチ公開,最大深刻度 : 緊急)
Authenticode の検証の問題により,コードが実行される (823182) (MS03-041)
 (2003年10月16日:日本語情報および日本語版パッチ公開,最大深刻度 : 緊急)
リストボックスおよびコンボボックスのコントロールのバッファオーバーランにより,コードが実行される (824141) (MS03-045)
 (2003年10月23日:互換性に関する問題を修正したパッチを公開)
 (2003年10月20日:特定のパッチの互換性に関する問題を追記)
 (2003年10月20日:Windows XP 用のファイル情報の誤りを修正)
 (2003年10月16日:日本語情報および日本語版パッチ公開,最大深刻度 : 重要)

『Windows 2000』
Windows トラブルシュータ ActiveX コントロールのバッファ オーバーフローにより,コードが実行される (826232) (MS03-042)
 (2003年10月16日:日本語情報および日本語版パッチ公開,最大深刻度 : 緊急)

『Exchange Server 5.5/2000』
Exchange Server の脆弱性により,任意のコードが実行される (829436)(MS03-046)
 (2003年10月16日:日本語情報および日本語版パッチ公開,最大深刻度 : 緊急)

『Outlook Web Access を実行しているExchange Server 5.5』
Exchange Server 5.5 Outlook Web Access の脆弱性により,クロスサイト スクリプティングの攻撃が実行される (828489) (MS03-047)
 (2003年10月23日:Outlook Web Access 言語パックから追加した言語用パッチの詳細情報を追加)
 (2003年10月16日:日本語情報および日本語版パッチ公開,最大深刻度 : 警告)


山下 眞一郎   Shinichiro Yamashita
株式会社 富士通南九州システムエンジニアリング
第一ソリューション事業部ネットソリューション部 プロジェクト課長
yamaアットマークbears.ad.jp


 「今週のSecurity Check [Windows編]」は,IT Proセキュリティ・サイトが提供する週刊コラムです。Windows関連のセキュリティに精通し,「Winセキュリティ虎の穴」を運営する山下眞一郎氏に,Windowsセキュリティのニュースや動向を分かりやすく解説していただきます。(IT Pro編集部)