どのようなことが起こる可能性がありますか?
これはクロスサイト スクリプティング (XSS) の脆弱性です。この脆弱性により、攻撃者は影響を受けるサーバーを利用するクライアントに特定の HTTP リクエストを送るようにし、スクリプトを含む Web ページをユーザーに表示させるようにする可能性があります。スクリプトはユーザーのブラウザで、第三者の Web サイトからのもののように実行される可能性があります。これにより、スクリプトは第三者の Web サイトに適切なセキュリティ設定を使用して実行され、攻撃者はその Web サイトに属すデータにアクセスできるようになる可能性があります。ユーザーが HTML 形式の電子メールを開かない限り、または不正なリンクをクリックしない限り、この脆弱性が悪用されることはありません。
クロスサイトスクリプティングとは何ですか?
クロスサイト スクリプティング (XSS) とはセキュリティ上の脆弱性で、これにより悪意のあるユーザーはそのほかのユーザーの Web サイトとのセッションにコードを「挿入」する可能性があります。ほとんどのセキュリティ上の脆弱性とは異なり、XSS は単一のベンダーの製品に当てはまるものではありません。これは Web サーバーで実行されるすべてのソフトウェアに影響を及ぼしますが、防御のためのプログラミング対策の結果からは生じません。
XSS とはどのような仕組みなのですか?
XSS がどのように機能するかに関する高レベルな詳細について、ここで説明します。Web サイト A が検索機能を提供しており、これによりユーザーが検索したい語句を入力することができるとします。ユーザーが検索語句として “banana” と入力した場合、その Web サイトは語句を検索し、「“banana” という語句は見つかりませんでした。」と表示する Web ページを生成します。この Web ページはユーザーのブラウザに送信され、ブラウザはその Web ページを解析し、表示します。次に、検索語句として “banana” を入力する代わりに、ユーザーは “banana <SCRIPT> <Alert(‘Hello’);> </SCRIPT>” のように入力するとします。検索機能が提供された検索語句が何であっても、それを使用するように書かれている場合、その文字列全体を検索し、「“banana <SCRIPT> <Alert(‘Hello’);> </SCRIPT>” という語句は見つかりませんでした。」と表示する Web ページを作成します。しかし、“<SCRIPT>” で始まり、“</SCRIPT>” で終わるすべてのテキストは実際にはプログラム コードであり、その Web ページが処理されると、“Hello” というダイアログ ボックスがユーザーのブラウザにより表示されます。
ここまでの例で、ユーザーがコードを Web サーバーから「中継」し、それを自分のコンピュータで実行する方法について示しました。これはセキュリティ上の脆弱性ではありません。しかし、悪意のある Web サイト管理者は自分の Web サイトを訪問するユーザーのコンピュータでこの脆弱性を悪用し、実行する可能性があります。Web サイト B が悪意のあるユーザーにより運営されているとします。悪意のあるユーザーが自分の Web サイトをユーザーに訪問させ、ハイパーリンクをクリックするように誘導する場合、Web サイト B は Web サイト A に接続し、検索ページに悪質なスクリプトを入力し、それをユーザーの代わりに送信する可能性があります。結果のページがユーザーに返され、 (そのユーザーはハイパーリンクをクリックしたため、要求者となります。) ユーザーのコンピュータで処理されます。
Web サイト A のセキュリティコンテキストで、スクリプトはユーザーのコンピュータで何をする可能性がありますか?
Web サイト B (攻撃者の Web サイト) からのスクリプトはユーザーのコンピュータで Web サイト A からのものであるかのように実行されます。実際には、Web サイト A に対し適切であるユーザーのコンピュータのセキュリティ設定を使用して実行されます。
Web サイト B からのスクリプトは Cookie および Web サイト A に属すユーザーのシステムのデータにアクセスすることができます。
ISA Server とは何ですか?
ISA Server はエンタープライズ ファイアウォールおよび高パフォーマンス Web キャッシュを提供します。このファイアウォールはファイアウォールを介し、どのリソースにどのような状況でアクセスできるかを規制することにより、ネットワークを保護します。Web キャッシュは頻繁にリクエストされる Web コンテンツのローカル コピーを保存することにより、ネットワークのパフォーマンスを向上する手助けをします。ISA Server は 3 つのモードでインストールすることができます。それらはファイアウォール モード、キャッシュ モードおよび統合モードです。
攻撃者はこの脆弱性を悪用して ISA Server コンピュータを制御する可能性はありますか?
いいえ、ありません。この脆弱性がもたらすものはクロスサイト スクリプティングの攻撃のみです。ISA Server での管理者特権が取得されることはありません。
攻撃者はこの脆弱性を悪用してファイアウォールのセキュリティを侵害する可能性はありますか?
いいえ、ありません。この脆弱性が悪用されても、ファイアウォールがネットワークに提供するセキュリティが弱まることはありません。ファイアウォール モードにより、管理者は企業ネットワークとインターネット間の通信を制御する規則を構成することにより、ネットワーク通信をセキュアにすることができます。キャッシュ モードは頻繁にアクセスされる Web ページをサーバー自体に保存することにより、ネットワークのパフォーマンスを向上させます。統合モードでは、すべてのキャッシュおよびファイアウォール機能が利用可能です。
何が原因で起こりますか?
ISA Server により返されるエラー ページには、適切にエンコードせずに、リクエストされた HTML テキスト内の URL を表示するものがあるため、この脆弱性が起こります。
ISA Server のエラーページの何が問題になっていますか?
多くの ISA エラー ページの homepage() 機能は HTML テキストで表示する URL を正しくエンコードしません。このため、別の Web ページにスクリプトへのリンクを埋め込み、これを Web ブラウザに返すようにすることができる可能性があります。
この脆弱性を悪用して攻撃者は何ができますか?
この脆弱性により、攻撃者は Web サイトを運営し、別のユーザーにその Web サイト内のリンクをクリックするよう誘導し、ISA Server を介し実行されている別の Web サイトにより、クロスサイト スクリプティング攻撃を行う可能性があります。これにより攻撃者はそのほかの Web サイトのセキュリティ設定を使用してユーザーのブラウザでスクリプトを実行し、その Web サイトに属す Cookie およびデータにアクセスできる可能性があります。
攻撃者はどのようにしてこの脆弱性を悪用する可能性がありますか?
この脆弱性が悪用されるには、攻撃者にとって、まず、特定の ISA サーバーとそのアクセス ポリシーを知ること、または攻撃者自身の ISA サーバーをホストし、この脆弱性の悪用を目的とした特定のアクセス ポリシーを作成することが必要条件となります。次に、攻撃者は拒否のページをトリガするリクエストを作成する可能性があります。攻撃が計画された後、そのリンクを含む Web サイトをホストする、または HTML 形式の電子メールの形式でそのリンクをユーザーに送ることが攻撃者にとっての必要条件となります。ユーザーがその電子メールをプレビュー表示する、または開くと、ユーザーはそれ以降何も操作しなくても自動的に悪質な Web サイトに接続される可能性があります。Web ベースの攻撃のシナリオでは、攻撃者がユーザーを強制的に Web サイトに訪問させる方法はありません。
攻撃のポイントは攻撃者が Web サイトのセキュリティ設定を使用するユーザーのブラウザでスクリプトを実行するとのことでしたが、これにより、攻撃者は具体的にどのようなことができるようになりますか?
攻撃者の Web サイトおよびユーザーの Web サイトが属しているセキュリティ ゾーンに基づき、Web サイトにより異なります。
両方の Web サイトが同じゾーンに属している場合 (ユーザーが移動しない限り、既定ですべての Web サイトがインターネット ゾーンに存在します)、これらは全く同じセキュリティ制限の対象となり、この脆弱性により攻撃者は異なる権限を取得する可能性があります。たとえば、攻撃者がユーザーと Web ベースの電子メール間の関係に影響をあたえる場合があります。
ユーザーが攻撃者の Web サイトを、訪問している Web サイトよりも制限の多いゾーンに設定している場合、攻撃者のスクリプトはその Web サイトからのスクリプトに可能なすべての操作を実行することができます。
ユーザーが訪問する Web サイトを攻撃者の Web サイトよりも制限の多いゾーンに設定している場合、攻撃者は実質的に攻撃能力を失います。
しかし、セキュリティ設定に関わらず、攻撃者のスクリプトは常に Cookie および第三者の Web サイトに属すユーザーのシステムのデータにアクセスすることができることに注意して下さい。ブラウザが認識する限りでは、攻撃者は第三者の Web サイトであるからです。
この更新プログラムはどのようにこの脆弱性を排除するのですか?
この更新プログラムは homepage() 機能および Web ページを更新し、それを返すための Java スクリプト コマンドを削除することにより、この脆弱性を排除します。