ほとんどのWindowsシステムが影響を受ける深刻なセキュリティ・ホールが公開された。今回のコラムでは,このセキュリティ・ホールの詳細や対策方法について解説したい。注意しなければならないのは,修正パッチを適用するだけでは万全といえないことだ。パッチが“無効化”される恐れがある。万全の対策を施せない間は,Internet Explorer(IE)などの利用を中止することも考慮したい。それほどまでに深刻なセキュリティ・ホールなのだ。

深刻度は「緊急 (Critical)」

 米国時間11月20日に公開されたのは,Windows システムにおいてデータベース接続を提供するコンポーネントの集まり「Microsoft Data Access Components (MDAC) 」機能のセキュリティ・ホールである(関連記事)。

Microsoft Data Access Components のバッファ オーバーランにより,コードが実行される (Q329414) (MS02-065)

 MDAC 2.6 以前のバージョンには,一部未チェックのバッファが存在するために,ある特定のデータを送信されるとユーザーのシステム上で任意のコードを実行される恐れがある。なお,Windows XPにはMDAC 2.7が含まれているために,影響を受けることはない。

 自分のWindowsシステムが影響を受けるかどうかは,MDAC のバージョンを調べることで確認できる。確認方法は,サポート技術情報「JP301202 [HOW TO] MDAC のバージョンを確認する方法」に記載されている。

 セキュリティ・ホールの深刻度は最悪の「緊急(Critical)」に設定されている。これは,2002年11月に新たに設定された深刻度であり,設定されるのは今回のセキュリティ・ホールが初めてである(深刻度の評価方法の変更については後述する)。マイクロソフトの説明によると,「緊急」は,インターネット・ワーム(過去の例では,Code RedやNimdaなど)に悪用される可能性があるセキュリティ・ホールに対して設定されるという。Windowsユーザーは至急対策を施す必要がある。

 対策方法については,いつもならば「パッチを適用する」の一言で終わるのだが,今回のセキュリティ・ホールについては,パッチを適用するだけでは万全とはいえないのだ。これについてはセキュリティ・ホールの詳細を解説した後に説明したい。

 今回のセキュリティ・ホールは,クライアント・マシンだけではなく,サーバー・マシンも影響を受けることに注意しなければならない。マイクロソフトが公開するセキュリティ情報では,影響するソフトウエアとして「Data Access Components (MDAC) 2.1/2.5/2.6,Internet Explorer 5.01/5.5/6.0」と記載されているために,IIS(Internet Information Server/Services)は影響を受けないと考えているシステム管理者は少なくないようだ。しかし,それは大きな間違いである。上述のように,IISサーバーをターゲットするインターネット・ワームが出現する可能性があるセキュリティ・ホールなのだ。

 クライアントとサーバーでは影響の受け方が異なる。マイクロソフトの情報では明確にされていないので,混乱しているユーザーもいるだろう。そこで,それぞれについて順に解説していこう。

WebページやHTMLメールの閲覧で被害

 まず,クライアント・システムが受ける影響について解説する。クライアントでは,IEが影響を受ける。IEには,MDAC のコンポーネントの 1つであるRemote Data Services (RDS) が含まれているからだ。現行のすべてのバージョンのIEにRDSは含まれており,無効にするオプションは存在しない。そのため,Windows XP以外のほとんどのクライアント・マシンが影響を受ける。

 具体的には,ある特定のHTTP応答(レスポンス)を送信するようなWebページをIEで閲覧するとバッファ・オーバーフローを引き起こされ,任意のコードをユーザー・マシン上で実行される可能性がある。

 そのようなWebページをHTMLメールとして送られてきた場合も同様である。IEをHTMLメールの表示に使用するメール・ソフトでそのHTMLメールを閲覧すると,同様に任意のコードを自動的に実行されてしまう。

 ただし,デフォルト設定のOutlook Express 6およびOutlook 2002,「Outlook 電子メール セキュリティ アップデート」を適用した Outlook 98およびOutlook 2000 では,任意のコードを自動的に実行してしまうことはない。

 WebページおよびHTMLメールを使った攻撃を回避する方法――すなわち,セキュリティ・ホールを解消する方法――として,マイクロソフトのセキュリティ情報では,

 (a)MDAC バージョン 2.7以降にアップグレードする
 (b)「MS02-065」のパッチを適用する

の2種類を挙げている。

 インテルx86プラットフォーム用のMDAC バージョン 2.7は,「Microsoft Data Access Components 2.7 RTM - Refresh (2.70.9001.0) 」からダウンロードできる。適用条件は,Windows NT 4.0の場合は Service Pack(SP)5以降を,Windows 98の場合は「the Year 2000 Update 2」を適用済みであること。いずれの場合でもIE 4.01 SP2以降がインストールされている必要がある。Windows 2000/98SE/Meの場合には適用条件はない。なお,SQL Server 6.5/7.0が稼働するクラスタ・サーバーには対応していない。

 「MS02-065」のパッチは,セキュリティ情報のページや「Windows Update」からダウンロードおよびインストールできる。適用条件は,Windows NT 4.0の場合はSP 6aを,Windows 2000の場合にはSP2 または SP3を適用済みであること。Windows 98/98SE/Meの場合には適用条件はない。

パッチの適用だけでは不十分

 「MDACのバージョンアップ」と「パッチの適用」のいずれでも回避できるとされていれば,ほとんどのユーザーはMDACをバージョンアップすることはないだろう。パッチならばWindows Updateでも適用できる。

 しかし,「MDACのバージョンアップ」と「パッチの適用」は“同等”ではない。まず,「MS02-065」のパッチを適用しても,「MDAC Service Pack」を適用すると,パッチは無効になってしまうという問題がある。この場合は,パッチを再適用する必要がある。

 これよりも問題なのが,パッチを適用していても,攻撃者からパッチを無効化される恐れがあることだ。今回のパッチには不備があるために,パッチを適用していても,無効化された後,任意のコードをユーザー・マシン上で実行されてしまう可能性があるのだ。今回のパッチにはどういった問題があるのか,以下説明しよう。

 セキュリティ情報の「警告」欄には,今回のパッチの問題点が若干ではあるが言及されている。「『よく寄せられる質問』で説明しているように,この修正プログラムは,影響を受ける ActiveX コントロール上に Kill Bit を設定しません」――。これが問題なのである。しかし,「よく寄せられる質問」がいまだに日本語化されていないために(11月25日時点),この問題の深刻さが分かりにくい(【IT Pro追記】11月25日夜,マイクロソフトは「よく寄せられる質問」を公開した)。

 「警告」で記述されている問題をもっと簡単にいうと,「『MS02-065』パッチを適用していても,攻撃者からパッチを無効にされてしまい,任意のコードを実行される可能性がある」ということなのだ。このように書けば,問題の深刻さを分かってもらえるだろう。たとえパッチを適用していても,「不正なプログラムの実行」「システム上のデータ変更」,「ハード・ディスクの初期化」――など,ユーザーが実行できるすべての操作を行われる危険性があるのだ。

 「よく寄せられる質問」の日本語化が遅れるのは仕方がないだろう。しかし,今回のように重要な内容が含まれる場合には,その部分だけでもよいから,セキュリティ情報と同時に公開してもらいたいものだ。なお,「よく寄せられる質問」の原文(英語)は,Security Bulletinの「Frequently asked questions」の欄に記載されている。

パッチの無効化が可能

 “Kill Bit”とは,IE経由でActiveXコントロールが呼び出されることを防ぐためにレジストリに設定する固有の値である。今回のセキュリティ・ホールの影響を受けるActiveXコントロールのコンポーネントにKill Bitを設定してしまえば,WebページやHTMLメール経由で今回のセキュリティ・ホールを悪用されることはない。

 しかし今回のパッチは,コンポーネントはセキュリティ・ホールの影響を受けないものに更新するものの,Kill Bitは設定しないのだ。米Microsoftの説明によると,影響を受けるコンポーネントは多くのアプリケーションで使用されているため,Kill Bitを設定してしまうと,多くのWebページが,製作者が意図したようには表示されなくなってしまうからだという。

 Kill Bitが設定されていないために,たとえパッチを適用してコンポーネントを新しくしても,セキュリティ・ホールがある古いコンポーネントを再インストールさせられると,再び攻撃を受けてしまう状態に戻ってしまうのだ。

 しかも,今回対象となるコンポーネント(ActiveXコントロール)は,Microsoftの電子署名が施されているので,ユーザーに警告することなくインストールされてしまう。つまり,あるWebページを閲覧するだけで,パッチを無効化されてしまう恐れがあるのだ。

 このシナリオを防ぐための方法として,Microsoftは「証明書の信頼された発行元からMicrosoftを削除する」ことを紹介している。具体的には,IEの「ツール」メニューの「インターネット オプション」から「コンテンツ」タグを選択し,「証明書」の欄の「発行元」を選択し,「信頼された発行元」タグで表示される一覧からMicrosoftを削除する。

 しかし,これは根本的な解決方法ではない。Microsoftの電子署名付きActiveXコントロールをダウンロードするときに,警告が出るようにするだけだ。ユーザーが「はい」を選んでしまえば,古いコンポーネントはインストールされてしまうし,問題がないActiveXコントロールをダウンロードしようとするときにも警告が出るようになる。

 Microsoftは,Webページの閲覧に影響を与えずセキュリティ・ホールのあるActiveXコントロールにKill Bitを設定できる新技術を開発中としているが,いつになるか分からない。少なくても,今日明日に実現できるものではないだろう。

根本的な対策はMDACのバージョンアップ

 以上のように,パッチを適用しても十分ではなく,あいかわらず危険な状況のままなのである。にもかかわらず,セキュリティ情報には「推奨する対応策」として「ユーザーはただちにこの修正プログラムを適用してください」と記載されているのだ。

 危険なActiveXコントロールにKill Bitを設定しない,中途半端なパッチを公開したことが問題だが,それ以上に,「MDAC バージョン 2.7以降にアップグレードする」という根本的な対策方法があるにもかかわらず,そのことをきちんとアナウンスしないことのほうが大きな問題である。「推奨する対応策」は「MDAC バージョン 2.7以降にアップグレードする」とすべきなのだ。

 もし,「マイクロソフトが推奨するようにパッチを適用したのに被害に遭った」というユーザーが続出すれば,あるいは,パッチを無効化して感染を広げるようなワームがまん延するような事態になれば,同社の著しい信用失墜はまぬがれない。しかも今回は,過去のCode RedやNimdaの場合とは異なり,「既にパッチは公開していた。パッチを適用しなかったユーザーにも一因がある」といった“逃げ口上”は通用しない。

 しかし,今回のセキュリティ・ホールを悪用する攻撃が,既に行われている可能性が少ないことが救いではある。というのも,セキュリティ情報の「謝辞」からは,Foundstone Research Labsから,Microsoftへの事前報告や協力があったことがうかがえるからである。Foundstone Research Labsのレポート「Foundstone Research Labs Advisory - 112002 - MDAC」も,11月20日に公開されている。

 今回のセキュリティ・ホールが,アンダーグラウンドで周知されていた可能性は非常に小さい。しかし,今後はセキュリティ・ホールを悪用するワームや攻撃ツールが出現するのは時間の問題であろう。

 繰り返すが,クライアント・マシンにおける万全の対策方法は,MDAC バージョン 2.7以降にバージョンアップすることだけであると筆者は認識している。組織内のセキュリティを維持しなければならないシステム管理者は,MDAC バージョン 2.7以降へのバージョンアップが徹底できない場合には,一時的にIEの使用を禁止することも考慮すべきだろう。

 また,マイクロソフトには,日本語版の情報だけでもよいから,クライアントに対する適切な対策方法――すなわち,MDACのバージョンアップ――のアナウンスを徹底していただきたい。今からでも遅くはない。

【11月28日追記】
 マイクロソフトは11月27日,セキュリティ情報を更新して,「警告」の欄に「本問題に対する完全な対策は,MDAC バージョン 2.7 以降を適用することです。可能な限りMDAC 2.7以降のバージョンへのアップグレードをお願いいたします」といった内容を追記した。

 併せて,日本語化した「MDAC 2.7 ダウンロードページ」を公開した。日本語版MDAC2.7のダウンロード方法だけではなく,英語情報には無い注意点(例えば,「MDAC使用中のアプリケーションが検出された場合には,そのアプリケーションをいったん終了させてからアップグレードする」など)も記載されている。まだアップグレードしていないユーザーは,同ページを参考にして早急にアップグレードしよう。
【11月28日追記ここまで】

サーバーではRDSを無効に

 次に,サーバーにおける今回のセキュリティ・ホールの影響と対策を解説する。MDAC のコンポーネントの1つである RDS を使用する代表的なサーバー・ソフトとしては,IISが挙げられる。

 バージョン2.6以前のMDACがIISに組み込まれて実行されている場合,不正なHTTPリクエストを送信されるだけでバッファ・オーバーフローが発生し,任意のコードをサーバー上で実行されてしまう。

 IIS 4.0 は Windows NT 4.0 Option Packに,IIS 5.0 は Windows 2000 Datacenter Server/Advanced Server/Server/Professional に含まれている。特に,IIS 4.0ではRDSがデフォルトで有効になっているので非常に危険である。

 Windows XP Professionalに含まれるIIS 5.1 は 影響を受けない。XPにはMDAC 2.7 が組み込まれているからだ。また,Windows 2000 Professional においては,基本的にはIISはデフォルトでは実行されない。

 IISサーバーにおける対策方法として,マイクロソフトのセキュリティ情報は,

 (a)RDS を無効に設定する
 (b)MDAC バージョン 2.7以降にアップグレードする
 (c)「MS02-065」パッチを適用する

の3種類を挙げている。

 クライアント・システムにおける対策の部分でも述べたように,パッチの適用条件は,IIS 4.0用がWindows NT 4.0 SP6aを,IIS 5.0 用がWindows 2000 SP2 または SP3を適用済みであることである。ただし,パッチの適用後に,このパッチよりも古いMDAC Service Pack を適用すると,パッチが削除されてしまうので注意する必要がある。

 以前からこのコラムで繰り返し指摘しているように,原則としてRDS は無効に設定すべきである。セキュリティのセオリーに従って無効にしていれば,今回のセキュリティ・ホールの影響を受けることはない。まだ無効にしていない管理者は「IIS セキュリティ チェックリスト」を参考にして無効にしたい。また,「IIS Lockdown Wizard ツール」をデフォルト構成のまま使用すれば,RDS が自動的に無効化される。

 ミッション・クリティカルな業務で使用しているために無効にできない場合には,MDAC をバージョン 2.7以降にバージョンアップすることで対応しよう。既に述べたように,「MS02-065」パッチの適用で回避することはお勧めできない。

 なお,ここではIISについてのみ解説したが,MDAC機能はIIS以外の多くの製品および技術にも含まれている。それらの製品においてMDACを無効化する方法が分からない場合には,MDACのバージョンアップで対応しよう。それが一番確実である。

IEの累積パッチが公開

 それでは次に,上記以外のWindows関連のセキュリティ・トピックス(2002年11月24日時点分)を,各プロダクトごとに整理して解説する。

 各種クライアント関連では,「マイクロソフト セキュリティ情報一覧」にて,新規日本語情報およびパッチが1件公開された。

Internet Explorer 用の累積的な修正プログラム (Q328970) (MS02-066)

 IE 5.01/5.5/6.0 において,6 つの新しいセキュリティ・ホールが公開された。最も深刻なセキュリティ・ホールを悪用されると,ユーザーのシステム上で任意のコマンドを実行される可能性がある。対策はパッチを適用すること。「Windows Update」を利用するなどして,早急に適用しよう。

 今回のパッチは,IEに関する累積的な修正パッチであり,前回の累積パッチである「MS02-047」パッチを含んでいる。

 パッチの適用条件は,IE 5.01 用は IE 5.01 SP3を,IE 5.5 用は IE 5.5 SP2 を適用済みであることである。IE 6用には適用条件はない。ただし,64 bit 版 IE6 においては,IE6 SP1を事前に適用しておく必要がある。

 なお今回のパッチには,「レガシー DirectX ActiveX コントロールへの Killbit の設定」と「Internet Explorer Service Pack 1 で導入されたクロス ドメインの検証に対しての改善」が含まれている(それぞれの詳細についてはセキュリティ情報などを参考にしてほしい)。

 今回の「MS02-066」で新しく公開されたセキュリティ・ホールは以下の6種類。

 (a)「不正な PNG イメージ ファイルのエラー」
 (b)「エンコードされた文字列の情報漏えい」
 (c)「フレームのクロスサイト スクリプティング」
 (d)「インターネット一時ファイルのフォルダ名の読み取り」
 (e)「キャッシュされたメソッドを介すクロス ドメインの検証」
 (f)「フレームの不適切なクロス ドメインのセキュリティ検証」

 (a)(c)(e)(f)の最大深刻度は「重要」,(b)の最大深刻度は「警告」,(d)の最大深刻度は「注意」である。

 セキュリティ情報の「謝辞」欄によれば,マイクロソフトへの事前報告や協力があったのは,「不正な PNG イメージ ファイルのエラー」に関してのみであることが分かる。このセキュリティ・ホールは,eEye Digital Securityによって報告された。マイクロソフト自身が発見したために謝辞の欄に記載されていないセキュリティ・ホールがあるかもしれないが,既に周知となっているために記載されていないセキュリティ・ホールも存在する。

 実際,あるセキュリティ・ホールについては,セキュリティ・ホールの内容とそのExploitコードが,セキュリティ関連のメーリング・リスト「Bugtraq」に11月16日に投稿されている。このExploitコードが仕込まれたWebページをIEで閲覧すると,DOS窓が勝手に開いたり,Cドライブにvulnerable.txtというファイルが作成されたり,winmineゲームを起動されたりする。害を及ぼすことはないが,セキュリティ・ホールの危険性は十分認識できる。

 実際に被害を及ぼすようなワームや攻撃ツールが出現するのは時間の問題だ。至急パッチを適用して,対策を施す必要がある。

証明書の偽造を防ぐ新パッチが公開

 各種OS関連では,「マイクロソフト セキュリティ情報一覧」にて,修正パッチが1件公開された。

証明書確認の問題により,ID が偽装される (Q328145) (MS02-050)

 以前のコラムでも紹介した通り,Windows OSには,デジタル証明書チェーンの検証に関連するセキュリティ・ホールが見つかった。このため,Webサイトや電子メール署名の偽装を許す可能性があった。セキュリティ情報とパッチが9月5日に公開されたが,その後,Windows 98/98 Second Edition/NT 4.0/NT 4.0,Terminal Server Editionが影響を受ける,このセキュリティ・ホールの“変種”が見つかった。今回公開されたのは,この変種にも対応できるアップデート版パッチである。

 また,当初のパッチでは,新しいハードウエアをインストールすると,「Windows との互換性テストが行われていない」という誤ったメッセージを表示する不具合があった。今回のパッチではその不具合も解消されている。

 セキュリティ・ホールの最大深刻度が「重要」なので,当初のパッチを適用済みのユーザーも,今回のパッチを必ず適用しておこう。

Office 2000 SP-3日本語版が公開

 「TechNet Online セキュリティ」では,「Microsoft Security Response Center マイクロソフト セキュリティ情報の深刻度評価システム(改訂版 2002 年 11 月)」というドキュメントと,Office 2000 Service Pack 3(SP-3) 日本語版がリリースされたというニュースが公開された。

 まず,「Microsoft Security Response Center マイクロソフト セキュリティ情報の深刻度評価システム(改訂版 2002 年 11 月)」では,従来の深刻度評価システムが変更され,従来の3段階から,「緊急 (Critical)」「重要 (Important)」「警告 (Moderate)」「注意 (Low)」の4段階になった(関連記事)。ユーザーがどのように対応すればよいのかが以前よりも分かりやすくなったので,評価できる“改訂”といえよう。

 Office 2000 SP-3 日本語版がリリースされたというニュースも公開された(関連記事)。SP-3の適用条件は,Office 2000 Service Release 1 (SR-1) アップデートを適用済みである。Office 2000 SP-3 以降にリリースされるすべてのアップデート・プログラムは,SP-3 の適用が前提条件になるとされている。できるだけ適用しておこう。



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

『Data Access Components (MDAC) 2.1/2.5/2.6,Internet Explorer 5.01/5.5/6.0』
Microsoft Data Access Components のバッファ オーバーランにより,コードが実行される (Q329414) (MS02-065)
 (2002年11月21日:日本語情報および日本語版累積修正パッチ公開,最大深刻度 : 緊急)

『Internet Explorer 5.01/5.5/6.0』
Internet Explorer 用の累積的な修正プログラム (Q328970) (MS02-066)
 (2002年11月21日:日本語情報および日本語版累積修正プパッチ公開,最大深刻度 : 重要)

『Windows 98/98 Second Edition/Me/NT 4.0/NT 4.0, Terminal Server Edition/2000/XP』
証明書確認の問題により,ID が偽装される (Q328145) (MS02-050)
 (2002年11月21日:9月11日の更新版にて説明されたこのセキュリティ・ホールの変種にも対応可能な修正パッチがリリース,最大深刻度 : 高)

TechNet Online セキュリティ

Microsoft Security Response Center マイクロソフト セキュリティ情報の深刻度評価システム(改訂版 2002年11月)

Office 2000 Service Pack 3 日本語版


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


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