MS04-021/841373 |
IIS 4.0におけるリダイレクト機能の未チェック・バッファの脆弱性により、リモートでプログラムが実行させられる危険性
|
(Internet Information Server 4.0 のセキュリティ更新プログラム) |
緊急対応度:適用作業の早期開始
|
危険性 |
脆弱性による危険性を示す。「緊急適用」の場合、すでに攻撃コードが公開されているなど、脆弱性を悪用した攻撃が開始される可能性がある。「SP待ち」の場合、現時点では危険性がそれほど高くないため、サービスパックに反映されるまで待つことが可能であることを示す。 |
|
Internet Information Server 4.0(IIS 4.0)のリダイレクト機能に脆弱性が存在し、非常に長いリクエストを受信するとバッファ・オーバーランが発生し、任意のプログラムを実行してしまう危険がある。マイクロソフトによれば、この脆弱性が悪用されたという情報はないが、すでに実証コードが存在しているとしている。リモートによる攻撃が可能であるため、ワームなどに悪用される危険性が高い。IIS
4.0を利用してWebサイトを構築している場合は、なるべく早く修正プログラムを適用したい。
|
概要
|
MS04-021の脆弱性は、IIS 4.0のリダイレクト機能に未チェック・バッファの脆弱性が存在することに起因する。IIS 4.0が特別な細工を施したメッセージを受信すると、この脆弱性が悪用され、プログラムのインストール、データの表示/変更/削除、完全な特権を持つ新規のアカウントの作成など、コンピュータの制御をリモートで完全に取得されてしまう。
|
対象プラットフォーム
|
影響を受けるソフトウェア
|
対象プラットフォーム
|
Windows NT 4.0 |
Windows NT 4.0 SP6a+IIS 4.0 |
|
|
‥‥‥ DA Lab:HotFixテスティング・チームからのコメント
‥‥‥
|
■適用テストの結果
DA Labでは、以下のプラットフォームで修正プログラムの適用テストを行った。
プラットフォーム
|
適用テスト結果
|
Windows NT Server 4.0 SP6a |
○
|
■Windows NT 4.0 SP6aのサポートについて
Windows NT Workstation 4.0 SP6aは、ライフサイクル・ポリシーにより、2004年6月30日でサポートが終了している。マイクロソフトは、MS04-021の修正プログラムに関しては開発作業が6月30日時点でほぼ終了していたため、提供を行ったとしている。今後は、Windows
NT Workstation 4.0 SP6aに対する修正プログラムの提供が行われない可能性が高い。そのためOSのバージョンアップを検討していただきたい。ちなみにWindows
NT Server 4.0のサポートは、2004年12月31日に終了する。
■MBSA 1.2の結果
MS04-021の修正プログラムが正しく適用されているかどうかは、MBSA 1.2で確認可能だ。未適用の場合は、「Windowsのセキュリティの更新」の「結果の詳細情報」に、「IIS
4.0 用セキュリティ更新プログラム (KB841373)」が表示される。
|
|
|
IIS 4.0は、デフォルトではインストールされておらず、Windows NT Server 4.0 Option Packとしてインストールを行う。そのため、Windows
NT 4.0 SP6aのデフォルト状態では、このIIS 4.0の脆弱性の影響は受けない(IIS 2.0/3.0については不明である)。
IISのリダイレクトとは、Webブラウザで存在しないWebページがリクエストされた際に、検索ページやWebサイトのトップページなどに移動させる機能である。通常、Webブラウザで存在しないWebページをリクエストすると、「HTTP
404 - ファイルが見つかりません」というエラー・ページが表示されるが、代わりにサイト・マップなどのページを表示させれば、Webサイトのユーザービリティが向上する。IIS
4.0のリダイレクト機能では、受信要求を特定の仮想ディレクトリやサーバに転送することも可能だ。
リダイレクトを行う際に、IIS 4.0が受け取ったリクエストの長さを検証せずに、バッファに送ることがこの脆弱性の原因になっている。そのため、特別に細工されたリクエストを受信すると、リクエスト・データがバッファからあふれ、リクエストに含まれたプログラムが実行されてしまう場合がある。修正プログラムでは、リクエストの長さを検証する方法を変更し、バッファ・オーバーランが発生しないようにする。Webページの表示にかかわるリクエストが細工されるため、ファイアウォールなどでポートをブロックするといった方法で脆弱性を回避するのは難しい。
|
|
|
プラットフォーム |
ダウンロード・センター |
Windows Update/SUS の表示 |
Windows NT 4.0 |
|
IIS 4.0 用セキュリティ更新プログラム (KB841373) |
*SUSは、Windows NT 4.0をサポートしていない。 |
|
|
以下のファイルにパッチが適用される。障害の発生が懸念される場合は、これらのファイルのバックアップを取っておくとよい。
Windows NT 4.0 SP6a+IIS 4.0:
ファイル名 |
日付 |
バージョン |
サイズ |
Q841373I.exe |
2004/05/18 |
1.14.114.0 |
1,040,640
|
ファイル名 |
日付 |
バージョン |
サイズ |
機能 |
展開フォルダ |
%SystemRoot%\system32\inetsrv\ |
asp.dll |
2004/05/06 |
4.2.788.1 |
842,752
|
Active Server Pages |
httpodbc.dll |
2004/05/06 |
4.2.788.1 |
140,288
|
Microsoft ODBC HTTP Server Extension |
iislog.dll |
2004/05/06 |
4.2.788.1 |
172,544
|
Microsoft IIS Plugin DLL |
infocomm.dll |
2004/05/06 |
4.2.788.1 |
490,496
|
Microsoft Internet Information Services Helper library |
iscomlog.dll |
2004/05/06 |
4.2.788.1 |
67,584
|
Microsoft IIS Common Logging Interface DLL |
w3svc.dll |
2004/05/06 |
4.2.788.1 |
95,744
|
Microsoft Server Side Include Extension |
wam.dll |
2004/05/06 |
4.2.788.1 |
61,440
|
SSPI Filter |
ssinc.dll |
2004/05/06 |
4.2.788.1 |
538,112
|
WWW Service |
sspifilt.dll |
2004/05/06 |
4.2.788.1 |
219,136
|
Microsoft Internet Server WAM DLL |
展開フォルダ |
%SystemRoot%\system32\ |
adsiis.dll |
2004/05/06 |
4.2.788.1 |
515,072
|
ADs IIS Provider DLL |
|
|
|
修正プログラムが正しく適用できたかどうかは、以下のレジストリ・キーにある値を調べることで確認できる。
Windows NT 4.0 SP6a:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\Q841373\File
1
|
|
|
何らかの理由から、直ちに修正プログラムを適用できない場合には、以下に示す方法で問題を回避できる。ただしこの回避策は、脆弱性を根本的に解決するものではない。
■リダイレクトを無効に設定する
IIS 4.0でリダイレクトを無効にすることで、脆弱性を回避できる。具体的には以下の操作を行う。ただし、リダイレクトを無効にすると、エラー・ページをサイト・マップにジャンプさせるといった機能が利用できなくなる。
- IISマネージャを開く。
- 管理するWebサイト上で右クリックし、メニューから[プロパティ]を選択する。
- [ホーム ディレクトリ]タブ−[URL へのリダイレクト]をクリックする。
- [このリソースへの恒久的なリダイレクト]のチェックを外し、[OK]ボタンをクリックする。
■MaxClientRequestBuffer値を減らす
レジストリに記録されているMaxClientRequestBuffer値を減らすことで、リクエスト行とヘッダ・フィールドに大きなデータを含んでいるリクエストをブロックすることが可能だ。これで脆弱性を緩和することができる。具体的には以下の操作を行う。
- レジストリ・エディタを起動する。
- レジストリで以下のキーを検索する。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters
|
- このキーに以下のレジストリ値を追加する。
値 |
データ・タイプ |
MaxClientRequestBuffer |
REG_DWORD |
- [DWORD エディタ]ダイアログの[基数]グループを[10進数]にする。
- データに、最大のURLリクエストのバイト数を入力する。必ず16384bytesよりも小さいサイズを設定すること。
- IISのサービスを再起動する。
これで、指定したMaxClientRequestBuffer値以上のサイズを持つすべての受信要求は受け付けなくなる。MaxClientRequestBuffer値の変更方法の詳細は、「サポート技術情報:260694」を参照のこと。
・サポート技術情報 260694(MaxClientRequestBuffer レジストリ値について):
http://support.microsoft.com/default.aspx?scid=kb;ja;260694
|
予想適用時間
|
修正プログラム名 |
50台 |
100台 |
250台 |
500台 |
Q841373I.exe
(Windows NT 4.0) |
18分 |
27分 |
52分 |
1時間35分 |
1コンソールのUpdateEXPERTで、今回の修正プログラムを適用するのにかかる時間を概算したもの。ネットワーク環境や適用するコンピュータの性能などによって適用時間は異なる。あくまでも目安として利用してほしい。
|
UpdateEXPERT上の表示
|
Windows NT 4.0 SP6a:
[展開ビュー]−[IIS]タブに「名前:Q841373I.exe」で登録 |
|