Windows HotFix Briefings全WindowsのMicrosoft VMに重大なセキュリティ・ホール(MS03-011)―― 悪意のあるJavaアプレットにより、攻撃者の任意のコードが実行可能となる危険性 ―― DA Lab Windowsセキュリティ2003/04/15 |
|
|
セキュリティ・ホールの概要と影響度
2003年4月10日、マイクロソフトはWindows XP(Service Pack未適用。以下Service PackはSPと略)/XP SP1aを除くほとんどのWindows環境に標準インストールされているMicrosoft VM(Microsoft製Java仮想マシン)にセキュリティ・ホールがあることを明らかにした。また、同時にこのセキュリティ・ホールに対応する修正プログラムの提供を始めた。
Windows XP/XP SP1aでMicrosoft VMが標準でインストールされていないのは、Javaライセンスに関するSun Microsystemsとの訴訟と、その後の和解による混乱が原因だ(この問題の詳細はコラム「Java VMにまつわるMicrosoftとSunの争い」を参照)。
このようにWindows XPにおけるMicrosoft VMサポートの経緯には紆余曲折があり、Windows XPの導入時期(対応SPバージョン)によって、今回の問題であるMicrosoft VMがインストールされているものと、インストールされていないものが存在する。ただいずれにせよ、Microsoft VMがインストールされているかどうかを確認する必要はある。
Java VMにまつわるMicrosoftとSunの争い |
今回明らかになったセキュリティ・ホールは、Microsoft VMにおいて「バイトコード・ベリファイア(Bytecode Verifier)」と呼ぶJavaアプレットのチェック・プログラムの問題により、悪意のあるJavaアプレットが実行されるというものだ。具体的には、バイトコード・ベリファイアが、ある特定の不正なシーケンスの検出に失敗し、その後のセキュリティ・チェックがバイパスされ、悪意のあるJavaアプレットが実行されてしまうという。バイトコード・ベリファイアのセキュリティ・ホールはたびたび報告されており、1999年10月の「『仮想マシン ベリファイア』 の脆弱性に対する対策(MS99-045)」のほか、その後の累積的な修正プログラムでも対応が行われている。累積的な修正プログラムを含め、Microsoft VMに関する修正プログラムのリリースは今回で10回目になる(ただし、バイトコード・ベリファイアのセキュリティ・ホールは、Sun Microsystems製Java VMでも報告されている)。
■攻撃の条件
このセキュリティ・ホールを悪用するには、悪意のあるJavaアプレットをWebページに挿入し、ユーザーがそのページを参照するように仕向ける必要がある。あるいは、そのWebページをHTMLメールとしてユーザーに送付することによっても同様の攻撃が可能だ。このセキュリティ・ホールにより、ユーザー権限によるファイルの作成、削除、変更、Webサイトとのデータの送受信などが実行可能になる。マイクロソフトでは、ファイアウォールでアプリケーション・フィルタを使用し、モバイル・コード(クライアント・マシンにダウンロードされて実行されるコード)を検知・ブロックすることにより、危険性を低減できるとしているが、問題の原因(Microsoft VM)を解消しないかぎり、完全な防御は困難である。
ただし前述のとおり、攻撃を行うには、攻撃者が管理するWebサイトにユーザーを訪問させるよう誘導する必要があるが、このセキュリティ・ホール自体はそれを可能にするわけではない。またJava アプレットは[制限付きサイト ゾーン]内では無効にされることから、Outlook 2002、Outlook Express 6、Outlook 98/2000に「Outlook電子メール セキュリティ アップデート」をインストールしている場合など、HTML形式のメールが[制限付きサイト ゾーン]内で開かれるようになっているメール・クライアントでは、メール・ベースの攻撃による危険性もない。
セキュリティ・ホールの影響を受ける環境
今回のセキュリティ・ホールによって影響を受けるのは、以下の環境である。
OS | 影響を受ける条件 |
Windows 98 | デフォルト |
Windows 98 Second Edition | デフォルト |
Windows Me | デフォルト |
Windows NT 4.0 | デフォルト |
Windows 2000 | デフォルト |
Windows XP | Microsoft VMの明示的なインストールが必要 |
Windows XP SP1 | デフォルト |
Windows XP SP1a | Microsoft VMの明示的なインストールが必要*1 |
*1 SP1a導入以前にMicrosoft VMがインストールされていた場合には、SP1aを追加インストールしてもMicrosoft VMは消去されずに残る。 |
セキュリティ・ホールに対する対策
今回のセキュリティ・ホールを抜本的に解消するには、以下のマイクロソフトのWebページから、環境に応じた修正プログラムをダウンロードして適用する必要がある。
ただし、Windows 2000以外の修正プログラムについては、Sun Microsystemsとの和解が関係しているのか、Microsoft VM全体(クラス・ライブラリなどを含む完全なMicrosoft VM)をWindows Updateからインストールする必要がある(Windows 2000以外の修正プログラムは、マイクロソフトのダウンロード・サイトでは公開されていない)。また、複数のPCにインストールする必要がある場合は、Windows Updateカタログを利用して修正プログラムをダウンロードすることも可能だ。Windows Updateカタログの利用方法は、以下のWebページを参照していただきたい。
なお、Windows NT 4.0からはWindows Updateカタログにアクセスできないので(サポート技術情報の「Windows NT 4.0 ベースのコンピュータで Windows Update カタログを使用できない」参照)、Windows 2000/XPのコンピュータからアクセスして修正プログラムを入手する必要がある。また今回の修正プログラムに関しては、Windows Updateカタログだと明示的にWindows NT 4.0用とは記されていないが、Windows XP用のものがWindows NT 4.0にもインストールできる。つまりWindows NT 4.0の場合は、OSとしてWindows XP RTMまたはWindows XP SP1を選択してダウンロードした修正プログラムを利用すればよいわけだ。
OS別にまとめると次のようになる。
OS | 入手方法 |
Windows 9x/Me | Windows Update Windows Updateカタログ |
Windows NT 4.0 | Windows Update Windows Updateカタログ(Windows XP用を利用) |
Windows 2000 |
ダウンロードセンター: PC/AT互換機用 NEC PC-9801/9821シリーズ Windows Update Windows Updateカタログ |
Windows XP (VMがインストールされている必要がある) | Windows Update Windows Updateカタログ |
OS別のVMの入手・更新方法 | |
VMを更新するには、Windows Update、Windows Updateカタログ、ダウンロードセンターの3通りの方法がある。なおMicrosoft VMがインストールされているかどうかを確認するには、コマンドプロンプト上でjview.exeというコマンドを実行してみる。このコマンドが見つからなければ、Microsoft VMはインストールされていない。Windows XP SP1にはMicrosoft VMは含まれているが、Windows XPの初期バージョン(SPなしのバージョン)およびWindows XP SP1aをインストールした環境ではMicrosoft VMがインストールされていない場合がある。 |
さて、場合によっては、修正プログラムを全面展開する前に、検証の時間が必要ということもあるだろう。何らかの理由で直ちに修正プログラムの適用が行えない場合には、以下の方法により、Javaアプレットの実行を禁止して攻撃を回避することも可能である。
-
Internet Explorerの[ツール]メニューで[インターネット オプション]をクリック
-
[セキュリティ]タブを開く
-
[Web コンテンツのゾーンを選択してセキュリティのレベルを設定する]で「インターネット」を選択
-
[このゾーンのセキュリティのレベル]−[レベルのカスタマイズ]ボタンをクリック
-
[セキュリティの設定]ボックス−[Java の許可]の下から[Javaを無効にする]を選択してクリック
-
[OK]ボタンをクリック
-
この手順を「イントラネット」ゾーンに対しても実行
ただしこの回避方法では、Javaアプレットを使用したWebページが正しく表示できなくなるので注意が必要だ。ゲーム・サイトを除けば、Javaアプレットを利用したWebページはそれほど多くないが、企業では、Javaアプレットを利用した会議室予約システムや顧客管理システムなどの業務Webアプリケーションを構築しているところもあるだろう。そういった環境では、Javaアプレットの実行を禁止することは不可能だ。修正プログラムの早急な検証ならびに適用を行っていただきたい。
また、Microsoft VMの利用に不安が残る場合は、適切な評価を行った上でSun Microsystems製Java VMを利用することも可能だ。Sun Microsystems製Java VMは、以下のページより入手可能である。
ただし、Microsoft VMとSun Microsystems製のJava VMでは互換性に一部問題があることが報告されている。また、Sun Microsystems製のJava VMにおいても、今後セキュリティ・ホールが発見される可能性がある点にも考慮したい。
修正プログラムの適用テスト
DA Labでは、今回のセキュリティ・ホールの影響を受けるすべてのプラットフォームを検証施設内にて再現し、修正プログラムの適用テストを実施した(DA Labの詳細は「DA Labとは?」を参照)。その結果は以下のとおりである。今回の適用テストでは、Windows NT 4.0にInternet Explorer 6.0以降(サービスパックを含む)をインストールしている環境では、本修正プログラムの適用時にセキュリティ警告のメッセージが表示され、適用作業が中断することがあった。これは、今回の修正プログラムを適用する際に使用するユーザー・アカウントにて、Internet Explorerの接続ウィザード(デスクトップ上の[インターネットに接続]アイコン)を実行完了させていないと発生する。どうやら、今回の修正プログラムはインストールの途中でWebサイトへアクセスすることがあるようだが、Internet Explorerの接続ウィザードが完了していないと、目的のWebサイトへたどり着けず、その結果エラーが生じて前述のセキュリティ警告のメッセージが表示されるようだ。特に無人インストールを計画している管理者は、インストール時に利用するユーザー・アカウントにて事前に接続ウィザードを必ず完了させることを忘れないようにしたい。
またWindows NT 4.0環境で今回の修正プログラムをインストールすると、再起動して初めて対話型ログオンをしたところで、最終的な設定作業が自動実行される。つまり、再起動しただけではインストールは(完全には)終わっていないので注意したい。
なおこのテストは、あくまで修正プログラムの適用を実施し、その結果をお知らせしているだけであり、修正プログラム自体の機能性(セキュリティ・ホールが本当に解消されているかどうか)を検証するものではないので注意されたい。
OS | 適用テストの結果 |
Windows NT 4.0 SP6a |
△(前述の条件下では○)
|
Windows 2000 SP2 |
○
|
Windows 2000 SP3 |
○
|
Windows XP |
○
|
Windows XP SP1 |
○
|
Windows XP SP1a |
○
|
Windows HotFix Briefings |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|