10月のマイクロソフトセキュリティ更新を確認する


 10月14日、マイクロソフトは定例のセキュリティ更新(修正パッチ)を公開した。今月は、13のセキュリティ更新によって34件の脆弱性を修正するという、過去最多レベルのリリースとなった。影響範囲も、Windows、Internet Explorer、Office、Silverlight、Forefront、Visual Studioなどの開発ツール類、SQLサーバーと多岐にわたる。

 また、2件の脆弱性は9月にセキュリティアドバイザリで情報が公開されていた「SMB v2リモートコード実行ゼロデイ」「IISのFTPサービスの脆弱性ゼロデイ」だ。特にSMB v2に関しては、この機能を無効にする回避策を取らざるを得なかったわけだが、このパッチで再び利用が可能となる。

 そのほかにも、既に一般に情報が公開されている脆弱性もいくつか修正されている。7月に開催されたセキュリティコンファレンス「BlackHat USA 2009」で情報が公開された脆弱性などがあり、今月は既に一般に公開されている脆弱性の数も普段より多い。

 今月は、こうした既知の脆弱性に関する修正パッチを中心に見ていこう。なお、以下に解説する脆弱性はいずれも最大深刻度“緊急”のものだ。

MS09-050:SMBv2の脆弱性(975517)

 MS09-050で修正される脆弱性のうち、CVE-2009-3103(SMBv2のネゴシエーションの脆弱性)が、マイクロソフトが9月9日にセキュリティアドバイザリ(975497)で情報を公開した脆弱性だ。

 脆弱性の内容としては、SMB v2プロトコルにリモートからコンピュータを再起動する機能があり、この機能の脆弱性を利用するようなコードを送り込むことで、対象マシンのクラッシュや、PC上で任意のプログラムの実行を行うことが可能になるというものだ。

 セキュリティアドバイザリでは「この報告された脆弱性を悪用しようとする攻撃を認識しておらず、またお客様が影響を受けたという報告は受けていません」としていたが、セキュリティアドバイザリが公開された時点ですでに、脆弱性の技術情報や実証コード、それに脆弱性の悪用コードを生成する「Metasploitモジュール」も公開されていている状態だった。

 現時点でこの脆弱性を使ったコードが悪用されたという報告はないが、マイクロソフトでは「信頼性の低い攻撃コードは一般に公開される恐れがあり、一部には信頼性の高い攻撃コードが出回る可能性もある。信頼性の高い攻撃コードが作成され一般に公開されるのはこれから30日以内と予想される」としている。

 マイクロソフトでは、9月18日に「Fix it」によってSMB v2を無効化する回避策を提供していたが、今回の修正パッチの提供により、SMB v2を再度有効化して正常に使うことが可能になったわけだ。SMB v2は、ファイル共有の高速化などに対応した新しいプロトコルで、Windows Vista以降のOSが対応している。Windows 7/VistaおよびWindows Server 2008間の通信に限られるものの、高速なファイル共有プロトコルが再び利用可能になるわけで、利用者には朗報だろう。

MS09-053:IISのFTPサービスの脆弱性(975254)

  • IISのFTPサービスのDoSの脆弱性 - CVE-2009-2521
  • IISのFTPサービスのRCEおよびDoSの脆弱性 - CVE-2009-3023

 MS09-053では、上記2件の脆弱性を修正する。これらは、9月2日および9月4日に、セキュリティアドバイザリ(975191)として情報が公開されていた既知の脆弱性だ。

 IIS(インターネットインフォメーションサービス)は、Windows OSに標準で添付されているWebサーバーソフトだが、このIISが持つFTPサーバー機能のファイル名解釈部分に問題があり、クライアントから特殊に加工されたフォルダ名を指定してフォルダ参照を行うことで、サーバーに対してサービス拒否攻撃が可能になる脆弱性が存在する。特に、匿名ユーザーに対してFTPサービスを公開している場合には、サーバーのフォルダ参照をするだけでサービス拒否攻撃が可能となっていたわけだ。

 この情報だけでも悪用が簡単そうに思えるが、さらに、CVE-2009-2521に関しては悪用コードがインターネット上に公開されているという危険な状態だった。

 IISはWindows OSに標準で添付されているが、サーバーOS以外ではインストールはオプションになっている。一般のユーザーがIISをインストールしたり、インターネット上にFTPサーバーを公開することはあまりないだろうが、もし公開している場合には即座に修正パッチを当てるべきだ。

 なお、このセキュリティ更新で修正される2つの脆弱性のうち、 CVE-2009-2521はExploitability Index(悪用可能性指標)が最も低い「3 - 機能する見込みのない悪用コード」となっている。しかし、この脆弱性を悪用すればサービス拒否攻撃は確実に可能だ。Exploitability Indexは、リモートコード実行が可能かどうかを数値化しているらしく、このように表示されることがあるが、FTPサーバーでは公開されているサーバーを止められること自体ダメージが大きいはずで、サーバー管理者はこの数値にかかわらず十分警戒をしておくべきだ。

MS09-054:Internet Explorer用の累積的なセキュリティ更新プログラム(974455)

 MS09-054では、Internet Explorer(IE)に関する4件の脆弱性を修正するが、そのうちCVE-2009-2529(HTMLのコンポーネント処理の脆弱性)が既に一般に情報が公開されている脆弱性となる。

 この脆弱性も、「BlackHat USA 2009」でHustle LabsのMark Dowd氏、Ryan Smith氏、David Dewey氏がプレゼンテーションを行った内容に含まれていたものだ。最近多い、「ゼロデイ攻撃から脆弱性が分かった」というパターンではないものの、既に情報が公開されているという点では、警戒を要することには変わりない。むしろ、講演資料では脆弱性の内容が詳細に解説されているため、ある程度の技術を持つクラッカーであれば確実性の高い悪用コードを作成することが可能だろう。

 また、この脆弱性の内容は米MicrosoftのSecurity Research & Defenseブログでも解説されているので、内容に興味のある方は確認しておくといいだろう。それによると、この脆弱性はWPF(Windows Presentation Foundation)の解釈・実行部分である「PresentationHost.exe」のコードの解釈ルーチンの問題で、悪意のあるXBAPを読ませることでメモリリークを起こし、任意のコードを実行してしまう可能性があるというものだ。XBAPとはWebブラウザ上で実行されるWPFアプリケーションのことで、Webブラウザ上でWindowsアプリケーションのようにさまざまな機能を実行させることができる。

 なお、この脆弱性はIEだけでなくFirefoxにも影響が及んでいるので、ユーザーは注意が必要だ。FirefoxにはIEと互換性を持たせるためのプラグインがいくつか用意されており、そのうちの1つ「Windows Presentation Foundation」によって、FirefoxでもXBAPが実行可能となっている。これを利用すると、IEと同様に悪意のXBAPによって脆弱性を突くことも可能なのだ。

MS09-061:Microsoft .NET共通言語ランタイムの脆弱性(974378)

 MS09-061で修正する3件の脆弱性のうち、CVE-2009-2497(Microsoft SilverlightおよびMicrosoft .NET Framework CLRの脆弱性)が、既に一般に情報が公開された脆弱性だ。これも、セキュリティコンファレンス「BlackHat USA 2009」でプレゼンテーションとして情報が公開されている。MS09-054で修正されたCVE-2009-2529と内容が似通っているが、別の脆弱性情報だ。

 Security Research & Defenseブログによれば、この脆弱性を悪用したコードは、.NET Frameworkがコードの実行権限の管理などをしているCASサンドボックスの設定を無視して実行が可能となる。そのため、悪用コードをWebページに埋め込む攻撃以外にも、信頼されていないASP.NETを許可しているサーバーに対して、クライアントからサーバーに悪意のASP.NETアプリケーションを送り込むといった攻撃も考えられるという。

 サーバー管理者にとっては、クライアントから悪意のアプリケーションを送り込めるというのは危険だろう。そうした設定になっていることはないとは思うが、匿名ユーザーからアップロードが可能な設定になっていたりしないか、一応確認はしておくべきだろう。

 また、.NET Framework 3.5 SP1以上では、 ネットワーク上の.NETアプリケーションはCASサンドボックス内で部分的に信頼されたアプリケーションとして実行されるが、これを破ることも可能となる。実際問題としては、ファイル共有を利用して悪意のプログラムをクライアントに実行させるという攻撃方法は、まず攻撃者がLAN内にファイルを置いて、そのうえで標的としたユーザーに実行させるという手順を踏まなくてはならないが、用心しておくに越したことはないだろう。

MS09-051:Windows Media Runtimeの脆弱性(975682)

 MS09-051では2件の脆弱性を修正するが、そのうちCVE-2009-0555(Windows Media Runtimeの音声サンプルレートの脆弱性)については、「限定的だが攻撃コードが出回っていると報告を受けた」ことを、Security Research & Defenseが報告している。

 CVE-2009-0555のExploitability Indexは「1 - 安定した悪用コードの可能性」となっており、確実に実行できるコードを作れると思われる脆弱性だ。

 Windows Mediaにはさまざまなコーデックが用意されているが、この脆弱性は人間の音声を圧縮再生することを目的に作られた「スピーチコーデック」に関連するものだ。人間の音声は限られた周波数帯内で発音されるため、一般的なオーディオコーデックと違い、スピーチコーデックではデータ量を減らし、高度に圧縮したデータで音声を扱うことができる。

 しかし、ある程度サンプリングレートが低いことを想定して作られたためか、スピーチコーデックのデータ解釈プログラムが低いサンプリングレートしか想定されていない作りになっていたため、想定外のサンプリングレートがデータに記載されていた場合にエラーを起こし、メモリ破壊を起こす。結果として、リモートコード実行が可能な脆弱性となっている。

 理屈から考えると、この脆弱性を悪用するには、上記の情報だけでもASFファイルの内部での形式をこの音声コーデックに指定し、音声サンプリングレートを異常な値にしておけば、異常終了を起こすことはできると想像できる。おそらく悪用しようとするユーザーにある程度プログラミング技術があれば、サービス拒否攻撃を行う攻撃コードを作るところまでは比較的簡単にたどりつけるだろう。

 その意味で、この脆弱性は、警戒すべき脆弱性であると認識しておくべきだろう。

 なお、Security Research & Defenseブログによれば、Windows 2000でWindows Media Playerの古いバージョン(6.4または7.1)を使っている環境では、スピーチコーデックが個別にインストールされている場合があるという。その場合には、Windows Media Player 9にアップデートした上でMS09-051を適用するか、regsvr32コマンドを使って古いコーデックをアンインストールする必要があるとしている。


関連情報

(大和 哲)

2009/10/15 14:03