- 2007/03/15 掲載
【連載】Windows VistaとはどのようなOSなのか?最終回/全5回:Windows Vistaのセキュリティ
C MAGAZINE MOOK「最新 Windows Vistaプログラミング徹底理解」
![]() ※クリックで拡大 |
図1 UACによる昇格確認の画面
|
高い管理者権限でPCを操作しているとき、出所の不明なソフトウェアの実行や、誤操作などにより意図しない操作を行うことはリスクが少なからず存在する。本来であれば、管理者権限を持つユーザーアカウントを利用するのではなく、システムリソースへのアクセスに一定の制約を持つユーザー権限などを利用することが望ましい。
しかし、アプリケーション実行の前提が管理者権限であったり、インストールやアップデートなどの便利さからローカルマシンに対して管理者権限を持つユーザーアカウントを利用している状況が大勢である。
そのため、ユーザーの便宜を図りつつローカルマシンを保護する仕組みとしてVistaでは「ユーザーアカウント制御」(UAC :User Account Control)と呼ぶ機能を組み込んだ。これは、管理者権限を持つユーザーであっても、通常の利用では管理者権限が無効化の状態となり、必要なときのみ管理者権限が付与される仕組みである。
具体的には、シールドがついたボタンやアイコンをクリックすると、画面全体がすりガラス越しのように暗く半透明になり、管理者権限を利用するかどうか昇格を確認するダイアログだけが表示される(図1)。ここで承認を行うと管理者に昇格しその権限を利用できる。この昇格した権限は、承認したプロセスでのみ有効で、プロセスが終了すると元の権限に戻る。
また、権限昇格についての確認ダイアログだけが表示されている状態を「セキュアデスクトップ」と呼ぶ。セキュアデスクトップにより、キーボードやマウスをコントロールしてボタンクリックや文字入力を自動操作させるようなマルウェアなどからユーザーを保護する。権限を昇格させる仕組みを入れても、承認するダイアログで悪意の持ったソフトウェアの動きにより、意識しない権限昇格の同意操作が行われるのは危険である。そのため、そういった裏からの操作が行われないようにセキュアデスクトップの仕組みを組み入れた。
昇格しない場合は、通常の標準ユーザー権限での動作が継続する。コンピュータへの設定はレジストリやファイルに対して行われるが、標準ユーザーによる書き込みと管理者による書き込みを別にし、管理者権限での設定情報が上書きされないようにすると同時にアプリケーション上でパス名がハードコードされていることも考慮しコードの変更なく保護する仕組みが必要である。そこで、ファイルとレジストリを仮想化し、書き込み要求をユーザーごとのストアへリダイレクトさせ管理者と通常ユーザーの書き込み先を物理的に分けた。
ところで、アプリケーションがこのUAC に対応するためには、UAC と強調動作する方法とXP までとの動作互換を維持する方法の2 通りある。後者の方法としては、[互換性]タブや互換性フィックス、[管理者として実行]のメニューから実行するOSの設定に関する方式と、マニフェストで実行権限を定義する開発者がアプリケーションに追加の設定ファイルを用意する方式がある。
なお、コントロールパネルのユーザーアカウントの設定から、「ユーザーアカウント制御の有効化または無効化」により、UAC 機能を無効化することが可能である。
Web プラットフォームのエンドポイントであるWeb ブラウザInternet Explorer はWindows XP SP2において、ファイルのダウンロードやポップアップを通知する「情報バー」、不適切な内容の表示や危険性の高いソフトウェアをバックグランドでダウンロードさせるポップアップウィンドウを表示させない「ポップアップブロック」、不必要なアドオンを簡単に無効化させる「アドオンの管理」などセキュリティ強化がなされた。
バージョンアップされたIE7 も、Windows Vistaでのセキュリティに関する基本的な考え方を引き継ぎセキュリティ強化されている。と同時に、IE7 は、Windows XP および2003 向けにも用意されるため、セキュリティ強化の恩恵を受けることができる。ただし、Vista 固有の機能を活用したセキュリティ強化もあるため、固有の部分と共通の部分とに分けて解説する。
まずは、Vista 上で固有のセキュリティ強化である「保護モード」について解説する。「保護モード」とはIE を介した悪意のある攻撃からシステムを保護することを目的とし、Windows Vista のUAC、UIPI(ユーザーインターフェイス特権の分離制御)、IL(整合性レベル) と連動し動作する。
「保護モード」により、ブラウザ経由で侵入しようとするアプリケーションからの防御のため、デフォルトのセキュリティレベルが高くなり、ファイルや設定の変更ができないようになっている。また、既定の設定ではWeb を参照する権限しか与えられておらず、ブラウザを経由した攻撃からPC を保護するようになっている。そのため、ActiveX を利用したマルウェア(悪意のあるソフトウェア)のサイレントインストールに対しても、警告ダイアログを表示し利用者に危険性を通知する。
「保護モード」で動作しているIE は、低IL で動作しているため、安全な領域への書き込みのみが許されていることになる。また、UIPI の制限により、上位プロセスにウィンドウメッセージを送信することはできない。ActiveX のインストールは、UAC の管理者への昇格により管理者権限を一時利用できるようにすることで可能となる。
たとえば表示しているページの「ソースの表示」を行うとしよう。既定ではメモ帳が起動されるが、「保護モード」では警告が表示される。これは、低IL で動作するIE から中IL で動作するメモ帳を起動しようとすることから発生する。
「保護モード」を無効にする場合は、[管理者として実行]や、インターネットセキュリティの設定を変更する。ただし、インターネットセキュリティの設定で「保護モード」を無効としても、UAC によりユーザー権限となるため、ActiveX インストール時には昇格することが必要となる。
![]() ※クリックで拡大 |
図2 フィッシングの疑いのあるサイト(左)と フィッシングサイト報告されたサイトへの アクセス時の警告(右) |
Windows Vista およびWindows XP/2003 上の共通のセキュリティ強化にはいくつかあるが、代表的なものとして、フィッシングフィルタとActiveX オプトインを紹介する。
フィッシングフィルタは、疑わしいサイトへのアクセスに対しユーザーに警告し、状況に応じて特定のサイトの表示をブロックすることで、クレジットカードや口座番号、ログイン名やパスワードといった個人情報を盗もうとする偽装サイトへのアクセスを防ぐセキュリティ機能だ。
フィッシングフィルタは、フィッシングサイトの持つ手口の特徴をチェックしローカルで分析する。また、アクセスしたサイトがフィッシングサイトかどうかオンライン上のサービスからサイト登録情報を更新し判定する。オンラインのサービスは、マイクロソフトとパートナー企業により情報更新がされている。オンラインサービスとしてフィッシングサイトの情報を提供しており、そのサービスに1 時間に数回の頻度でアクセスしローカルのフィッシングサイト情報を更新している。
サイトへのアクセスを行う際、フィッシングサイトとして疑わしいもの、フィッシングサイトとして報告されているものの2 種類での警告を行い、報告されているものはサイト表示そのものをブロックする(図2)。
![]() ※クリックで拡大 |
図3 低いセキュリティ設定に対し強調表示による通知
|
そのほかに、「Internet Explorer(アドオンなし)」のスタートメニューより、アドオンなしでの起動を可能とした。不安定なドライバをインストールした際セーフモードでOS を起動してアンインストールするイメージに近いが、システムを不安定にするアドオンを取り除くことを支援する。
また、有効期限が切れや証明書の名前が無効、名前とサイト名が不一致、あるいは信頼される発行元ではないところからの証明書を使用のような証明書とサイトの不整合があると、サイト画面のブロックと不一致の通知を行う。
重要なセキュリティ設定を変更し、過度にセキュリティ設定が低い場合も、設定ダイアログ上で設定変更した項目を赤く強調表示する(図3)。
また、履歴やキャッシュ、cookie やフォームデータなどのローカルPC に保存される情報を一括消去できるようになった。cookie などの形式でユーザーの個人情報が残されることがあるため、情報漏えいのリスクを少ない操作で解消できる。
関連コンテンツ
PR
PR
PR