マイクロソフト Internet Explorer を購入時設定のままインターネットで使い続けることの危険性と対処法


[]

1 背景

 ここ数年インターネット利用の大衆化とともに,情報機器のセキュリティ・ホールを突いて,遠隔からそれらの機器の機能を損壊もしくは悪用するクラッキング行為も増加している。クラッキング行為自体は,反社会的な行為で厳しく糾弾すべきものであり,国際的に法整備も進みつつある。しかし,行為を糾弾したからと言ってセキュリティ・ホールが無くなるわけではなく,クラッキングによる被害をメーカーが保証してくれるわけでもない。クラッキングの餌食にされないようにするためには,ユーザ自らが対策を講じることもまた必要なのである。
 電子メールによるウィルス配布もクラッキングのカテゴリに含まれる。これらの被害は,他のユーザのコンピュータにも感染し,急激に増殖した場合はネットワーク・システムを機能不全に陥れることもある。また,増殖するだけでなく,ネットワークやユーザの行動を盗聴する機能等を備えるウィルスも存在する。
 電子メール・ウィルスは,主として添付ファイルの形式で配布され,添付ファイルを開かない限り感染することはないと考えられてきた。しかし,この1年間で少なくとも2件,メール本文を開いただけ,ウェブ・ページをブラウズしただけでウィルスを感染させうるセキュリティ・ホールがエンド・ユーザ用の Windows でも報告されている。そして世界中で広く利用されているそれらの Windows のうち,何割がセキュリティ・ホールへの対処をしているかを想像すると,ネットワークの安全性に関して懐疑的にならざるを得ない。
 たとえば, LAN がファイアウォールで守られていたとしても, LAN 内の機器に,ネットワーク上を流れる貴重な情報(利用者 ID やパスワードなどを含む)を盗聴するプログラムが仕込まれた場合,ファイアウォールは無力である。 LAN 内の機器にはエンド・ユーザのパーソナルコンピュータももちろん含まれる。つまり,クラッキング対策には,サーバの管理だけでなく,各エンド・ユーザが使う機器までも対策が行われて初めて LAN ひいては利用者の安全が守られるのである。

2 目的

 本稿では,エンド・ユーザレベルでの占有率が高い Windows 98 と,添付されているウェブ・ブラウザである Internet Explorer を調査の対象とする。その中でもセキュリティ・パッチを適用しない限り,ユーザ側で何ら為すすべのない脆弱性を中心に調査を行う。( buffer overrun によるセキュリティ・ホールは除く)

3 方法

 検証には,PowerBook G3/1999 MacOS 9.1 上で Virtual PC 4.0.2 を起動し,その上に Windows98 をインストールした環境を用いた。 Windows インストール後,設定を何も変更しない状態から,一段階ずつ更新を行い,危険と思われるセキュリティ・ホールについて,脆弱性の有無の検証を行った。
 取り上げたセキュリティ・ホールは以下の5種類である。

マイクロソフト Personal Web Server (PWS) の UNICODE バグ(表1の pws)
 Windows には, Personal Web Server という, http サービスを行うモジュールが添付されている。 Windows98 では,ユーザが明示的に追加インストールしない限りインストールされることはない。
 PWS が動作していると,遠隔のブラウザから特殊な URL を指定するだけで,サーバ(PWS が動作しているコンピュータ)側の任意のプログラムを操作することができる。また,ウェブ・ページに罠となる URL を埋め込むことにより, PWS が動作しているコンピュータでブラウズしている利用者の意図に関係なく操作することができる。

Force Feeding バグ(表1の ff)
 特殊に作成されたページをブラウズすることにより,サーバ側から任意のプログラムが送り込まれ,利用者側のコンピュータで自動的に実行されてしまう。このバグは,利用者は単にブラウズするだけで, Windows のインターネット設定のセキュリティ・レベルを最大にしていようとも実行されてしまうことで,インターネット界に衝撃を与えた。

concon バグ(表1の con)
 MSDOS 時代からのデバイス名を含む URL をクリックするだけで Windows がクラッシュしてしまうバグ。ファイル・システムが破壊される場合もある。

eml バグ(表1の em1, em2, fk)
 特殊に作成された HTML ページをブラウズするだけで,サーバ側から任意のプログラムが送り込まれ,利用者側のコンピュータで自動的に実行されてしまう。このバグは「ファイルのダウンロード」を無効にしていれば防ぐことができるが,デフォルト設定では有効になっている。この場合, Outlook [Express] 等で電子メールとして受信した場合は,メールを開いただけで添付プログラムが実行されてしまう。

XML バグ(表1の xml)
 スクリプティングを無効にしていても XML に含まれるスクリプトが実行されてしまうバグ。

 段階的な更新は,以下の手順で行った:

a. Windows98 インストール (Internet Explorer 4), PWS インストール後

b. Windows Update での「重要な更新」インストール後
2000/05/02 現在の重要な更新を行った。

c. Internet Explorer 5.01 SP2 インストール後

d. Windows Update での「重要な更新」インストール後
Internet Explorer のインストールにより,前回の「重要な更新」のモジュールの一部が古いものに置き換えられてしまったため。

e. Windows98 System Update (SP1 の一部) インストール後

f. Internet Explorer 5.5 SP1 インストール後

g. Windows Update での「重要な更新」インストール後
Internet Explorer のインストールにより,前回の「重要な更新」のモジュールの一部が古いものに置き換えられてしまったため。

h. Microsoft Office 2000 Standard インストール後

i. MS01-020 セキュリティ・アップデート インストール後

4 結果

 各インストール段階における脆弱性性の検査結果は表1の通り。

     表1 IE の脆弱性
        a   b   c   d   e   f   g   h   i
  ----------------------------------------
  pws  ×  ×  ×  ×  ×  ×  ×  ×  ×
  ff   △  △  ×  ×  ×  ○  ○  ○  ○
  con  ×  ○  ○  ○  ○  ○  ○  ○  ○
  em1  △  △  ○  ○  ○  ×  ×  ×  ○
  em2  △  △  ○  ○  ○  ○  ○  ×  ○
  fk   △  △  ○  ○  ○  ○  ○  ○  ○
  xml  ○  ○  ○  ○  ○  ○  ○  ○  ○
  ----------------------------------------

  ×:プログラムの送り込み/実行が可能,または OS 自体の強制終了
  △:アプリケーションの強制終了
  ○:とりあえず問題なし

 特徴的な点を取り上げると,

 表1の fk について付け加えておく。これは,ダイアログで「キャンセル」を押した場合に安全である,ということである。たとえば, readme ファイルを装ったリンクをクリックした場合,図1のようなダイアログが現れる。


図1 ダイアログ

しかし,実際には実行可能なファイルが送り込まれてしまう。ここで,「上記の場所から開く」を選んでしまうと,そのファイルが実行されてしまう。利用者は,ダイアログが出た時点では, readme.txt というテキストファイルとしか見えず,それが本当はどうかを確かめるすべはない。

5 対策と考察

5.1 エンド・ユーザの対策

 ここでは,どうしても Internet Explorer を使い続けなければならない場合に,インターネット・セキュリティ上対処しなければならない項目を挙げる。

Personal Web Server はインストールしない
 PWS はインターネット・セキュリティに関する保守が行われていない。できるだけインストールしないことが望ましい。

「重要な更新」は必ず行う
 Windows Update の「重要な更新」には,セキュリティ・ホールの対策が多く含まれている。今回の結果でも concon バグ問題は解消されている。しかし,重要な更新は対応が遅いので,今回の eml バグのような強烈なセキュリティ・ホールでもなかなか反映されないこともある。また,他のモジュールのインストールによって,古いものに置き換わる場合もあるので,「重要な更新」モジュールが出なくなるまで「製品の更新」ページを参照することも必要である。

セキュリティ・レベルを厳しく設定する
 eml バグについては,「ファイルのダウンロード」を禁止していれば防ぐことができる。このように,セキュリティ・レベルを厳しく設定しておくことで未然に防ぐことができるバグも多い。特に, アクティブ・スクリプト, ActiveX, MS Java などは,禁止しておくことが望ましい。しかし, Windows のセキュリティ設定画面は項目が多すぎて初心者には扱いにくいことも事実である。

セキュリティ情報を定期的に見る
 参考サイトの中でセキュリティ情報を提供しているページを定期的にチェックする。 eml バグでも対策パッチは早く提供されたが,一般ユーザはそこまでたどり着くのは容易ではない。セキュリティ警告がまとめられているサイトを定期的に見ることは,その意味でも重要である。

2001/05/04 時点の具体的対策
 現時点では, Internet Explorer 5.5 SP1 に MS01-020 対策パッチを適用し, PWS があればアンインストールする。

5.2 メーカの対策

 主にマイクロソフト向けであるが,インターネット接続時に使うアプリケーション等を製造しているメーカーも含まれる。

デフォルトの設定を安全なものにする
 現在の設定は危険すぎる。セキュリティ・ホールの発現を見越した設定をすべきである。 Windows Update ページなど,これらの機能が必要な場合のみ,安全に動作するようなシステム設計をすべきである。

ブラウザにセキュリティ・ボタンを設置する
 Internet Explorer のセキュリティ設定変更は,何度もクリックしないとたどり着けず,たどり着いても項目が多すぎ,初心者にはわからない。 ActiveX, アクティブ・スクリプト, Java のオン/オフ・ボタンをブラウザ・ウィンドウに設置することにより,これらの困難をいくらかは軽減させることができる。これらの制御を手軽に行えれば,利用者の判断でセキュリティ・レベルを調整することが可能になり,安全性も増す。細かい設定が必要な場合のみ,すべての項目を操作できればよい。

セキュリティ情報はトップページからわかりやすいようにする
 クラッキングで被害を被るのはユーザであり,メーカは,たとえセキュリティ・ホールを前もって知らされていても,被害に対する賠償は契約により免責されている。かかる契約下で,ユーザへの損害を最小限にするには,メーカ側が積極的に情報公開するしか道はない。情報公開や公開の早さは最近改善されつつあるが,実際に修正できるのは当事者だけのことを考えれば,メーカのトップページに最新のセキュリティパッチ情報等を掲示し,できるだけ多くのユーザがそれに気づくようにし向けることが重要である。マイクロソフトではトップページからセキュリティ関係のページにリンクが張られている点は評価できる。
 この提言はマイクロソフトだけにとどまるものではない。ユーザの知らないうちにプログラムを送り込み,実行できるようなセキュリティ・ホールを出しているメーカは特に,できるだけユーザの目に付くように情報公開をするべきである。

利便性におぼれない
 セキュリティ・ホールの多くは,過度の利便性を持たせたために生じている。利便性と危険性は表裏一体であることに注意し,ユーザ環境の安全性を考慮したシステム設計を行われたい。特にセキュリティに関しては,システム側での未然の対策が有効なのである。すべてのリスク・マネジメントをエンド・ユーザに任せるのは荷が重すぎる。メーカ側で判断できる分は製品に前もって組み込んでいただきたい。

負の面も情報公開する
 上記のように,利便性は危険と表裏一体にあることをユーザにも知らせるべきである。それも具体的に,どのような状況下でその機能を使うと危険であるのかを簡潔に知らせた方がよい。簡潔にできないならそれはシステムが複雑になりすぎたためなので,システム側の構成を考え直せばよい。その点で, Office 製品の印刷マニュアルで,マクロウィルスに関する説明がある点は評価できる。しかし,実際の動作で,マクロなら何でも警告を出せばおしまい,という動作はいただけない。マクロウィルスへの感染の意志決定を,すべて利用者側の責任にする仕組みとなっている。

6 その他のセキュリティ

 本稿では対象としなかったものに,ファイルを盗み読まれるプライバシー漏洩のセキュリティ・ホールが存在する。これは,上記の対策には含まれていない。詳しくは他の場所に譲るが, Java の実装にそのバグが含まれているので, Windows Update の Java の更新を行うか, Sun の Java に入れ替えることが必要である。

7 参考サイト

(まとめ中)

8 付録

A 検証時のメモ

a.[VPC 4.0.2J + Win98 + IE4 + PWS]
pws:	脆弱(プログラム起動可)	×
ff:	脆弱(IE4 強制終了)	△
concon:	脆弱(Win98 青画面 - 再起動)	×
ms01020(1):	脆弱(保存ダイアログキャンセル - IE 強制終了)	△
ms01020(2):	脆弱(IE 強制終了)	△
fake ms01020:	脆弱(保存ダイアログキャンセル - IE 強制終了)	△
XML: 問題なし	○

b.[+重要な更新 (20010503)]
pws:	脆弱(プログラム起動可)	×
ff:	脆弱(IE4 強制終了)	△
concon:	対策済み	○
ms01020(1):	脆弱(保存ダイアログキャンセル - IE 強制終了)	△
ms01020(2):	脆弱(IE 強制終了)	△
fake ms01020:	問題なし	○
XML: 問題なし	○

c.[+IE 5.01SP2 標準インストール] -> インストール途中で失敗−再起動後成功
pws:	脆弱(プログラム起動可)	×
ff:	脆弱(プログラム送り込み可)	×
concon:	対策済み	○
ms01020(1):	問題なし	○
ms01020(2):	問題なし	○
fake ms01020:	問題なし	○
XML: 問題なし	○

d.[+重要な更新 (VeriSign)](アップデートで古いモジュールに置き換わってしまった)
pws:	脆弱(プログラム起動可)	×
ff:	脆弱(プログラム送り込み可)	×
concon:	対策済み	○
ms01020(1):	問題なし	○
ms01020(2):	問題なし	○
fake ms01020:	問題なし	○
XML: 問題なし	○

e.[+WIN98 System Update (WIN98 SP1)]
pws:	脆弱(プログラム起動可)	×
ff:	脆弱(プログラム送り込み可)	×
concon:	対策済み	○
ms01020(1):	問題なし	○
ms01020(2):	問題なし	○
fake ms01020:	問題なし	○
XML: 問題なし	○

f.[+IE 5.5SP1]
pws:	脆弱(プログラム起動可)	×
ff:	対策済み	○
concon:	対策済み	○
ms01020(1):	脆弱(プログラム送り込み可)	×
ms01020(2):	問題なし	○
fake ms01020:	問題なし	○
XML: 問題なし	○

g.[+重要な更新 (VeriSign)](ふたたび)
pws:	脆弱(プログラム起動可)	×
ff:	対策済み	○
concon:	対策済み	○
ms01020(1):	脆弱(プログラム送り込み可)	×
ms01020(2):	問題なし	○
fake ms01020:	問題なし	○
XML: 問題なし	○

h.[+MS Office Standard 標準インストール]
pws:	脆弱(プログラム起動可)	×
ff:	対策済み	○
concon:	対策済み	○
ms01020(1):	脆弱(プログラム送り込み可)	×
ms01020(2):	脆弱(プログラム送り込み可)	×
fake ms01020:	問題なし	○
XML: 問題なし	○

i.[+security update MS01-020]

pws:	脆弱(プログラム起動可)	×
ff:	対策済み	○
concon:	対策済み	○
ms01020(1):	対策済み	○
ms01020(2):	対策済み	○
fake ms01020:	問題なし	○
XML: 問題なし	○

B 開いているポート番号

[Win98 on VPC4.0.2 default setting]
Port       State       Service
135/tcp    open        loc-srv
139/tcp    open        netbios-ssn
1026/tcp   open        nterm

以下参考:
[MacOS 9.1 default setting]
 closed

[MacOS 9.1 file sharing on w.TCP/IP]
Port       State       Service
427/tcp    open        svrloc
548/tcp    open        afpovertcp