過去にこのコラムでも何度か書いたが,マイクロソフトの情報提供は充実してきている。しかしながら,本当に重要な情報を提供していない場合も少なくない。例えば,前回の記事で解説したWindows 2000のセキュリティ・ホールについては,IIS(Internet Information Server/Services)の使用の有無にかかわらず影響を受けることが明らかになっているのに,依然IISユーザーのみに警告を呼びかけている。加えて,ファイアウオールなどで“当然”ふさいでおくべきポートについての情報もきちんと提供していないようだ。同社のサイトでは十分な量のセキュリティ情報が提供されている。次は“質”の向上に努めてもらいたい。

 また,3月27日に公開されたセキュリティ・ホールについて,Windows NT 4.0用のパッチが提供されなかったことも気になる。同社は「アーキテクチャ上の制限により提供できない」としているが,額面どおりには受け取れない。筆者には“別の理由”があるように思える。

IISユーザーだけに“警告”

 前回の記事では,「Windows コンポーネントの未チェックのバッファによりWeb サーバーが侵害される (MS03-007)」の危険性を解説した。同記事でも「セキュリティ・ホールが存在するのは,WebDAVが使用する Windows コンポーネント(Ntdll.dll)なので,IISを使用していなくても今回のパッチを必ず適用する必要がある」と書いたが,同様の内容――IISを利用していなくても対策を施す必要があること――は他のベンダーや組織からも警告されている。

 例えば3月25日には,セキュリティ・ベンダーであるラックが,「NGSSoftware」のDavid Litchfield 氏のレポート(PDFファイル)に基づいて,警告を発している関連記事)。

 3月29日には,警察庁が「@police」サイトにおいて,同様に警告している。なお,警察庁が公開している情報には,セキュリティ・ホールを悪用した攻撃の検証結果や,攻撃を受けた場合の痕跡が記述されており興味深い。ぜひチェックしておきたい。同情報にもあるように,攻撃を受けた場合の痕跡は,イベント・ログには残るものの,IISのログには残らないので要注意である。

 ところが,マイクロソフトの「TechNet セキュリティ センター」で公開している“警告”には,「[重要] Windows 2000 にて Internet Information Services 5.0 をお使いのお客様へ重要なセキュリティ対策のお願い」と記述されている(4月6日現在)。IISの使用の有無にかかわらずパッチを適用する必要があることが,他のベンダーや組織から警告されているにもかかわらず,依然,IISユーザーへ対してのみ警告している。これでは誤解を招く。すべてのWindows2000ユーザーが「MS03-007」のパッチを適用する必要があるのだ。それが分かるような表題に,すぐに訂正していただきたい。

不要なポートをふさぐことは“セオリー”

 次に,最新のセキュリティ情報(4月6日現在)である「RPC エンドポイント マッパーの問題により,サービス拒否の攻撃が実行される (331953) (MS03-010)」を“題材”に話をしたい。一つは前節と同じように,マイクロソフトの情報提供について。もう一つは,Windows NT用パッチの公開についてである。

 まずは,「MS03-010」の同セキュリティ・ホールについて簡単に解説しよう。Windows NT 4.0/2000/XPのリモート・プロシージャ・コール(RPC)機能の一部に,入力データを適切にチェックしないセキュリティ・ホールが存在する。このため,リモートからDoS(サービス妨害)攻撃を受ける可能性がある。攻撃を受けた場合,RPC サービスが異常終了するだけではなく,RPC ベースのサービスやCOM 機能の一部にも異常が発生するようだ。ただし,パソコン内のデータを変更されたり盗まれたりする恐れはない。任意のコードを実行されることもない(関連記事)。

 RPC機能は,Windows NT 4.0/2000/XPにおいてデフォルトで必ず稼働している機能である。このため,Windows NT 4.0/2000/XPのユーザーすべてが対応する必要ある。対策はパッチを適用すること。最大深刻度 が「重要」の,深刻なセキュリティ・ホールなので,速やかにパッチを適用しよう。パッチの適用条件は,Windows 2000 用が Windows 2000 Service Pack(SP 2または SP3であること,Windows XP 用には,適用条件はない。

 セキュリティ情報の「謝辞」の項によれば,今回のセキュリティ・ホールを発見したのはjussi jaakonaho氏であり,同氏からマイクロソフトへ事前の報告や協力があったことが分かる。このため,アンダーグランドでこのセキュリティ・ホールが周知されていたり,このセキュリティ・ホールを悪用した攻撃が行われている可能性は小さいと考えられる。

 さて,セキュリティ・ホールを解消するには,当然パッチを適用するべきだが,ファイアウォールやエッジ(境界)ルータにおいて,TCP 135番ポートを遮断していれば,今回のセキュリティ・ホールを外部から悪用されることはない。

 ポート番号 135は,RPCの「ロケーション・サービス」が使用するポートである。ロケーション・サービスが対象となるセキュリティ・ホールは過去にも見つかっている。代表的なものとしては,以下の2件が挙げられる。

  1. 「無効な RPC パケット」 の脆弱性に対する対策 (MS00-066)
  2. RPC Endpoint Mapper への不正なリクエストにより,RPC サービスが異常終了する (MS01-048)

 ポート番号 135は,(1)Windows固有のNetBIOS名の名前解決や「NET」コマンドなどで使用するポート番号 137~139,(2)Windowsマシン(Windows 2000以降)同士の通信に使用するポート番号 445,(3)Telnetサービスで使用するポート番号 23――と同じように,ファイアウオールなどでふさいでおくべきポートの一つである。念のため,該当するポート番号のTCPおよびUDP両方のポートを遮断したほうがよいだろう。

 Telnet(ポート番号23)は,Windows固有のサービスではない。しかし,「Telnet Server に含まれる未チェックのバッファにより,任意のコードが実行される (MS02-004)」のように,Windows 2000においてTelnet サービスを使用している場合,攻撃者に任意のコードを実行される,あるいはDoS攻撃を受ける可能性があるセキュリティ・ホールが存在した。さらに,Telnetサーバ機能を組み込んでない場合でも,Windowsシステムが影響を受ける事例が過去にあったので,ポート番号 23はブロックすべきである。

 つまり,ポート番号 23,135,137,138,139,445 をファイアウオールなどでふさいでおくことは,セキュリティ上の“セオリー”である。このことは,過去に掲載した「Windowsのクラッキング対策“総まとめ”」でも指摘しているとおりである。このセオリーを実践していれば,たとえパッチを適用していなくても,外部から今回の「MS03-010」のセキュリティ・ホールを悪用されることはない(もちろん,内部からの攻撃は防げないので,パッチを適用しておく必要はある)。今回のセキュリティ・ホール対策としてだけではなく,今後に備えるためにも,上記のポートがきちんとふさがっているかどうか,管理者は改めて確認しておきたい。

“セオリー”がどこにも書かれていない

 「MS03-010」のセキュリティ情報には,ポート135番をふさげば,外部からの悪用を回避できることは記述されている。それでは,「ポート番号 23,135,137,138,139,445 をファイアウオールなどでふさいでおく」というセキュリティ上のセオリーを,マイクロソフトはユーザーにきちんと知らせているのだろうか。同社が公開するセキュリティ関連ドキュメントをチェックしてみた。

 まず,「セキュリティ チェックリスト」ページに置かれた「IIS 5.0 ベースライン セキュリティ チェックリスト」「Windows 2000 Server ベースライン セキュリティ チェックリスト」を調べてみたが,記載はなかった。また,「製品とテクノロジ」「設計から堅固な実装へ : IIS 5.0 セキュリティ ガイド」にも記載されていない。「IIS 5.0 セキュリティ対策ハンドブック」には,Windows 2000 の標準機能でパケット・フィルタリングを実現する方法が「Windows 2000 でフィルタリングを行う」の項に記載されているものの「ポート番号 23,135,137,138,139,445をふさぐ」ことは明記されていなかった。

 前回の記事では,「WebDAVサービスを無効にしておく」という“基本的な”対策が,マイクロソフトが公開する情報にはほとんどなかったことをお伝えした。今回調べると,「ポート番号 23,135,137,138,139,445 をファイアウオールなどでふさいでおく」という基本的な対策も記述されていないことが明らかとなった。前回の記事でも書いたが,“基本的”なセキュリティ対策についても,誰もが分かる形で知らせてほしい。特に今回の記事で繰り返し書いている「ポート番号 23,135,137,138,139,445 をファイアウオールなどでふさいでおく」ことは,最も手軽で,かつ確実な対策方法なのだ。

なぜ?NT用パッチ“だけ”が未公開

 「MS03-010」のセキュリティ・ホールについては,もう一つ書くことがある。それは,Windows NT 4.0用のパッチについてである。このセキュリティ・ホールの影響は,Windows NT 4.0/2000/XPが受ける。しかし,Windows NT用のパッチに限り,Windows NTのアーキテクチャ上の制限により,提供できないとしているのだ。

 詳細な理由は,「よく寄せられる質問 : マイクロソフトセキュリティ情報(MS03-010)」に記述されている。要約すると,「セキュリティ・ホールを排除するには,影響を受ける RPC コンポーネントのみでなく,OSの大部分を変更する必要がある。MS03-010のセキュリティ・ホールを排除するためにそのような変更を加えると,従来のWindows NT 4.0 との互換性がなくなる可能性がある」ために,パッチを提供できないという。

 しかし,筆者はこの言葉を額面通りに受け取ることはできない。本当に,理由はそれだけなのであろうか?

 ポート135番をふさげば外部から攻撃を受けることはないにしても,Windows NT 4.0用のパッチだけが提供されないのは,ユーザーにとっては“厳しい”現実である。本当に技術的な理由だけなのだろうか。

 Windows NT用のパッチだけが提供されないケースは以前にもあった。「『インデックス サービス ファイル列挙』の脆弱性に対する対策 (MS00-098)」もそうだった。Windows 2000 のすべてのバージョンに同梱されている「Indexing Service 3.0」用の修正パッチは提供されたものの,Windows NT 4.0 Option Pack に同梱されている「Index Server 2.0」用の修正パッチは提供されなかったのである。

 ただし,「MS00-098」と「MS03-010」を同列に論じることはできない。というのも,「MS00-098」については,Index Server 2.0がインストールされたWeb サーバー(Windows NT 4.0)で,細工が施されたWebサイトを閲覧した場合にのみセキュリティ・ホールの影響を受けるからだ。「Web サーバーは,インターネットをWebブラウジングするために使用されることはないため」というのが,修正パッチを提供しない理由だった。つまり,運用上の理由でパッチを提供する必要がないと判断したために,提供しなかったのだ。

 一方,今回の「MS03-010」は,デフォルト状態で必ず稼働しているRPCに関するセキュリティ・ホールである。Windows NT 4.0/2000/XPマシンを“普通に”運用しているだけで攻撃を受ける可能性があるのだ。「MS00-098」とは事情が異なる。何としてもパッチを提供すべきセキュリティ・ホールである。にもかかわらず,パッチを適用しないという。「技術的な理由以外の,隠された理由があるのでは」と考えてしまうのは筆者だけではないはずだ。

Windows NTは2世代前のOSに

 まず頭に浮かんだのは,「Windows NT 4.0のセキュリティ修正パッチ提供の打ち切り時期が近いから」という理由である。マイクロソフトが2003年1月28日に公開した「Windows NT Server 4.0 の製品販売期間と製品サポート期間に関するガイドラインについて」では,セキュリティ ホットフィックス(セキュリティ・パッチ)のサポートを,2004年12月末日で打ち切ると明言している。

 とはいえ,2004年12月末日まではまだ1年以上ある。これが直接の理由とは考えにくい。そこで,最近の出来事で,Windows NTのサポートに関係するような出来事を考えてみた。すると,サーバーOSの最新版「Windows Server 2003」が完成したことが直接の理由ではないかと思うに至った(関連記事)。Windows Server 2003の登場により,Windows NT 4.0は2世代前のサーバーOSになったのだ。

 2001年3月21日に公開した「XPの登場で気になるNT 4.0へのサポート」中で,筆者は次のような内容を書いた。

 マイクロソフトの今までの“実績”から言えば,新たなWindowsのベータ版が出ると,2世代前のWindowsへのサポートが極端に手薄になる傾向にある。

 Windows 2000のベータ版が出たときの,NT 3.51へのサポートがそうだった。一例として,「[NT]SecHoleで管理者以外のユーザーが管理者権限を取得する」というセキュリティ・ホールへの対応が挙げられる。

 このセキュリティ・ホールの影響を受けるのは,Windows NT 3.51/4.0および 5.0(Windows 2000)ベータ。インターネット上で入手可能な「Sechole.exe ユーティリティ」を使用すると,管理者以外のユーザーがローカルの管理者権限を得ることができるという深刻なセキュリティ・ホールであった。にもかかわらず,Windows NT 4.0日 本語版用パッチは素早く公開されたものの,NT 3.51日本語用パッチは結局公開されなかった。

 当初の計画では,当時は名称未定だった「Windows XP」サーバー版の出荷開始は,クライアント版の3カ月後になる予定とされていた。もし予定通りにリリースされていれば,今回のような事態はもっと早くに起こっていたかもしれない。Windows Server 2003のリリースが遅れていたことが,Windows NT 4.0を“延命”させていたのかもしれない。

 以上の話は,あくまでも筆者の推測である。しかし,Windows Server 2003のリリースが確実になった現在では,2004年12月末日を待たずに,パッチの提供が事実上打ち切られる可能性は十分にある。今回の「MS03-010」が,その“第一弾”かもしれない。2年前の上記記事では「いよいよWindows 2000への本格的な移行計画を考えなければならない時期がきたようだ」と書いた。それが一気に現実になる時がきたようだ。

sendmailやApache,RealPlayerにセキュリティ・ホール

 最後に,上記以外の,Windowsユーザーが影響を受けるセキュリティ・ホールを簡単に解説したい。

 まず,米Sendmailなどから,メール配送エージェント(MTA)プログラム「Sendmail」の新たなセキュリティ・ホールが3月29日に公開された関連記事)。以前の記事で解説した,3月3日に公開されたものとは異なるセキュリティ・ホールである。

 Windows 版でパッチが提供されるのは,

  • Sendmail for NT 2.6J/2.6.xJ Windows NT
  • Sendmail for NT 3.0J/3.0.1J/3.0.2J Windows NT/2000
  • Sendmail Switch 2.2.xJ Windows NT/2000 版
  • Sendmail Advanced Message Server 1.3 Windows 2000 版

である。対応方法については,Sendmailが公開する「Sendmail Windows版 セキュリティぜい弱性に対する対応方法」を参照してほしい。

 Apache Software Foundationなどからは,Apache 2.0のセキュリティ・ホールが公開された。全プラットフォームのApache 2.0~2.0.44が影響を受ける,DoS攻撃に悪用可能なセキュリティ・ホールである。対策は,セキュリティ・ホールを修正した「Apache 2.0.45」をインストールすること。詳細については,Apache Software Foundationのレポートを参照してほしい。

 RealNetworks などからは,RealOne Player および RealPlayer 8 のセキュリティ・ホールが公開された。Windows 版で影響を受けるのは,「RealOne Player および RealOne Player v2 (すべての言語版)」,「RealPlayer 8 (すべての言語版)」である。対策は,アップデート版のインストール。詳細は,RealNetworksが公開するレポートを参照してほしい。



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

『Windows NT 4.0/2000/XP』
RPC エンドポイント マッパーの問題により,サービス拒否の攻撃が実行される (331953) (MS03-010)
 (2003年 3月27日:日本語情報および日本語版パッチ公開,最大深刻度 : 重要)


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


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