マイクロソフトが、月例のセキュリティ更新プログラムを5月9日未明に公開した。
内容は以下の7つで、いずれも最大深刻度は最も高い「緊急」となっている。このうち、ゼロディ攻撃に利用され、セキュリティアドバイザリを発行したものも2つ含まれている。
- MS07-023 Microsoft Excelの脆弱性により、リモートでコードが実行される(934233)
- MS07-024 Microsoft Wordの脆弱性により、リモートでコードが実行される(934232)
- MS07-025 Microsoft Officeの脆弱性により、リモートでコードが実行される(934873)
- MS07-026 Microsoft Exchangeの脆弱性により、リモートでコードが実行される(931832)
- MS07-027 Internet Explorer用の累積的なセキュリティ更新プログラム(931768)
- MS07-028 CAPICOMの脆弱性により、リモートでコードが実行される(931906)
- MS07-029 Windows DNSのRPCインターフェイスの脆弱性により、リモートでコードが実行される(935966)
この中でも、特にMS07-024は、Word 2000に関しては非常に問題となる脆弱性だ。Word 2000を利用している場合には、できるだけ早急にMicorosoft Updateなどを利用してセキュリティ更新プログラムを適用すべきだろう。
今回は、公開されたセキュリティ更新のうち、主なものの内容を簡単に解説する。
● MS07-023:Microsoft Excelの脆弱性により、リモートでコードが実行される(934233)
MS07-023では、以下の3つの脆弱性を修正する。
- ExcelのBIFFレコードの脆弱性(CVE-2007-0215)
- Excelのフォントの設定の脆弱性(CVE-2007-1203)
- Excelのフィルタレコードの脆弱性(CVE-2007-1214)
いずれも、Excel 2000 SP3では深刻度“緊急”、Excel 2002 SP3とExcel 2003 SP2では深刻度“重要”とされている、リモートコード実行の可能性がある脆弱性だ。パッチ提供前に、exploitの公開などはされていない。
ExcelのBIFFレコードの脆弱性は、TippingPoint、Zero Day Initiativeと協力しているManuel Santamarina Suarez氏が発見報告したものだ。
Zero Day Initiativeが公表したリリースによれば、この脆弱性は、BIFFファイルフォーマット中の名前付きのグラフのレコードを解釈する部分にある欠陥に起因するものだ。データのコピーをスタック上にコピーするのだが、その際に、未チェックの領域にもデータを書き込んでしまうスタックオーバーフローを起こす箇所があるという。
一方、Excelのフォントの設定の脆弱性の方は、xlsなどのExcel形式のファイルを読み込んだ際に、フォント設定の値にある細工が行なわれていると、メモリ破壊を起こすという脆弱性だ。フォント設定の値の検証方法に漏れがあったということだと考えられる。
この脆弱性に関しては、Excel 2007、Office 2004 for Macにも存在するので、該当するソフトを使っているユーザーは注意が必要だろう。
最後の、Excelのフィルタレコードの脆弱性は、iDefense LabsのGreg MacManus氏によって発見報告された脆弱性だ。
Excelのフィルタレコードの値を解釈する部分に問題があり、特殊な細工をした値を含むExcelファイルを読み込ませた場合、メモリ破壊が起こる場合があり、そこから任意のコードの実行が可能となってしまう。
いずれの脆弱性も、セキュリティ更新前に知られた脆弱性ではなく、現在も情報が少ないために悪用される可能性は低いと考えられるが、万一された場合は、PCが完全にのっとられる可能性がある脆弱性だ。忘れずに更新プログラムを適用しておくべきだろう。
● MS07-024:Microsoft Wordの脆弱性により、リモートでコードが実行される(934232)
MS07-024では、以下の3つの脆弱性を修正する。
- Word配列のオーバーフローの脆弱性(CVE-2007-0035)
- Wordドキュメントのストリームの脆弱性(CVE-2007-0870)
- WordのRTFの解析の脆弱性(CVE-2007-1202)
このうち、Wordドキュメントのストリームの脆弱性はゼロデイ攻撃に利用された脆弱性で、セキュリティ更新プログラム公開事前に脆弱性情報が提供されていた問題だ。
マイクロソフト セキュリティ アドバイザリ (933052)
Microsoft Word の脆弱性により、リモートでコードが実行される
http://www.microsoft.com/japan/technet/security/advisory/933052.mspx
この脆弱性は、特殊なWordファイルを読み込ませることでメモリ破壊が発生し、任意のコードを実行できるというもの。この問題は2月頃から知られており、今月になってやっと修正パッチがマイクロソフトから提供された。
当初は、Word 2000にのみ存在する脆弱性ではないかとされていたが、Office XPに含まれるWord 2002にもこの脆弱性が存在する。Word 2000などのユーザーは、忘れずにこのセキュリティ更新プログラムを適用すべきだろう。
● MS07-025:Microsoft Officeの脆弱性により、リモートでコードが実行される(934873)
Office 2000 SP3で深刻度“緊急”、Office XP SP3、Office 2003 SP2、Office 2007、Office 2004 for Macで深刻度“重要”とされている、リモートからのコード実行が可能となる脆弱性だ。セキュリティ更新リリース前に知られていた脆弱性ではない。
問題となる箇所は、Officeアプリケーションで使用される共通ライブラリファイル「MSO.dll」にある。このプログラムが、データ中の描画オブジェクトのパラメータを検証する際に十分な検証を行なっていないために、特別な細工をされたファイルを開いた際にメモリ破損がおき、攻撃者により任意のコードが実行される可能性がある、ということのようだ。
なお、このMSO.dllはExcelなどでのみ使われるため、実際にはWordなどには影響を及ぼさない。ただし、対象となるバージョンのOfficeにはいずれも含まれているため、「Officeの脆弱性」とされているようだ。
● MS07-027:Internet Explorer用の累積的なセキュリティ更新プログラム(931768)
MS07-027では、Internet Explorer(IE)の5つの脆弱性を修正する。
- COMオブジェクトのインスタンス化のメモリ破損の脆弱性(CVE-2007-0942)
- 初期化されていないメモリの破損の脆弱性(CVE-2007-0944)
- プロパティのメモリ破損の脆弱性(CVE-2007-0945)
- HTMLオブジェクトのメモリ破損の脆弱性(CVE-2007-0946、CVE-2007-0947)
- 任意のファイルの書き換えの脆弱性(CVE-2007-2221)
COMオブジェクトのインスタンス化のメモリ破損の脆弱性は、IE5や6だけでなく、IE7(Vista上のIE7も含む)も対象となっている脆弱性だ。ただし、深刻度はプラットフォームとIEのバージョンによって違い、たとえばWindows XP SP2のIE6では“緊急”だが、Vista上のIE7では“重要”と深刻度が低くなっている。
この脆弱性は、IEがchtskdic.dll COMオブジェクトをActiveXコントロールとしてインスタンス化する際に、メモリ破壊を起こすケースが存在するというもの。特殊な細工をしたWebページを閲覧者のブラウザに表示させることで、任意のコードを実行できる可能性があるという、危険な脆弱性だ。これまでにも類似した脆弱性がIEにはいくつか発見されているが、これも同様にこのCOMオブジェクトのクラス識別子 (CLSID) のリストにKill Bitを設定することで対策としている。
初期化されていないメモリの破損の脆弱性は、IEが既に削除されているオブジェクトにアクセスしてしまうことがあるという、プログラム実装上の問題によるものだ。通常、初期化されていなかったり、すでに削除されているオブジェクトを呼び出した場合には、エラーを返さなくてはならないのだが、そうならないケースがあったようだ。
プロパティのメモリ破損の脆弱性は、プロパティメソッド呼び出しの際に、メモリ破壊を行なう可能性があるというもの。情報が少なく、詳細は不明だが、特殊な細工を行なったWebページを読み込ませることで任意のコードを実行する可能性がある。
HTMLオブジェクトのメモリ破損の脆弱性は、「初期化されていないメモリの破損の脆弱性」同様、初期化されていないメモリにアクセスしてしまうために、メモリ破壊が起こる可能性があるという脆弱性だ。
任意のファイルの書き換えの脆弱性は、Microsoft Windows Media Serverの「mdsauth.dll」コントロールに、任意にファイルを書き換えることができる問題があるというものだ。そのための方法などは明らかにされていないが、もし、発見された場合、非常に危険な脆弱性となる可能性がある。忘れずにセキュリティ更新を適用すべきだろう。
● MS07-029:Windows DNSのRPCインターフェイスの脆弱性により、リモートでコードが実行される(935966)
MS07-029は、ゼロデイ攻撃で実際に使われた脆弱性で、セキュリティ更新プログラム公開前に、マイクロソフトからもセキュリティアドバイザリ「Windows DNSサーバーのRPC の脆弱性により、リモートでコードが実行される(935964)」として情報が公開されていた。
この問題は、Windows 2000 ServerおよびWindows Server 2003のDNSサーバーサービスの、RPCインタフェースの文字列処理ルーチンに存在している。エスケープシーケンスで表現されるような文字列を含む非常に長いゾーン名をこのインターフェイスに渡した場合、文字列コピーの際にスタックオーバーフローを起こしてしまう。この文字列データをCPUが処理終了の戻り先と誤認してしまい、任意のアドレスにある不正なデータをプログラムとして実行させることができてしまう。
筆者の知る限り、この脆弱性には「dnstest」などの名前で、Windows 2000英語版、イタリア語版、スペイン語版用などに対応する3つ以上のバージョンのexploitコードが公開されており、現在ではこれらのOSでは非常に容易に悪用が可能となっている。
DNSサーバーということで、一般の利用者にはあまり縁のない機能だが、サーバー管理者は十分気をつけなくてはならない脆弱性情報だ。できるだけ早めに検証を行なって、管理しているサーバーにも適用することをお勧めしたい。
● 4月の緊急公開更新を振り返る
ところで、先月緊急公開されたセキュリティ更新「MS07-017」に関して、マイクロソフトがブログで興味深い内容を公開していたので、今月のセキュリティ更新ではないが紹介したい。
MS07-017は、Windows 2000からWindows Vistaまでが対象となる脆弱性で、特に「アニメーションカーソル問題」はゼロデイ攻撃にも広く使われ、問題となった脆弱性だ。
この問題について、マイクロソフトのThe Security Development Lifecycleブログで、この脆弱性がなぜ存在してしまったのかを「実際の脆弱性から得た教訓」として検証している。
Security Development Lifecycle(SDL)とは、マイクロソフトの提唱する「信頼できるコンピューティング(Trustworthy Computing)」において、特に悪質な攻撃に耐える必要のあるソフトウェアを開発するためのプロセスのことだ。
ソフトウエアへの脅威となるモデルを開発し、そのモデルに対応したセキュアな設計・実装を行ない、専用ソフトウェアにより脆弱性となりうる箇所を発見する。また、開発グループ以外のチームによるレビューを経てからソフトウエアをリリースし、さらにその後のアップデートによりソフトウエアのセキュリティ品質を向上させようというのが、このプロセスのコンセプトだ。
マイクロソフトではWindows Vistaの開発にあたり、最初の段階から最後までこのSDLを適用した。しかし、Windows Vistaもアニメーションカーソルの問題では脆弱性が存在し、他のOSと同様にゼロデイ攻撃にさらされた。
ブログではこの問題について、以下のような問題点を挙げている。
- SDLは完璧ではないし、これからもそうはなり得ない
- 多くのソフトが旧来ソフトのバージョンアップである以上、SDL適用以前の脆弱なコードが残る可能性はある
- 例えば、Windows Vistaでは、strcpyやnstrcpyを禁止した。どちらも文字列のコピー関数で、文字列の最後にNULLデータがないと意図しない領域にデータを書き込む可能性があるため、より安全なAPIを利用するように変更した
- しかし、memcpy(メモリブロックコピー)については禁止していなかった。memcpyで不正な領域へのコピーを禁止するには、コンパイラオプションの設定やSALを使う方法があるが、これらが使い方によっては不正な動作を検知できないケースがある
- この箇所は、ソースコード解析ツールも危険を見逃すようにたまたま書かれていた
こうした点については、将来コンパイラオプションが設定された際にコードをより安全にする、memcpyを禁止した場合にはどのような影響があるかなどの検討を行なわなくてはならない。memcpyはメモリコピーを高速に行なえるので、禁止した場合にはパフォーマンスなどに影響があるのかもしれない。そして、マイクロソフトはこのようなバグから学び、必要に応じて、プロセスを見直していくだろうとしている。
Windows Vistaに関しては、SDLに基づいてさまざまなセキュティに関する対策が取られていることが知られている。「Vistaではセキュリティ脆弱性はほぼ出てこない」と思い込んでいた人も多いのではないだろうか。
実際には、このアニメーションカーソルの脆弱性もそうであり、また今月のIEの脆弱性の問題もそうだったように、Windows Vistaも(Windows 2000やWindows XPに比べるとかなり少ないとはいえ)やはり脆弱性をいくつも持っており、また、それが公となることがある。
マイクロソフトの言うように、ソフトは「完璧ではないし、これからもそうはなり得ない」ことを利用者は忘れてはならないだろう。
関連情報
■URL
マイクロソフト セキュリティホーム
http://www.microsoft.com/japan/security/
2007年5月のセキュリティ情報
http://www.microsoft.com/japan/technet/security/bulletin/ms07-may.mspx
MS07-023
http://www.microsoft.com/japan/technet/security/bulletin/ms07-023.mspx
MS07-024
http://www.microsoft.com/japan/technet/security/bulletin/ms07-024.mspx
MS07-025
http://www.microsoft.com/japan/technet/security/bulletin/ms07-025.mspx
MS07-026
http://www.microsoft.com/japan/technet/security/bulletin/ms07-026.mspx
MS07-027
http://www.microsoft.com/japan/technet/security/bulletin/ms07-027.mspx
MS07-028
http://www.microsoft.com/japan/technet/security/bulletin/ms07-028.mspx
MS07-029
http://www.microsoft.com/japan/technet/security/bulletin/ms07-029.mspx
The Security Development Lifecycle Blogの該当記事(英文)
http://blogs.msdn.com/sdl/archive/2007/04/26/lessons-learned-from-the-animated-cursor-security-bug.aspx
■関連記事
・ マイクロソフト、IEの累積的修正など5月の月例パッチ7件を公開(2007/05/09)
・ 緊急公開されたマイクロソフトのセキュリティ更新を確認する(2007/04/05)
( 大和 哲 )
2007/05/09 18:19
- ページの先頭へ-
|