IE5.0のScriptlet.TypeLib問題

Windows NT World 2000年1月号
月刊セキュリティレポート No.1

本文書は、Windows NT World誌に寄稿した記事の原稿を、IDGジャパン編集部殿の許可を得た上で掲載したものです。






 今回はInternet Explorer 5.0におけるセキュリティ上の不具合である、「Scriptlet.TypeLib問題」について解説する。この問題は1999年の8月に報告されたもので、既に修正モジュールもマイクロソフトから提供されており、話題としてはやや古い感がある。しかし、不正なWebサイトに不用意にアクセスすることがいかに危険か、またHTML形式の電子メールやネットニューズ記事にどのような脅威が存在するかを理解する上で、非常に役立つわかりやすい題材であるため、今回あえてとりあげた。


問題の概要


 ActiveXコントロール「Scriptlet.TypeLib」のセキュリティ上の不具合がブルガリア在住のGeorgi Guninski氏によって、セキュリティ関連メーリングリスト「Bugtraq」に報告された。

図1 Georgi Guninski氏のScriptlet.TypeLib問題デモページ
図1 Georgi Guninski氏のScriptlet.TypeLib問題デモページ

 この問題は、ActiveXコントロール「Scriptlet.TypeLib」における標準設定の不備に起因するもので、不正にコーディングされたWebページをInternet Explorer(以下、IE)でアクセスすることにより、クライアントマシン上でファイルの作成、変更、削除といった不正行為が実行される危険性がある。
 この不具合を利用することで、クライアントマシン上で不正なプログラムを起動させてしまうような悪意を持ったWebページを作成することが可能となるため、非常に危険度が高いと考えられる。
 マイクロソフトはこの問題に関するセキュリティ情報を提供するとともに、修正モジュールを作成、配布している。


Scriptlet.TypeLib問題とは


 Scriptlet.TypeLib問題を一言で表すと、本来、「スクリプトを実行しても安全」ではないと設定されるべきActiveXコントロール「Scriptlet.TypeLib」が、誤って標準で「スクリプトを実行しても安全」であると設定されていたということである。
 「スクリプトを実行しても安全」という設定は通常、ユーザのコンピュータ上に害を及ぼす可能性のないコントロールに対して行なわれるため、このように設定されたコントロールは基本的にユーザに対する確認なしに実行するようになっている。
 図2はIE5.0の「インターネットオプション/セキュリティ」におけるインターネットゾーンの標準セキュリティ設定を表しているが、

図2 IE5.0のインターネットゾーン標準セキュリティ設定
図2 IE5.0のインターネットゾーン標準セキュリティ設定
  • スクリプトを実行しても安全だとマークされていないActiveXコントロールの初期化とスクリプトの実行
    → 無効にする
  • スクリプトを実行しても安全だとマークされているActiveXコントロールのスクリプトの実行
    → 有効にする


となっているのがわかる。すなわち、IE5.0でインターネット上のWebにアクセスする場合、「安全」とマークされていないコントロールのスクリプト実行はIE5.0の標準設定で「無効」であるため実行されないが、「安全」とマークされているコントロールは基本的に無条件で実行してしまうのである。
 Scriptlet.TypeLibコントロールには、ユーザのコンピュータ上でファイルを操作(作成、変更等)する機能があり、コンピュータに害を与える危険性を潜在的に持っている。それにも関わらず、このコントロールは「スクリプトを実行しても安全」であると誤ってマークされている。そのため、Scriptlet.TypeLibコントロールの機能を悪用したWebページにIE5.0でアクセスすることにより、アクセスしているユーザの権限で操作可能な範囲においてユーザのコンピュータ上にファイルが作られたり、あるいはファイル内容が変更されたりしてしまう可能性がある。
 この問題が発生するのは、基本的にはIE5.0がインストールされているWindows NTマシンおよびWindows 95/98マシンである。


プログラム実行の危険性


 Scriptlet.TypeLib問題における本質的な脅威は「ファイルの作成、変更、削除」である。すなわち、攻撃者の観点で言えば、

 「ユーザに気づかれずに、そのユーザ権限でアクセス可能な範囲内で、任意のファイルの作成、変更、削除を行なうようなHTMLページによる攻撃が可能」

だということになる。しかし既存ファイルの変更が可能であるということは、既存の実行モジュールを変更することにより、ユーザに不正なプログラムを実行させることが可能であることを意味する。
 Georgi Guninski氏は、今回のScriptlet.TypeLib問題のデモンストレーションWebページで、より容易かつ効果的な「不正プログラム実行の危険性」を示している。その方法は至ってシンプルで、ユーザの「スタートアップ」フォルダに不正なスクリプトファイルを作成するというものだ。氏のデモでは通常のバッチファイル(.bat)ではなくHTMLアプリケーションファイル(.htaファイル)を作成している。「スタートアップ」フォルダにあるスクリプトはローカルログオン時に自動的に実行するため、次回のログオン時に仕込まれた不正なスクリプトが起動し、様々な不正行為(プログラムの実行、ファイルの削除等)を行なうという仕組みである。

図3 Guninski氏のデモページによる攻撃方法
図3 Guninski氏のデモページによる攻撃方法

 ちなみにHTMLアプリケーションとはHTMLで記述されたスタンドアローンプログラムで、拡張子htaのファイルとなる。通常のIEによるWebページ表示の場合との基本的な違いは、以下の2点である。
  • そのアプリケーション自身のウィンドウ上で動作するため、ブラウザのメニューやツールバーが表示されず、ユーザインターフェイスを完全に定義することが可能である
  • 完全に信頼されたアプリケーションとして取り扱われ、ブラウザのセキュリティ設定による制限を受けない

 つまり、HTMLアプリケーションはIEのセキュリティ設定で制御されることなく、通常のプログラムやバッチファイルと同様に、そのユーザが実行可能なことは全て実行可能となる。


電子メールやネットニューズによる攻撃


 さてここまではWebアクセスによるScriptlet.TypeLib問題の危険性を述べてきた。しかしHTMLのスクリプトやActiveXコントロールに起因する問題は、基本的にはそれらを処理する機能を持つような電子メールクライアントソフト、ネットニューズクライアントソフトにおいて、共通して発生する。端的な例が、IEに付属するOutlook Expressである。
 Outlook ExpressはHTML形式の電子メールやネットニューズ記事を処理する際に、標準ではIEの「インターネットゾーン」のセキュリティ設定に基づいて、セキュリティの制御を行なう(図4)。

図4 Outlook Expressの標準セキュリティゾーン設定
図4 Outlook Expressの標準セキュリティゾーン設定

そのため、Outlook ExpressでHTMLメールやHTML記事を読むことは、インターネット上のWebページにアクセスするのと同レベルの危険性が伴なう。すなわち、今回のScriptlet.TypeLib問題を悪用したHTML形式電子メールや、HTML形式ネットニューズ記事をOutlook Expressで見た場合、その瞬間に不正なファイルを作成されてしまう危険性がある。ただ単に、メールや記事を「見た」だけで、である。
 これがどれほど深刻であるかは、言うまでもない。添付ファイルのウィルスやトロイの木馬であれば、感染するためにはユーザがその添付ファイルを「開く」必要があるため、基本的にはダブルクリック等で意識して開かない限り感染しない。しかしHTMLのスクリプトの場合は、標準設定では「見た」だけで動作を開始するのである。
 Outlook Express以外でも、同様の機能を持つ電子メールソフトやネットニューズソフトを使用している場合は注意が必要である。


問題の対策方法


 マイクロソフトはこのScriptlet.TypeLib問題に対し、詳細なセキュリティ情報-MS99-032(英語)を発行し、修正モジュールを提供している。このセキュリティ情報および修正モジュールは、同時期に報告された「Eyedog問題」と合わせて、「"Scriptlet.typelib" および "Eyedog" 問題」というタイトルで提供されている。ちなみにこの「Eyedog問題」は、Scriptlet.TypeLib問題と同様ActiveXコントロール「Eyedog」の標準設定に起因する問題、およびEyedogのバッファ・オーバーフロー問題の二つからなり、Windows版のIE4.0とIE5.0に影響があるとされている。
 この修正モジュールを適用することで、Scriptlet.TypeLib問題およびEyedog問題両方を修正することができる。セキュリティ情報-MS99-032のFAQによると、この修正モジュールは基本的に以下の2つを実行する。
  • Scriptlet.TypeLib問題:「スクリプトを実行しても安全」のマークを削除する。これにより、IEから引き続きこのコントロールを使用することは可能であるが、標準設定で自動的に実行することはなく、少なくともユーザへの確認メッセージが表示されるようになる。
  • Eyedog問題:いわゆる「Kill Bit」を設定する。これにより、いかなる場合もIEからこのコントロールを実行することができなくなる。

 前述の通り、IE5.0におけるインターネットゾーンの標準セキュリティ設定では「スクリプトを実行しても安全」とマークされていないコントロールは実行されないため、インターネットWebサイトへのアクセスにおいてはScriptlet.TypeLibコントロールは動作しない。ローカルイントラネットゾーンも同様である。信頼済みサイトゾーンにおいては、実行は許可されるがその前にユーザへの確認のメッセージが表示されるようになる。


IE/Outlook Expressを安全に使うために


 以下は、マイクロソフトが発行しているIE5.0に関するセキュリティ情報の一覧(本原稿執筆時点)である。

IEセキュリティ問題 番号 修正モジュール
英語版 日本語版
DHTML Edit問題 MS99-011
MSHTML問題 MS99-012
Malformed Favorites Icon問題 MS99-018
Virtual Machine Sandbox問題 MS99-031
Scriptlet.TypeLib/Eyedog問題 MS99-032
ImportExportFavorites問題 MS99-037 ×
Download Behavior問題 MS99-040 ×
IFRAME ExecCommand問題 MS99-042 ×
Javascript Redirect問題 MS99-043 × ×
Virtual Machine Verifier問題 MS99-045 ×

 これらの問題について、マイクロソフトは修正モジュールを提供しているか、もしくは今後提供する予定である。修正モジュールが提供され次第、適用することをお奨めしたい。だがたとえ修正モジュールを適用したとしても、過去の例を見る限り、また同様のセキュリティ問題が発覚する可能性は非常に高いと考えた方が良いだろう。
 上記のIEに関する問題一覧を見ればわかるが、これらの問題のほとんどはActiveXコントロール、Java、JavaScriptといった動的なWebコンテンツに関連するものである。すなわち、信頼できないWebサイトにアクセスするに際して動的なWebコンテンツの実行を制限してしまうことにより、多くの場合IEセキュリティ問題を利用した攻撃から身を守ることができると考えられる。これは、動的Webコンテンツに関連するセキュリティ問題の修正モジュールが提供されるまでのワークアラウンド(回避策)としても有効である。マイクロソフトも、Javascript Redirect問題のワークアラウンドとして以下を推奨している(本原稿執筆時点でまだ修正モジュールが提供されていない)。
  1. IEのインターネットゾーンのセキュリティ設定で「アクティブスクリプト」を「無効」にする(図5)

    図5 IE5.0のインターネットゾーンのセキュリティ設定で「アクティブスクリプト」を「無効」にする
    図5 IE5.0のインターネットゾーンのセキュリティ設定で「アクティブスクリプト」を「無効」にする


  2. 信頼するWebサイトのURLを信頼済みサイトゾーンに追加する(図6)

    図6 IE5.0の信頼済みサイトゾーンに信頼するサイトを登録する
    図6 IE5.0の信頼済みサイトゾーンに信頼するサイトを登録する


 これにより、ユーザが明示的に「信頼する」として信頼済みサイトゾーンに追加したWebサイト以外に対しては、そのWebサイトにアクセスすることで自動的に不正なスクリプトが実行してしまう危険は回避される。いわゆるホワイト・リスト・アプローチである。ちなみにIE5.0ではゾーンにサイトを追加する場合、例えば http://*.microsoft.com のような指定ができるので、DNSドメイン単位で「信頼する」ことも容易にできる。
 インターネットゾーンのセキュリティ設定をどこまで厳しくするかは、基本的にユーザあるいはユーザが所属するサイトの判断であろう。ただし上記の「アクティブスクリプト」は最低限「無効」にすることが推奨される。
 Outlook Expressは前述の通り、HTML形式のメッセージを処理する際にIEのインターネットゾーンのセキュリティ設定に基づいて、セキュリティの制御を行なう。そのため、インターネットゾーンのセキュリティ設定を厳しくすることで、HTML形式の電子メールやニューズ記事によるセキュリティ攻撃の脅威を低減させることができる。あるいは、Outlook Expressのオプションのセキュリティ設定で、セキュリティゾーンを「制限付きサイトゾーン」に変更することによって、安全性を確保することも可能である。繰り返しになるが、HTML形式の電子メールやニューズ記事によるセキュリティ攻撃は極めて危険性が高い。適切な対策を早期に施されることをお奨めする。

1999年10月執筆
セントラル・コンピュータ・サービス株式会社
塩月 誠人