マイクロソフトが Windows NT 4.0 および NT 4.0 TSE 用の更新プログラムを再度リリースしたのはなぜですか?
最初にこのセキュリティ情報が公開された後で、NT 4.0 および NT 4.0 TSE 用の更新プログラムに 2 つの問題が確認されました。マイクロソフトはこれらの問題の詳細 (下の質問にて説明しています) および更新された更新プログラムのダウンロードの場所をお知らせするためにこのセキュリティ情報を更新しました。
Windows NT 4.0 用の更新プログラムの何が問題になっていますか?
最初にリリースされた Windows NT 4.0 の更新プログラムでは、特定の Windows NT 4.0 システムが異常終了する問題が起こりました。マイクロソフトは Windows NT 4.0 用の更新プログラムを再度リリースし、この問題を修正しました。
Windows NT 4.0 TSE 用の更新プログラムの何が問題になっていますか?
更新プログラムのインストーラのエラーは、適切なファイルがマルチ プロセッサ システムにインストールされないという問題でした。これは、ある特定の構成で、これらのシステムが異常終了するということ意味します。そのインストーラでは、シングル プロセッサ マシンでは適切に修正が行われ、そのエラーは、マルチ プロセッサ システム上でのみ明らかになるものでした。マイクロソフトはこの問題を解決するために Windows NT 4.0 TSE の更新プログラムを再度リリースしました。
どのようなことが起こる可能性がありますか?
これは特権の昇格の脆弱性です。この脆弱性により、攻撃者はシステムで不当な権限を取得する可能性があります。この場合、攻撃者は完全な管理者特権を取得し、システムのデータの追加、削除、変更、ユーザー アカウントの作成、削除およびローカル管理者グループへのアカウントの追加など、マシンで任意の操作を実行できる可能性があります。
この脆弱性は、攻撃者がコンピュータに対話的にログオンできる資格情報を所有している場合のみ悪用される可能性があります。セキュリティ上の最善策として、特権を持たないユーザーにビジネス クリティカルなサーバーに対話的にログオンを許可しないことを推奨します。このガイダンスに従っている場合、このようなサーバーはこの脆弱性による危険にさらされません。一方、危険にさらされる主なシステムはワークステーションおよびターミナル サーバーです。
何が原因で起こりますか?
特権を持たないユーザーが Windows WM_TIMER メッセージを使用し、対話型デスクトップで高い権限を持つプロセスによりコードを実行できるため、この脆弱性が起こります。
「デスクトップ」とはどのような意味ですか?
通常、マイクロソフトが 「デスクトップ」 を指す場合、Windows のセッション中に画面に表示される Windows デスクトップを指します。しかし、Windows のセキュリティ アーキテクチャでは、デスクトップという用語は実際には異なる意味を持ちます。デスクトップは Windows のプロセスをカプセル化し、プロセスを許可されたアクティビティのみに適切に制限するために使用されます。デスクトップであるウィンドウ ステーション上の細分性の層から見ていくと、デスクトップが何であるか、またどのように機能するかをより容易に説明できます。
ウィンドウステーションとは何ですか?
ウィンドウ ステーションとは、クリップボード、いくつかのグローバル情報および 1 つまたは複数のデスクトップを含むセキュアなコンテナです。対話的なユーザーのログオン セッションに割り当てられた対話型ウィンドウ ステーションもまた、キーボード、マウスおよびディスプレイ デバイスを含みます。対話型ウィンドウ ステーションはユーザーに表示され、ユーザーから入力を受け取ることができます。そのほかのすべてのウィンドウ ステーションは非対話型です。つまり、これらはユーザーには表示されず、ユーザー入力を受け取ることができません。
対話型デスクトップとは何ですか?
デスクトップとは、ウィンドウ ステーション内に含まれるセキュアなコンテナ オブジェクトです。ウィンドウ ステーションに含まれるデスクトップが多くある場合があります。
デスクトップには論理ディスプレイ画面があり、ウィンドウ、メニューおよびフックが含まれます。対話型ウィンドウ ステーションのデスクトップのみが表示され、ユーザーの入力を受け取ることができます。対話型ウィンドウ ステーションでは、1 度に 1 つのデスクトップのみがアクティブになります。このアクティブなデスクトップ (または対話型デスクトップ、入力デスクトップとも呼ばれます) はカレントのユーザーに表示され、ユーザーの入力を受け取るデスクトップです。
Windows メッセージとは何ですか?
Windows で実行されるプロセスはシステムおよびメッセージ (英語情報) を使用するそのほかのメッセ-ジと対話します。たとえば、ユーザーがキーボードのキーを打つ、マウスを動かす、またはスクロール バーなどのコントロールをクリックする時に、Windows はメッセージを生成します。このメッセージの目的はアプリケーションにユーザー イベントが発生し、そのイベントからアプリケーションにデータが送られることを伝えます。同様に、アプリケーションもメッセージを生成することができ、アプリケーションが制御する様々なウィンドウが互いに通信し、タスクを行うことができるようにします。
Windows メッセージが対話的なデスクトップ内で処理される方法の何が問題になっていますか?
実際にはこの問題は WM_TIMER と呼ばれる Windows メッセージが動作する方法に存在します。WM_TIMER (英語情報) とはタイマ機能に関連する Windows メッセージです。仕様上、対話的なデスクトップ内のプロセスは、コールバック機能と呼ばれる別の機能が実行される有効期限が切れる時にタイマ (英語情報) をセット アップすることができます。
あるプロセスが WM_TIMER メッセージを、それがタイマ機能の結果として送られたかのように別のプロセスに送ることができるため、WM_TIMER に問題が存在します。1 番目のプロセスはコールバック機能のアドレスを設定し、その結果 2 番目のプロセスが 1 番目のプロセスにより指定されたコールバック機能を実行する可能性があります。
なぜこれがセキュリティ上の脆弱性となるのですか?
本質的には WM_TIMER に存在する問題により、対話的なデスクトップのあるプロセスが別のプロセスに命令に従わせることができます。2 番目のプロセスがより高い権限を持つ場合、1 番目のプロセスはその権限を使用する手段を取得する可能性があります。
2 番目のプロセスが 1 番目のプロセスと同じ権限を持つ場合はどうですか?
そのような場合は何の追加の権限も取得されません。この問題は対話的なデスクトップで実行される異なるプロセスが異なるレベルの権限を持つ場合のみ、セキュリティ上の脅威をもたらします。
この問題が報告された後にマイクロソフトが作成した記事を読みましたが、それによると異なるレベルの権限を持つプロセスが対話型デスクトップで実行されていることが問題であるとのことでした。この見解は変わったのですか?
はい。マイクロソフトの見解が変わりました。当初、マイクロソフトは状況を調べ、この問題は高い権限を持つプロセスと低い権限を持つプロセスの両方が対話的なデスクトップに存在するという事実にあるという結論 (英語情報) に達しました。マイクロソフトは、仕様上、対話的なデスクトップのすべてのプロセスは同等であることを指摘し、異なる権限を持つプロセスを混合しないことが実際のソリューションであると確信していると述べました。
しかし、さらに調査を進め、実際の答はさらに複雑なものであることを確認しました。高い権限を持つプロセスは、リクエストを処理する前にそれらを精査するように適切にデザインされていれば、低い権限を持つプロセスと安全に対話的なデスクトップで共存することは可能です。しかし、WM_TIMER に存在する問題のため、保護手段があっても、これを弱めることがあります。この結果、マイクロソフトは開発者に高い権限を持ち、対話的なデスクトップで実行されるプロセスを書く前に細心の注意を払うことを引き続き推奨しますが、この場合、実際の原因は WM_TIMER に存在する問題にあると確信しています。
マイクロソフトの記事では、いくつかのマイクロソフトのサービスはマイクロソフトのガイダンスに従わず、対話型デスクトップで高い権限で実行され、そのほかのプロセスからのリクエストを適切に精査しないことが確認されたとのことですが、これは本当ですか?
マイクロソフトは高い権限で実行されるいくつかのプロセスを確認しました。また、それらのプロセスが実行する精査について改善できる箇所を確認しました。しかし、マイクロソフトはこれらのプロセスはすべて WM_TIMER の問題が関連するという結論に達しました。この更新プログラムはいくつかのサービスに変更を行いますが、マイクロソフトは実際のセキュリティ上の脆弱性は WM_TIMER に存在すると確信しています。
この脆弱性により、攻撃者は何をする可能性がありますか?
対話的なデスクトップで高い権限を持つプロセスが実行されている場合、この脆弱性により、攻撃者はそのプロセスにリクエストを行うプロセスを作成する可能性があります。Windows の既定の構成では、そのようなプロセスが利用可能であり、LocalSystem 権限で実行されます。この場合、攻撃者はこの脆弱性を悪用し、システムで完全な制御を取得する可能性があります。
誰がこの脆弱性を悪用する可能性がありますか?
この脆弱性を悪用するには、攻撃者はシステムにログ オンし攻撃者が選択したプログラム (WM_TIMER メッセージを高い権限を持つプロセスに送り、任意のタスクを実行するコールバック機能を指定するプログラム) を読み込み、それを実行することが必要条件となります。
この脆弱性による危険にさらされる主なシステムは何ですか?
一般的にワークステーションおよびターミナル サーバーが主に危険にさらされます。サーバーは特権を持たないユーザーがそのサーバーにログ オンしプログラムを実行できる場合のみ、この危険にさらされます。しかし、セキュリティ上の最善策は、多くの理由のため、これを許可しないことを推奨しています。
この脆弱性はインターネットから悪用される可能性がありますか?
いいえ、ありません。攻撃者は攻撃の対象となる特定のシステムにログ オンできることが必要となります。リモートから対話的なデスクトップにプログラムを読み込み、実行することはできません。
Windows XP Service Pack 1 で、WM_TIMER メッセージの処理に変更を行ったのではないですか?
はい。Windows XP Service Pack 1 で WM_TIMER メッセージ処理が変更され、この脆弱性が解決されました。マイクロソフトは 2 つの理由により、更新プログラムを提供しています。その理由とはそのほかの Windows バージョンの WM_TIMER に同じ変更を行うため、また特定のプロセスが対話型デスクトップで実行される時、さらに強固にするためです。この更新プログラムはこれらの追加の修正を含むため、マイクロソフトは Windows XP Service Pack 1 を適用したお客様にもこの更新プログラムを適用することを推奨します。
Windows 2000 および Windows XP のすべての変更もまた、Windows NT 4.0 に行われるのですか?
Windows NT 4.0 用の更新プログラムは WM_Timer の脆弱性を修正し、マイクロソフトが認識する攻撃を排除します。マイクロソフトは、今後起こりうるこの問題に関連する脅威に対し、保護すべくさらに多層防御を提供するために Windows 2000 および Windows XP に追加の修正を行いました。
更新プログラムは何を修正しますか?
この更新プログラムは WM_TIMER メッセージの処理を変更し、未登録のコールバック機能が呼び出されないようにしてこの脆弱性を解決します。またこの更新プログラムは、マイクロソフトによって提供された対話型サービスとして実行されるいくつかのプロセスによるメッセージの処理への変更も含みます。