ユニバーサル プラグ アンド プレイ (UPnP) に含まれる未チェックのバッファによりシステムが侵害される (MS01-059)

公開日: 2001年12月21日 | 最終更新日: 2002年1月9日

概要 :

このセキュリティ情報の対象となるユーザー :
Microsoft® Windows® ME または XP を使用しているお客様。Windows 98 または 98SE に Windows XP インターネット接続共有クライアントをインストールしているお客様。

脆弱性の影響 :
攻撃者による任意のコードが実行される

最大深刻度 :

推奨する対応策 :
マイクロソフトは Windows XP を使用するすべてのお客様に更新プログラムを直ちに適用することを強く推奨します。Windows 98、98SE または ME を使用しているお客様でユニバーサル プラグ アンド プレイ サービスをインストールしている場合は、更新プログラムを適用して下さい。

影響を受けるソフトウェア :

Microsoft Windows 98

Microsoft Windows 98SE

Microsoft Windows ME

Microsoft Windows XP

詳細

問題

技術的な説明 :
ユニバーサル プラグ アンド プレイ (UPnP) サービスにより、コンピュータがネットワーク ベースのデバイスを見つけ、そして使用することができます。Windows ME および XP は標準で UPnP の機能を含みます。Windows 98 および 98SE は標準で UPnP の機能を含みませんが、Windows XP に同梱されているインターネット接続共有クライアントを介してインストールすることができます。このセキュリティ情報は UPnP の 2 つの脆弱性について説明しています。これらの脆弱性には関連性はありませんが、どちらも UPnP 対応のコンピュータがネットワークの新しいデバイスを見つける方法に関連しています。

1 番目の脆弱性はバッファのオーバーランの脆弱性です。NOTIFY ディレクティブを処理する Windows XP のコンポーネントの 1 つに未チェックのバッファが含まれています。NOTIFY ディレクティブとはネットワークの UPnP 対応のデバイスが利用可能であるということを知らせるメッセージです。不正な NOTIFY ディレクティブを送信することにより、攻撃者は Windows XP で、システムの権限で実行される UPnP サブシステムのコンテキスト内でコードを実行することができる可能性があります。(Windows 98 および Windows ME では、すべてのコードがオペレーティング システムの一部として実行されます。) これにより、攻撃者がシステムの完全な制御を取得する可能性があります。

2 番目の脆弱性は UPnP の実装が、新しく見つけられたデバイスの使用に関する情報を取得するための処理を十分に制限しないために起こります。新しい UPnP デバイスが送信する NOTIFY ディレクティブ内で、デバイスの説明 (そのデバイスが提供するサービスやその使用方法に関する情報の一覧) の取得場所の情報が、他のコンピュータに伝達されます。仕様上、デバイスの説明はそのデバイス自体にではなく、サードパーティのサーバーに存在している場合があります。しかし UPnP の実装はこの操作を実行する方法を十分に規制しないため、2 つの異なるサービス拒否のシナリオを発生させます。

攻撃者は NOTIFY ディレクティブを UPnP 対応のコンピュータに送信し、デバイスの説明が特定のサーバーの特定のポートからダウンロードされるように指定します。サーバーが単にダウンロード リクエストを UPnP サービスにそのまま反復して伝えるように設定されている場合 (例 : 対象となるコンピュータのポートで Echo サービスが実行されている場合)、コンピュータは絶え間なくダウンロード サイクルに入り、これによりシステムの一部またはすべての可用性が消費される可能性があります。さらに、攻撃者はこのディレクティブを作成し、犠牲となるユーザーのマシンの IP アドレスを使用して、そのマシンに直接送信する可能性があります。または、この同じディレクティブをブロードキャスト ドメインとマルチキャスト ドメインに送信し、システムの可用性の一部またはすべてを消費することにより、その範囲内に存在するすべての影響を受けるマシンを攻撃する可能性があります。

攻撃者はサードパーティのサーバーを NOTIFY ディレクティブ内のデバイスの説明のためのホストとして指定する可能性があります。多くの台数のマシンがディレクティブに応答した場合、サードパーティのサーバーを偽のリクエストで氾濫し、分散サービス拒否を引き起こします。1 番目のシナリオでは、攻撃者はディレクティブを対象となるコンピュータに直接送信するか、ブロードキャスト ドメインまたは、マルチキャスト ドメインに送信する可能性があります。


システム管理者により、この更新プログラムを適用したシステムがどのようにデバイスを見つけるかを設定することができる新しい機能がこの更新プログラムに導入されています。マイクロソフト サポート技術情報 315056 で説明しているように、この更新プログラムは UPnP サービスがローカル サブネット、サブネット、プライベート ネットワークのみから、または IP アドレスからデバイスの説明をダウンロードするように設定することができる機能を導入しています。既定で、この更新プログラムを適用したシステムはサブネットまたはプライベート ネットワークでのみ、デバイスの説明があるかどうかをチェックします。

この更新プログラムをインストールすることができないお客様は 「よく寄せられる質問」 で説明されているように UPnP 機能を無効にすることによりシステムを保護することができます。

問題を緩和する要素 :

全般 :

企業のネットワークに関しては、標準のファイアウォールによる対応策を講じることにより、インターネット ベースの攻撃から保護することができます。(具体的にはポート 1900 および 5000 をブロックする)

インターネット接続共有を使用しているホーム ネットワークに関しては、インターネット ゲートウェイがパケットを転送しないため、インターネット ベースの攻撃から保護されています。ゲートウェイ マシンのみが危険にさらされます。


Windows 98 および 98SE:

これらのシステムには標準で UPnP サポートはありません。Windows 98 および 98SE システムは Windows XP からインターネット接続共有クライアントがシステムにインストールされている場合のみ影響を受けます。

既にこの更新プログラムを適用している Windows XP システムからインターネット接続共有クライアントをインストールした Windows 98 および 98SE マシンはこの脆弱性の影響を受けません。


Windows ME:

Windows ME は標準の UPnP サポートを提供しますが、既定でインストール、また実行はされません。(しかし、サービスをインストールし、実行するプレビルド システムを構成している OEM もあります。)


Windows XP:

インターネット接続ファイアウォールは、インターネットへのネットワーク接続がシステム ウィザードの 1 つにより設定されている場合は既定でオンとなっており、ユニキャスト メッセージを使用した攻撃に対する保護を行います。このため、ブロードキャストまたはマルチキャストを介する攻撃のみが可能となります。そしてこの攻撃を行うためには通常、攻撃者は影響を受けるシステムと同じネットワーク セグメントに存在する必要があります。

深刻度 :
バッファのオーバーラン :

インターネット サーバーイントラネット サーバークライアント システム

Windows 9898SE

なし

なし

Windows ME

なし

なし

Windows XP

なし

なし

サービス拒否の脆弱性 :

インターネット サーバーイントラネット サーバークライアント システム

Windows 9898SE

なし

なし

Windows ME

なし

なし

Windows XP

なし

なし

更新プログラムにより排除されるすべての脆弱性の総合的な深刻度 :

インターネット サーバーイントラネット サーバークライアント システム

Windows 9898SE

なし

なし

Windows ME

なし

なし

Windows XP

なし

なし

上記の評価はこの脆弱性の影響を受けるシステムの種類、システムの典型的な展開形式およびこの脆弱性がシステムに及ぼす影響に基づいています。Windows XP の深刻度に関しては Windows 98、98SE および ME よりも高く評価されています。この理由は Windows XP は既定の状態でこの脆弱性の影響を受けるためです。

脆弱性識別番号 :

バッファのオーバーラン : CAN-2001-0876

サービス拒否 : CAN-2001-0877

テストしたバージョン :
マイクロソフトは Windows ME、Windows NT 4.0、Windows 2000、Windows XP および Windows 98 と 98SE にインストールすることのできる UPnP サービスのテストを行い、これらの脆弱性による影響を評価しました。それより前のバージョンに関してはサポートの対象となっていないため、この脆弱性による影響は不明です。

よく寄せられる質問

このセキュリティ情報はどのような脆弱性を説明していますか?

このセキュリティ情報は Windows 98、Windows 98SE、Windows ME および Windows XP のユニバーサル プラグ アンド プレイ サブシステムに影響を及ぼす 2 つの脆弱性について説明しています。

ユニバーサルプラグアンドプレイとは何ですか?

ユニバーサル プラグ アンド プレイ (UPnP) (英語情報) とは、ネットワーク上のデバイスを検知し、そのデバイスとの動作方法を確認できるようにする機能です。UPnP は多くの Windows ユーザーによく知られているプラグ アンド プレイ (PnP) 機能との比較により、容易に理解することができます。PnP によりオペレーティング システムは、新しいハードウェアがインストールされると、それを検知することができます。例えば、新しいマウスがコンピュータにインストールされると、PnP により Windows はそれを検知し、必要となるドライバを読み込み、それを使用し始めることができます。UPnP は、ローカル システム自体ではなく、ネットワークのデバイスに対し、この概念を拡張しています。UPnP はコンピュータにネットワークのそのほかのデバイスについて知らせ、その使用方法を確認させます。例えば、コンピュータは UPnP を使用して、そのコンピュータが使用することができるプリンタがネットワークに存在するかどうかを検知することができます。

どのオペレーティングシステムが UPnP をサポートしますか?

Windows 98 および Windows 98SE は標準の UPnP 機能を含みません。Windows XP で提供されているインターネット接続共有 (ICS) のクライアント ソフトウェアをインストールすることによってのみ UPnP を追加することができます。

Windows ME は標準の UPnP 機能を含みますが、既定ではインストールおよび実行はされません。

Windows NT 4.0 および Windows 2000 は UPnP をサポートしません。

Windows XP は標準の UPnP 機能を含みます。これは既定でインストールおよび動作しています。

これらの脆弱性は UPnP に関連するという事実以外に何か共通点はありますか?

はい、あります。UPnP サブシステムがデバイス検知を実行する方法に問題があります。

UPnP のデバイス検知とは何ですか? またそれはどのように動作しますか?

デバイス検知とは UPnP 対応のコンピュータが、使用することのできるデバイスが利用可能であることを知り、それらのデバイスからのサービスをリクエストする方法を取得するプロセスです。

UPnP 対応のコンピュータが起動する時、そのコンピュータが使用することのできるデバイスがネットワークに存在するかもしれません。そのようなデバイスが存在するかどうかを確認するために、コンピュータはブロードキャスト リクエスト (M-SEARCH ディレクティブと呼ばれます) を送信し、その範囲内の UPnP 対応のデバイスに、そのコンピュータへの直接的な応答とデバイスの使用に関する情報の提供を要求します。

同様に、UPnP をサポートするデバイス (例えば、UPnP 対応のプリンタ) が起動する時、そのデバイスを使用したい UPnP 対応のコンピュータがネットワークに存在するかもしれません。デバイスはメッセージ (NOTIFY ディレクティブと呼ばれます) をその範囲内のすべてのコンピュータに通知し、ネットワークでの存在を知らせ、コンピュータにそのサービスを使用するように伝えます。

UPnP 対応のコンピュータが特定のデバイスが利用可能であることを知ったとします。そのコンピュータはどのようにしてそのデバイスの使用方法が分かるのですか?

コンピュータは、その存在を知っているデバイスに対する興味を登録しているアプリケーションがあるかどうかをチェックします。そのようなアプリケーションがある場合、コンピュータはデバイスによって送信された情報を調べます。その情報とはデバイスの説明 (デバイスにより提供されるサービスの一覧およびサービスのリクエスト方法の説明) がダウンロードできる URL を含んでいます。そしてコンピュータはデバイスの説明をダウンロードし、そのデバイスの使用を開始します。

UPnP サービスに影響を及ぼす脆弱性とは何ですか?

2 つの脆弱性があります。

1 番目の脆弱性により、攻撃者は影響を受けるシステムを完全に制御することができるようになる可能性があります。

2 番目の脆弱性により、攻撃者は影響を受けるシステムが有益なサービスを提供することを妨げたり、または単一の標的に対し、分散したサービス拒否攻撃で複数のユーザーのシステムを利用する可能性があります。

1 番目の脆弱性で何が起こる可能性がありますか?

これはバッファ オーバーランの脆弱性です。攻撃者がこの脆弱性の利用に成功すると、影響を受けるシステムを完全に制御することができる可能性があります。明らかにこれは深刻な脆弱性であり、マイクロソフトはお客様にこの更新プログラムを直ちに適用することを強く推奨します。

何が原因で起こりますか?

Windows XP、Windows ME、Windows 98、Windows 98SE の UPnP の実装のコンポーネントの 1 つに未チェックのバッファが含まれており、これが不正な UPnP NOTIFY ディレクティブを介しオーバーランすることがあるために、この脆弱性は起こります。

Windows XP UPnP サブシステムが NOTIFY ディレクティブを処理する方法の何が問題になっていますか?

NOTIFY ディレクティブの処理に関連する Windows XP、Windows ME、Windows 98 およびWindows 98SE のコンポーネントの 1 つに未チェックのバッファが含まれています。UPnP サブシステムが特定の方法で不正な形式にされた NOTIFY ディレクティブを受け取ると、NOTIFY ディレクティブからのデータでバッファがオーバーランする可能性があります。このデータが綿密に選択されていると、UPnP サブシステムの操作が実行中に変更されるという影響がある場合があります。

この脆弱性を利用して攻撃者は何ができますか?

攻撃者がこの脆弱性の利用に成功すると、UPnP サブシステムを任意のタスクを実行するように変更することができます。UPnP サブシステムはオペレーティング システムの一部として実行されるため、攻撃者はシステムを完全に制御できる場合があります。

攻撃者はどのようにしてこの脆弱性を利用しますか?

攻撃者は必要となる改ざんを含んだ NOTIFY ディレクティブを作成し、これをネットワークのほかのコンピュータに送信することにより、この脆弱性を利用する可能性があります。

どのように攻撃者は NOTIFY ディレクティブをそのほかのコンピュータに送信するのですか?

NOTIFY ディレクティブはユニキャスト メッセージ (すなわち、特定のコンピュータに直接送信されるメッセージです) として、またマルチキャストかブロードキャスト (すなわち、コンピュータのグループにブロードキャストされるメッセージです) として送信することができます。攻撃者が選択した形式が問題となります。ユニキャスト形式では攻撃者はより広範囲に送信することが可能となりますが、標的に対するさらに詳しい情報が必要となります。これに対し、マルチキャスト形式では、標的に対する詳しい情報なしで複数のマシンを侵害することができますが、攻撃の範囲は攻撃者が存在する同じネットワーク セグメントのコンピュータに制限されます。

ユニキャスト NOTIFY メッセージを介する攻撃はどのように行われますか?

ユニキャストのシナリオでは、攻撃者はコンピュータからの M-SEARCH ディレクティブへの応答であるかのように、NOTIFY メッセージを直接別のコンピュータに送信します。ユニキャスト メッセージを使用する利点として、攻撃者が NOTIFY メッセージを送信することのできるマシンを攻撃することができるという点です。攻撃者はユニキャスト メッセージを使用することにより遠隔地からマシンを侵害することができる可能性があります。

不利な点としては、攻撃者は標的となるマシンの IP アドレスを知る必要があるという点です。多くのネットワークは Dynamic Host Configuration Protocol (DHCP) を使用して IP アドレスのプールを管理しています。このため、特定のマシンの IP アドレスは非常に頻繁に変更されることがあります。確かにマシンの IP アドレスを知ることは可能ですが、状況に応じて相当な労力が必要となります。

マルチキャストまたはブロードキャスト NOTIFY メッセージを介する攻撃はどのように行われますか?

マルチキャストまたはブロードキャストのシナリオでは、攻撃者は NOTIFY メッセージをマルチキャストまたはブロードキャスト アドレスに、新しい UPnP 対応のデバイスからのものであるかのように送信します。これらのメッセージを使用する利点としては、攻撃者はマシンの IP アドレスを知る必要がなく、1 度の攻撃で多数のマシンを侵害することができる可能性があります。

マルチキャスト メッセージとブロードキャスト メッセージの不利な点としては、ほとんどのルーターとファイアウォールはマルチキャスト メッセージとブロードキャスト メッセージを転送しないという点です。(その理由を理解するためには、それらのメッセージが転送された場合のことを考えてください。マルチキャストとブロードキャストは、世界のどのコンピュータからでも、世界のどのコンピュータへも配信することができるため、インターネットでは即座に大量のデータによって氾濫が起こる可能性があります。) したがって、マルチキャストまたはブロードキャストを介する攻撃は攻撃者のネットワーク セグメントまたはサブネット内でのみ有効です。

それではこの脆弱性は深刻ではないということですか?

いいえ、非常に深刻です。サブネットには数 100 台ものコンピュータが存在することもあります。そしてこの脆弱性を利用して、攻撃者は単一の NOTIFY ディレクティブですべてのコンピュータを完全に制御できる可能性があります。マイクロソフトはお客様に直ちにこの更新プログラムを適用することを強く推奨します。

企業のファイアウォールはインターネットからの攻撃を防ぎますか?

はい。多くの企業のファイアウォールはマルチキャスト メッセージと非請求のユニキャスト メッセージをブロックします。さらに、ポート 1900 と 5000 をブロックすることでインターネット ベースの攻撃を防ぐ手助けとなります。

Windows XP のインターネット接続ファイアウォールは、Windows XP マシンのこの脆弱性に対する防御を行いますか?

インターネット接続ファイアウォール (ICF) は要求されていないユニキャスト メッセージをブロックするため、ユニキャストを使用して行われる攻撃から Windows XP システムを保護しますが、完全に保護することはできません。ICF はマルチキャストまたはブロードキャストをブロックしません。しかし ICF により Windows XP ユーザーの危険性を大幅に減らすことができます。上記で説明しているように、ユニキャスト メッセージは、マルチキャストおよびブロードキャストが通常到達できないような長距離に送信することができます。これは、攻撃者がこの脆弱性を利用するためには Windows XP ユーザーと同じネットワーク セグメントいる必要があるということを意味します。

Windows XP では ICF は既定で有効にされますか?

一般的には、ICF はウィザードを使用してインターネットへのネットワーク接続を確立する際に、常に自動的に有効になります。たとえば、ICF は以下のシナリオですべて有効に設定されます。

Windows XP システムがインターネット接続共有のホストに使用される場合

新しい接続ウィザードを使用してインターネットへの接続を確立する場合

ネットワーク セットアップ ウィザードでインターネットへの接続が識別された場合

Windows へようこそ ウィザードでインターネット接続が確立されるかまたは識別された場合


ICF は以下のような場合には既定で有効にされません。

ユーザーがネットワーク接続を手動で確立することを選択した場合。このような場合、ICF を含むすべてのネットワーク オプションは手動で有効または無効にする必要があります。

インターネットに直接接続できない場合。(たとえば LAN への接続の場合) このような場合は、通常ネットワーク全体がファイアウォールで保護されています。

システムが Windows の旧バージョンからアップグレードされているか、またはインターネットへの既存の接続が確立されている場合。この場合、ICF は手動で有効にすることができます。


ICF の操作と既定で ICF を有効にした場合に関する情報は、インターネット接続ファイアウォール概要 (英語情報) をご覧ください。

インターネットに接続するためにインターネット接続共有を使用するホームネットワークを使用しています。インターネット上の何者かによってネットワーク内のマシンが攻撃される可能性はありますか?

いいえ、ありません。インターネット接続共有のゲートウェイは、NOTIFY メッセージがユニキャスト、マルチキャスト、ブロードキャストの何れかに送信されたものに関わらず、転送されることはありません。これはインターネットベースの攻撃者はネットワーク内のシステムに対してはこの脆弱性を利用することができないということを意味します。しかし、攻撃者はゲートウェイ システムに対してはこの脆弱性を利用することができます。

この更新プログラムが必要かどうかはどのようにして判断できますか?

Windows XP、98 および 98SE では、この更新プログラムが必要かどうか非常に容易に判断することができます。

Windows XP を実行している場合、この更新プログラムが必要です。すべての Windows XP システムは既定の設定でこの脆弱性の影響を受ける可能性があります。

Windows 98 または Windows 98SE を実行している場合、インターネット接続共有のクライアント ソフトウェアをインストールしている場合にのみこの更新プログラムが必要です。


Windows ME に関しては、判断が少し難しくなります。Windows ME には UPnP サブシステムが含まれますが、既定で実行されません。しかし、ハードウェア製造会社の中には、構成済みの製品で UPnP サブシステムを有効に設定しているメーカーがあります。UPnP サブシステムが実行されているかを決定するためには、以下のステップで確認してください。

1.

[スタート]、[設定]、[コントロール パネル] の順にクリックします。

2.

[アプリケーションの追加と削除] を選択します。

3.

[Windows ファイル] タブをクリックします。

4.

[コンポーネントの種類] フィールドで [通信] を選択し、[詳細] ボタンをクリックします。

5.

スクロールし、[ユニバーサル プラグ アンド プレイ] の左のボックスがオンになっているかどうかを確認します。チェック ボックスがオンになっている場合、更新プログラムが必要です。オンになっていない場合、更新プログラムは必要ありません。

この脆弱性は UPP が利用可能であるすべてのシステムに影響を及ぼしますか?それとも Windows XP のみに影響を及ぼしますか?

この脆弱性は Windows XP の UPnP 実装にのみ影響を及ぼします。

更新プログラムは何を修正しますか?

この更新プログラムは Windows XP、Windows ME、Windows 98 および Windows 98SE の UPnP 実装において適切なバッファの処理を行うようにしてこの脆弱性を排除します。

この更新プログラムをインストールできない場合、システムを保護するための別の方法はありますか?

はい、あります。UPnP の機能を無効にすることによってシステムを保護することができます。しかし、その前に、システムの機能の動作に及ぶ影響を理解する必要があります。特に、Windows XP で UPnP を無効すると、複数の Windows マシンが Windows XP システムを介して 1 つのインターネット接続を共有することができるインターネット接続共有 (ICS) の機能の動作に影響が及びます。UPnP の機能が無効にされている場合、ICS クライアントは自動的にインターネット ゲートウェイを検知することができなくなり、それぞれのクライアント システムで、手動でゲートウェイ情報を設定することが必要になります。以下で UPnP 機能を無効にする方法を説明します。

Windows XP :

1.

管理者権限を持つアカウントを使用してログオンします。

2.

[スタート] ボタンをクリックし、[マイ コンピュータ] 上で右クリックをし、[管理] を選択します。

3.

左側のペインの [サービスとアプリケーション] の隣にある “+” をクリックし、[サービス] をクリックします。

4.

右側のペインの [SSDP Discovery Service] 上で右クリックをし、[プロパティ] を選択します。

5.

[スタートアップの種類] というプルダウン リストで [無効] を選択します。

6.

[サービスの状態] で [停止] をクリックします。

7.

[OK] ボタンをクリックし、ダイアログを終了し、[コンピュータの管理] のウインドウを終了します。


Windows ME :

1.

[スタート]、[設定]、[コントロール パネル] の順にクリックします。

2.

[アプリケーションの追加と削除] を選択します。

3.

[Windows ファイル] タブをクリックします。

4.

[コンポーネントの種類] フィールドで [通信] を選択し、[詳細] ボタンをクリックします。

5.

[ユニバーサル プラグ アンド プレイ] のチェックボックスをオフにします。

6.

[OK] ボタンをクリックし、[Windows セットアップ] のダイアログを終了します。

7.

マシンを再起動します。


Windows 98 または 98SE :

1.

[スタート]、[設定]、[コントロール パネル] の順にクリックします。

2.

[アプリケーションの追加と削除] を選択します。

3.

[Windows ファイル] タブをクリックします。

4.

[ファイルの種類] フィールドで [通信] を選択し、[詳細] ボタンをクリックします。

5.

[ユニバーサル プラグ アンド プレイ] のチェックボックスをオフにします。

6.

[OK] ボタンをクリックし、[Windows セットアップ] のダイアログを終了します。

7.

マシンを再起動します。

上記の Windows XP に関する手順で、SSDP Discovery service を無効にするようにとのことでしたが、リスト中に "Universal Plug and Play Device Host" というサービスがあります。このサービスも同様に無効にする必要がありますか?

いいえ、必要ありません。そのサービスには "Universal Plug and Play Device Host" という名前がついていますが、この脆弱性にまったく関連性がなく、無効にする必要もありません。UPnP Device Host サービスは Windows XP 上のほかのサービスがそれら自体を UPnP デバイスであるかのように公表し、システムが実際の UPnP デバイスを処理する方法には関係ありません。

Windows XP システムに更新プログラムをインストールし、次にそのシステムを使用して、Windows 98 システムにインターネット接続共有のクライアントソフトウェアを Windows 9898SE または ME 上にインストールする場合、この更新プログラムを適用する必要がありますか?

インターネット接続共有 (ICS) クライアントをインストールする方法は 2 つあり、この質問の答えはそれらのどちらの方法を選択するかによって異なります。

1 番目の方法は、Windows XP 上にネットワーク セットアップ ウィザードのフロッピー ディスクを作成し、そのフロッピーを使用していわゆるダウンレベルのシステムに (例 : Windows 98、98SE または ME を実行しているシステム) ICS クライアントをインストールする方法です。この方法を使用し、フロッピー ディスクを作成した Windows XP システムにすでに更新プログラムがインストールされている場合、ダウンレベルのシステムには更新プログラムは必要ありません。ネットワーク セットアップ ウィザードが、更新プログラムが既にインストールされた ICS のバージョンをインストールします。一方、フロッピー ディスクを作成した Windows XP システムに更新プログラムがインストールされていない場合、ダウンレベルのシステムには ICS をインストールした後に更新プログラムをインストールする必要があります。(もちろん Windows XP システムにも更新プログラムが必要です。)

ダウンレベル システムに ICS クライアントをインストールする別の方法は、Windows XP のCD から直接インストールする方法です。この方法を使用する場合、ダウンレベルのシステムに更新プログラムをインストールする必要があります。

Windows 98 システムに更新プログラムをインストールしようとしましたが、更新プログラムに、「この更新プログラムは Windows 98 のバージョンを対象としていない」という内容のメッセージが表示されました。何が起こったのでしょうか?更新プログラムの Windows 98 向けのバージョンをインストールしたことをダブルチェックしました。

Windows 98 および 98SE の更新プログラムは ICS クライアントがシステムにインストールされている場合にのみインストールされます。その理由は、UPnP 機能がシステムに追加される唯一の方法だからです。表示されたメッセージは ICS クライアントがシステムにインストールされておらず、したがって更新プログラムが必要ないということを意味しています。

2 番目の脆弱性でどのようなことが起こる可能性がありますか?

2 番目の脆弱性はサービス拒否の脆弱性です。これは次の 2 通りで利用される可能性があります。単一のマシンのみを対象とする攻撃、マシンのパフォーマンスを低下または停止させたり、攻撃者が複数のマシンを 1 台のコンピュータに対する攻撃に使用し、そのコンピュータをデータで氾濫させる可能性があります。

この脆弱性を利用してシステムでの管理的な制御を取得することはできません。これは正当なユーザーがシステムを使用することを妨げるためのみに使用されます。

何が原因で起こりますか?

この脆弱性は、Windows 98、Windows 98SE、Windows ME、Windows XP の UPnP 実装が UPnP 対応デバイスのデバイスの説明をダウンロードする際に従う処理を十分に制限しないために発生します。

コンピュータがデバイスの説明を見つけ、そしてダウンロードするプロセスとは何ですか?

UPnP 対応のコンピュータは NOTIFY ディレクティブを受信し、NOTIFY を送信したデバイスに対する興味を登録しているアプリケーションがあるかどうかをチェックします。そのようなアプリケーションがある場合、コンピュータは NOTIFY ディレクティブを調べます。この NOTIFY ディレクティブはデバイスの説明をダウンロードすることができるマシンのアドレスとポート番号を含みます。そしてコンピュータは特定のマシンと連絡をとり、そのマシンからデバイスの説明をリクエストします。

UPnP サブシステムがデバイスの説明を処理する方法の何が問題になっていますか?

2 つの問題があります。1 番目の問題は、サブシステムはダウンロードするサービスの説明のサイズを制限しません。またデバイスの説明と称しているデータが実際に有効であるかどうかをチェックしません。2 番目の問題は、サブシステムは対象としているマシンが実際にデバイスの説明のダウンロード サイトであるかを確認する適切な段階を取りません。

1 番目の問題によって攻撃者は何をすることができますか?

1 番目の問題によって攻撃者は、ユーザーのシステムの動作を遅くしたり停止させたりするためだけを目的とする不正なダウンロードサイトをユーザーのシステムに送信することができます。

攻撃者はどのようにしてそのような攻撃を実行しますか?

使用される方法には様々な方法がありますが、可能性がある攻撃の簡単なシナリオには次のようなものがあります。攻撃者が Chargen サービスを実行しているサーバーの情報を持っているとします。Chargen はシステムがサービスに接続するときは常にデータのストリームを単純に生成する標準の TCP/IP サービスで、Chargen を実行しているサーバーを検知することは珍しいことではありません。もちろんこのようなサーバーが身近にない場合、攻撃者はセットアップする可能性があります。

攻撃者は NOTIFY ディレクティブをユーザーのシステムに送信して、新しい UPnP 対応のデバイスに関して通知をし、システムが Chargen サーバーに接続するように誘導します。ユーザーのシステムはダウンロード リクエストをサーバーに送信し、サーバーはそのリクエストに応答してランダム データを生成します。UPnP サービスはこれをデバイスの説明の一部だと解釈し、そのダウンロードが延々と繰り返されるようにし、ユーザーのプロセシング リソースとディスク スペースを消費します。

この攻撃によってユーザーのシステムには停止する可能性がありますか?

この攻撃の影響は、相対的なプロセス能力と 2 つのシステムの可用性、システム間のネットワーク バンド幅、ほかの要素を含むシナリオの内容によって異なります。最も少ない影響が与えられた場合の攻撃ででは、システムのパフォーマンスを遅延させるのみで、最も悪いケースで、システムの事実上すべてのリソースが消費され、有効な動作を全く実行できなくなる可能性があります。

ユーザーはどのようにして通常のサービスを回復できますか?

デバイスの説明の処理を制御するサービス、つまり SSDP Discovery Service を停止させ、再開することによって通常のサービスに復帰することができます。

2 番目の問題によって攻撃者は何をすることができますか?

2 番目の問題により、上記に説明した攻撃の基本的に逆の攻撃を与えることができます。システムを遅延させる目的で、ユーザーのシステムを標的にする代わりに、2 番目の問題を利用して、攻撃者は複数の UPnP 対応のシステムを、仕掛けられたサービス拒否の攻撃に加担する形になるようにし、それにより、1 つのサードパーティのシステムのすべてのリソースが消費される可能性があります。

この攻撃はどのようにして行われますか?

上記のケースのように、攻撃に影響を与える数多くの方法がありますが、1 つの単純な攻撃では、UPnP 対応のコンピュータの多くに NOTIFY コマンドを送信し、サードパーティのサーバーに接続してデバイス ディスクリプションを取得するように誘導する可能性があります。一定の数のマシンが関わった場合、ダウンロード リクエストが大量に発生し、サードパーティのサーバーのパフォーマンスを遅くさせたり、全く動かない状態にする可能性があります。

どちらの攻撃でも攻撃者はサービス拒否より被害が大きいことをすることができますか?

いいえ、できません。これらの攻撃のどちらでも、攻撃者がマシンの管理者権限の何らかの形式を獲得したり、マシン上のデータを改ざんすることはできません。両方ともサービス拒否の攻撃のみに利用されます。

これらの攻撃は、1 番目の脆弱性と同様に、ユニキャスト、マルチキャスト、ブロードキャストを介して開始される可能性がありますか?

はい。上記に説明されている脆弱性のように、ここでの攻撃はユニキャスト、マルチキャスト、ブロードキャストのそれぞれの NOTIFY ディレクティブを介して開始される可能性があります。1 番目の脆弱性と同じ良い点と悪い点のすべてがこのケースに適用されます。攻撃者は標的にするマシンの IP アドレスを知る必要がある、という条件付きでユニキャスト メッセージを使用して、より広い範囲にアクセスするか、または IP アドレスを知る必要がなく、マルチキャスト メッセージまたはブロードキャスト メッセージを使用して複数のマシンに攻撃を与えることができます。その場合、攻撃は攻撃者と同じネットワーク セグメント上のマシンに限定されます。

この更新プログラムは 1 番目の問題をどのように防ぎますか?

この更新プログラムは、デバイスの説明として受け付けられるデータを制限することによって 1 番目の問題を防ぎます。この更新プログラムによってデバイスの説明の最大のサイズが設定され、デバイスの説明がそのサイズを超える場合、UPnP サブシステムはダウンロードを停止します。また、サブシステムがデータを受信する際にデータを確認するようにし、データがデバイスの説明に有効でない場合にはそのダウンロードを停止します。

この更新プログラムは 2 番目の問題をどのように防ぎますか?

この更新プログラムは、UPnP サブシステムがデバイスの説明を検索する場所を制限することによって 2 番目の問題を排除します。この更新プログラムによりサービスがデバイスの説明の NOTIFY メッセージ内に示された場所をチェックし、その場所がいくつかのテストに合格した場合にのみダウンロードが行われるようになります。

UPnP サブシステムは、デバイスの説明をダウンロードする前にダウンロード場所をチェックします。更新プログラムを適用したシステムは既定で、同じサブネットまたはプライベート アドレス内にあるコンピュータにおかれているデバイスの説明のみをダウンロードします。また、UPnP サブシステムはそのダウンロード場所にアクセスするために必要なルータ ホップの数を確認し、その数が十分に少ない場合にのみダウンロードを実行します。更新プログラムを適用したシステムは既定で、デバイスの説明をホストしているマシンが 4 つのホップまたはそれ以内の距離にある場合にのみデバイスの説明をダウンロードします。マイクロソフト サポート技術情報 315056 で説明しているように、これら両方の設定は変更することができます。

さらに、この更新プログラムによって、ネットワークの使用率を緩和させるための遅延メカニズムがインストールされます。更新プログラムを適用したシステムでは、ダウンロード場所の距離によって異なる速度でデバイスの説明がダウンロードされます。インターネットなどのような公共のネットワークにダウンロード場所がある場合には、より遅い速度でダウンロードし、ダウンロード場所の要求を制限します。このように、デバイスの説明をダウンロードする際にシステムにエラーが発生した場合は常に、再度ダウンロードする前の待機時間を延長するようになります。

この更新プログラムをインストールできない場合、UPnP サポートを無効にすることによってこの脆弱性から保護することができますか?

はい、できます。UPnP サポートを無効にする手順は上記で説明しています。

更新プログラム

この問題に対する日本語版更新プログラムは、次のサイトからダウンロードできます。

Microsoft Windows 98/98SE:
http://download.microsoft.com/download/win98SE/Patch/Q314941/W98/JA/314941JPN8.EXE

Microsoft Windows ME:
http://download.microsoft.com/download/winme/Update/22940/WinMe/
JA/314757JPNM.EXE
 

Microsoft Windows XP:
Windows XP をお使いのお客様におかれましては、この問題に対する修正は Windows XP Service Pack 1 以降に含まれています。Windows XP 日本語版の最新の Service Pack は、以下の Web サイトから入手できます。
http://www.microsoft.com/japan/windowsxp/pro/downloads/servicepacks/sp1/

なお、個別の更新プログラムは以下の Web サイトから入手できます。
http://download.microsoft.com/download/whistler/Patch/Q315000/WXP/JA/Q315000_WXP_SP1_x86_JPN.exe

更新プログラムに関する追加情報

対象プラットフォーム :

Windows 98 および 98SE 用の更新プログラムは Windows XP のインターネット接続共有クライアントがインストールされている Windows 98 または 98SE システムにインストールすることができます。

Windows ME 用の更新プログラムは Windows ME を実行しているシステムにインストールすることができます。

Windows XP 用の更新プログラムは Windows XP を実行しているシステムにインストールすることができます。

今後リリースされるサービスパックに含まれる更新プログラム :

Windows 98、98SE または ME 用の今後のサービス パックの予定はありません。

この問題に対する更新プログラムは Windows XP Service Pack 1 に含まれています。

再起動の必要性 :
あり

更新プログラムに含まれる過去の修正 :
MS01-054

更新プログラムのインストール確認方法 :
Windows 98 および 98SE :

この更新プログラムがマシンにインストールされたことを確認するためには、[スタート] をクリックし [ファイル名を指定して実行] で QFECheck ユーティリティを実行して下さい。更新プログラムがインストールされている場合、"Windows 98 Q314941 Update" がインストールされている更新プログラムの欄に表示されます。

各ファイルを確認するためには、サポート技術情報 314941 のファイル欄を参照して下さい。


Windows ME:

この更新プログラムがマシンにインストールされたことを確認するためには、[スタート] をクリックし、[ファイル名を指定して実行] で QFECheck ユーティリティを実行して下さい。更新プログラムがインストールされている場合、"Windows Millennium Edition Q314757 Update" がインストールされている更新プログラムの欄に表示されます。

各ファイルを確認するためには、サポート技術情報 314757 のファイル欄を参照して下さい。


Windows XP:

この更新プログラムがマシンにインストールされていることを確認するためには、マシンに次のレジストリ キーが作成されたことを確認して下さい。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP1\Q315000

各ファイルを確認するためには、次のレジストリ キーで、日付、時間、そしてバージョン情報を確認して下さい。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP1\Q315000\Filelist.

警告 :
なし

他のセキュリティ更新プログラムの入手先 :
他のセキュリティ問題を解決する更新プログラムは以下のサイトから入手できます。

セキュリティ更新プログラムはマイクロソフト ダウンロード センターからダウンロードすることができます。「security_patch」のキーワード検索によって容易に見つけることができます。

コンシューマ プラットフォーム用の更新プログラムは、Microsoft Update Web サイトからダウンロードできます。

更新プログラムについてのご質問は、マイクロソフト プロダクト サポート までご連絡ください。マイクロソフトでは、ご質問の内容が弊社製品の不具合が原因の場合、サポート料金はいただきません。それ以外の場合には、サポート料金を請求させていただきますのでご注意ください。
マイクロソフト プロダクト サポートへの連絡方法はこちらをご覧ください。

詳細情報 :

US マイクロソフトセキュリティ情報(MS01-059)
http://www.microsoft.com/technet/security/bulletin/ms01-059.mspx

サポート技術情報 (KB) 文書番号 : 314757
[WinME] ユニバーサル プラグ アンド プレイに含まれる未チェックのバッファによりシステムが侵害される 

サポート技術情報 (KB) 文書番号 : 314941
[Win98] ユニバーサル プラグ アンド プレイに含まれる未チェックのバッファによりシステムが侵害される 

サポート技術情報 (KB) 文書番号 : 315000
[WinXP] ユニバーサル プラグ アンド プレイに含まれる未チェックのバッファによりシステムが侵害される 

更新履歴 :

2001/12/21: このセキュリティ情報ページを公開しました。

2001/12/27: このセキュリティ情報ページに、この更新プログラムがサービス拒否のシナリオを排除する方法に関する詳細を追加しました。また、この問題に対する日本語版 KB を公開しました。

2002/1/9: このセキュリティ情報ページを更新し、「問題を緩和する要素」 に追加項目を記載しました。(ICF はユニキャストを使用する攻撃に対し効果的で、ICS はホーム ネットワークの内部にあるマシンを保護します。) また、UPnP サポートを無効にすることに関する情報を提供しました。

本セキュリティ情報に含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation 及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation 及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。


ページのトップへページのトップへ