米国時間10月12日,米Microsoftは,Internet Explorer 4.x/5.x(以下「IE」)やOutlook/Outlook Expressのセキュリティ・ホールを公表した。このセキュリティ・ホールを突けば,WebページやHTMLメール中に不正なスクリプトを埋め込んで,ページやメールを閲覧したユーザーのマシンを自由に操作できてしまう。原因はJavaの実行環境である「Microsoft Virtual Machine(Microsoft VM)」の不具合。Microsoft VMは,WindowsおよびIEの一部として組み込まれている。対策は,(1)Java,(2)Javaアプレットのスクリプト,(3)アクティブ スクリプトのいずれかの機能を無効にすること。また,Microsoftは同社サイトで修正モジュール(パッチ)を公開している。一部は日本語版にも適用できる可能性が高いが,日本法人からは正式アナウンスされていないので,自己責任で適用する必要がある(【10月17日補足】10月16日付けで,マイクロソフト日本法人は修正モジュールを正式アナウンスした)。

 今回公開されたセキュリティ・ホールは,米国時間10月5日にすでに報告されている。発見したのは,ブルガリアのセキュリティ・コンサルタントであるGeorgi Guninski氏。同氏は自分のWebサイトやセキュリティ関連のメーリング・リストで報告した。

 このセキュリティ・ホールを悪用した攻撃は,複数の段階を踏む。

(1)WebページやHTMLメール中のHTMLを使って,ユーザー・マシン上の任意のActive Xコントロールを操作できるJavaアプレットを,ユーザーに呼び出させる。

(2)HTML中のスクリプト(JavaScript)を使って,ユーザー・マシン上のJavaアプレットへ命令を出す。

(3)Javaアプレットは指定されたActive Xコントロールに命令。そして,Active Xコントロールが実行される。

 つまり,ある特定のJavaアプレットを経由させて,ユーザー・マシン上のActive Xコントロールへ命令を出し,不正な動作を行わせる。Windowsには,あらかじめさまざまなActvie Xコントロールがインストールされているので,ファイルの破壊や不正なプログラムのインストールなど,多くの操作が可能となってしまう。Guninski氏は,ユーザー・マシン上に勝手にファイルを作成するデモ・ページを用意している。実際に試したところ,確かにそのファイルが作られた。

 上記の(1)から(3)の中で問題なのが(1)である。通常は,Microsoft VMの「サンドボックス」と呼ばれるセキュリティ・チェック機能により,悪用されると困るようなJavaアプレットを呼び出させることはできない。ところが,その実装ミスにより,Active Xコントロールを操作できるJavaアプレットを呼び出してしまうのである。

 対策はいくつか考えられる。まず,(1)「Javaを無効にする」。こうすれば,Active Xコントロールを操作できるJavaアプレットが起動されない。あるいは,(2)「アクティブ スクリプトを無効にする」。これにより,HTML中のスクリプトはブラウザやメーラー上で実行されない。または,(3)「Javaアプレットのスクリプトを無効にする」。「Javaアプレットのスクリプト」とは,JavaScriptでJavaアプレットを操作する機能である。スクリプト機能を有効にしていても,この機能を無効にしておけば,Javaアプレットへ命令が渡されることはない。IEの「インターネット オプション」メニューの「セキュリティ設定」を選び,「レベルのカスタマイズ」から,(1)~(3)のいずれかの設定をしておけば,今回のセキュリティ・ホールを突いた攻撃は防げる。

 また,Microsoftは同社Webサイトで修正モジュールを公開している。Windows 2000用は英語版のみであるが,Windows 95/98/Me,およびWindows NT4.0用については「All supported language versions are included in this download.」と表記されており,日本語版にも適用可能のようである。実際,日本語版Windows 95+IE 5.5の環境で試したところ,Guninski氏のデモでファイルを作成されることはなかった。

 しかしながら,マイクロソフト日本法人に問い合わせると,正式アナウンスについては検討中のことであった。そのため,修正モジュールの適用は,自己の責任と判断で行う必要がある。とりあえずIEの設定で防げるので,修正モジュールの適用は正式アナウンスを待ったほうがよいだろう。

(勝村 幸博=IT Pro編集)

[米Microsoftが公開しているセキュリティ・ホール情報]

[セキュリティ・ホールの詳細情報(FAQ)]

【2000年10月17日補足】

 10月16日付けで,マイクロソフトは修正モジュールを正式アナウンスした。米MicrosoftのWebサイトで公開されている修正モジュールの利用を勧めている。

 「マイクロソフト セキュリティ情報」では,「ビルド」と呼ばれる,Microsoft VMのバージョン番号で対処方法を区別している。自分のマシンにインストールされているVMのビルドを調べるには,コマンド・プロンプトから「JVIEW」というコマンドを入力する。入力すると,表示の一番最初の行の右側に,「Version 5.00.xxxx」というバージョン情報が現れる。この「xxxx」がビルドである。例えば,「3318」と表示されれば,そのVMのビルドは3318(3300シリーズ)である。

 米MicrosoftのWebサイトでは,日本語版Windows 95/98/Me,およびWindows NT 4.0に適用可能な,3xxxのビルドに対する修正モジュールが現在公開されている。マイクロソフトのアナウンスでは,「3100」,「3200」,「3300」シリーズを区別して表記しているが,適用する修正モジュールは同じである。修正モジュールを適用すると,ビルドは「3318」になる。

 Windows 95/98/Me,およびWindows NT 4.0用の2000シリーズ(すなわち,ビルドが2xxx)の修正モジュールは現在準備中である。

 米MicrosoftのWebサイトでは,Windows 2000用の修正モジュールが公開されているが,これは英語版用。日本語版用については,すべてのビルドについて準備中である。また,NEC98用のモジュールも現在準備中である。

[マイクロソフトのアナウンス]

[日本語版Windows 95/98/Me/NT 4.0に適用可能な修正モジュールのダウンロード・ページ(英語)]