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


 マイクロソフトは11日、月例のセキュリティ更新プログラム(修正パッチ)をリリースし、セキュリティ情報を公開した。

 今月公開されたセキュリティ更新は全部で6件で、内訳としては最大深刻度が最も高い“緊急”が3件、上から2番目の“重要”が3件となっている。そのうち2件はサーバー機能を持つOSのみが対象なので、一般のWindowsユーザーにとって関連があるのは4件ということになる。

 なお、今回修正された脆弱性は、いずれもゼロデイ攻撃には悪用されていないが、1件に関しては一部の情報がインターネット上に公開されており、扱いには注意が必要だろう。

 それでは今月は、一般のクライアントPCに関係のあるセキュリティ更新情報4件を見ていこう。

MS09-063:Web Services on Devices APIの脆弱性(973565)

 問題となっている「Web Services on Devices API(WSDAPI)」とは、DPWS(Device Profile for Web Servixce)プロトコルを利用する機器と、ネットワークを使って接続するためのAPIだ。これを利用すると、たとえばネットワークに接続されているプリンタなどを自動的に検出し、必要なデバイスドライバを容易にインストールできるなど、ネットワーク接続機器の利用にかかる手間を軽減することができる。

 この仕組みはWindows Vistaから導入されたもので、修正パッチも64ビット版を含むWindows VistaとWindows Server 2008のみが対象となっている。

 脆弱性の内容としては、ネットワーク機器から送信されるWSDAPIメッセージに、ある形式のデータが含まれている場合、正しく検証が行えずに、リモートコード実行を許す可能性があるというものだ。悪意の第三者のコード実行を許してしまった場合、最悪、コンピューターをリモートで完全に制御される可能性がある。つまり、ネットワークから、標的PCの特定ポートに悪意のデータを送りつけることで、ユーザに気付かれずにPCを乗っ取るという攻撃の可能性があるわけだ。

 この脆弱性のExploitability Index (悪用可能性指標) は、「2 - 不安定な悪用コードの可能性」となっており、悪用コードを攻撃者が作ったとしても、安定して利用するのは難しいと思われる。ただし、注意事項として「特定のシナリオで悪用可能な、限定的なサービス拒否攻撃が存在します」とされており、たとえばLAN内のマシンを次々とDoS状態に持ち込む攻撃などは比較的たやすくできる可能性がある。できるだけ早めにパッチを当てるべき脆弱性だろう。

 なお、LAN内もそうだが、インターネットに直接接続しているWindows PCでは、インターネットからの攻撃の可能性もある。大抵の場合は、ルータやファイアウォールで防御しているはずだが、一応注意は必要だろう。通信には、TCP 5537番ポート(SSLを利用する場合は5538番ポート)とUDP 3702番ポートを利用するので、ルータなどの設定はこれが外部から利用可能になっていないかどうか確認しておくべきだろう。

MS09-065:Windowsカーネルモードドライバーの脆弱性(969947)

 Windows NT系OSのアーキテクチャでは、デバイスドライバの多くがユーザーモードで動作するサブシステムドライバと、カーネルモード(Windows Executive)で動作するカーネルモードドライバで構成されている。カーネルモードを利用することで、コードの実行速度を速めることができるため、特に性能が必要なグラフィックス周りなどで、Windows NT 4.0からWindows XPまでのWindows NT系OSでは、カーネルモードを利用するドライバが多用されていた。

 カーネルモードは別名「特権モード」とも呼ばれ、コンピュータ上でどんな動作でもできる代わりに、メモリ保護などの仕組みが利用されない。つまり、もしカーネルモードでプログラムが作成者の想定外のバグなどを含んでいた場合、システム全体を不安定にしたり、止めてしまったり、あるいは本来与えてはいけないような特権をユーザーに与えてしまったりといった事態になることもあるのだ。

 今回の「MS09-065」で修正されるのは、以下の3つの脆弱性だ

  • Win32kのNULLポインター逆参照の脆弱性 - CVE-2009-1127
  • Win32kのデータの不十分な検証の脆弱性 - CVE-2009-2513
  • Win32kのEOT解析の脆弱性 - CVE-2009-2514

 このうち最も深刻度の高い脆弱性が「Win32kのEOT解析の脆弱性」だ。この脆弱性は、特別な細工がされたEmbedded OpenType(EOT)フォントをシステムに組み込み、その後、そのフォントを使って画面に字を表示したり、あるいはプリンタなどに印刷しようとすると、レンダリングの際にメモリ破壊を起こし、悪意の第三者によるプログラムを実行される恐れがある。

 レンダリングの際にCPUは特権モードでプログラムを実行しているため、悪用コードが標的PC上で実行された場合、システム自体が完全に乗っ取られることもありうるという危険度の高いものである。しかも、この脆弱性が今月唯一の「インターネット上ですでに情報が公開されている脆弱性」なのだ。MS09-065は、大至急適用しておく必要があるだろう。

 なお、この脆弱性は、Windows XP/2000およびWindows Server 2003が対象OSとなっている。Windows Vistaなどでは、セキュリティと安定性の向上のために、対象となるドライバがカーネルモードではなくユーザーモードを利用するように変更されており、この脆弱性は存在していないのだ。

MS09-067:Microsoft Office Excelの脆弱性(972652)

 最大深刻度「重要」で、以下の8個の脆弱性を修正するセキュリティ更新だ。

  • Excelのキャッシュメモリ破損の脆弱性 - CVE-2009-3127
  • ExcelのSxViewメモリ破損の脆弱性 - CVE-2009-3128
  • ExcelのFeatheaderレコードメモリ破損の脆弱性 - CVE-2009-3129
  • Excelのドキュメント解析のヒープオーバーフローの脆弱性 - CVE-2009-3130
  • Excelの式解析のメモリ破損の脆弱性 - CVE-2009-3131
  • Excelのインデックス解析の脆弱性 - CVE-2009-3132
  • Excelのドキュメント解析のメモリ破損の脆弱性 - CVE-2009-3133
  • Excelのフィールドのサニタイズの脆弱性 - CVE-2009-3134

 これらの内容はほぼいずれもタイトルにある通りで、たとえばCVE-2009-3129の「Featheaderレコードメモリ破損の脆弱性」の場合は、Excel 2002から導入された複数レコードで共通の値を参照するための「FEATHEADERレコード」に特定の値を書いておくことで、XLSファイルを読み込んだExcelでメモリ破壊を起こせるという内容になっている。

 これらの脆弱性はいずれもXLSファイルを読み込ませて、Excel上で何らかのメモリ破壊を起こし、サービス拒否やリモートコード実行を引き起こすことができるものだ。ただ、米MicrosoftのSecurity Response Center(MSRC)ブログによれば、これらの脆弱性を悪用しようとしても「危険なコードである可能性がある」というメッセージが表示され、動作にはユーザーが「続行する」を選択する必要があるとしている。リモートコード実行の可能性がある脆弱性であるにも関わらず、深刻度が一段低い“重要”とされているのは、おそらくこのような特徴があるためだろう。

 しかし、筆者は「表示がされるから危険性は低い」と判断してしまうのは危険な傾向だと思う。確かに、表示があれば注意する人は多いだろうが、このようなメッセージがあってもよくわからずに、あるいはいつもそうしているので習慣的に「続行する」ボタンを押してしまうというようなユーザーは確実に存在する。そして、悪意の攻撃はそのようなヒューマンエラーを狙って悪意のコードを仕掛けてくるケースが多いからだ。

 「表示がされるから危険性は低い」というのは、ソフトウェアの危険性をユーザーに転嫁して解決したことにする、言って見れば作り手の責任回避でしかないと筆者は思うのだがどうだろうか。ちなみに、セキュリティ企業のSecuniaでは、マイクロソフトが深刻度“重要”としている「MS09-067」の危険度を、5段階で上から2番目の「Highly Critical」としている。一方、マイクロソフトが深刻度“緊急”としている「MS09-063」は、Secuniaではワンランク低い「Moderately Critical」と評価している。

MS09-068:Microsoft Office Wordの脆弱性(976307)

 この修正パッチでは、Wordのファイル情報のメモリ破損の脆弱性(CVE-2009-3135)を修正する。脆弱性の影響を受けるWordのバージョンは、Word 2003/2002、Word Viewer 2003のほか、Mac版(Word 2004 for Mac、Word 2008 for Macなど)にも影響がある。いずれのソフトでも、リモートコード実行の可能性がある、深刻度“重要”の脆弱性だ。なお、Word 2007はこの脆弱性の影響を受けない。

 脆弱性の内容としては、Wordファイル中にあるファイル情報ブロックを読み込み解釈する部分に問題があり、ここにある特定の値が書かれていた場合、バッファオーバーフローを起こすというものだ。

 よくあるパターンだが、この脆弱性を利用した悪意のコードの利用方法としては、メール添付で悪意のファイルを送りつけて実行させる、あるいはインターネット上においてユーザーにブラウザ経由で開かせて実行させるといった手法が考えられる。

 アプリケーションの脆弱性で悪用コードが実行された場合でも、ユーザー権限でしか実行できないため、管理者権限で利用しているユーザー以外では完全にPCが乗っ取られるようなことはない。ただし、他の権限昇格の脆弱性と組み合わせて利用された場合は、さらに危険な脆弱性となりうるので注意が必要だろう。

 また、この脆弱性のExploitability Index(悪用可能性指標)は「1 - 安定した悪用コードの可能性」とされており、その点でも注意が必要だ。


関連情報

(大和 哲)

2009/11/12 13:05