マイクロソフトはなぜこのセキュリティ情報を再リリースしたのですか?
2002 年 6 月 11 日 (米国日付)、マイクロソフトはこのセキュリティ情報の最初のバージョンをリリースし、更新プログラムの開発中に使用することができる回避策の手順をお知らせしました。2002 年 6 月 14 日 (米国日付)、マイクロソフトは ISA Server 2000 および Proxy Server 2.0 用の更新プログラムの開発を完了し、このセキュリティ情報を再リリースし、お客様にこれらの更新プログラムが利用可能となったことをお知らせしました。
なぜマイクロソフトはこのセキュリティ情報で、この問題に対する更新プログラムを提供するのではなく、回避策をリリースしているのですか?
マイクロソフトは現在この脆弱性を解決する更新プログラムの開発に取り組んでいます。しかし、更新プログラムが完成する前に、この脆弱性を悪用するために必要な情報が公開されました。更新プログラムの開発中に、お客様が自分自身を保護するための対策を行うことができるように、マイクロソフトは回避策に関する情報をリリースしています。更新プログラムが利用可能となり次第、マイクロソフトはこのセキュリティ情報を更新し、更新プログラムが利用可能となったことをお知らせします。
どのようなことが起こる可能性がありますか?
これはバッファ オーバーランの脆弱性です。攻撃者はこの脆弱性を悪用して、ローカル システムでコードを実行する可能性があります。攻撃者は、この脆弱性を悪用し、自ら管理するサーバーに接続する Web ページを作成する恐れがあります。攻撃者は次に、そのページを Web サイトに登録するか、または HTML 形式の電子メールとして送信する可能性があります。そのページが表示され、サーバーからの応答が受信、処理されると攻撃が成功します。
ISA Server および Proxy Server の場合、攻撃者のコードは LocalSystem コンテキストで実行されます。これにより、攻撃者はサーバーを完全に制御することができ、ハード ドライブのフォーマット、システムへ管理者を追加、ネットワーク サービスの読み込みなど、サーバーで任意の操作ができる可能性があります。
Internet Explorer の場合、攻撃者のコードはユーザーのコンテキストで実行されます。つまり、コードはファイルの追加、変更、削除、またセキュリティ設定の変更など、ユーザーと同等の制限内で可能な任意の操作を行うことができます。
この脆弱性を悪用するためには、標的が Gopher プロトコルを使用する攻撃者のサーバーから情報を受け取ることが必要条件となります。Gopher プロトコルをブロックするもの、または攻撃者のサーバーへのアクセスをブロックするものなど、このアクセスを防ぐものはすべて、この脆弱性が悪用されることを防ぐ効果があります。さらに Internet Explorer の場合、コードはユーザーのセキュリティ コンテキストで実行されます。このため、ユーザーのアカウントに関するすべての制限もまた、攻撃者のコードに適用されます。例えば、ユーザーがセキュリティ ポリシーによりファイルの削除やセキュリティ設定の変更ができない場合、攻撃者のコードもまた、これらの操作を行うことはできません。
何が原因で起こりますか?
Gopher プロトコルを使用するサーバーから返された情報を処理するコードに未チェックのバッファが含まれるため、この脆弱性が起こります。リクエストに応答する時、特定の方法で情報を戻すように Gopher サーバーを構成することにより、攻撃者はバッファをオーバーフローさせ、システムにコードを読み込ませることが可能になります。
なぜこの脆弱性は Internet Explorer だけでなく、ISA Server や Proxy Server にも影響を及ぼすのですか?
未チェックのバッファを含む特定のコードは、Internet Explorer だけでなく、ISA Server および Proxy Server にも使用されています。
Gopher とは何ですか?
Gopher とは、インターネットでの情報の転送をサポートするネットワーク プロトコルまたは言語です。多くの点で、World Wide Web の言語であるプロトコル、HTTP に類似しています。しかし HTTP と異なり、Gopher は完全にテキスト ベースです。Gopher プロトコルは RFC 1436 (英語情報) で説明されています。
Gopher はサイトの情報を階層的なメニューに構成します。さらに、複数の Gopher サイトは、ともにリンクすることができ、これが 「Gopherspace」 と呼ばれています。Gopher の機能の多くは HTTP に引き継がれました。現在 Gopher は主に、Web サイトに移行されていない情報を提供するために使用されています。
Gopher が処理される方法の何が問題になっていますか?
Gopher サーバーから戻された情報を処理するコードに未チェックのバッファが存在します。
この脆弱性により、攻撃者は何ができる可能性がありますか?
この脆弱性により、攻撃者はバッファのオーバーランの攻撃を行い、実行中のプログラムと同じプロセス空間でコードを実行しようとする可能性があります。このため、攻撃者のコードは実行中のプログラムと同じ権限で実行されます。
ISA Server および Proxy Server の場合、この脆弱性により、攻撃者はオペレーティング システムとしてコードを実行できる可能性があります。これにより、攻撃者はサーバーを完全に制御することができます。
Internet Explorer の場合、この脆弱性により、攻撃者は現在ログオンしているユーザーとしてコードを実行できる可能性があります。攻撃者はユーザーと同等の制限の範囲において、可能な任意の操作を行うことができます。攻撃者もまた、ユーザーに付加されている制限を受けます。
攻撃者はどのようにしてこの脆弱性を悪用するのですか?
攻撃者は、攻撃者のサーバーに接続する Web ページを作成することにより、この脆弱性を悪用する可能性があります。攻撃者のサーバーからの応答が処理されると、バッファがオーバーランし、攻撃者のコードが実行されます。
Internet Explorer の場合、攻撃者は Web ページをサーバーに登録するか、または HTML 形式の電子メールとして送信する可能性があります。どちらのケースでも、その Web ページが表示され、攻撃者のサーバーからの応答が受け取られるとすぐに、攻撃が開始されます。
ISA Server および Proxy Server の場合、攻撃を成功させるためには Web Proxy サービスが不正な Gopher 応答を受け取ることが必要条件となります。つまり、攻撃者のサーバーへのリクエストを作成する可能性が最も高いものはプロキシ サーバーのクライアントです。プロキシ サーバーが不正な応答を受け取り、そして処理すると、攻撃が実行されます。
「制限付きサイトゾーン」で電子メールを実行していますが、この脆弱性による危険にさらされますか?
「制限付きサイト ゾーン」 は HTML 形式の電子メール ベースの攻撃に対する保護を提供する場合が多くありますが、電子メールにより、この脆弱性を悪用することに対する保護は行いません。これは、基本的な HTML 機能は 「制限付きサイト ゾーン」 で許可されており、このゾーンにはこの脆弱性の悪用を防ぐような制限設定はないためです。
電子メールにより、この脆弱性が悪用されることに対して、何か緩和する要素はありますか?
はい、あります。Outlook 2002 Service Pack 1 に含まれる 「テキスト形式で表示」 する機能は、HTML 形式の電子メールにより、この脆弱性が悪用されることを防ぎます。理由は、この機能はすべての HTML 機能を無効にするためです。
この脆弱性に対して、何か緩和する要素はありますか?
はい、あります。攻撃を成功させるためには、攻撃者のサーバーから Gopher トラフィックを攻撃の対象となる標的に送ることが必要条件となります。攻撃者が Gopher トラフィックを送ることを制限するものは、この脆弱性に対する保護の手助けとなります。
Internet Explorer では更新プログラムが完成するまでの間、この脆弱性からどのように保護することができますか?
Internet Explorer では、Gopher プロキシを機能しないように規定することによって、この脆弱性から保護することができます。この定義により、Internet Explorer での Gopher トラフィックの送受信が不可能になり、基本的に Gopher プロトコルが無効になります。
この回避策を手動で実装するためにはどのようにしたらよいですか?
以下のステップにしたがって回避策を手動で実装することができます。
(ADSL、FTTH、CATV、有線などの LAN を利用した接続)
- Internet Explorer を開きます
- メニューの [ツール] から [インターネット オプション] を開きます
- [接続] タブを選択します
- [LANの設定] ボタンをクリックします
- [設定を自動的に検出する] のチェックをオフにします
- もし、[自動構成スクリプトを使用する] のチェックがオンになっており、 Gopher を利用している場合は、管理者に確認してください。
- [LAN にプロキシ サーバーを使用する] のチェックをオンにします
- [詳細設定] ボタンをクリックします
- [すべてのプロトコルに同じプロキシ サーバーを使用する] のチェックをオフにします。
- [Gopher]の右側のテキストボックスに Localhost を入力します
- [Gopher]と同じ行の右端のテキストボックスに 1 を入力します
- そのほかのプロトコル (FTP、HTTP) のためのプロキシ情報を適切なテキストボックスに入力します
- それぞれのウィンドウで [OK] ボタンをクリックし、[インターネット オプション] を閉じます
(モデムや PHS などによるダイヤルアップ接続または、仮想プライベートネットワークを利用した接続)
- Internet Explorer を開きます
- メニューの [ツール] - [インターネット オプション] を開きます
- [接続] タブを選択します
- [ダイヤルアップと仮想プライベートネットワークの設定] に表示されている接続先(方法) を一つ選択し、 [設定] をクリックします
- [この接続 にプロキシ サーバーを使用する] のチェックをオンにします
- [詳細設定] ボタンをクリックします
- [すべてのプロトコルに同じプロキシ サーバーを使用する] のチェックをオフにします。
- [Gopher]の右側のテキストボックスに Localhost を入力します
- [Gopher]と同じ行の右端のテキストボックスに 1 を入力します
- ダイヤルアップまたは、仮想プライベートネットワークの接続先(方法)が複数ある場合は、それぞれの接続先(方法)で、 4~6 の手順を繰り返します
- それぞれのウィンドウで [OK] ボタンをクリックし、 [インターネット オプション] を閉じます
注 : [設定を自動的に検出する] のチェックをオフにした後、HTTP や FTP などのそのほかのプロトコルのエントリがあることを確認する必要があります。これらのボックスが空欄であると、これらのプロトコルを使用するアプリケーションは正しく機能しない場合があります。
ネットワーク管理者をしています。エンタープライズでこの回避策を実装するためにはどのようにしたらよいですか?
管理者は、Internet Explorer の 「自動プロキシ構成スクリプト」 機能を使用して、.pac ファイルにこの回避策を実装することができます。以下はこの実装方法の一例です。
function FindProxyForURL(url, host)
{
if (url.substring(0, 7) == "gopher:") {
return "PROXY localhost:1";
}
else {
return "DIRECT";
}
}
注 : 特定のプロトコルを使用しているお客様は return "DIRECT" ; to return "PROXY ;" の行を変更する必要があります。
ISA Server および Proxy Server 2.0 用の更新プログラムは何を修正しますか?
この更新プログラムはサーバーの応答を処理するバッファを正しくチェックするようにして、この脆弱性を排除します。
使用中の ISA Server に回避策を実行しましたが、どのように Gopher プロトコルを再度有効にすればよいのですか?
ISA アレイに回避策を実行したお客様は、次のステップに従い、作成した規則を削除することにより、Gopher プロトコルを再度有効にすることができます。
- ノードで、[サーバーとアレイ]、[アレイ ノード]、[アクセス ポリシー]、[プロトコル ルール] の順に選択します。
- 回避策を実行するために作成した規則を選択します。[削除] をクリックします。
エンタープライズ ポリシーを使用して回避策を実行した ISA サーバーの Enterprise Edition を使用しているお客様は、次のステップに従い、作成した規則を削除することにより、Gopher プロトコルを再度有効にすることができます。
- ノード で、[エンタープライズ]、[ポリシー]、[適用されたエンタープライズ ポリシー]、[プロトコル ルール] の順に選択します。
- 回避策を実行するために作成した規則を選択し、[削除] をクリックします。
使用中の Proxy 2.0 Server に回避策を実行しました。どのように Gopher プロトコルを再度有効にすればよいのですか?
既定で、Proxy 2.0 Server のユーザーまたはグループのすべてのプロトコルが拒否されます。ユーザーのプロトコル アクセスを有効にし、そのアクセスから Gopher を除外したい場合、次のステップに従って下さい。
- [スタート] をクリックし、[すべてのプログラム] から [Microsoft Proxy Server] をポイントします。[Microsoft 管理コンソール] をクリックします。
- コンピュータ名をダブルクリックします。
- 右ウィンドウで [Web Proxy] をダブルクリックします。
- [Web Proxy の許可] のタブを使用して、プロトコルを介しアクセスできるユーザーまたはユーザーのグループを設定します。
- [アクセス制御を有効にする] にチェックを入れます。
- Gopher の 「アクセスの許可」 一覧に適切なアクセス一覧 (ほとんどの場合 Everyone) があるかどうかを確認します。
- または、「アクセス無制限」 一覧に適切なアクセス一覧があるかどうかを確認します。
- [OK] をクリックします。