数々の情報が公開され、新しもの好きのユーザーには垂涎ものとなるWindows 8(開発コード名)。新OSに組み込まれる機能によって、我々のコンピューター使用スタイルも大きく変化するだけに興味深い情報ばかり。そこで今週のレポートは、Windows 8における起動メニューの改良とセキュリティ強化に伴う影響などの情報をお送りする。

テキスト画面から脱却した新UI

前回はWindows 8のハイバネートモードから復帰に関する改善を紹介した。OSの起動に関する改良点の一つとして報じられた情報のなかでも興味深いが、起動に関するオプション設定だ。Windows Vistaや現行OSであるWindows 7も、MS-DOS時代の呪縛となるテキストメニューから逸脱していない。強いて言えば、セットアップDVD-ROMなどから起動する修復モードはWindows PEをベースにしたWindows RE(Recovery Environment:回復環境)でGUI(Graphical User Interface)を使えるぐらいである(図01~02)。

図01 Windows 7の起動オプション画面。黒地に白文字というMS-DOSを連想させるものだが、日本語表記が用いられているだけマシである

図02 Windows REの一部であるシステム回復オプションダイアログ。GUIを用意しているが、この画面にたどり着くまでの操作と所要時間が煩雑な印象を与える

Microsoftはこの点を問題視し、Windows 8では統一したGUIスタイルを採用した。このUIデザインがメトロスタイルの一部であるか断言できないが、大きなボタンと読みやすい英文フォント。前画面に戻る際のボタンデザインなどを踏まえれば、メトロスタイルとの共通項は多い(図03~04)。

図03 Windows 8起動時に選択できるオプション設定。これまでの起動オプションとシステム回復オプションを持ち合わせたような内容である

図04 「Troubleshoot」を選択すると設定情報の初期化を行う「Refresh your PC」、コンピューターを初期状態に戻す「Reset your PC」を選択できる

興味深いのは「Troubleshoot」の内容だ。ユーザーファイルを維持しながらシステム設定の情報を初期化する「Refresh your PC」。説明文書を読むとWindows Storeからダウンロードしたアプリケーションは保持するものの、それ以外のアプリケーションはすべて削除するという。

実際に実行してみると、コンピューターの再起動とWindows 8の初期化が実行され、ログオン操作やセットアップDVD-ROMの挿入をうながされ、最終判断を経てからWindows 8の初期化が行われた。完了後はコンピューターが再起動し、最初にWindows 8をセットアップする際と同じ処理(レジストリ情報の更新など)が実行される。全体的な所要時間は仮想マシン上のWindows 8 Developer Previewで30分ほどかかった(図05~06)。

図05 ログオン操作などを経て、最終判断をうながされる。<Refresh>ボタンをクリックすることで設定の初期化などが実行される

図06 実際の初期化画面。所要時間は仮想ソフト上のWindows 8 Developer Previewで20分程度だった

現時点ではWindows Storeも使用できず、そのほかのアプリケーションも導入していなかったものの、仮想マシンのポテンシャルを引き出す専用ツールは削除されたことは確認できた。また、Windows Update経由の修正プログラムや、Windowsの機能で追加・削除したコンポーネントも初期化されている(図07)。

図07 実行後はデスクトップに削除したアプリケーションの一覧を記述したHTMLファイルが生成される

これまでのWindows OSでは、ユーザーが行った設定や追加したアプリケーションによって不具合が発生し、最終的にはユーザーデータのバックアップを行ってからOSの再インストール、という手段を強いられてきた。その点、Windows 8の本機能を用いることで簡単にOSを初期化できるのは、コンピューター初心者にとって大きな利点となりそうだ。なお、「Advanced options」では、自動修復やコマンドプロンプトの起動、システムの復元、イメージファイルを用いた復元が可能である(図08)。

図08 「Advanced options」からは様々な方法を用いた復元を実行できる

この新UIはマルチブート環境にも採用されており、従来の黒地に白文字ではなく、メトロスタイルのデザインに変更された。マルチブートに関するオプションも統一されており、これまで中上級者向けのテクニックと言われてきたOSのマルチブートだが、Windows OSに限ったマルチブートであれば、コンピューター初心者でも恩恵を受けられるだろう(図09~10)。

図09 Windows 7を導入したコンピューターにWindows 8を導入すると、画面のようなマルチブート画面が現れる

図10 マルチブートに関する設定も統一されたUIから操作可能。設定項目に関しては特に目新しいものは見つからなかった

強化されるセキュリティ対策は利便性につながるか

OSを取り巻く環境で欠かせないのがセキュリティの強化だ。MicrosoftもWindows XP Service Pack 2を手始めに、OS自身のセキュリティ関連機能を組み込み、Windows Vistaでは、GIANT Company Softwareを買収して同社のGIANT AntiSpywareをベースに開発したWindows Defenderを搭載してマルウェアへの対処を強化。Windows 7の時代になると、外部ツールながらもウイルス対策機能を備えたWindows Defenderの上位版にあたる、Microsoft Security Essentialsを公開。そして現在に至っている。

ウイルスやマルウェアに代表させる外部からの攻撃とOSの堅牢性を高める取り組みはイタチごっこであり、Windows 8でもこれまでと同様にセキュリティ面の強化を打ち出している。大別すると改良点は四つ。一つめはWindows Vista時代から搭載されているメモリ内に配置されるコードやデータをランダムに配置し、決め打ちで狙ってくるマルウェアの被害を未然に防ぐASLR(Address Space Layout Randomization)の改良。Windows 8では、このASLRが担う領域を拡張し、Windows 8上で動作するサービスやアプリケーションにも適用するという。

二つめはカーネルの改良。これまでユーザーモードは様々なアプリケーションが動作することを前提に各制限を設けてきたが、Windows 8ではこの制限をカーネルモードにも適用し、メモリアドレスの参照ミスによるぜい弱性や、メモリ領域の確保における整合性チェックを加えることでセキュリティを強化している。

三つめはアプリケーションが動的にメモリを確保するヒープ領域の改良。こちらもカーネルと同じ整合性チェックの導入や、ASLRの機能に似た割り当て順序のランダム化を用いている。四つめはInternet Explorer。一般的なアプリケーションでは、メモリ解放後にアプリケーションが誤って参照すると自身のクラッシュを引き起こす、use-after-free(解放後使用)というエラーがある。Microsoftの調査によると同ロジックに起因するぜい弱性が75%に迫るため、関数テーブルの作成制限など新たなガード機能を搭載するに至った。また、前述したASLRのロジックも導入するという。

これらの改良は字面を追いかけてわかるように、システム内部に対するものであり、ユーザーレベルでは大きな変化は生じないように見える(ASLRの強化がサードパーティ製アプリケーションに適用される場合、ベンダーはWindows 8への対応が必要になる可能性は残される)。大きく変化するのが実行ファイルの抑制。

これまではInternet Explorer経由でダウンロードしたファイルはゾーン情報を元にした実行の制限が設けられていた。Windows 8では、Internet Explorer 8から導入されたSmartScreenフィルターと連動し、マルウェアなど危険な実行ファイルの起動を抑制するという(図11)。

図11 SmartScreenフィルターを用いてファイルの実行を制限している(画面は公式サイトの動画より)

SmartScreenフィルターはMicrosoftが独自管理するデータベースと連動しており、ユーザーが能動的に何らかの動作を行う必要はない。だが、ダウンロードしたファイルを実行するたびに、Microsoftへ情報を送信するロジックをユーザーが望むのかは少々疑問である。もちろん送信される情報から個人が特定されることはないものの、あまり気持ち良いものではない。確かにユーザーのコンピューター経験値によっては同機能が役立つ場面も否定できず、従来の制限を鑑みればユーザー操作で同機能を無効にすることは可能なだけに、ユーザーの使用スタイルによって有無の選択を行うべき機能になりそうだ。

阿久津良和(Cactus