Internet Explorerの脆弱性(ぜいじゃくせい:セキュリティ上の欠陥)の回避策として、よく「セキュリティゾーンの設定を『高』にする」「アクティブスクリプトを無効にするか、実行前にダイアログを表示させる」という2つの方法が挙げられます。これらはどういう効果があるのでしょうか。また、これらを実行するためには、どのような操作をしたらいいのでしょうか。パソコンにはあまり詳しくないという方のために説明します。
<INDEX>
【知識編】
■「ゼロデイ攻撃」と「脆弱性回避策」
★コラム:こんなときも「回避策」の出番
■Internet Explorerの脆弱性と2つの回避策
★コラム:「アクティブスクリプト」「ActiveXコントロール」「Java」とは?
■「回避策A」と「回避策B」の副作用
■副作用対策は「信頼済みサイト」登録
★コラム:Internet Explorerとセキュリティゾーン
【実践編】
■回避策A~2つのゾーンのセキュリティ設定を「高」にする
■回避策B~2つのゾーンで「アクティブスクリプト」の設定を変更する
■副作用対策~「信頼済みサイトゾーン」への追加
★コラム:「ワイルドカード」について
<本文>
【知識編】
OS(オペレーションシステム)やソフトウェアに脆弱性が見つかると、その開発元では欠陥を修正するプログラム(パッチ)を用意します。しかし、パッチの開発には時間がかかるため、パッチ公開よりも前に脆弱性を悪用する攻撃が始まってしまうことがあります。このような、パッチ公開前に始まった攻撃をゼロデイ攻撃と呼びます。
ゼロデイ攻撃の被害にあわないためには、OSやソフトウェアの開発元が推奨する脆弱性回避策を実行することが大切です。回避策は脆弱性を修正するものではありませんが、攻撃を防ぐには役立ちます。
パッチ公開前の危険な状態にあるパソコンを守ってくれるのが、脆弱性回避策なのです。
パッチを適用すると不具合が起こる場合、たとえば業務でどうしても必要なソフトが使えなくなってしまうといった場合にも、回避策が役に立ちます。不具合を解消する方法が見つかり、パッチを適用できるようになるまでの間、回避策を使ってパソコンをガードしておくのです。
マイクロソフトでは毎月、Windowsや同社製ソフトの脆弱性を修正するパッチを公開しています。Windows Update/Microsoft Updateは、公開されたパッチをインターネット経由で自動的に適用するための仕組みです。ちなみに、Windows用のパッチを提供するのがWindows Update、それに加えてOfficeなど同社製の他のソフトのパッチも提供するのがMicrosoft Updateです。
さて、2月10日にマイクロソフトは12件のパッチを公開しました。その中には4件の脆弱性を修整するInternet Explorer用のパッチもありました。
・Internet Explorer 用の累積的なセキュリティ更新プログラム(2482017)(マイクロソフト)
http://www.microsoft.com/japan/technet/security/bulletin/MS11-003.mspx
修正された脆弱性4件のうち3件については、何らかの事情でパッチを利用できない環境であっても、以下の回避策を実行しておけばとりあえず攻撃を回避することができます。
回避策A:「インターネットゾーン」と「ローカルイントラネットゾーン」で、セキュリティ設定を「高」にし、これらのゾーンでActiveXコントロールとアクティブスクリプトをブロックする。
回避策B:「インターネットゾーン」と「イントラネットゾーン」で、アクティブスクリプトの実行前にダイアログを表示するように設定する。またはアクティブスクリプトを無効にするよう設定する。
上に挙げた3件の脆弱性を突く攻撃を成立させるためには、攻撃先のパソコンでアクティブスクリプトが働いていなければならないのです。このため、
・アクティブスクリプトを無効にする
・ユーザーが[はい]のボタンを押さなければアクティブスクリプトが働かないように設定する
という方法で、「Webページを開いただけでウイルスに感染する」という非常に怖い事態を回避しようとしているのです。
回避策Aは、アクティブスクリプトを無効にするための最も簡単な方法です。しかしこの操作をすると、アクティブスクリプトだけでなく、ActiveXコントロールもJavaも無効になります。回避策Bは、ActiveXコントロールやJavaに影響を与えずに、アクティブスクリプトのみをコントロールするための方法です。Aの方法よりは少し手間がかかります。
★コラム:
「アクティブスクリプト」「ActiveXコントロール」「Java」とは?
・アクティブスクリプト
Internet Explorerに搭載されている機能で、プログラム記述言語のJavaScriptやVBScriptで書かれたプログラムを実行する役割を持っています。アクティブスクリプトにより、Webページに動きが加わります。現在の時刻を表示させる、広告を表示させる、ちょっとしたゲームで遊べるようにするなど、さまざまな効果を実現できるのです。
・ActiveXコントロール
ActiveXコントロールを使うと、Internet Explorerの機能を拡張することができます。外部のプログラムを、Internet Explorerの機能の一部として利用できるようになるのです。動画や音声を再生するためのFlash PlayerやShockwaveも、ActiveXコントロールです。Windows Update/Microsoft Updateや、オンラインウイルスチェックも、ActiveXコントロールを使って実行されています。
・Java
Javaはプログラム言語の名称で、Javaで開発されたプログラムは、ActiveXコントロールと同様に、ブラウザに機能を付け加えることができます。ブラウザ上で使う限りは、ActiveXコントロールとJavaは似たようなものですが、ActiveXコントロールがInternet Explorer専用であるのに対し、JavaプログラムはOSやブラウザの違いに関係なく利用できます。なお、JavaとJavaScriptは、名称は似ていますがまったく別のものです。
■「回避策A」と「回避策B」の副作用
パッチがまだ公開されていない、または事情があってパッチをすぐに適用することができないという場合に攻撃を防いでくれるのが脆弱性回避策です。しかし、上記A、Bの回避策には副作用があります。
ActiveXコントロールやアクティブスクリプトが働くことを前提に作られているWebページがとても多いため、これらを無効にすると、Webページで提供されている機能が働かないという、困った事態が多発するのです。動画サイトにアクセスしても動画を再生することができませんし、Windows Update/Microsoft Updateも利用できなくなります。その他にも、たくさんのサイトで不具合が生じます。
アクティブスクリプトの実行前に[はい]のボタンを押す設定にした場合は、そのページで使われているアクティブスクリプトの数だけボタンを押さないと、ページ内で提供されている機能を完全に利用することができません。10回以上ボタンを押さなければならないページもたくさんあります。
また、ボタンを押す前にそのつど「このページではアクティブスクリプトを許可しても大丈夫だろうか、それとも危険だろうか」ということを自分で見極めなければなりません。どのページでも[はい]を押してしまうなら、ダイアログを表示させる意味がありません。
このような副作用をできるだけ避けるために、「このサイトならActiveXコントロールやアクティブスクリプトを有効にしても絶対に安心だ」と確信できるサイトを信頼済みサイトゾーンへ登録しましょう。
信頼済みサイトゾーンに登録したサイトは、回避策AやBを実行した場合でも、ActiveXコントロールやアクティブスクリプトが働きます。そのため、回避策A、Bの実行前と同様にページを表示することができます。
また、後に説明しますが、回避策AやBを実行する場合は、Windows Update/Microsoft Updateで使われているサイトを必ず信頼済みサイトとして登録しておかなければなりません。
★コラム:Internet Explorerとセキュリティゾーン
Internet Explorerでは、Webサイトに適切なセキュリティレベルを簡単に割り当てるための機能が用意されています。それが「セキュリティゾーン」です。
セキュリティゾーン関連の操作は、[インターネットオプション]の画面から行います。ゾーンは四つ用意されています。
・インターネットゾーン
インターネット上のサイトは、他のゾーンに登録しないかぎり、自動的にこのゾーンで閲覧することになっています。Internet Explorer7と8では、セキュリティレベルが[中-高」に設定されていますが、[中]や[高]に変更することもできます。
・イントラネットゾーン
LAN内のサイトは、他のゾーンに登録しないかぎり、自動的にこのゾーンで閲覧することになっています。Internet Explorer7と8では、セキュリティレベルが[中」に設定されていますが、好きなレベルに変更することができます。
・信頼済みサイトゾーン
安全だと確信できるサイトをこのゾーンに登録すると、他のゾーンに比べ緩やかなセキュリティ設定で閲覧することができます。Internet Explorer7と8では、セキュリティレベルが[中」に設定されていますが、好きなレベルに変更することができます。
・制限付きサイトゾーン
閲覧するとパソコンに害を与える可能性のある、信頼できないサイトをこのゾーンに登録します。安全性の低い機能は無効になります。セキュリティレベルは[高]に設定されており、変更できません。
上記の4つのゾーンのほかにもう一つ、「マイコンピューターゾーン」が定義されていますが、一般ユーザーが意識する必要のないゾーンであり、設定を変更するには特別な操作が必要となります。
【実践編】
以下に、回避策AとBの実行方法を説明します。図はInternet Explorer8のものですが、Internet Explorer7でも同様に操作できます。
Internet Explorer6を使用している方は、Internet Explorer8へ移行しましょう。Internet Explorer8は、Internet Explorer6に比べセキュリティ対策が格段に強化されています。次のページからInternet Explorer8をダウンロードすることができます。
・最新ブラウザ Internet Explorer8(マイクロソフト)
http://www.microsoft.com/japan/windows/products/winfamily/ie/function/default.mspx
「インターネットゾーン」と「ローカルイントラネット」のセキュリティ設定を「高」にします。
1) Internet Explorerを起動し、右上の方にあるコマンドバーで[ツール]をクリックする。
※コマンドバーが見当たらないときは、下の図に示したようにタブの横の何もないところで右クリックし、表示されたメニューの中の[コマンドバー]をクリックすると、コマンドバーが表示される。
3) [セキュリティ]タブをクリックして、[インターネット]アイコンをクリックする。
4) [このゾーンのセキュリティのレベル]の下のスライダーのつまみを「高」まで移動させる(つまみにマウスカーソルを合わせ、マウスの左ボタンを押したまま上にずらす)。[適用]をクリックする。
5) [ローカルイントラネット]アイコンをクリックし、4と同じ操作を行う。[OK]を押して[インターネットオプション]を閉じる。
■回避策B~2つのゾーンで「アクティブスクリプト」の設定を変更する
「インターネットゾーン」と「イントラネットゾーン」で、アクティブスクリプトの実行前にダイアログを表示するように設定します。または、アクティブスクリプトを無効にするよう設定します。
1) Internet Explorerを起動し、コマンドバーで[ツール]をクリックする。
2) [インターネットオプション]→[セキュリティ]タブ→[インターネット]アイコンの順にクリックし、[レベルのカスタマイズ」をクリックする。
3) [スクリプト]セクションの[アクティブスクリプト]で[ダイアログを表示する]または[無効にする]にチェックを入れ、[OK]をクリックする。
4) 「このゾーンの設定を変更しますか?」という警告画面が出るので[はい]を押す。
5) [ローカルイントラネット]アイコンをクリックし、3、4と同じ操作を行う。
6) [OK]を押して[インターネットオプション]を閉じる。
回避策A、Bで発生する副作用への対策として、信頼するWebサイトをInternet Explorerの「信頼済みサイトゾーン」に追加します。
1) Internet Explorerを起動し、コマンドバーで[ツール]をクリックする。
2) [インターネットオプション]→[セキュリティ]タブの順にクリックし、[信頼済みサイト]アイコンをクリックする。続けて[サイト]をクリックする。
3) [このゾーンのサイトにはすべてサーバーの確認(https:)を必要とする]のチェックボックスをクリックし、チェックを外す。
4) [次のWebサイトをゾーンに追加する]の欄に、信頼するWebサイトのアドレスを入力し、[追加]ボタンをクリックする。登録したいWebサイトを開いた状態で2と3の操作をすると、アドレスが自動的に入力された状態となる。図は、So-netのサイトを開いた状態で操作をした様子。
Windows Update/Microsoft Updateを実行するために、以下の2つのサイトを必ず登録しておいてください。Windows Update/Microsoft UpdateではActiveXコントロールを使用してパッチをインストールするので、これらを登録しておかないとアップデートができません。
*.windowsupdate.microsoft.com
*.update.microsoft.com
5) 信頼済みサイトゾーンに追加したいそれぞれのWebサイトについて、4の操作を繰り返す。
6) [閉じる]→[OK]の順にクリックして[インターネットオプション]を閉じる
信頼済みサイトゾーンに必ず追加しておかなければならない上記の2つのURLでは、“*”という記号が使われています。これはアスタリスクという名称の半角記号で、Windowsにおいては「任意の文字」として扱われ、“*”ひとつで何文字分でも表せます(ただしドット“.”は除く)。
こうした、任意の文字として扱われる記号をワイルドカードといいます。余談ですが、任意の一文字を表したいときには、ワイルドカードとして“?”を使います。
信頼済みサイトに「http://*.example.com」と登録すると、「http://www.example.com」も「http://www2.example.com」も「http://bbs.example.com」も、信頼済みサイトとして扱われます。
「*.example.com」と登録した場合はexample.comというドメイン全体を信頼したことになり、たとえば「https://www.example.com」も信頼済みサイトとして扱われます。
(執筆:現代フォーラム/北野)