Windowsの弱点として,よく指摘されるのがセキュリティだ。Windowsのセキュリティが,他のOSと比べて本当に弱いかどうかはさておき,圧倒的なシェアから攻撃者に狙われやすい存在なのは間違いないだろう。もちろん実際に被害にあったという報告も桁違いに多い。

 Vistaは,この「セキュリティに弱い」というWindowsの汚名を晴らすために,数多くの改善が施されている。第4回では,これらのセキュリティ面の変更点に焦点を当てよう。

 Vistaの新しいセキュリティ機構の中で,最もユーザーへの影響が大きいのは「ユーザー・アカウント制御」(UAC)だろう。このUACを一言で言うと,セキュリティに影響する操作を簡単に実行させないためのものである。

管理者での操作を全面的に制限

 Windowsにはこれまでも,一般ユーザー,パワー・ユーザー,管理者といった,権限の違うグループが用意されていた。例えば日常的な利用には一般ユーザーのアカウントを使い,設定変更などの管理作業が必要なときだけ管理者のアカウントに切り替えるといった使い方をすれば安全性は高まる。

 だが,管理者権限でないと使えないプログラムというものが存在する。ちょっとした変更やインストールのために,毎回毎回アカウントを切り替えるのも面倒だ。このため,実際には日常使うアカウントに管理者権限を割り当てて使っている人が多いのが現実だろう。

 これはセキュリティ面から見ると,非常に危険である。悪さをするプログラムが侵入した場合に,そのパソコンにどんな操作でも可能になるからだ。

 そこで,マイクロソフトがとった抜本的な対策がUACである。UACを有効にしたVistaでは,管理者グループのユーザーであっても管理者としての操作が簡単にできなくなる。セキュリティに影響するシステム変更をしようとすると,操作の前に改めて注意を促してくる(図3-1)。

図3-1●ユーザー・アカウント制御(UAC)の概要
図3-1●ユーザー・アカウント制御(UAC)の概要
管理者権限を持つユーザーでも,セキュリティにかかわるようなシステム操作をすると,画面が暗転してユーザーのボタン・クリックによる確認を求められ,ほかの操作はできなくなる。ここで許可すると,管理者トークンが送られて操作が可能になる。知らないうちにソフトをインストールされたりOSが書き換えられたりするのを防げる。
[画像のクリックで拡大表示]

重要な変更は同意を求めてから実行

 UACのしくみを具体的に見ていこう。

 Windowsでは,「アクセス・トークン」を使ってユーザーの操作を制御している。ユーザーはログオン時に自分の権限を書いたトークンをもらい,ファイルの読み書きや実行の際に,このトークンを一緒に付けて処理を依頼する。Windowsは,付いてくるトークンをチェックすることで,依頼された操作を許可するかどうか判断する。

 VistaのUACでは,このアクセス・トークンとして「UACトークン」と「管理者トークン」の二つを用意する。このうち,UACトークンは日常に必要な権限が割り当てられている,一般ユーザー向けのトークンである。もう一方の管理者トークンにはほとんどの操作が可能な権限が割り当てられている。

 管理者グループに所属したユーザーは,UACトークンと管理者トークンの両方をもらう。そして,通常の操作の際にはUACトークンだけを一緒に渡す。このトークンでWebの閲覧やメールの読み書き,ファイル操作,アプリケーションの実行といった多くの操作が可能だ。

 だが,セキュリティに影響を与える一部の操作に関しては,管理者トークンがないと実行できないようにシステムで定義されている。そのため,改めて管理者トークンが要求される。

 このときに画面には「ユーザーアカウント制御」というダイアログが表示され,それ以外の部分は暗転した状態になる。ダイアログで操作を許可するかどうかの選択をする以外は一切できない。ここで許可すれば管理者トークンが渡されて実行される。

 もし怪しいプログラムに侵入されても,UACが有効なら勝手にシステムを変更することはできない。変更しようとすると,必ずダイアログが表示されるので,ユーザーがまったく気づかないうちに,ボットやスパイウエアが組み込まれるといったことはありえない。

判断するのはあくまでユーザー自身

 UACの有効性はあくまでユーザー次第だ。実際にVistaを使ってみると,TCP/IPの設定の確認など,ちょっとした操作ですぐにUACのダイアログが表示される。Vistaを導入した当初のように,頻繁に設定をいじるときには,UACを邪魔に感じるだろう。

 そのため,もしかするとUACをオフにしてしまう人もいるかもしれない。あるいは,UACの警告に慣れっこになってしまって,表示されてもろくに読まずに許可してしまう場合もあるだろう。こうなってしまっては,せっかくのUACも宝の持ち腐れである。

IEにも実行権限の考えを追加

 VistaにはInternet Explorer(IE)の新バージョンIE7が搭載される。このIE7はタブ・ブラウザになるなど見た目が大きく変わっているが,それだけではない。OSと連動して,UACと同様に実行権限を管理するようになった。操作に,不必要な余分な権限を与えないことでセキュリティを確保するという狙いである。

 具体的には,IE7を起動すると「保護モード」として立ち上がる。これは,Webの閲覧に必要な権限しか持っていない実行モードだ。保護モードで書き込みができるのはキャッシュやCookieを保存する一時的な領域だけ。その他の領域に書き込んだり,プラグインなどのプログラムを組み込む際には,UACと同様のダイアログが表示される。

 Windows XPまでは,ログオンしているユーザーの権限に関係なく,IEを常に管理者権限として起動していた。これのに比べると,格段に安全になったと言えるだろう。

 また,IE7ではここ2~3年で増えているフィッシング詐欺対策の強化も図られた(図3-2)。具体的には,アクセスしたWebサイトを評価し,フィッシングの恐れのあるサイトと判断するとアドレス・バーを黄色にして警告メッセージを表示する。フィッシングが確実と判断したサイトでは,アドレス・バーの色を赤に変え,そのページは開かない。

図3-2●フィッシング詐欺対策機能を搭載したInternet Explorer7
図3-2●フィッシング詐欺対策機能を搭載したInternet Explorer7
ただし,この機能だけでフィッシング詐欺が完全に防げるとは考えず,あくまでも補助的ツールとして使うべき存在だ。
[画像のクリックで拡大表示]

オンラインでフィッシングを判断

 IE7のフィッシング詐欺対策機能の特徴は,サイトをオンラインでチェックすること。安全なサイトのリストはマイクロソフトのサーバーから定期的にダウンロードしており,この情報に該当するサイトならばそのままアクセスして表示する。

 リストにないサイトをアクセスしようとした場合には,IE7はそのサイトの情報をマイクロソフトのサーバーの情報とインターネット経由で照らし合わせて,フィッシング・サイトかどうかを判定する。サーバーに情報が見つからなかったサイトに関しては,IE7が独自の基準でフィッシング・サイトかどうかを判定する。

 フィッシングではないサイトを「疑いあり」と誤検出した場合には,IE7のメニューからマイクロソフトに報告できる。マイクロソフトでは,集まった報告を基にIE7に配るリストや,サーバーの情報を更新する。これを繰り返すことで検出精度が高まることが期待できる。

迷惑メール対策もようやく標準装備