MS04-016/839643 |
DirectPlayの脆弱性により、サービス拒否攻撃が仕掛けられる危険性 |
(DirectPlayの脆弱性により、サービス拒否が起こる) |
緊急対応度:適用作業の検討
|
危険性 |
脆弱性による危険性を示します。「緊急適用」の場合、すでに攻撃コードが公開されているなど、脆弱性を悪用した攻撃が開始される可能性があります。「SP待ち」の場合、現時点では危険性がそれほど高くないため、サービスパックに反映されるまで待つことが可能であることを示します。 |
小 |
|
● |
|
|
|
|
|
|
|
|
大
|
← |
ServicePack待ち
|
|
早期適用
|
|
緊急適用
|
→
|
|
ネットワーク・ゲームなどDirectPlayを利用したアプリケーションが異常終了させられる危険性がある。ただしこの脆弱性は、DirectPlay API
Version 4(IDirectPlay4)を利用したアプリケーションのみに存在し、攻撃はアプリケーションの利用中に限られる。
またマイクロソフトは、現在提供されているアプリケーションのほとんどがDirectPlay API Version 8(IDirectPlay8)を利用しているため、脆弱性の影響を受ける可能性は低いとしている。ネットワーク・ゲーム以外のアプリケーションでDirectPlayを利用するものはほとんどないと思われる。
ネットワーク・ゲームを利用していない限り、つまり企業利用のコンピュータでは、この修正プログラムの適用を急ぐ必要はないだろう。ほかの修正プログラムと同時に適用スケジュールを検討すればよい。
|
概要
|
DirectPlayのIDirectPlay4 APIの実装に脆弱性が存在する。IDirectPlay4 APIのパケット検証が不十分であるため、この脆弱性が悪用されるとDirectPlayアプリケーションが異常終了させられる。なおDirectPlayアプリケーションを再起動すれば、機能は回復可能である。
DirectPlayはDirectXの機能の1つで、通信機能など主にネットワーク・ゲームの開発に必要な機能をまとめたものだ。IDirectPlay4は、DirectX
6.0以降に含まれており、最新のDirectX 9.0bでもサポートされている。そのため、DirectX 6.0以降がインストールされているすべてのOSが脆弱性の対象となる(ただしTechNetセキュリティ情報では、「Windows
98SE上のDirectX 6.1は脆弱性の影響を受けない」としている)。なおTechNetセキュリティ情報によれば、Windows NT 4.0にMS04-016の脆弱性は存在しないとのことだ。
|
対象プラットフォーム
|
影響を受けるソフトウェア
|
対象プラットフォーム
|
Windows 2000+DirectX 7.0 |
Windows 2000 SP2/SP3/SP4+DirectX 7.0 |
Windows 2000+DirectX 8.0 |
Windows 2000 SP2/SP3/SP4+DirectX 8.0/8.0a |
Windows 2000+DirectX 8.1 |
Windows 2000 SP2/SP3/SP4+DirectX 8.1/8.1a/8.1b |
Windows XP+DirectX 8.1 |
Windows XP SP未適用/SP1/SP1a+DirectX 8.1 |
Windows Server 2003+DirectX 8.1 |
Windows Server 2003+DirectX 8.1 |
DirectX 8.2 |
Windows 2000 SP2/SP3/SP4、Windows XP SP未適用/SP1/SP1a+DirectX
8.2 |
DirectX 9.0 |
Windows 2000 SP2/SP3/SP4、Windows XP SP未適用/SP1/SP1a、Windows Server
2003+DirectX 9.0/9.0a/9.0b |
|
|
‥‥‥ DA Lab:HotFixテスティング・チームからのコメント
‥‥‥
|
■適用テストの結果
DA Labでは、以下のプラットフォームで修正プログラムの適用テストを行った。
プラットフォーム
|
適用テスト結果
|
Windows 2000 SP2/SP3/SP4+DirectX 7.0 |
○
|
Windows 2000 SP2/SP3+DirectX 8.0/8.0a |
○
|
Windows 2000 SP3/SP4+DirectX 8.1/8.1b |
○
|
Windows 2000 SP3+DirectX 8.2 |
○
|
Windows 2000 SP2/SP4+DirectX 9.0/9.0a/9.0b |
○
|
Windows XP SP未適用/SP1a+DirectX 8.1 |
○
|
Windows XP SP未適用+DirectX 8.2 |
○
|
Windows XP SP未適用/SP1/SP1a+DirectX 9.0/9.0a/9.0b |
○
|
Windows Server 2003+DirectX 8.1 |
○
|
Windows Server 2003+DirectX 9.0/9.0a/9.0b |
○
|
■インストールされているDirectXのバージョンを調べる方法
コンピュータにインストールされているDirectXのバージョンは以下の方法で調べられる。
- [スタート]−[ファイル名を指定して実行]を選択する。
- [ファイル名を指定して実行]ダイアログに「dxdiag」と入力し、[OK]ボタンをクリックする。
- 起動した[DirectX診断ツール]ダイアログの[システム]タブ−[システム情報]の「DirectXバージョン」でバージョンを確認する。
■Windows 98/98SE/Meにも脆弱性が含まれる
Windows 98/98SEではDirectX 7.0aが、Windows MeではDirectX 7.1が、それぞれサポートされている。DirectX
7.0a/7.1にもIDirectPlay4 APIが実装されており、脆弱性の影響を受ける。しかしマイクロソフトは、この脆弱性が「緊急ではない」としており、これらの環境に対して修正プログラムを提供していない(Windows
98/98SE/Meについては、緊急と判断した修正プログラムのみ提供を行うとしている)。
ただしDirectX 8.0以降をインストールしている場合、該当するDirectXのバージョンのWindows 2000/XP向け修正プログラムがそのまま適用可能だ。Windows
Meを利用している場合は、DirectX 9.0bにバージョンアップしてから修正プログラムを適用するとよい。
■DirectXのバージョンを上げたら修正プログラムの再適用が必要な場合がある
MS04-016の修正プログラムを適用した後でDirectXのバージョンを上げた(マイナーバージョンかメジャーバージョンが上がった)ときには、そのバージョン用の修正プログラムを適用する必要がある。例えば、DirectX
8.1の環境でMS04-016の修正プログラムが適用済みであっても、DirectX 9.0bをインストールしたら、改めてDirectX 9.0x用の修正プログラムを適用する必要がある。
■MBSA 1.2の結果
MBSA 1.2では、DirectXの検出をサポートしていない。DA LabでMBSA 1.2を試したところ、MS04-016の修正プログラムが適用されていない場合、「Windowsのセキュリティ更新」の「結果の詳細情報」で、MS04-016が「青色の星印が付いているセキュリティの更新は、スキャンされたコンピュータにインストールされていることを確認できません。」に表示されるが、適用済みの場合は一覧から削除される。「結果の詳細情報」の「青色の星印が付いているセキュリティの更新は、スキャンされたコンピュータにインストールされていることを確認できません。」の項目を確認することで、MS04-016の修正プログラムが適用済みかどうか確認することができそうだ。
■6月9日のダウンロード・センター登録のDirectX 9.0用修正プログラムは英語版
6月9日のTechNetセキュリティ情報登録時点では、ダウンロード・センターに登録されているDirectX 9.0用修正プログラムは英語版のみであった(Windows
UpdateならびにSUSでは、日本語版が登録されていた)。その後、6月10日に日本語版のDirectX 9.0用修正プログラムが登録された。英語版と日本語版では、置き換えるファイルのバージョンとサイズは同一である。
DA Labで適用テストを行ったところ、英語版のDirectX 9.0用修正プログラムでも日本語Windowsに適用可能であった(日本語版と同じ状態になった)。すでに英語版の修正プログラムを適用している場合は、改めて日本語版を適用する必要はない。ただし今後は、念のため日本語版を適用した方がよいだろう。
|
|
|
DirectXに実装されているネットワーク・ゲーム向けのネットワーク・プロトコル「DirectPlay」に、パケット検証を十分に行わないことによって生じる脆弱性が存在する。脆弱性が存在するのは、DirectPlayのIDirectPlay4と呼ばれるバージョンである。
IDirectPlay4は、「IDirectPlay4Server」「IDirectPlay4Client」「IDirectPlay4Peer」の3つのAPIから構成されており、これらのAPIがそれぞれネットワーク・コードを起動する。攻撃を行うには、これらのAPIを起動することが条件となるため、IDirectPlay4を利用したネットワーク・アプリケーションを実行しているコンピュータを検索し、接続を確立、不正なパケットを送信することが必要になる。つまり、IDirectPlay4を利用したネットワーク・アプリケーション(主にネットワーク・ゲーム)を実行していなければ、この脆弱性の影響を受けることはない。企業でのコンピュータ利用なら、この脆弱性の危険性はそれほど高くない。
|
|
|
プラットフォーム |
ダウンロード・センター |
Windows Update/SUS の表示 |
Windows 2000+DirectX 7.0 |
|
DirectX 7.0 用セキュリティ更新プログラム (KB839643) |
Windows 2000+DirectX 8.0 |
|
DirectX 8.0 用セキュリティ更新プログラム (KB839643) |
Windows 2000+DirectX 8.1 |
|
DirectX 8.1 用セキュリティ更新プログラム (KB839643) |
Windows XP+DirectX 8.1 |
|
Windows XP 用セキュリティ更新プログラム (KB839643) |
Windows Server 2003+DirectX 8.1 |
|
Windows Server 2003 用セキュリティ更新プログラム (KB839643) |
DirectX 8.2 |
|
DirectX 8.2 用セキュリティ更新プログラム (KB839643) |
DirectX 9.0 |
|
DirectX 9.0 用セキュリティ更新プログラム (KB839643) |
|
|
|
以下のファイルにパッチが適用される。障害の発生が懸念される場合は、これらのファイルのバックアップを取っておくとよい。
Windows 2000 SP2/SP3/SP4+DirectX 7.0:
ファイル名 |
日付 |
バージョン |
サイズ |
Windows2000-KB839643-x86-JPN.EXE |
2004/05/07 |
5.4.15.0 |
431,096
|
ファイル名 |
日付 |
バージョン |
サイズ |
機能 |
展開フォルダ |
%SystemRoot%\System32\ |
dplayx.dll |
2004/05/07 |
5.0.2195.6922 |
220,432
|
Microsoft DirectPlay |
dpwsockx.dll |
2004/05/07 |
5.0.2195.6922 |
44,304
|
Internet TCP/IP and IPX Connection For DirectPlay |
Windows 2000 SP2/SP3/SP4+DirectX 8.0/8.0a:
ファイル名 |
日付 |
バージョン |
サイズ |
DirectX80-KB839643-x86-JPN.EXE |
2004/05/13 |
5.3.18.4 |
452,800
|
ファイル名 |
日付 |
バージョン |
サイズ |
機能 |
展開フォルダ |
%SystemRoot%\System32\ |
dplayx.dll |
2004/04/14 |
5.1.2258.410 |
233,984
|
Microsoft DirectPlay |
dpwsockx.dll |
2004/04/12 |
5.1.2258.410 |
88,064
|
Internet TCP/IP and IPX Connection For DirectPlay |
Windows 2000 SP2/SP3/SP4+DirectX 8.1/8.1a/8.1b:
ファイル名 |
日付 |
バージョン |
サイズ |
DirectX81-KB839643-x86-JPN.EXE |
2004/05/13 |
5.3.18.4 |
446,656
|
ファイル名 |
日付 |
バージョン |
サイズ |
機能 |
展開フォルダ |
%SystemRoot%\System32\ |
dplayx.dll |
2004/04/14 |
5.1.2600.891 |
214,528
|
Microsoft DirectPlay |
dpwsockx.dll |
2004/04/12 |
5.1.2600.891 |
73,216
|
Internet TCP/IP and IPX Connection For DirectPlay |
Windows XP SP未適用/SP1/SP1a+DirectX 8.1:
ファイル名 |
日付 |
バージョン |
サイズ |
WindowsXP-KB839643-x86-JPN.EXE |
2004/05/13 |
5.4.15.0 |
446,232
|
ファイル名 |
日付 |
バージョン |
サイズ |
機能 |
展開フォルダ
(SP未適用) |
%SystemRoot%\System32\ |
dplayx.dll |
2004/05/13 |
5.1.2600.148 |
214,528
|
Microsoft DirectPlay |
dpwsockx.dll |
2004/05/13 |
5.1.2600.148 |
50,176
|
Internet TCP/IP and IPX Connection For DirectPlay |
展開フォルダ
(SP1/SP1a)
|
%SystemRoot%\System32\ |
dplayx.dll |
2004/05/13 |
5.1.2600.1517 |
214,528
|
Microsoft DirectPlay |
dpwsockx.dll |
2004/05/13 |
5.1.2600.1517 |
50,176
|
Internet TCP/IP and IPX Connection For DirectPlay |
Windows Server 2003++DirectX 8.1:
ファイル名 |
日付 |
バージョン |
サイズ |
WindowsXP-KB839643-x86-JPN.EXE |
2004/05/13 |
5.4.15.0 |
446,232
|
ファイル名 |
日付 |
バージョン |
サイズ |
機能 |
展開フォルダ
(RTMGDR/RTMQFE) |
%SystemRoot%\System32\ |
dplayx.dll |
2004/05/08 |
5.2.3790.163 |
221,184
|
Microsoft DirectPlay |
dpwsockx.dll |
2004/05/08 |
5.2.3790.163 |
55,296
|
Internet TCP/IP and IPX Connection For DirectPlay |
DirectX 8.2:
ファイル名 |
日付 |
バージョン |
サイズ |
DirectX82-KB839643-x86-JPN.EXE |
2004/05/13 |
5.3.18.4 |
450,240
|
ファイル名 |
日付 |
バージョン |
サイズ |
機能 |
展開フォルダ |
%SystemRoot%\System32\ |
dplayx.dll |
2004/04/14 |
5.2.3677.144 |
219,648
|
Microsoft DirectPlay |
dpwsockx.dll |
2004/04/12 |
5.2.3677.144 |
76,800
|
Internet TCP/IP and IPX Connection For DirectPlay |
DirectX 9.0/9.0a/9.0b:
ファイル名 |
日付 |
バージョン |
サイズ |
DirectX90-KB839643-x86-JPN.EXE |
2004/05/13 |
5.3.18.4 |
450,240
|
ファイル名 |
日付 |
バージョン |
サイズ |
機能 |
展開フォルダ |
%SystemRoot%\System32\ |
dplayx.dll |
2004/04/14 |
5.3.0.903 |
219,648
|
Microsoft DirectPlay |
dpwsockx.dll |
2004/04/12 |
5.3.0.903 |
76,800
|
Internet TCP/IP and IPX Connection For DirectPlay |
|
|
|
修正プログラムが正しく適用できたかどうかは、以下のレジストリ・キーにある値を調べることで確認できる。
Windows 2000 SP2/SP3/SP4+DirectX 7.0:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB839643\Filelist
Windows 2000 SP2/SP3/SP4+DirectX 8.0/8.0a:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\DirectX\DX8\SP1\KB839643-DirectX8
Windows 2000 SP2/SP3/SP4+DirectX 8.1/8.1a/8.1b:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\DirectX\DX8.1\SP1\KB839643-DirectX81
Windows XP SP未適用/SP1/SP1a+DirectX 8.1:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\KB839643\Filelist
Windows Server 2003+DirectX 8.1:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows Server 2003\SP1\KB839643\Filelist
DirectX 8.2:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\DirectX\DX8.2\SP1\KB839643-DirectX82
DirectX 9.0/9.0a/9.0b:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\DirectX\DX9\SP1\KB839643-DirectX9
|
予想適用時間
|
修正プログラム名 |
50台 |
100台 |
250台 |
500台 |
Windows2000-KB839643-x86-JPN.EXE
(Windows 2000+DirectX 7.0) |
12分 |
21分 |
46分 |
1時間28分 |
DirectX80-KB839643-x86-JPN.EXE
(Windows 2000+DirectX 8.0) |
12分 |
21分 |
46分 |
1時間28分 |
DirectX81-KB839643-x86-JPN.EXE
(Windows 2000+DirectX 8.1) |
12分 |
21分 |
46分 |
1時間28分 |
WindowsXP-KB839643-x86-JPN.EXE
(Windows XP+DirectX 8.1) |
12分 |
21分 |
46分 |
1時間28分 |
DirectX82-KB839643-x86-JPN.EXE
(DirectX 8.2) |
12分 |
21分 |
46分 |
1時間28分 |
DirectX90-KB839643-x86-JPN.EXE
(DirectX 9.0) |
12分 |
21分 |
46分 |
1時間28分 |
1コンソールのUpdateEXPERTで、今回の修正プログラムを適用するのにかかる時間を概算したもの。ネットワーク環境や適用するコンピュータの性能などによって適用時間は異なる。あくまでも目安として利用してほしい。
|
UpdateEXPERT上の表示
|
Windows 2000 SP2/SP3/SP4+DirectX 7.0:
[展開ビュー]−[Media]タブに「名前:Windows2000-KB839643-x86-JPN.EXE」で登録
Windows 2000 SP2/SP3/SP4+DirectX 8.0/8.0a:
[展開ビュー]−[Media]タブに「名前:DirectX80-KB839643-x86-JPN.EXE」で登録
Windows 2000 SP2/SP3/SP4+DirectX 8.1/8.1a/8.1b:
[展開ビュー]−[Media]タブに「名前:DirectX81-KB839643-x86-JPN.EXE」で登録
Windows XP SP未適用/SP1/SP1a+DirectX 8.1:
[展開ビュー]−[Media]タブに「名前:WindowsXP-KB839643-x86-JPN.EXE」で登録
Windows Server 2003+DirectX 8.1:
UpdateEXPERT 5.1のサポート対象外
DirectX 8.2:
[展開ビュー]−[Media]タブに「名前:DirectX82-KB839643-x86-JPN.EXE」で登録
DirectX 9.0/9.0a/9.0b:
[展開ビュー]−[Media]タブに「名前:DirectX90-KB839643-x86-JPN.EXE」で登録
|
|