今後、Windows 10に移行する上で重要になるのがセキュリティ対策である。セキュリティの甘さから生まれるリスクは限りなく危険であり、コンシューマーもビジネスユーザーもこの点は同じだ。de:code 2015では、Windows 10のセキュリティに関するブレイクアウトセッションも開催していたので、語られた内容を紹介しよう。

3つの対策でセキュリティリスクを未然に防ぐ

Windows 10の進化は数多くあれど、セキュリティ面の強化は目覚ましい。まずはWindows 10のセキュリティ対策についてまとめてみよう。Winodws10で強化したセキュリティ対策は「ID管理」「データ保護」「脅威への対抗」の3つだ。

まずは「ID管理」。広く使われているID/パスワードのユーザー認証は、欠点が多い。簡単もしくは連想しやすい短いパスワードを使わせないため、大文字小文字や記号を組み合わせた不規則な文字列、そして定期的な変更をユーザーに求めても、根本的な解決にはならない。なぜなら、複雑なパスワードは記憶するのが難しく、パスワード管理ソフトやメモ書きのテキストファイルを使ったりしているユーザーは多いはずだ。

さらにID/パスワードに関する問題では、リスト型攻撃の増加も発生する。例えば、複数のWebサイトで同じパスワードを使い回していた場合、その文字列はもっとも脆弱(ぜいじゃく)なWebサイトに合わせなければならない。仮に、サイトAのパスワード範囲は8文字まで、サイトBは特定の記号が使用できないという制限があったとしよう。このような制限が各所で発生すると、必然的に「弱いパスワード」を選ぶことになる。

簡単なパスワードは盗まれやすく、攻撃者がID/パスワードを手に入れた途端、各Webサイトに対して総当たりアクセス(ブルートフォースアタック)を行う傾向が強い。現在、ID/パスワードという管理方法は限界に達しているのだろう。近年は、スマートフォンや他のメールアドレスを用いた2要素認証も浸透しつつあるが、それでも完全とは言い切れない。

そこで注目すべきが、Windows 10から実装する「Windows Hello」と「Microsoft Passport」だ。FIDO 2.0準拠やPKIの仕組み(公開鍵と秘密鍵)を使ってチャレンジ&レスポンス認証を行うため、キーロガー対策などあらゆる面でID管理のセキュリティレベルが向上する。

Windows 10から実装する「Windows Hello」。指紋認証や目の虹彩パターン、顔などカメラで撮影し、Windows 10へのサインインやロック解除を行う

Webサイトへのサインインにも、Windows Helloを利用可能。シングルサインオンシステムを併用するため、「Microsoft Passport」という名称を用いている

「de:code 2015」のEXPO会場で展示していたIntelの「FaceRig」。「Intel RealSense」テクノロジーを使っているため、Windows Helloにも使えそうだ

ここでは、Microsoft Passportのロジックを簡単に紹介しよう。最初にWinodws Service 2016(仮称)やMicrosoft Azure AD(Active Directory)で構築した認証プロバイダでユーザー登録を行ったら、クライアント側で鍵ペア(公開鍵と秘密鍵)を作成。秘密鍵をTPM(Trusted Platform Module)に保存し、公開鍵を認証プロバイダにアップロードした後、ユーザーと紐付ける。ここまでが事前準備だ。

認証時はクライアントからサーバーへIDを提示すると、認証プロバイダは乱数をクライアントに返信し、乱数に対して秘密鍵で署名を求める。署名済み乱数を受け取った認証プロバイダは紐付け情報(=公開鍵)を検証し、クライアントへトークンを発行。トークンを受け取ったクライアントは、Webサイトへアクセス可能になる仕組みだ。このチャレンジ&レスポンスでポイントとなるのは、秘密鍵が漏えいしない限り、セキュリティリスクが発生しない点である。秘密鍵はクライアントのTPMに保存するため、中間者攻撃(MITM)を受けてもセキュリティレベルの維持が可能なのだ。

資格証明書の保持に関しても、Windows 10には改良が加わっている。それが「VSM(Virtual Secure Mode)」の存在だ。ハイパーバイザー上で動作するVSMは隔離したマイクロOSとして実存し、資格証明書やトークンはLSAS(Local Securty Auth Service)に可能にする。Windows 10自身とVSMはプロセス間通信でデータを送受信するため、今まで以上にハッキングリスクは低下するだろう。

Windows 10におけるVSMの構造。Windows 10は別のマイクロOSが動作し、資格証明書などを格納する

「データ保護」に関しては、「Enterprise Data Protection」が頼りになる。文字どおりビジネスユーザー向けの機能だが、合わせて紹介しよう。あらかじめポリシー設定で許可したアプリケーション同士ならコピー&ペーストはOKだが、それ以外ではプロテクトが働くというものだ。ITに詳しくないユーザーが、知らずにルールを破ってしまうようなセキュリティ脅威にも有効となる。

未許可のアプリケーションに文字列をコピー&ペーストすると警告アラートが現れる(Build 2015のセッションより)

ファイルの保存ダイアログでも、企業情報を付加することでドキュメントを保護する機能を備える(Build 2015のセッションより)

「脅威への対抗」は、いくつかの新機能を組み合わせて実現している。まず、Windows 10はブートプロセスの完全性を見直している。起動時にマルウェアを検出する「ELAM(Early Launch Anti-Malware)」はWindows 8でも組み込まれていたが、先にデバイスドライバーが読み込まれていたため、拡張子「.sys」のマルウェアが侵入した場合、お手上げだった。

だが、UEFI上で動作するWindows 10は「Platform Secure Boot」というロジックを用いて、ブートローダーに改ざんが加わっていないかをチェック。その上で、カーネルを読み込んだ後、ELAMが動作する仕組みへと変更している。

Windows 10におけるブートプロセスの変更。図ではKMCI(Kernel Mode Code Integrity)の部分でELAMが起動する(Microsoft Igniteのセッションより)

Windows Defenderも新しくなった。Winodws 10では「Windows Defender Cloud Protection」を導入し、PCを今まで以上に保護する仕組みを加えた。MicrosoftはOutlook.comに代表するメールサービスを運営しているが、多大なトラフィックが発生し、1分間に1,000万通のスパムメールをブロックしているそうだ。そこから得た情報(攻撃者が使用する文面やマルウェア)を解析し、クラウド上に蓄積。加工したデータをクライアントに配信して、PCを保護する。さらに、Internet ExplorerのSmart Screenなどにも同様のロジックを組み込んで、30億種のマルウェアアラートを実現可能にする。

「Windows Defender Cloud Protection」の概要。常にクラウド上のデータベースと連動し、常に最新のマルウェアの署名ファイルによってPCを保護する

この他にも、ASLR(アドレス空間配置のランダム化)対策や、脆弱性攻撃によって行われる任意のコード実行を防ぐControl Flow Guard、コード署名を付与したアプリケーションだけを動作可能にするDevice Guardなど、数多くのセキュリティ対策を講じている。筆者もまだ片りんに触れた程度だが、昨今のセキュリティインシデントを目にしていると、古いOSにとどまる理由を見付けるのは難しそうだ。

阿久津良和(Cactus)