● 広範囲な製品で利用する機能の、非常に危険な脆弱性
WindowsやOfficeなどのマイクロソフト製品にJPEG処理の脆弱性の記事にあるように、マイクロソフトは、15日、セキュリティ修正プログラム「MS04-028」を発表した。
このセキュリティ修正プログラムが対象にしている脆弱性は、頻繁に使われる機能、Windows XPのフォルダ表示の際のプレビュー表示などにも存在するもので、非常に危険なものだ。マイクロソフトからは深刻度“緊急”として報告されている。
また、この脆弱性は、バッファオーバーランを引き起こすことができる、という性質的にも危険なものとなっている。たとえば、この脆弱性を応用すると、JPEG画像ファイルに見せかけた悪意のファイルをターゲットにWebからダウンロードさせて、フォルダのプレビューで表示させれば、相手のコンピュータ上で任意のプログラムを実行することができるようになる。ウイルスや、スパイウエアなどを侵入させることも簡単にできるはずだ。悪用すればかなりインパクトの大きな悪意のプログラムを作ることができるわけだ。
筆者が調べた限りでは、この脆弱性は、exploitコードなどは公開されておらず、またマイクロソフトから公開された以上の技術的な詳細は明らかになっていないようなので、今すぐこれを応用したウイルスが作られるという可能性はそれほど高くないと思われる。
しかし、情報が公開された以上、いずれこの脆弱性を応用したコードが書かれる可能性はある。ユーザーは速やかに修正パッチを適用するべきだろう。
ただし、このパッチは対象になるソフトの範囲が多少複雑なので、修正パッチを適用した後も、サードパーティのアプリケーションの導入などにより、脆弱性の存在する古いモジュールに置き換わってしまう可能性がないとはいえない。この点をよく理解しておく必要がある。
● GDI+の詳細と、パッチの対象
|
Windows UpdateのカスタムインストールでMS04-028脆弱性修正プログラムを導入する画面。MS04-028公開当初は自動更新でこの修正プログラムがダウンロードされなかったため、Windows Updateサイトにアクセスする必要があった
|
まず、このパッチが対象にしている機能GDI+について知っておこう。
このセキュリティ修正プログラムは、「GDI+」と呼ばれるグラフィック描画機能を実現するために使われる共通ファイルの脆弱性を補強するためのものだ。
Windowsでは昔からGDIと呼ばれる描画機能が備わっていたのだが、基本的にこの機能はBMP画像を描画する、画面に点や矩形を書くといった機能しか備わっていなかった。
GDI+は、このGDIを置き換えるべく、作られた新しい描画機能で、JPEG、GIF、PNG形式のサポート、半透明・透過描画機能などが備わっている。ファイルとしては「gdiplus.dll」というDLL(ダイナミックリンクライブラリ)ファイルが、その実行部となっている。
Windows XPと2003 Serverでは標準でこのgdiplus.dllが含まれているほか、Windows 98/Me/2000/NT4.0でもマイクロソフトより配布されている「GDI+RTM」というランタイムをインストールすることで使うことができる。
このGDI+は、Windows XPが、このフォルダの内容のプレビュー表示などにこのGDIを利用しているほか、同社のOffice XP/2003やデジカメスタジオでのJPEG画像の描画などにも使われている。
また、このランタイムは非常に多くの製品にインストールされている。
OS標準で搭載しているWindows XP(SP1/SP1a含む)、2003 Server、アプリケーションでGDI+機能が使われているOffice XP/2003をインストールする際に自動的に含まれるほか、開発系ツールであるVisual Studio .NET2002/2003、.NET Framework SDK、これ専用の再配布ツールであるMicrosoft Platform SDK Redistributable: GDI+(GDI+RTM)、ブラウザであるInternet Explorer 6 Service Pack1 にも含まれる。
ちなみに、先ごろ発表されたWindows XP SP2には既にアップデートされたgdiplus.dllがインストールされている。
さらに、ランタイムパッケージである「GDI+RTM」は、自由に再配布可能なライセンスになっていているため、サードパーティ製のアプリケーションに含まれることもある。GDI+は、かなり手軽に使えるJPEGやPNG、半透明描画機能ライブラリとして使えるため、これらの機能が使える市販ソフト、オンラインソフトにはある程度の割合でこのライブラリが含まれているものがあると考えておいたほうがいいだろう。
マイクロソフトのサイトにある情報だけでは誤解しやすい部分があると思うので、対象となる製品を以下にまとめておこう。
【対象となる製品】
- Windows XPはSP2を除いてパッチを当てる対象。
- Windows XP SP2は、SP2を当てた後で対象となるプログラムや、サードパーティ製のGDI+再配布ファイルを使った場合は対象となる可能性がある。
- 2003 Serverは対象。
- Windows 2000/98/Me/NT 4.0ではIE6 SP1やVS.NETなど、マイクロソフトから「影響を受けるソフトウエア・コンポーネント」と指定されたプログラムをインストールしていた場合はパッチの対象。
- これらのOSで、GDI+ランタイムが含まれるサードパーティ製ソフトはパッチの対象になる可能性がある。
また、一度パッチを当てた後でも、gdiplus.dllが上書きされるようなサードパーティ製アプリなどをインストールした可能性がある場合は、dllのバージョンを調べて、古いバージョンになっていた場合は、また新たにパッチを当てなおす必要がある、ということになる。
● 手動でセキュリティ修正プログラムを適用するには
このMS04-028に対応したセキュリティ修正プログラムは、現在、Windows UpdateサイトやWindows Updateの自動更新機能により適用できる。
しかし前述のように、アプリケーションのインストールなどにより、システム中の修正したGDI+の上に、古い脆弱性のあるGDI+のDLLを上書きしてしまう可能性もある。このため、Windows Updateではなく、手作業でセキュリティ修正プログラムを適用する方法を以下でご紹介しておこう。
手作業でセキュリティ修正プログラムを利用する場合は、マイクロソフトWebのセキュリティ情報(TechNet)の「JPEG 処理 (GDI+) のバッファ オーバーランにより、コードが実行される (833987) (MS04-028」から、セキュリティ更新プログラムをダウンロードできる。
Windows 2000以前のOSを利用する場合は、マイクロソフトから「GDI+検出ツール」が提供されている。これを利用してシステム内にGDI+があるかどうかを確認し、あった場合はGDI+に関するセキュリティ更新を適用すればよいだろう。GDI+検出ツールはダウンロードセンターの「Microsoft GDI+ 検出ツール (KB873374)」から入手可能だ。
なお、このGDI検出ツールは、マイクロソフト製のソフトウエアでGDI+を利用するソフトがPCにインストールされていた場合、ウィンドウでそれを表示する、というツールだ。マイクロソフト以外の製品でGDI+をマイクロソフト製品とは違う場所にインストールしているような場合は対応していない。
該当するサードパーティ製品はそれぞれのソフトの製作者からアップデートのアナウンスがあるはずなので、注意しておこう。ユーザーは、それにしたがってそれぞれのソフトが使うGDI+を更新することになる。
ちなみに、GDI+検出ツールは、純粋にGDI+を検出するだけのもので、セキュリティ修正が行なわれたかどうかを確認しない。つまり、セキュリティ修正を使用した後でも、「脆弱性が含まれている可能性があることが検出されました」と表示される。新しいものになっているかどうかはファイルのプロパティからバージョンをチェックすることになる。
gdiplus.dllが新しくなったかどうかは、WindowsのシステムフォルダのWinSxSで始まる名前のフォルダにgdiplus.dll(1,600KB)というファイルがあり、また、プロパティのバージョン情報で、このファイルのバージョンに「xpsp2」の文字が含まれる――例:5.1.3102.1360 (xpsp2.040109-1800)となっている――ことを確認するのが確実だ。
● Windows Updateサイトでの再確認を
|
gdiplus.dllが確実に新しいものになっているか、また他のアプリケーションなどで上書きされていないかどうか、念のためプロパティで確認しておこう
|
なお、現在では、Windows Update、およびOffice UpdateでMS04-028に対するセキュリティ修正が正しくインストールされるようになっているが、昨日マイクロソフトからこの修正に関する発表があったあと、しばらくの時間、「Windows Updateを実行するとGDI+検出ツールのみが実行され、セキュリティ修正プログラム本体はPCにインストールされない」という現象が一部の環境で起きていたようだ。
比較的早い時間にWindows Updateを実行していた場合は、正しくセキュリティ修正が当たっているか確認するために、もう一度Windows Updateをかけてみるようにしたほうがいいだろう。
■URL
Windows Update
http://windowsupdate.microsoft.com/
■関連記事
・ WindowsやOfficeなどのマイクロソフト製品にJPEG処理の脆弱性(2004/09/15)
( 大和 哲 )
2004/09/17 16:22
- ページの先頭へ-
|