次の方法で共有


Windows 10 のセキュリティの概要

このガイドでは、Windows 10 オペレーティング システムの最も重要なセキュリティ強化について詳しく説明し、そのセキュリティ機能の多くについてより詳しく説明された記事へのリンクを示します。可能であれば、Windows 10 のセキュリティ機能の実装と構成に役立つ具体的な推奨事項が提供されます。

はじめに

Windows 10 は、あらゆる攻撃によるセキュリティ上の既知の脅威や最新の脅威から保護できるように設計されています。Windows 10 で採用されているセキュリティ機能の 3 つの大まかなカテゴリは次のとおりです。

  • ID とアクセス制御: この機能は、ユーザー認証のセキュリティの簡略化と強化を同時に実現できるように、大幅に拡張されました。導入しやすく使いやすい多要素認証 (MFA) を通じてユーザー ID を適切に保護する Windows Hello と Microsoft Passport などがあります。もう 1 つの新機能は、Credential Guard です。これは、仮想化ベース セキュリティ (VBS) を使って、Windows 認証サブシステムとユーザーの資格情報を保護します。

  • 情報の保護: 保存された情報、使用中の情報、転送中の情報を保護します。保存データを保護するための BitLocker や BitLocker To Go に加えて、Windows 10 にはデータの分離と含有を実行するエンタープライズ データ保護によるファイル レベルの暗号化が搭載されています。エンタープライズ データ保護と Rights Management サービスと組み合わせると、データが企業ネットワークから離れても暗号化を維持できます。Windows 10 では、仮想プライベート ネットワーク (VPN) とインターネット プロトコル セキュリティを使ってデータのセキュリティを維持することもできます。

  • マルウェアへの対抗: 重要なシステムとセキュリティ コンポーネントを脅威から分離できるアーキテクチャの変更点が含まれています。VBS、Device Guard、Microsoft Edge、まったく新しいバージョンの Windows Defender など、Windows 10 のいくつかの新機能はマルウェアの脅威を軽減するのに役立ちます。さらに、Windows 8.1 オペレーティング システムの多くのマルウェア対策機能 (アプリケーションのサンドボックス化を行う Appcontainer や、トラスト ブートなどの多数のブート保護機能を含む) が、Windows 10 にも取り込まれており、強化されています。

ID とアクセス コントロール

これまでどおり、アクセス制御は次の 3 つのコンポーネントが関係するプロセスです。

  • 識別 - ユーザーが、ファイルやプリンターなどのリソースにアクセスするために一意の ID をコンピューター システムにアサートします。定義によっては、ユーザーはサブジェクトと呼ばれ、リソースはオブジェクトと呼ばれます。

  • 認証 - アサートされた ID を証明するプロセスと、サブジェクトが本当に**サブジェクトであることの検証です。

  • 承認 - 認証されたサブジェクトのアクセス権とオブジェクトのアクセス許可を比較し、要求されたアクセスを許可または拒否するためにシステムが実行します。

これらのコンポーネントの実装方法により、攻撃者による機密データへのアクセスを防ぐ方法が変わります。ID を証明し、データへのアクセスを承認されたユーザーだけが、そのデータにアクセスできます。ただし、セキュリティの観点では、ID の証明にはさまざまなレベルがあり、承認の制限にもさまざまな要件があります。ほとんどの企業環境にはアクセス制御の柔軟性が必要なため、オペレーティング システムにとっては課題となります。表 1 に、Windows のアクセス制御の一般的な問題と Windows 10 の解決策を示します。

表 1. アクセス制御の一般的な課題に対する Windows 10 の解決策

アクセス制御の課題 Windows 10 の解決策

組織は、代替手段が複雑すぎたり、展開にコストがかかりすぎるため、パスワードをよく使います。

スマート カードなど、パスワードの代替手段を選んだ組織は、スマート カード リーダー、スマート カード、管理ソフトウェアを購入して管理する必要があります。MFA コンポーネントが失われたり破損すると、これらのソリューションにより生産性が低下します。そのため、スマート カードなどの MFA ソリューションは、VPN や特定の資産にのみ使用される傾向があります。

生体認証対応デバイスの Windows Hello と Microsoft Passport により、MFA がシンプルになります。

タブレット ユーザーは、パスワードをタッチスクリーンで入力する必要があるため、エラーが発生しやすく、キーボードよりも効率が低下します。Windows Hello により、安全な顔認識ベースの認証が可能になります。

Windows Hello により、安全な顔認識ベースの認証が可能になります。

IT は、アクセス制御と監査の要件を満たすため、Microsoft 以外のツールを購入して管理する必要があります。

Windows Server 2012 オペレーティング システムと組み合わせると、ダイナミック アクセス制御により柔軟なアクセス制御と監査を行って、行政による多くのセキュリティおよび規制要件を満たすことができます。

ユーザーは、パスワードの入力を好みません。

シングル サインオン (SSO) により、ユーザーは Microsoft Passport で 1 回サインインすると、再認証しなくてもすべての企業リソースにアクセスできるようになります。

Windows Hello によって、安全な指紋認識および顔認識ベースの認証が可能になり、機密性の高いリソースにアクセスするときにユーザー プレゼンスを再検証することができます。

Windows では、ログオン試行の遅延が延長されているため、ブルート フォース攻撃を検出した場合はユーザー アカウントをロックアウトすることができます。

システム ドライブで BitLocker が有効になっており、ブルート フォース攻撃に対する保護が有効になっている場合、間違ったパスワードが指定された回数入力されると Windows は PC を再起動して、ハード ドライブへのアクセスをロックした後、デバイスの起動とディスクへのアクセスを行うために 48 桁の BitLocker 回復キーの入力をユーザーに求めることができます。

 

以降のセクションでは、これらの課題と解決策について詳しく説明します。

Microsoft Passport

Microsoft Passport は、Windows に完全に統合された強固な 2 要素認証 (2FA) を行い、パスワードを登録済みのデバイスと PIN または Windows Hello の組み合わせに置き換えます。Microsoft Passport は、概念的にはスマート カードに似ていますが、より柔軟です。認証は、文字列比較 (パスワードなど) ではなく非対称キー ペアを使って実行されるため、ハードウェアを使ってユーザーのキー生成情報を保護することができます。

スマート カードとは異なり、Microsoft Passport ではスマート カード展開に必要なインフラストラクチャ コンポーネントを追加する必要がありません。具体的には、公開キー基盤 (PKI) が不要です。既に PKI を使っている場合 (セキュリティで保護されたメールや VPN 認証など)、既存のインフラストラクチャを Microsoft Passport で使うことができます。Microsoft Passport では、スマート カード テクノロジの主な利点である、仮想スマート カードの展開の柔軟性と物理スマート カードの堅牢なセキュリティを組み合わせ、それぞれの欠点を排除しています。

Microsoft Passport には、最新の Windows 認証に対して、次の 3 つの大きな利点があります。柔軟性の向上、業界標準ベース、効果的なリスク軽減です。以降のセクションでは、各利点を詳しく見てみましょう。

柔軟性

Microsoft Passport はこれまでにない柔軟性を発揮します。パスワードやスマート カードの形式と使用方法は固定されていますが、Microsoft Passport は、管理者とユーザーの両方に認証を管理するためのオプションを提供します。何よりもまず、Microsoft Passport は生体認証センサーおよび PIN と連動します。次に、PC での認証要素の 1 つとして、PC だけでなく携帯電話を使うこともできます。最後の点として、PKI インフラストラクチャから取得されたユーザー資格情報を使うことも、Windows 自身が資格情報を作成することもできます。

Microsoft Passport には、長くて複雑なパスワードに勝るオプションが用意されています。頻繁に変更されるパスワードを記憶し、再入力することをユーザーに求めるのではなく、Microsoft Passport では Windows Hello を通じて PIN ベース認証と生体認証を行って、ユーザーを安全に識別することができます。

Microsoft Passport を使うと、データ センターの柔軟性も実現します。展開するには、Active Directory 環境に Windows Server 2016 ドメイン コント ローラーを追加する必要がありますが、既存の Active Directory サーバーを置き換えまたは削除する必要はありません。Microsoft Passport は、既存のインフラストラクチャに構築および追加されます。社内サーバーに追加したり、Microsoft Azure Active Directory を使って Microsoft Passport をネットワークに展開したりすることができます。Microsoft Passport の使用で有効にすべきユーザーの選択は、完全に自分次第です。保護する項目とサポートする認証要素を選びます。この柔軟性により、Microsoft Passport を使って、2FA を現在装備していないユーザーにこれを追加して、既存のスマート カードまたはトークンの展開を簡単に補完したり、機密性の高いリソースまたはシステムに保護を追加する必要のあるシナリオで Microsoft Passport を簡単に展開したりできます。

標準化

ソフトウェア ベンダーと企業ユーザーの両者が、専用 ID と認証システムは将来性がないと認識しています。将来性があるのは、さまざまなデバイス、基幹業務 (LOB) アプリ、外部アプリケーションと Web サイトの間で安全な認証を行うことができる、オープンで相互運用可能なシステムです。このため、業界関係者のグループが FIDO (Fast IDentity Online Alliance) を形成しました。FIDO Alliance は、強力な認証デバイス間の相互運用性不足と、ユーザーがユーザー名とパスワードを作成および記憶する必要がある際に直面する問題の解決に取り組む非営利組織です。FIDO Alliance は、オンライン サービスのユーザーを安全に認証するパスワードに取って代わる、オープンで拡張性と相互運用性に優れたメカニズムを定義する仕様を開発することで、認証の性質を変化しようとしています。セキュリティ デバイスとブラウザー プラグインの新しい標準を使うと、既存または将来のさまざまな FIDO 対応デバイスのインターフェイルとして機能する Web サイトまたはクラウド アプリケーションを実現できます。

2014 年、Microsoft は FIDO Alliance の理事会に加盟しました。FIDO 標準により、グローバル エコシステムが強固なパスワードレス認証のユーザー エクスペリエンスを一貫して大幅に改善するためのユニバーサル フレームワークが実現できます。2014 年 12 月に公開された FIDO 1.0 仕様では、パスワードレス (UAF とも呼ばれる) と 2 要素認証 (U2F) の 2 種類の認証が提供されています。FIDO Alliance は、U2F と UAF FIDO 1.0 標準の最高の部分を組み合わせて 2.0 仕様の提案作成に取り組んでいます。もちろん、新しい考え方も取り込んでいます。Microsoft は、レビューやフィードバックを受けるため FIDO 2.0 仕様ワークグループに Microsoft Passport テクノロジを提供しました。FIDO 2.0 仕様の進展に合わせて FIDO Alliance と継続的に連携しています。FIDO 製品の相互運用性は FIDO 認証の特長です。FIDO ソリューションを市場に導入すると、企業とコンシューマーの両方にとって重要なニーズを解決できると Microsoft は考えています。

効率性

Microsoft Passport は、2 つの主要なセキュリティ リスクを効率的に軽減します。まず、ログオン時にパスワードを使う必要がなくなるため、悪意のあるユーザーがユーザーの資格情報を盗んで再利用するリスクが軽減されます。ユーザーのキー生成情報は、ユーザー デバイスのトラステッド プラットフォーム モジュール (TPM) 内で生成され、使うことができます。これにより、キー生成情報を取得して再利用しようと思っている攻撃者から保護することができます。次に、Microsoft Passport は非対称キー ペアを使うため、ユーザーがアクセスする ID プロバイダーや Web サイトのセキュリティが侵害されている場合でも、ユーザーの資格情報が盗まれることがありません。

攻撃者は、物理デバイスにアクセスし、ユーザーの生体認証を偽装したり、PIN を推測したりする方法を見つけない限り、TPM によって保護されている Microsoft Passport の資格情報のセキュリティを侵害することはできません。しかも、このすべてを TPM のハンマリング対策機能がデバイスをロックする前に実行する必要があります。このため、パスワード フィッシング攻撃よりハードルが高くなります。

Windows Hello

Windows Hello は、Microsoft Passport に用意された新しい生体認証サインイン オプションの名前です。生体認証はオペレーティング システムに直接組み込まれているため、ユーザーは顔または指紋を使ってデバイスのロックを解除できます。この結果、ユーザーの一意の生体認証識別子とデバイス自体の組み合わせによって、デバイスとリソースの認証が可能になります。

Windows Hello に使われるユーザーの生体認証データは、ローカルのジェスチャと見なされるため、ユーザーのデバイス間でローミングすることはなく、一元的に保存されることもありません。センサーが取得するユーザーの生体認証イメージは、アルゴリズム形式に変換され、センサーが取得した元のイメージに戻すことができません。TPM 2.0 対応デバイスでは、データがデバイスから削除されると読み取りできなくなる形式で生体認証データが暗号化されます。複数のユーザーがデバイスを共有している場合、各ユーザーが自分の Windows プロファイルに Windows Hello を登録して使うことができます。

Windows Hello では、エンタープライズ シナリオに適した次の 2 つの生体認証センサー オプションがサポートされています。

  • 顔認識: 特殊な赤外線カメラを使い、写真やスキャンと実際の人物の違いを確実に見分けます。複数のベンダーが、このテクノロジを組み込んだ外付けカメラを出荷しており、主要な製造元は顔認識テクノロジを搭載した統合デバイスを既に出荷しています。

  • 指紋認識: 指紋センサーを使ってユーザーの指紋をスキャンします。指紋リーダーは、数年前から Windows を実行しているコンピューターで使うことができましたが、Windows 10 の検出、スプーフィング対策、および認識アルゴリズムは以前のバージョンの Windows より強化されています。既存の指紋リーダーのほとんどは (外付けまたはノート PC や USB キーボードとの一体型に関係なく)、Windows Hello で使うことができます。

Windows Hello には、いくつかの主なメリットがあります。まず、攻撃者はデバイスを入手して、ユーザーの生体認証 ID を偽装する必要があり、パスワードや PIN の盗難より困難なため、資格情報の盗難や共有の問題に対処できます。次に、生体認証を使うと、ユーザーは認証システムを常に手元に置くことができます。覚えられなかったり、失くしたり、置き忘れることはありません。ユーザーは、長すぎて複雑なパスワードを覚えられないと心配するのではなく、すべての Windows デバイスにログインするための便利で安全な方法を活用できます。最後の点として、追加の展開および管理は必要ありません。Windows Hello のサポートはオペレーティング システムに直接組み込まれているため、追加のドライバーを展開する必要はありません。

ブルート フォース攻撃への対抗

ブルート フォース攻撃では、攻撃者がユーザーのパスワード、PIN、場合によっては生体認証 ID の推測を何度も繰り返して正しい答えを得ることにより、デバイスに簡単に侵入するプロセスです。これまでのいくつかのバージョンの Windows において、Microsoft はこのような攻撃が成功する可能性を大幅に下げる機能を追加してきました。

Windows 7 オペレーティング システムとそれ以前のバージョンでは、複数回間違えた場合は次の推測まで時間を空けたり、推測できないようにするという簡単な方法でブルート フォース攻撃から防御していました。ユーザーがフル パスワードを使ってログオンするときに、パスワードを複数回間違って入力した場合、Windows は次の入力まで数秒間待機することをユーザーに強制します。ブルート フォース攻撃を検出した場合、Windows からアカウントを一定期間ロックアウトすることを選ぶこともできます。

Windows 8.1 と Windows 10 では、資格情報が TPM に関連付けられている場合、さらに強力な形式 (ただし、オプションです) のブルート フォース攻撃に対する保護がサポートされます。オペレーティング システムが Windows サインインに対してブルート フォース攻撃を検出したため、BitLocker がシステム ドライブを保護する場合、Windows はデバイスを自動的に再起動し、回復キー パスワードが入力されるまで BitLocker を回復モードにすることができます。このパスワードは、事実上推測不可能な 48 桁の回復コードで、Windows を正常に起動するために使う必要があります。

ブルート フォース攻撃に対する保護を構成する方法について調べるには、システム ドライブで BitLocker 保護が有効になっているテスト用の Windows 10 PC を使い、BitLocker 回復キーを印刷して使うことができるようにしてください。その後、gpedit.msc を実行してローカル グループ ポリシー エディターを開き、[コンピューターの構成]、[Windows の設定]、[セキュリティの設定]、[セキュリティ オプション] の順に移動します。ポリシー [対話型ログオン: コンピューター アカウントのロックアウトのしきい値] を開き、図 1 に示すように値を [5] に設定します。

図 1

図 1. ロックアウトするまでの無効なアクセス試行回数を設定します。

ここでは、お使いの PC でブルート フォース攻撃に対する保護が構成されています。PC を再起動します。ログオンを求められたら、PC が再起動するまで正しくないパスワードを入力します。ここでは、48 文字の回復キーの推測を試みます。さいわい、事前に印刷してあります。

情報の保護

出張の際は、組織の機密データも同時に移動することになります。機密データがどこに保存されているとしても、未承認のアクセスから保護する必要があります。Windows には、Windows 2000 オペレーティング システムの暗号化ファイル システム以降、悪意のある攻撃者から保護する保存データ保護ソリューションを提供する点で長い歴史があります。最近では、BitLocker がドライブやポータブル ドライブ全体の保護を行ってきました。Windows 10 では、BitLocker が個々のファイルも保護するようになり、データ損失防止機能も備えています。Windows では、既存のオプションを強化し、新しい方法を提供することで、データ保護が向上し続けています。

表 2 に、データ保護に関する具体的な考慮事項と、Windows 10 と Windows 7 でそれらに対処する方法を示します。

表 2. Windows 10 と Windows 7 におけるデータ保護

Windows 7 Windows 10

BitLocker を使って PIN によってスタートアップを保護している場合、キオスクなどの PC をリモートで再起動することができません。

最新の Windows デバイスでは、すぐに使えるデバイス暗号化により保護が許可されており、BitLocker 暗号化キーをコールド ブート攻撃からシームレスに保護する SSO がサポートされています。

ネットワーク ロック解除により、内部ネットワークに接続されると PC が自動的に起動します。

ユーザーが BitLocker の PIN またはパスワードを変更するには IT 部門に問い合わせる必要があります。

最新の Windows デバイスでは、BitLocker 暗号化キーをコールド ブート攻撃から保護するため、プリブート環境で PIN が必要なくなりました。

標準的な特権を持つユーザーは、PIN が必要なレガシ デバイスで BitLocker の PIN またはパスワードを変更できます。

BitLocker を有効にすると、プロビジョニング プロセスに数時間かかることがあります。

BitLocker の事前プロビジョニング、ハード ドライブの暗号化、および使用領域のみの暗号化により、管理者は新しいコンピューターで BitLocker をすぐに有効にできるようになります。

自己暗号化ドライブ (SED) では、BitLocker の使用はサポートされていません。

BitLocker では、暗号化されたハード ドライブへの暗号化のオフロードがサポートされます。

管理者は、別個のツールを使って暗号化されたハード ドライブを管理する必要があります。

BitLocker では、オンボード暗号化ハードウェア ビルトインによる暗号化されたハード ドライブがサポートされるため、管理者は使い慣れた BitLocker 管理ツールを使って管理できます。

新しいフラッシュ ドライブの暗号化に、20 分以上かかる場合があります。

BitLocker To Go の使用領域のみの暗号化により、ユーザーはドライブを数秒間で暗号化することができます。

システム構成の変更が生じたとき、BitLocker により回復キーの入力がユーザーに求められることがあります。

BitLocker では、ディスクの破損が発生したときや、PIN またはパスワードを紛失したときのみ、回復キーの入力がユーザーに求められます。

ユーザーは、PIN を入力して PC を起動し、パスワードを入力して Windows にサインインする必要があります。

最新の Windows デバイスでは、すぐに使えるデバイス暗号化により保護が許可されており、BitLocker 暗号化キーをコールド ブート攻撃から保護できる SSO がサポートされています。

 

以降のセクションでは、これらの機能強化について詳しく説明します。

ドライブとファイルの暗号化の準備

理想的な種類のセキュリティ対策とは、実装および使用中もユーザーに対して透過的な対策です。セキュリティ機能が原因で遅延や問題が発生する可能性は常にあるため、ユーザーがセキュリティをバイパスしようとする可能性は高くなります。このような状況は、特にデータ保護に当てはまりますが、まさに組織が避けるべきシナリオです。

ボリューム全体、リムーバブル デバイス、または個々のファイルのどれを暗号化する予定かに関係なく、Windows 10 は簡素化された使いやすいソリューションを提供することでニーズを満たします。実際、事前にいくつかの手順を実行することで、データ暗号化の準備を行い、展開を迅速かつスムーズに行うことができます。

TPM の事前プロビジョニング

Windows 7 では、TPM の使用準備には次のようないくつかの課題がありました。

  • BIOS で TPM を無効にできるため、他のユーザーは BIOS 設定に移動して有効にするか、ドライバーをインストールして Windows 内から有効にする必要があります。

  • TPM を有効にした場合、再起動が 1 回以上必要になることがあります。

基本的に、これはかなり面倒でした。IT スタッフが新しい PC をプロビジョニングした場合はそのスタッフがこのすべてを処理しましたが、既にユーザーの手元にあるデバイスに BitLocker を追加する場合、そのユーザーが技術的な問題に取り組み、IT に問い合わせてサポートを受けたり、BitLocker をそのまま無効にしたりしていました。

Windows 10 には、オペレーティング システムが TPM を完全に管理できるようにするインストルメンテーションが追加されています。BIOS にアクセスする必要はなく、再起動が必要なシナリオはすべてなくなりました。

ハード ドライブの暗号化の展開

BitLocker は、システム ドライブとデータ ドライブの両方など、ハード ドライブ全体を暗号化できます。BitLocker の事前プロビジョニングにより、BitLocker が有効な新しい PC のプロビジョニングに必要な時間を大幅に減らすことができます。Windows 10 では、Windows をインストールする前に Windows プレインストール環境内で、またはユーザー操作を必要としない自動展開タスク シーケンスの一部として、管理者が BitLocker と TPM を有効にできます。使用済みのディスク領域のみの暗号化と、大部分が空のドライブ (Windows がまだインストールされていないため) を組み合わせた場合、BitLocker の有効化には数秒しかかかりません。

以前のバージョンの Windows では、管理者が Windows のインストール後に BitLocker を有効にする必要がありました。このプロセスは自動化できましたが、BitLocker はドライブ全体を暗号化する必要がありました。このプロセスには、ドライブのサイズとパフォーマンスに応じて数時間から 1 日以上かかったため、展開が大幅に遅れることがありました。Windows 10 では、複数の機能を使ってこのプロセスが強化されています。

デバイスの暗号化

Windows 8.1 以降、Windows は InstantGo をサポートするデバイスで BitLocker のデバイスの暗号化を自動的に有効にします。Windows 10 では、Microsoft は、InstantGo デバイスも含め、かなり広範なデバイスでデバイスの暗号化がサポートされています。Microsoft では、今後のほとんどのデバイスがテスト要件に合格し、最新の Windows デバイス間にデバイスの暗号化が広く普及すると予想しています。さらに、デバイスの暗号化は、デバイス全体のデータの暗号化を透過的に実装することによりシステムを保護します。

標準的な BitLocker 実装とは異なり、デバイスの暗号化は自動的に有効になるため、デバイスは常に保護されます。次の一覧に、このしくみを示します。

  • Windows 10 のクリーン インストールを完了し、Out-Of-Box Experience が完了すると、コンピューターを初めて使う準備ができます。この準備の一環として、デバイスの暗号化が、コンピューター上のオペレーティング システム ドライブと固定データ ドライブでクリア キーを使って初期化されます (これは、標準的な BitLocker の中断状態と同等です)。

  • デバイスがドメインに参加していない場合、デバイスで管理者特権を与えられている Microsoft アカウントが必要です。管理者が Microsoft アカウントを使ってサインインすると、クリア キーが削除され、回復キーがオンラインの Microsoft アカウントにアップロードされ、TPM 保護機能が作成されます。デバイスに回復キーが必要な場合、代替デバイスを使って回復キー アクセス URL に移動し、自分の Microsoft アカウント資格情報を使って回復キーを取得するように求めるガイドがユーザーに表示されます。

  • ユーザーがドメイン アカウントを使ってサインインした場合、ユーザーがデバイスをドメインに参加させて、回復キーが Active Directory ドメイン サービス (AD DS) に正常にバックアップされるまでクリア キーは削除されません。[コンピューターの構成]、[管理用テンプレート]、[Windows コンポーネント]、[BitLocker ドライブ暗号化]、[オペレーティング システム ドライブ] グループ ポリシー設定を有効にし、[AD DS にオペレーティング システム ドライブの回復情報が格納されるまで BitLocker を有効にしない] オプションをオンにします。この構成では、コンピューターがドメインに参加して、回復キーが AD DS にバックアップされ、TPM 保護機能が作成されて、クリア キーが削除されると、回復パスワードが自動的に作成されます。

  • ドメイン アカウントを使ったサインインと同様、ユーザーがデバイスで Azure AD アカウントにログオンすると、クリア キーが削除されます。上の箇条書きで説明したように、ユーザーが Azure AD で認証されると、回復パスワードが自動的に作成されます。次に、回復キーが Azure AD にバックアップされて、TPM 保護機能が作成され、クリア キーが削除します。

Microsoft では、デバイスの暗号化がサポートされているすべてのシステムで有効にすることをお勧めしますが、次のレジストリ設定を変更することでデバイスの自動暗号化処理が行われないようにすることができます。

  • サブキー: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BitLocker

  • : PreventDeviceEncryption が True (1)

  • 種類: REG_DWORD

管理者は、Microsoft BitLocker Administration and Monitoring (MBAM) を通じて、デバイスの暗号化が有効なドメインに参加しているデバイスを管理できます。この場合、デバイスの暗号化により追加の BitLocker オプションが自動的に使用可能になります。変換や暗号化は必要なく、構成の変更が必要な場合は、設定された BitLocker ポリシー全体を MBAM が管理できます。

使用済みのディスク領域のみの暗号化

以前のバージョンの Windows の BitLocker は、ボリューム上のすべてのバイトを暗号化していたため (データのない部分を含む)、ドライブの暗号化に時間がかかることがありました。これは、特にドライブに以前機密データが存在していたが移動または削除された場合は、未使用とマークされているドライブの一部に機密データの痕跡が残っている可能性があるため、ドライブを暗号化する最も安全な方法であるのは間違いありません。

しかし、データを書き込み時にのみ暗号化できる場合に新しいドライブを暗号化する理由はありません。暗号化の時間を短縮するため、Windows 10 の BitLocker ではユーザーがデータのみの暗号化を選ぶことができます。ドライブ上のデータ量によっては、このオプションにより暗号化の時間を 99% 以上短縮できます。

ただし、機密データが暗号化されていない状態で既に保存されている可能性がある既存のボリュームの使用済みの領域のみ暗号化する際は注意が必要です。新しい暗号化データによって上書きされるまで、ディスク回復ツールを使ってそれらのセンターを回復できるためです。一方、まったく新しいボリューム上の使用済みの領域のみ暗号化すると、新しいデータがすべてディスクへの書き込み時に暗号化されるため、セキュリティ上のリスクを引き起こさずに展開時間を大幅に短縮できます。

暗号化されたハード ドライブのサポート

SED は何年も前から使用可能でしたが、以前のバージョンの Windows では、ドライブに重要なキー管理機能がなかったため使用がサポートされていませんでした。Microsoft は、ストレージ ベンダーと協力してハードウェア機能を強化してきたため、BitLocker では暗号化されたハード ドライブと呼ばれる次世代の SED がサポートされるようになりました。

暗号化されたハード ドライブには、ドライブ上のデータを暗号化するオンボードの暗号化機能が備わっているため、暗号化計算を PC のプロセッサからドライブ自体にオフロードし、目的に特化された専用ハードウェアを使ってドライブを迅速に暗号化することにより、ドライブとシステムの両方のパフォーマンスが向上します。Windows 10 でドライブ全体の暗号化を使う予定の場合、ハード ドライブの製造元とモデルを調べて、暗号化されたハード ドライブのいずれかがセキュリティおよび予算の要件を満たすかどうかを判断することをお勧めします。

暗号化されたハード ドライブについて詳しくは、「暗号化されたハード ドライブ」をご覧ください。

プリブート情報保護

ほとんどのセキュリティ制御と同様、情報保護の効果的実装ではセキュリティだけでなく操作性が考慮に入れられます。通常、ユーザーはシンプルなセキュリティ エクスペリエンスを好みます。時差い、セキュリティ ソリューションが透過的になればなるほど、ユーザーが従う可能性が高くなります。

組織がコンピューターの状態やユーザーの意図に関係なく PC 上の情報を保護することは非常に重要です。この保護がユーザーにとって面倒なものとならないようにする必要があります。かつてはよく見られた好ましくない状況として、ユーザーがプリブート時に入力を求められ、Windows ログオン時に再び求められることがありました。ユーザーに入力を複数回求めることは避ける必要があります。

Windows 10 では、最新のデバイス (強力な情報保護構成が行われていれば古いデバイスでも) におけるプリブート環境から本当の意味での SSO エクスペリエンスを実現できます。分離された TPM は、BitLocker の暗号化キーを保存時でも安全に保護ことができ、オペレーティング システム ドライブを安全にロック解除することができます。キーが使用中のためメモリ内にあるときは、ハードウェアと Windows 機能を組み合わせるとキーをセキュリティで保護し、コールド ブート攻撃による未承認のアクセスを防ぐことができます。PIN ベースのロック解除などの他の対策も使うことができますが、わかりやすいものではありません。デバイスの構成によっては、キー保護に関してセキュリティが強化されないことがあります。SSO 用の BitLocker を構成する方法について詳しくは、「BitLocker の対策」をご覧ください。

パスワードと PIN の管理

システム ドライブで BitLocker が有効になっており、PC に TPM が搭載されている場合、BitLocker がドライブをロック解除する前に PIN を入力をユーザーに求めることを選択できます。このような PIN の要求により、PC に物理的にアクセスできる攻撃者が Windows ログオンを表示することさえできないようにすることができます。この結果、攻撃者がユーザー データ ファイルやシステム ファイルにアクセスしたり、変更したりすることが事実上不可能になります。

スタートアップ時に PIN を要求すると、2 番目の認証要素 (2 番目の "知っている情報") として機能するため、セキュリティ機能として役立ちます。ただし、この構成にはいくらかコストがかかります。最も大きなコストのかかるものには、定期的な PIN の変更の要求があります。Windows 7 および Windows Vista オペレーティング システムで BitLocker を使っていた企業では、ユーザーが BitLocker の PIN またはパスワードを更新するとき、システム管理者に連絡する必要がありました。この要求により管理コストが増加しただけでなく、ユーザーが BitLocker の PIN またはパスワードを定期的に変更する意欲を低下させていました。

Windows 10 ユーザーは、管理者の資格情報がなくても、BitLocker の PIN やパスワードを自分で更新できます。この機能によりサポート コストが削減されるだけでなく、ユーザーが PIN とパスワードをより頻繁に変更するようになるため、セキュリティも向上します。加えて、InstantGo デバイスではスタートアップ時に PIN が不要になります。このデバイスは、頻繁に起動するものではなく、システムが攻撃を受ける可能性を大幅に下げる他の軽減策が導入されています。

スタートアップ時のセキュリティのしくみと Windows 10 に用意された対策について詳しくは、「プリブート攻撃から BitLocker を保護する」をご覧ください。

ネットワーク ロック解除の構成

組織によって、地域に固有のデータ セキュリティ要件があります。これは、価値の高いデータが PC に保存されている環境ではよくあります。ネットワーク環境が重要なデータ保護を提供し、必須の認証を強制している場合があります。そのため、それらの PC を建物から持ち去ったり、企業ネットワークから切断してはならないということがポリシーに示されています。物理的なセキュリティ ロックやジオフェンスなどの安全対策は、このポリシーを事後対応型コントロールとして強制するのに役立つことがあります。これ以外に、PC が企業ネットワークに接続されているときのみデータ アクセスを許可する予防型のセキュリティ コントロールが必要です。

ネットワーク ロック解除により、Windows 展開サービスが実行されているワイヤード (有線) 企業ネットワークに接続されたときに、BitLocker で保護されている PC を自動的に起動できるようになります。PC が企業ネットワークに接続されていないときはいつでも、ユーザーはドライブをロック解除するために PIN を入力する必要があります (PIN ベースのロック解除が有効な場合)。

ネットワーク ロック解除には、次のインフラストラクチャが必要です。

  • 動的ホスト構成プロトコル (DHCP) をサポートする Unified Extensible Firmware Interface (UEFI) ファームウェア バージョン 2.3.1 以降がインストールされたクライアント PC。

  • Windows 展開サービスの役割を持つ、Windows Server 2012 が実行されているサーバー

  • DHCP サーバーの役割がインストールされたサーバー

ネットワーク ロック解除を構成する方法について詳しくは、「BitLocker: ネットワーク ロック解除を有効にする方法」をご覧ください。

Microsoft BitLocker Administration and Monitoring

Microsoft Desktop Optimization Pack の一部である MBAM により、BitLocker および BitLocker To Go の管理とサポートが容易になります。最新バージョンの MBAM 2.5 Service Pack 1 には、次の主な機能があります。

  • 管理者は、企業全体のクライアント コンピューター上のボリュームを暗号化するプロセスを自動化できます。

  • セキュリティ担当者は、個々のコンピューターまたは企業全体の準拠状態をすばやく判断できます。

  • Microsoft System Center Configuration Manager により、一元的なレポートおよびハードウェア管理を行うことができます。

  • ヘルプ デスクの負荷を軽減し、BitLocker 回復要求によりエンド ユーザーをサポートします。

  • エンド ユーザーは、セルフ サービス ポータルを使って、暗号化されたデバイスを自分で回復できます。

  • セキュリティ担当者は、回復キー情報へのアクセスを簡単に監査できます。

  • 企業データの保護を保証することにより、Windows Enterprise ユーザーがどこにいても作業を継続できるようにします。

  • 社内に設定した BitLocker 暗号化のポリシー オプションを強制します。

  • System Center Configuration Manager など、既存の管理ツールと統合されています。

  • IT がカスタマイズ可能な回復ユーザー エクスペリエンスを提供します。

  • Windows 10 がサポートされています。

入手方法など、MBAM について詳しくは、MDOP TechCenter の Microsoft BitLocker Administration and Monitoring に関するページをご覧ください。

マルウェアへの対抗

映画では、セキュリティの脅威が常に、モニターの前に座って緑のテキストをスクロールしている悪い攻撃者によって引き起こされているように見えます。現実の世界では、セキュリティの脅威の大部分は人間がまったく介入せずに発生します。ソフトウェアによって私たちの生活の多くが自動化されたのと同様、マルウェアによって PC 上の攻撃も自動化されています。それらの攻撃は執拗です。マルウェアは常に変化しており、PC に感染すると、検出や削除がかなり困難な場合があります。

最善の対策は防止であるため、Windows 10 には強力なマルウェアへの対抗が用意されています。マルウェアへの対抗は、セキュリティで保護されたハードウェアを活用することで、スタートアップ プロセス、コア オペレーティング システムのアーキテクチャ、デスクトップを保護します。

表 3 に、具体的なマルウェアの脅威と、Windows 10 に用意された軽減策を示します。

表 3. 脅威と Windows 10 の軽減策

脅威 Windows 10 の軽減策

ブートキット ファームウェアは、ファームウェアをマルウェアに置き換えます。

すべての認定 PC には、セキュア ブート付きの UEFI が搭載されており、UEFI とオプション ROM 更新には署名済みファームウェアが必要です。

ブートキットは、Windows が起動する前にマルウェアを起動します。

UEFI セキュア ブートでは、Windows より前に悪意のあるオペレーティング システムを起動できないようにするため、Windows ブートローダーの整合性を確認します。

システムまたはドライバーのルートキットは、Windows Defender およびマルウェア対策ソリューションが起動するより前の Windows の起動中にカーネル レベルのマルウェアを起動します。

Windows トラスト ブートは、Windows ブート コンポーネント (Microsoft ドライバーと、Microsoft 以外のドライバーを確認する起動時マルウェア対策 (ELAM) マルウェア対策ドライバー) を確認します。

メジャー ブートは、トラスト ブートと並行して実行され、トラスト ブートと他のブート コンポーネントがシステムを正常にチェックしたことを確証できるようにデバイスのブート状態を確認する情報をリモート サーバーに提供できます。

ユーザー レベルのマルウェアは、システムやアプリケーションの脆弱性を悪用し、デバイスを所有します。

ASLR (Address Space Layout Randomization)、データ実行防止 (DEP)、ヒープ アーキテクチャ、およびメモリ管理のアルゴリズムの機能強化により、脆弱性の悪用に成功する可能性が低下します。

保護されたプロセスは、信頼されていないプロセスを互いに切り離し、機密性の高いオペレーティング システム コンポーネントから切り離します。

Microsoft Hyper-V の上に構築された VBS は、機密性の高い Windows プロセスをユーザー モード プロセスと Windows カーネルから切り離すことで、Windows オペレーティング システムから保護します。

構成可能なコードの整合性により管理ポリシーが強制的に適用されるため、ユーザー モードで実行できるアプリケーションが正確に選択されます。その他のアプリケーションは実行が許可されません。

ユーザーは、危険なソフトウェア (トロイの木馬が埋め込まれた、正当に見えるアプリケーションなど) をダウンロードし、リスクを認識せずに実行します。

SmartScreen アプリケーション評価機能は、コア オペレーティング システムの一部です。Microsoft Edge と Internet Explorer は、この機能を使ってユーザーに警告を表示したり、悪意のある可能性のあるソフトウェアをユーザーがダウンロードまたは実行できないようにすることができます。

マルウェアは、ブラウザー アドオンの脆弱性を悪用します。

Microsoft Edge は、Microsoft Activex や、ツール バーによく使われるブラウザー ヘルパー オブジェクト (BHO) など、以前のバイナリ拡張機能を実行しないユニバーサル アプリであるため、これらのリスクがありません。

悪意のあるコードが含まれる Web サイトは、Microsoft Edge と IE の脆弱性を悪用し、クライアント PC でマルウェアを実行します。

Microsoft Edge と IE のどちらにも拡張保護モードが用意されています。このモードは、AppContainer ベースのサンドボックスを使って、ブラウザーで実行される拡張機能 (Adobe Flash や Java など) またはブラウザー自体で検出された脆弱性からシステムを保護します。

 

以降のセクションでは、これらの機能強化について詳しく説明します。

ハードウェアの保護

Windows 10 は、Windows 8、Windows 7、または Windows Vista が動作するほぼどのハードウェアでも実行できるように設計されていますが、Windows 10 のセキュリティを十分に活かすには、ハードウェア ベースのセキュリティも進歩している必要があります。たとえば、が必要ですなどセキュア ブート付きの UEFI、CPU の仮想化機能 (Intel VT-x など)、CPU メモリ保護機能 (Intel VT-d など)、TPM、生体認証センサーなどです。

セキュア ブート付きの UEFI

PC が起動すると、PC のハード ドライブ上でブートローダーを見つけることでオペレーティング システムの読み込みプロセスが開始されます。安全策がないと、PC は、信頼されているオペレーティング システムかマルウェアかも判断せずにコントロールをブートローダーに渡す可能性があります。

UEFI は、BIOS に置き換わる最新の標準ベース ソリューションです。実際に、BIOS と同じ機能を提供しながら、セキュリティ機能と他の高度な機能を追加します。BIOS と同様、UEFI はデバイスを初期化しますが、セキュア ブート機能を備える UEFI コンポーネント (バージョン 2.3.1 以降) は、オプション ROM、UEFI アプリ、オペレーティング システム ブートローダー内にある信頼されたファームウェアだけをデバイスで起動できるようにします。

UEFI は、ファームウェアを実行する前に、ファームウェアのデジタル署名を確認する内部整合性チェックを実行できます。PC のハードウェアの製造元だけが、有効なファームウェアの署名の作成に必要なデジタル証明書にアクセスできるため、UEFI はファームウェア ブートキットから保護することができます。したがって、UEFI は信頼チェーンの最初のリンクです。

セキュア ブート付きの UEFI は、Windows 8 デバイス以降ハードウェア要件になりました。PC で UEFI がサポートされている場合、既定で有効にする必要があります。多くのデバイスではセキュア ブート機能を無効にすることができますが、スタートアップ プロセスのセキュリティが大幅に低下するため無効にしないことを強くお勧めします。

UEFI とセキュア ブートを備えた PC が起動すると、UEFI ファームウェアはブートローダーのデジタル署名を確認し、デジタル署名後に変更されていないことを確認します。ファームウェアは、信頼された機関がブートローダーのデジタル署名を発行したことも確認します。このチェックにより、ブートローダーが信頼されていることと、署名以降に変更されていないことの両方をチェックした後のみシステムを起動することができます。

Windows 8 認定済み PC はすべて、セキュア ブートに関連するいくつかの要件を満たす必要があります。

  • 既定でセキュア ブートを有効にしておく必要があります。

  • Microsoft の証明機関 (CA) と Microsoft が署名したすべてのブートローダーを信頼する必要があります。

  • ユーザーが UEFI データベースに署名とハッシュを追加することを許可する必要があります。

  • ユーザーがセキュア ブートを完全に無効にすることを許可するがあります (ただし、管理者がこれを制限することができます)。

この動作により、オペレーティング システムの選択が制限されることはありせん。実際、Microsoft 以外のオペレーティング システムを実行する場合、通常は次の 3 つのオプションがあります。

  • Microsoft が署名したブートローダーを備えたオペレーティング システムを使う。Microsoft は、Microsoft 以外のブート ローダーをデバイスで使うことができるように署名するサービスを提供しています。この場合、Microsoft のサード パーティ UEFI CA による署名を使って Microsoft 以外のブートローダーが署名され、署名自体は UEFI データベースに追加されます。Microsoft 以外のいくつかのオペレーティング システム (一部の Linux など) には、セキュア ブート機能を利用できるように Microsoft によって署名された独自のブート ローダーが用意されています。Microsoft のサード パーティ UEFI 署名ポリシーについて詳しくは、Microsoft UEFI CA 署名ポリシーの最新情報に関するページUEFI 提出の提出前テストに関するページをご覧ください。

      

    Device Guard が使うように構成された PC では、セキュリティで保護されたバージョンの Windows のみが起動するため、サード パーティのブートローダーを使うことができません。詳しくは、このドキュメントの「Device Guard」をご覧ください。

     

  • Microsoft 以外が署名したブートローダーまたはハッシュを信頼するように UEFI を構成する。一部の Certified For Windows 8 以降の PC では、ユーザーが UEFI データベースに送信された署名やハッシュを使って認定されていないブート ローダーを追加できるため、Microsoft が署名していないオペレーティング システムを実行できます。

  • セキュア ブートを無効にする。Windows 8 認定済み PC では、ユーザーがセキュア ブートを無効にできるため、署名されていないオペレーティング システムを実行できます。このモードでは、動作は BIOS を搭載した PC と同じです。PC は、確認せずにブートローダーをそのまま実行します。ブートキットの感染を防ぐため、デバイスの起動時は必ずセキュア ブートは有効のままにしておくことを強くお勧めします。

      

    Windows 10 では、相手先ブランド供給 (OEM) が UEFI セキュア ブートをロックダウンした BTO PC を出荷することができます。このような PC では、UEFI セキュア ブートを無効にすることができず、製造元が選んだオペレーティング システムだけをデバイスで起動できます。

     

Windows、アプリ、さらにマルウェアも、UEFI 構成を変更することができません。代わりに、ユーザーが PC を UFFI シェルに対して手動で起動し、UEFI ファームウェア設定を変更するには、実際のその場にいる必要があります。UEFI セキュア ブートについて詳しくは、UEFI による OS 前の環境の保護に関するページをご覧ください。

仮想化ベースのセキュリティ

Windows 10 の最も強力な変更の 1 つは、仮想ベースのセキュリティです。仮想ベースのセキュリティ (VBS) は、PC 仮想化の利点を活用し、システム コンポーネントをセキュリティ侵害から保護する点で画期的です。VBS により、Windows 10 の最も機密性の高いセキュリティ コンポーネントの一部を切り離すことができます。これらのセキュリティ コンポーネントは、アプリケーション プログラミング インターフェイス (API) 制限または中間層を通じて切り離されるだけではありません。実際に、異なる仮想環境で実行され、Windows 10 オペレーティング システム自体から切り離されます。

VBS と VBS による切り離しは、Hyper V ハイパーバイザーを新たな方法で使うことによって実現されます。この場合、ハイパーバイザー上で他のオペレーティング システムを仮想ゲストとして実行する代わりに、ハイパーバイザーは Windows と並行して VBS 環境の実行をサポートし、環境間の操作とアクセスの厳密に制限されたセットを強制的に適用します。

VBS 環境を小型のオペレーティング システムとして考えてください。独自のカーネルとプロセスがあります。ただし、Windows と異なり、VBS 環境ではマイクロ カーネルと、トレストレットと呼ばれる 2 つのプロセスのみ実行されます。

  • ローカル セキュリティ機関 (LSA) は、Windows 認証および承認ポリシーを強制的に適用します。LSA は、1993 年以降 Windows の一部となっている既知のセキュリティ コンポーネントです。LSA の機密性の高い部分が VBS 環境内で切り離されており、Credential Guard と呼ばれる新しい機能によって保護されています。

  • ハイパーバイザーによって強制的に適用されるコードの整合性は、実行前にカーネル モード コードの整合性を確認します。これは、このドキュメントで後述する Device Guard 機能の一部です。

VBS により、Windows 10 のセキュリティに 2 つの主要な機能強化 (主要な Windows システム コンポーネント間の新しい信頼境界と、それらのコンポーネントが実行されるセキュリティで保護された実行環境) が追加されています。主要な Windows システム コンポーネント間の信頼境界は、VBS 環境でプラットフォームの仮想化を使って VBS 環境を Windows オペレーティング システムから切り離すことで有効になります。Hyper-V とプロセッサの仮想化拡張機能に加えて VBS 環境と Windows オペレーティング システムをゲストとして実行すると、VBS 環境と Windows オペレーティング システム内のトラストレットにまたがる高度に構造化された制限付きチャネルの外部でゲストが互いに操作することが本質的にできなくなります。

このアーキテクチャでは、Windows 環境内で実行されるプロセスが VBS 環境内のカーネル、トラストレット、またはあらゆる割り当てメモリにアクセスすることが本質的にできなくなるため (フル システム特権を持っていても)、VBS はセキュリティで保護された実行環境として機能します。さらに、VBS 環境は TPM 2.0 を使って、ディスクに保持されているすべてのデータを保護します。同様に、物理ディスクにアクセスできるユーザーは、暗号化されていない形式でデータにアクセスすることができません。

図 2 に、VBS アーキテクチャを図示します。

図 2

図 2. VBS アーキテクチャ

VBS には、次のものが搭載されているシステムが必要であることに注意してください。

  • Windows 10 Enterprise Edition

  • 64 ビット プロセッサ

  • セキュア ブート付きの UEFI

  • Second Level Address Translation (SLAT) テクノロジ (Intel Extended Page Tables [EPT]、AMD Rapid Virtualization Indexing [RVI] など)

  • 仮想化拡張機能 (たとえば、Intel VT-x、AMD RVI など)

  • I/O メモリ管理ユニット (IOMMU) チップセットの仮想化 (Intel VT-d または AMD Vi)

  • TPM 2.0

トラステッド プラットフォーム モジュール

TPM は、コンピューティング プラットフォームのセキュリティとプライバシーを強化するために設計されたデータ改ざんに強い暗号化モジュールです。パーソナル コンピューター、タブレット、携帯電話のような信頼されたコンピューティング プラットフォームにコンポーネントとして組み込まれています。コンピューティング プラットフォームは、ソフトウェアだけでは実現できないプライバシーとセキュリティのシナリオをサポートできるように、TPM と連携するように特別に設計されています。信頼されたコンピューティング プラットフォームの一部として TPM を適切に実装すると、ハードウェアに信頼の基盤がもたらされます。つまり、ハードウェアが信頼できる方法で動作します。たとえば、TPM から決してエクスポートすることができないプロパティを使って TPM で作成されたキーは、そのキーが TPM から移動できないことを意味します。TPM とプラットフォームを緊密に統合すると、起動プロセスの透明性が増し、プラットフォームの起動に使われるソフトウェアの信頼性の高いレポートを生成することでデバイス正常性シナリオがサポートされます。

TPM が提供する機能は次のとおりです。

  • 暗号化キー管理。キーを作成、保存し、定義された方法での使用を許可します。

  • 整合性測定値の保護と報告。プラットフォームの起動に使われるソフトウェアを TPM に記録し、プラットフォームで実行されるソフトウェアで信頼を確立するために使うことができます。

  • TPM が本当に TPM であることの証明。TPM の機能は、TPM を偽装するマルウェアから自信を区別できるようにするために TPM が必要とするプライバシーとセキュリティを保護することに大きな主眼を置いています。

Microsoft では、TPM のメリットに関するこの小さいリストと Windows 10 およびその他のハードウェア セキュリティ テクノロジを組み合わせ、セキュリティとプライバシーの実用的なメリットを実現しました。

他の機能としては、Windows 10 は TPM を使って、BitLocker ボリューム、仮想スマート カード、証明書、および TPM を使って生成される他の多くのキーの暗号化キーを保護します。さらに、Windows 10 は、このドキュメントで後述するメジャー ブート機能に使われる特定のハードウェアおよび Windows ブート コンポーネントの整合性関連の測定値を安全に記録し、保護するためにも TPM を使います。このシナリオでは、メジャー ブートは、ファームウェアからドライバーまで、各コンポーネントを測定し、それらの測定値を PC の TPM に保存します。そこから、独立したシステムが Windows 10 PC のブート状態を確認できるように、測定値ログをリモートでテストできます。

Windows 10 では、1.2 または 2.0 標準に準拠する TPM 実装がサポートされます。TPM 2.0 標準にはいくつかの機能強化が加えられており、その中で最も重要なものは暗号化の機敏性です。TPM 1.2 は、暗号化アルゴリズムとハッシュ アルゴリズムの固定セットに制限されています。2000 年代初めの TPM 1.2 標準が作成された時点で、これらのアルゴリズムが強力な暗号化であると見なされていました。それ以来、暗号化アルゴリズムと暗号解読攻撃の進歩の結果、より強化な暗号化に対する期待が高まってきました。TPM 2.0 では、強力な暗号化保護を行う追加のアルゴリズムと、特定の地域または業界で推奨されるアルゴリズムのプラグイン機能がサポートされています。さらに、TPM コンポーネント自体を変更せずに将来のアルゴリズムを追加できる可能性も確保されています。

TPM は、通常ハードウェアのマザーボードに個別のモジュールとして埋め込まれることが想定されていますが、TPM をファームウェアに実装しても有効です。Windows 10 では、2.0 標準に準拠する個別の TPM とファームウェア TPM の両方がサポートされています (1.2 では個別の TPM のみ)。Windows では、個別ソリューションとファームウェア ベースのソリューションは同じ要件を満たすため区別されません。したがって、TPM を活用できる Windows の機能は、どちらの実装でも使うことができます。

  

新しい Windows 10 PC では、当分の間 TPM のサポートは必須ではありません。ただし、Windows 10 のリリースから 1 年経過した後、システムに TPM 2.0 を追加することが必須となります。製造元がこの重要な機能を組み込む十分な時間を確保し、IT 担当者が活用するメリットを判断する十分な時間を確保するためです。

 

次のようないくつかの Windows 10 セキュリティ機能には、TPM が必要です。

  • 仮想スマート カード

  • メジャー ブート

  • 正常性の認証 (TPM 2.0 以降が必要)

  • InstantGo (TPM 2.0 以降が必要)

利用可能な場合は、BitLocker などの他の Windows 10 セキュリティ機能が TPM を利用することがありますが、動作に必須ではありません。この例には Microsoft Passport があります。

これらすべての機能については、このドキュメントで説明します。

生体認証

このドキュメントの「Windows Hello」をご覧いただくと、Windows 10 には生体認証ハードウェアのサポートが組み込まれていることがわかります。Windows XP オペレーティング システム以降、Windows にはある程度の組み込み生体認証サポートが含まれていましたが、Windows 10 では何が異なるのでしょうか。

Windows 10 では、生体認証が主要なセキュリティ機能になっています。生体認証は、大きいスキームの追加部分として付属しているだけではなく、Windows 10 のセキュリティ コンポーネントに完全に統合されています。これは大きな変更点です。以前の生体認証実装は、認証を簡略化するため、主にフロント エンド方式でした。内部では、パスワードにアクセスするために生体認証が使われた後、バックグラウンドでの認証に使われていました。生体認証は便利でしたが、必ずしもエンタープライズ レベルの認証ではありませんでした。

Microsoft では、Windows PC や周辺機器を製造する OEM に、エンタープライズ クラスの生体認証センサーの重要性を説いてきました。多くの OEM は、既に指紋センサーを統合したシステムを出荷しており、スワイプ ベースのセンサーからタッチ ベースのセンサーに切り替えています。顔認識センサーは、Windows 10 のリリース時点で既に利用可能になっており、統合システム コンポーネントとしてより普及してきています。

今後、OEM がさらに多くのエンタープライズ クラスの生体認証センサーを製造し、システムへの統合を継続するだけでなく、別個の周辺機器を提供すると Microsoft では予想しています。この結果、生体認証は MFA システムの一部としてより一般的な認証方法となります。

Windows のスタートアップの保護

UEFI セキュア ブートは、ハードウェア テクノロジを使ってブートキットからユーザーを保護します。セキュア ブートは、デバイス、ファームウェア、およびブートローダーの整合性を検証できます。ブートローダーが起動すると、ユーザーはシステムの残りの部分の整合性を保護するためオペレーティング システムに依存する必要があります。

トラスト ブート

ブートロードが信頼できることを UEFI セキュア ブートが確認し、Windows を起動したら、すべての Windows スタートアップ コンポーネントが信頼でき (信頼された発行元によって署名されているなど)、整合性があることを確認することで、Windows トラスト ブート機能が残りのスタートアップ プロセスを保護します。ブートローダーは、Windows カーネルのデジタル署名を読み込む前に検証します。その後、Windows カーネルは、ブート ドライバー、スタートアップ ファイル、および ELAM コンポーネントを含む、Windows スタートアップ プロセスの他のすべてのコンポーネントを検証します。

ファイルが変更されている場合 (マルウェアが改ざんした場合や、破損した場合など)、トラスト ブートが問題を検出し、破損したコンポーネントを自動的に修復します。修復されると、短時間の遅延の後に Windows が正常に起動します。

起動時マルウェア対策

以前のバージョンの Windows を標的としたマルウェアは、多くの場合マルウェア対策ソリューションの前に起動を試んでいました。これを行うため、ある種類のマルウェアは、Windows スタートアップ プロセス中に起動する Microsoft 関連以外のドライバーを更新したり、置き換えたりしていました。その後、悪意のあるドライバーがシステムのアクセス特権を使ってシステムの重要な部分を変更し、その存在を偽装するため、マルウェア対策ソリューションが後で起動したときには検出できませんでした。

起動時マルウェア対策 (ELAM) は、トラスト ブート機能セットの一部であり、Microsoft 以外のすべてのドライバーとアプリより前マルウェア対策ソリューションを起動できるように設計されています。ELAM は、Microsoft 以外のドライバーの整合性をチェックして、ドライバーが信頼できるかどうかを判断します。Windows はできる限り高速に起動する必要があるため、ELAM が既知のマルウェア シグネチャに対してドライバー ファイルのチェックするプロセスが複雑であってはなりません。複雑になると、スタートアップ速度が大幅に低下します。代わりに、ELAM には、すべてのブート ドライバーを検査し、信頼されたドライバーの一覧に含まれているかどうかを調べるシンプルなタスクが用意されています。マルウェアが起動関連のドライバーを変更した場合、ELAM によって変更が検出され、Windows がドライバーの起動を防止するため、ドライバー ベースのルートキットがブロックされます。ELAM は、登録されたマルウェア対策プロバイダーが、起動プロセスが完了した後に読み込まれるドライバーをスキャンできるようにもします。

この設計はシンプルですが効果的です。ELAM は、フル装備のマルウェア対策ソリューションのコンポーネントであり、起動プロセス中の後方で残りのマルウェア対策ソリューションが起動する前に、悪意のあるドライバーやアプリが起動しないようにすることができます。実際、ELAM は PC の起動時に数秒間だけ実行されます。Windows 10 の Windows Defender では、Microsoft System Center 2012 Endpoint Protection や Microsoft 以外のいくつかのマルウェア対策アプリのように ELAM がサポートされます。

ELAM の構成方法を把握する場合、グループ ポリシー設定を使って、ELAM が悪意のある可能性のあるブート ドライバーにどのように対応するかを構成することができます。グループ ポリシー管理エディターで、[コンピューターの構成]、[管理用テンプレート]、[システム]、[起動時マルウェア対策] に移動し、[ブート開始ドライバーの初期化ポリシー] 設定を有効にします。ここでは、ELAM が読み込むドライバーの分類を選ぶことができます。[良好のみ] 設定を選ぶと、最高レベルのセキュリティが実現しますが、正常な PC を使っているユーザーが起動できなくなることがないように徹底的にテストしてください。

メジャー ブート

以前のバージョンの Windows におけるルートキットやブートキットの最も大きな課題は、クライアントが検出できないことがよくあるという点です。多くの場合、Windows の防御およびマルウェア対策ソリューションの前に起動し、システム レベルの特権を持っているため、ルートキットやブートキットを自身を完全に偽装しながら、システム リソースへのアクセスを続けることができます。UEFI セキュア ブートとトラスト ブートはほとんどのルートキットやブートキットを防ぐことができますが、侵入者もいくつかの攻撃方法を悪用できる可能性があり (たとえば、セキュア ブート付きの UEFI が無効になっている場合や、Microsoft 以外のドライバーなどの起動コンポーネントの署名に使われた署名のセキュリティが侵害されており、悪意のあるコンポーネントの署名に使われた場合など)。

Windows 10 では、新しい PC に組み込まれた TPM ハードウェア コンポーネントを使うメジャー ブート機能を実装することにより、ファームウェア、Windows ブート コンポーネント、ドライバー、および ELAM ドライバーなど、重要なのスタートアップ関連コンポーネントの一連の測定値が記録されます。メジャー ブートは、測定データをマルウェア攻撃から切り離して保護する TPM のハードウェア ベースのセキュリティ機能を利用するため、ログ データはさらに高度な攻撃からも適切に保護されます。

メジャー ブートでは、測定データの取得と改ざんからの保護に重点が置かれます。データを分析してデバイスの正常性を判断し、より完全なセキュリティ サービスを提供できるサービスを組み合わせる必要があります。次のセクションでは、まさにそのようなサービスについて説明します。

企業リソースへの条件付きアクセスに対するデバイスの準拠の確認

メジャー ブート自体は、スタートアップ プロセスでのマルウェアの読み込みを防ぐのではありません。これは、セキュア ブート、Device Guard、ELAM が行います。代わりに、メジャー ブートは、TPM で保護された監査ログを生成し、信頼されたリモート正常性認証サービスが、PC のスタートアップ コンポーネント、状態、および全体的な構成を評価できるようにします。PC が信頼できないコンポーネントを読み込んだことが正常性認証サービスにより検出されたため、準拠していない状態になった場合、サービスは特定のネットワーク リソースまたはネットワーク全体への PC のアクセスをブロックできます。正常性認証サービスと管理サービスを組み合わせることで、感染した PC を修正して準拠した状態に戻す検疫および修復プロセスを開始できる条件付きアクセス機能を実現することもできます。

図 3

図 3. Windows 10 における正常性の認証

図 3 に、デバイスの準拠の確認と条件付きアクセスの実装を行う次のプロセスを示しています。

  1. PC が TPM を使ってブートローダー、ブート ドライバー、および ELAM ドライバーの測定値を記録します。TPM は、これらの測定値をだれも改ざんできないようにするため、マルウェアの読み込みに成功した場合でも、測定値を変更することができなくなります。これらの測定値は、TPM に格納された認証 ID キー (AIK) によって署名されます。TPM ハードウェアによって測定値が署名されるため、マルウェアは検出されずに変更することはできません。

  2. 正常性の認証は既定で有効にならず、有効にするには、モバイル デバイス管理 (MDM) サーバーへの登録が必要です。有効な場合、正常性認証クライアントが正常性認証サーバーと呼ばれるリモート サーバーに接続します。Microsoft では、デバイスの正常性の評価に役立つクラウド ベースの Windows 正常性認証サービスを提供しています。正常性認証クライアントは、署名済みの測定値、デバイスの TPM ブート ログ、および AIK 証明書 (存在する場合) を送信します。これにより、正常性認証サーバーは、測定値の署名に使われたキーが信頼された TPM に発行されたことを確認できます。

  3. 正常性認証サーバーが測定値ブート ログを分析し、デバイス正常性ステートメントを作成します。このステートメントは、データの機密性を確保するために暗号化されます。

  4. MDM サーバーなどの管理システムは、デバイス正常性ステートメントの提示を登録済みデバイスに要求できます。Windows 10 では、Microsoft の MDM サーバーと Microsoft 以外の MDM サーバーのどちらによるデバイス正常性要求もサポートされています。デバイス正常性ステートメントの盗難と他のデバイスの再利用を防ぐため、MDM サーバーはこのデバイス正常性ステートメント要求と同時に、"1 回だけ使われる番号" (nonce) の要求を登録済みデバイスに送信します。

  5. 登録済みデバイスが、その AKI (TPM に格納されています) によって nonce をデジタル署名し、暗号化されたデバイス正常性ステートメント、デジタル署名された nonce、署名済みブート カウンター (正常性ステートメントの取得以降デバイスが再起動されていないことをアサートします) を MDM サーバーに送信します。

  6. MDM サーバーは、正常性認証サーバーに同じデータを送信できます。サーバーは、正常性ステートメントの暗号化を解除し、ステートメントのブート カウンターが、MDM サーバーに送信されたブート カウンターと一致していることをアサートして、正常性属性リストを作成します。

  7. 正常性認証サーバーが、この正常性属性リストを MDM サーバーに送信します。MDM サーバーにより、アクセス ポリシーとコンプライアンス ポリシーが強制的に適用されるようになります (そのように構成されている場合)。

正常性認証サーバーが確認するデータ ポイントの一覧とデータの説明については、MSDN の HealthAttestation CSP に関する記事をご覧ください。

管理システムの実装により、デバイスの正常性の評価時に評価されるデバイス正常性ステートメント内の属性が決まります。大まかに言うと、管理サーバーは、デバイスの起動方法、デバイスで適用されるポリシーの種類、デバイス上のデータを保護する方法に関する情報を受信します。実装によっては、デバイス正常性ステートメントで提供される情報以外のチェックを管理サーバーが追加できます (Windows 更新プログラムのレベルとその他のデバイス属性など)。

これらのデータ ポイントに基づき、管理サーバーは、クライアントが正常な状態かどうかを判断し、制限付きの検疫ネットワークまたはネットワーク全体へのアクセスを付与します。サーバーなどの個々のネットワーク リソースも、リモート認証クライアントがリモート認証サーバーから有効な正常性証明書を取得することができたかどうかに基づいてアクセスを許可または拒否することができます。

このソリューションは、他の方法では検出が非常に困難な低レベルのマルウェアを検出して防止できるため、Microsoft Intune などの管理システムの実装や、Windows 10 のクラウド ベースの正常性認証サーバー機能を活用して高度なマルウェアに感染しているデバイスを検出し、ネットワーク リソースからブロックする管理ソリューションの実装を検討することをお勧めします。

Windows コアの保護

Windows 用に構築されたアプリケーションは、安全で欠陥がないように設計されていますが、人間がコードを記述する限り、脆弱性は意図せずに現れ続けるのが現実です。脆弱性が特定されると、悪意のあるユーザーやソフトウェアが悪用の成功をブートストラップすることを狙ってメモリ内のデータを操作することにより、脆弱性を悪用しようとする可能性があります。

このようなリスクを軽減するため、Windows 10 ではコアを強化することにより、マルウェアがバッファー オーバーフロー、ヒープ スプレー、他の低いレベルの攻撃に加えて、PC で実行が許可されたコードも実行しにくくなっています。さらに、これらの機能強化によって、新たに発見された脆弱性により悪用が成功する可能性が大幅に削減します。これらの機能強化の影響を十分に理解するには、オペレーティング システムのアーキテクチャやマルウェアの悪用手法に関する詳しい知識が必要ですが、以下のセクションでは大まかに説明します。

Device Guard

現在のセキュリティの脅威は、これまでよりも強い攻撃的な特性を示しています。最近発生している悪意のある攻撃では、収益に対する損害、知的財産の盗難、標的となるシステムの低下に焦点を当てています。その結果、財政的な損失が発生します。悪質な攻撃者の多くは、国家による支援を受けており、動機が不純で、サイバー テロのための莫大な予算を保持しています。これら脅威は、メールのようなシンプルな方法で企業に侵入します。また、従業員と顧客のデータや知的財産の保護に関する組織の評判に大きな傷を付け、言うまでもなく財政面も重大な影響を受けます。Windows 10 オペレーティング システムには、いくつかの新しいセキュリティ機能が導入されています。これらのセキュリティ機能は、現在知られているほとんどの脅威を軽減する際に役立ちます。

毎日、300,000 を超える新しいマルウェアのバリエーションが見つかっていると推定されています。残念ながら現在の企業では、このような感染型のソフトウェアを検出し、その使用を防ぐために、旧式の方法を使っています。実際、現在の PC では、マルウェア対策のシグネチャによって脅威が存在するかどうかが特定されるまで、実行されているすべてのソフトウェアを信頼しています。脅威の存在が確認されると、マルウェア対策ソフトウェアによって PC のクリーンアップが実行されます。場合によっては、悪意のあるソフトウェアの影響が生じた後で、PC のクリーンアップが実行されることもあります。このようなシグネチャ ベースのシステムでは、感染に対処し、特定の感染がもう一度発生しないようにすることを重視しています。こうしたモデルでは、マルウェアを検出するシステムは、悪意のあるソフトウェアが検出されることに依存しています。また、検出された後でのみ、クライアントに対して署名が発行され修復が行われます。これは、コンピューターが既に感染している場合が多いことを意味します。マルウェアの検出とクライアントに対するシグネチャの発行の間にかかる時間は、データが損失されてから、安全性が確保されるまでの間にかかった時間を表しています。

現在では、マルウェア対策ソリューションだけでなく、AppLocker などの "アプリのコントロール" または "ホワイトリスト" テクノロジを利用することもできます。これらのテクノロジでは、単一のインスタンス (実行中のアプリケーションに対する包括的な許可規則または包括的な拒否規則) が実行されます。Windows 10 では、この種のソリューションは Windows 10 Device Guard 機能と共に展開したときに効果が最も高まります。

Device Guard は、検出の後でブロックを実行する現在のモデルに比べ革新的な機能を備えています。また、Device Guard では信頼されているアプリケーションのみを実行することができます。この方法は、携帯電話のセキュリティを保護するための優れた感染予防対策として利用できる最適な方法です。Device Guard では、Windows オペレーティング システムでの信頼できないアプリケーションの処理方法が変更されています。これにより、防御が強化され、マルウェアの侵入が困難になっています。この新しい防止と検出のモデルによって、最新の脅威に対処するために必要なセキュリティが Windows クライアントに提供されます。このモデルを実装すると、実装したその日から、現在の脅威の多くによる影響が軽減されます。

Device Guard の概要

Device Guard は、ハードウェアとソフトウェアの両方のシステム整合性について強化された機能から構成される機能セットです。これらの機能では、システム コアを保護する新しい VBS オプションと、カーネル モード (モバイル デバイス オペレーティング システムに見られる何も信頼しないことをベースとしたモデル) で実行されるプロセスやドライバーが利用され、Windows オペレーティング システムのセキュリティが大幅に改善されます。Device Guard と同時に使われる主要な機能は、"構成可能なコード整合性" です。この機能によって、組織は、クライアント コンピューターでコードを実行できる信頼できるソフトウェア発行者のソフトウェアを厳密に選ぶことができます。この機能は、Windows Mobile などの一部のプラットフォームで、携帯電話のセキュリティを適切に実行するための機能ということができます。信頼できるアプリケーションは、信頼できると見なされるアプリケーション バイナリのハッシュ値が一覧になった署名済みファイルを使って直接的 (つまり、バイナリ) または間接的に署名されたアプリケーションです。Device Guard を使うと、組織は既にある LOB アプリケーションに署名することもできます。これにより、組織独自のコードを信頼することができるようになります。アプリケーションを再構築またはパッケージ化する必要はありません。また、これと同じ署名方法により、直接署名されていないアプリケーションも含め、Microsoft 以外のアプリケーションを信頼する方法を組織が手に入れることができます。構成可能なコード整合性、Credential Guard、および AppLocker を使った Device Guard は、これまで Microsoft 製品が Windows クライアントに提供してきた中で最も完璧なセキュリティ防御として機能します。

CPU の仮想化拡張機能、IOMMU、SLAT などの高度なハードウェア機能によって、この新しいクライアント セキュリティ機能が実現されます。これらのハードウェア機能をコア オペレーティング システムとより深く統合することによって、Windows 10 ではこれらの機能を新しい方法で活用できます。たとえば、Hyper V で仮想マシンの実行に使われる同一のタイプ 1 ハイパーバイザー テクノロジは、コア Windows サービスを仮想化ベースの保護コンテナーに分離します。これは、最新の総合的なセキュリティをユーザーに提供するために、Windows 10 で行われる高度なハードウェア機能とオペレーティング システムのより深い統合の一例にすぎません。

この追加のセキュリティを実現するため、Device Guard には次のハードウェアおよびソフトウェア要件があります。

  • UEFI セキュア ブート (必要に応じて、UEFI データベースから削除された Microsoft UEFI CA も必要)

  • システム ファームウェア (BIOS) で既定で有効になっている仮想化サポート

    • 仮想化拡張機能 (たとえば、Intel VT-x、AMD RVI など)

    • SLAT (たとえば、Intel EPT、AMD RVI など)

    • IOMMU (たとえば、Intel VT-d、AMD-Vi など)

  • 承認されていないユーザーが Device Guard を無効にできないように構成された UEFI BIOS – ハードウェアのセキュリティ機能 (たとえば、セキュア ブートなど) に依存

  • ハイパーバイザーによって強制的に適用されるコードの整合性と互換性のある署名済みカーネル モード ドライバー

  • Windows 10 Enterprise のみ

  • X64 バージョンの Windows

これらの新機能を備えているだけでなく、可能な限り安全性の高い Windows オペレーティング システムをユーザーに提供するために、既存のツールやテクノロジが Device Guard の一部のコンポーネントとして、この戦略的なセキュリティ機能に含まれています。Device Guard は、Windows オペレーティング システムで利用可能な、脅威に対抗するための他の機能と組み合わせて使われる、一連のクライアント セキュリティ機能を提供することを目的としています。脅威に対抗するための他の機能については、その一部をこのガイドで説明します。

構成可能なコード整合性

Windows オペレーティング システムは、ユーザー モードとカーネル モードという 2 つの動作モードで構成されています。オペレーティング システムの基盤はカーネル モードで実行されます。このモードでは、Windows オペレーティング システムはハードウェア リソースに直接接続されます。ユーザー モードは、主にアプリケーションを実行し、ハードウェア リソース要求のためにカーネル モードとの間でやり取りする情報の仲介を行います。たとえば、ユーザー モードで実行しているアプリケーションで追加のメモリが必要になると、ユーザー モード プロセスでは、RAM からのリソースを直接要求するのではなく、カーネルからのリソースを要求する必要があります。

コード整合性は、Windows オペレーティング システムのコンポーネントであり、Windows で実行されているコードが信頼できるソースから取得されており、改ざんされていることを検証します。オペレーティング システムと同じように、Windows のコード整合性には 2 つの主要なコンポーネント (カーネル モードのコード整合性 (KMCI) とユーザー モードのコード整合性 (UMCI)) が含まれています。KMCI は最新バージョンの Windows オペレーティング システムで使われ、署名されていない実行中のドライバーからカーネル モードを保護します。これは効果的ですが、マルウェアがオペレーティング システムのカーネル モード領域へ侵入する際に利用する手段は、ドライバーだけではありません。Windows 10 では、カーネル モード コードに関する要件がそのまま利用できるように定義されており、企業が独自の UMCI や KMCI のポリシーを設定するための方法も提供されています。コード整合性サービス自体を最初に行い、アプリケーションの実行許可を Windows クライアントで確認するためのポリシーでコード整合性を引き続き利用することにより、これまでの Windows リリースに比べて、Windows 10 はより安全なオペレーティング システムになりました。これまで、UMCI は Windows RT と Windows Mobile デバイスでのみ利用できました。このため、これらのデバイスはウイルスやマルウェアに感染しづらいデバイスでした。Windows 10 では、これらと同じ優れた UMCI ポリシーを利用することができます。

従来、ほとんどのマルウェアは署名されていませんでした。コード整合性ポリシーを展開するだけで、組織では、署名されていないマルウェアに対する防御を直ちに行うことができます。現在発生している攻撃の大部分を防ぐことが推定されています。コード整合性ポリシーを使うと、企業では、ユーザー モードとカーネル モードの両方で実行できるバイナリを、署名者、バイナリ ハッシュ、またはその両方に基づいて厳密に選ぶことができます。コード整合性が完全に実施されていれば、特定のアプリケーションや特定の署名のみを信頼し実行することによって、Windows のユーザー モードを一部のモバイル プラットフォームのように機能させることができます。この機能自体は、基本的に企業内のセキュリティを変更します。この追加のセキュリティ機能は、Windows アプリに限定されていません。また、署名されていない可能性のある既存のアプリケーションと互換性を持つように、アプリケーションを作成しなおす必要はありません。構成可能なコード整合性を Device Guard とは無関係に実行できるため、Device Guard のハードウェア要件を満たしていないデバイスでも利用できます。

ハードウェアのセキュリティ機能と VBS

Device Guard のコア機能と保護は、ハードウェア レベルで開始されます。SLAT テクノロジと仮想化拡張機能 (Intel VT x や AMD V など) を備えたプロセッサが搭載されているデバイスでは、重要な Windows サービスをオペレーティング システム自体から切り離すことで、Windows のセキュリティを大幅に強化する VBS 環境を利用することができます。オペレーティング システムのカーネルはセキュリティの侵害を受けるものですが、一部のプロセスはセキュリティが維持されているという保証が必要なため、この切り離しは必要です。

Device Guard は、VBS を活用してそのハイパーバイザー コード整合性 (HVCI) サービスを切り離します。これにより、Device Guard は脆弱性の悪用やゼロ デイ攻撃からすべてのカーネル モード プロセスとドライバーを保護することができます。HVCI は、プロセッサの IOMMU 機能を使ってすべてのソフトウェアを強制的にカーネル モードで実行し、安全にメモリを割り当てます。これは、メモリが割り当てられた後、その状態が書き込み可能から読み取り専用または実行のみに変化する必要があることを意味します。メモリにこれらの状態を強制することで、攻撃者がバッファー オーバーランやヒープ スプレーなどの手法を使ってカーネル モード プロセスやドライバーに悪意のあるコードを挿入できないようにすることができます。最終的に、VBS 環境では、オペレーティング システムのカーネルのセキュリティが完全に侵害された場合でも、Device Guard の HVCI サービスが保護されます。HVCI は、この規模のセキュリティ侵害がそもそも生じないようにカーネル モード プロセスとドライバーを保護します。

VBS を採用している Windows 10 の他の機能として、Credential Guard があります。Credential Guard は、LSA と呼ばれる Windows 認証サービスを実行して資格情報を保護し、派生したユーザー資格情報 (NTLM ハッシュや Kerberos チケットなど) を Device Guard がその HVCI サービスの保護に使うのと同じ VBS 環境内に保存します。LSA サービスと派生したユーザー資格情報をユーザー モードとカーネル モードの両方から切り離すことで、攻撃者はオペレーティング システムのコアのセキュリティを侵害しても、認証を改ざんしたり、派生した資格情報データにアクセスしたりすることができなくなります。Credential Guard は、pass-the-hash や pass-the-ticket の攻撃の種類を防止します。つまり、現在知られているほぼすべての主要なネットワーク違反の成功に主眼を置いているため、Credential Guard は環境内で展開すべき最も影響の大きい重要な機能の 1 つとなっています。Credential Guard が Device Guard を補完する方法について詳しくは、「Credential Guard を使用した Device Guard」セクションをご覧ください。

AppLocker を使用した Device Guard

AppLocker は Device Guard の新機能と見なすことはできませんが、実施されるコード整合性を完全に実装できない場合や、コード整合性の機能が目的のシナリオの一部を対象としていない場合に、AppLocker を使って構成可能なコード整合性の機能を補完することができます。コード整合性ポリシーを AppLocker 規則と併用できるシナリオには、さまざまなものがあります。組織で可能な最も厳しい制限レベルでコード整合性ポリシーを実施した後、AppLocker を使ってさらに低いレベルに制限を微調整することをお勧めします。

  

Device Guard の機能で AppLocker による補完が必要となる例として、Windows ストア ユーザーがデバイスにインストールできるユニバーサル アプリケーションを組織が制限する場合が挙げられます。Microsoft では、Windows ストアのユニバーサル アプリケーションが信頼して実行できることを既に検証しています。ただし組織では、特定のユニバーサル アプリケーションが組織の環境で実行されるのを許可しない場合があります。AppLocker 規則を使って、このような方針を実施できます。

別の例として、構成可能なコード整合性ポリシーを有効にし、ユーザーが特定の発行元のすべてのアプリを実行することを許可できます。これを行うため、発行元の署名をポリシーに追加します。組織が、その発行元の特定のアプリにのみ実行を許可することにした場合、発行元の署名を構成可能なコード整合性ポリシーに追加し、AppLocker を使って実行できる特定のアプリを決定できます。

 

組織では、AppLocker と Device Guard をサイド バイ サイドで実行できます。これにより、両方のセキュリティ機能を同時に最大限に活用することが可能になり、できるだけ多くのデバイスに対して総合的なセキュリティを提供することができます。これらの機能に加え、企業における包括的なセキュリティ ポートフォリオを対象とした企業向けウイルス対策ソリューションを引き続き保持することをお勧めします。

Credential Guard を使用した Device Guard

Credential Guard は Device Guard に含まれる機能ではありませんが、多くの組織では、派生した資格情報の盗難に対する追加の保護機能として、Credential Guard を Device Guard と共に展開する場合があります。Device Guard HVCI サービスによるカーネル モードの仮想化ベースの保護と同様に、Credential Guard ではハイパーバイザー テクノロジを利用して、Windows 認証サービス (LSA) と派生したユーザー資格情報を保護します。この軽減策では、pass-the-hash や pass-the-ticket の手法を使った攻撃を防止することに重点を置いています。

Credential Guard は VBS を使うため、pass-the-hash 攻撃と pass-the-ticket 攻撃が Windows 10 デバイスで発生するのを防止する点で決め手となります。ただし、Microsoft では、ほとんどの組織が複数のバージョンの Windows を環境で実行していることを認識しています。このシナリオに対応するため、クライアント側とサーバー側の両方に Credential Guard を実行できないデバイス向けの軽減策が用意されています。これらの追加の軽減策に関する詳しい情報は、近い将来 TechNet でリリースされる予定です。

Device Guard による統合された管理機能

IT 担当者が通常利用するよく知られたエンタープライズ管理ツールやクライアント管理ツールを使うことによって、Device Guard の機能を簡単に管理できます。次の管理ツールを使って、Device Guard を有効にし、管理します。

  • グループ ポリシー: Windows 10 には、組織の構成可能なコード整合性ポリシーを構成して展開するために使うことができる管理用テンプレートが用意されています。このテンプレートでは、有効にして展開するハードウェア ベースのセキュリティ機能を指定することもできます。これらの設定は、既にあるグループ ポリシー オブジェクトと一緒に管理することができます。これにより、Device Guard の機能の実装が簡単になります。コード整合性やハードウェア ベースのセキュリティ機能だけでなく、グループ ポリシーによりカタログ ファイルを管理することもできます。

  • System Center Configuration Manager: System Center Configuration Manager を使うと、カタログ ファイル、コード整合性ポリシー、ハードウェア ベースのセキュリティ機能の展開と管理が簡単になります。また、バージョン管理も実行できます。

  • MDM システム: 組織は、Microsoft Intune と Microsoft 以外の MDM システムを使って、コード整合性ポリシーやカタログ ファイルの展開と管理を行うことができます。

  • Windows PowerShell: Windows PowerShell は、主にコード整合性ポリシーの作成と処理を行うために使います。これらのポリシーは、Device Guard での最も強力なコンポーネントとなります。

これらのオプションでは、既にあるエンタープライズ管理ソリューションを管理するために、使い慣れたエクスペリエンスと同じものが提供されます。

アドレス空間レイアウトのランダム化

システムへのアクセスを取得するために使われる最も一般的な手法の 1 つは、既に実行されている特権付きプロセスで脆弱性を見つけ、重要なシステム コードやデータが置かれているメモリ内の場所を推測または発券して、その情報を悪意のあるペイロードで置き換える手法です。初期のオペレーティング システムでは、システム メモリに直接書き込むことができるすべてのマルウェアがそのような操作を実行できました。マルウェアは、よく知られた予測可能な場所にあるシステム メモリを上書きするだけでした。

アドレス空間レイアウトのランダム化 (ASLR) により、その種の攻撃がかなり難しくなっています。重要なデータがメモリに格納される方法と場所がランダム化されるためです。ASLR により、マルウェアが攻撃に必要な特定の場所を見つけるのはより困難になります。図 4 は、重要な各種 Windows コンポーネントのメモリ内の場所が再起動のたびにどのように変わるかを示すことで、ASLR のしくみを示しています。

イメージ 4

図 4. ASLR のしくみ

Windows 7 における ASLR の実装は効果的でしたが、オペレーティング システム全体には適用されておらず、エントロピーのレベル (暗号化のランダム化) は必ずしも最高レベルではありませんでした。ヒープ スプレーなどの高度な攻撃が Windows 8 オペレーティング システムで成功する可能性を下げるため、Microsoft は ASLR をシステム全体に適用し、エントロピーのレベルを何度も上げました。

Windows 8 と Windows 10 における ASLR の実装は、Windows 7 により大幅に強化されています。特に、はるかに大きいメモリ空間を活用できる 64 ビット システム アプリケーション プロセスでは、Windows 10 が重要なデータを格納する場所を予測するのがさらに困難なためそう言えます。TPM を搭載したシステムで使うと、ASLR メモリ ランダム化のデバイス間での一意性はさらに高まるため、あるシステムで機能している悪用の成功が別のシステムで確実に機能することはより困難になります。

データ実行防止

マルウェアは、後で実行することを目的として悪意のあるペイロードをメモリに配置できることに依存していますが、それは ASLR によってかなり困難になります。情報の保存のみを目的として割り当てられた領域にマルウェアが書き込まれた場合に、マルウェアの実行を防止できればすばらしいことです。

データ実行防止 (DEP) は、悪意のあるコードが自身の利益のために使うことができるメモリの範囲を大幅に削減することでまさにそれを行います。DEP は、最新の CPU で No eXecute ビットを使って、メモリのブロックを読み取り専用とマークするため、脆弱性の悪用によって挿入された悪意のあるコードの実行にそれらのブロックを使うことはできません。

DEP は重要なため、ユーザーは DEP 機能がないコンピューターに Windows 10 をインストールすることはできません。さいわい、2000 年代半ば以降にリリースされたほとんどのプロセッサで DEP がサポートされています。

DEP を使うことができるアプリを確認する場合、次の手順を実行します。

  1. Ctrl キーを押しながら Alt キーと Esc キーを押すか、スタート画面で探して、タスク マネージャーを開きます。

  2. [詳細] (必要な場合) をクリックし、[詳細] をクリックします。

  3. 任意の列見出しを右クリックし、[列の選択] をクリックします。

  4. [列の選択] ダイアログ ボックスで、最後の [データ実行防止] チェック ボックスをオンにします。

  5. [OK] をクリックします。

DEP が有効なプロセスが表示されます。図 5 には、Windows 10 PC で実行されているプロセスと、DEP がサポートされない 1 つのプロセスが表示されています。

図 5

図 5. Windows 10 で DEP が有効になっているプロセス

Windows のヒープ

ヒープは、Windows が動的なアプリケーション データの格納に使うメモリ内の場所です。Windows 10 では、攻撃の一部として使われるヒープの悪用のリスクを軽減することにより、以前の Windows のヒープ設計の強化が続けられています。

Windows 10 のヒープのセキュリティは、いくつかの重要な点で Windows 7 より強化されています。

  • ヒープが使う内部データ構造は、メモリの破損からの保護が強化されました。

  • ヒープ メモリ割り当ては、場所とサイズをランダム化するようになったため、攻撃者が上書きする重要なメモリの場所を予測することがさらに困難になっています。具体的には、Windows 10 では新たに割り当てられたヒープのアドレスにランダム オフセットが追加されるため、割り当てはかなり予測しにくくなります。

  • Windows 10 では、メモリ ブロックの前後に仕掛けとして "ガード ページ" が使われます。攻撃者は、メモリ ブロックを越えて書き込もうとする場合 (バッファー オーバーフローと呼ばれる一般的な手法)、ガード ページを上書きする必要があります。ガード ページを変更しようとする試みはすべて、メモリの破損と見なされるため、Windows 10 がすぐにアプリを終了して対応します。

Windows 10 では、以前のバージョンの Windows を実行している PC のセキュリティを侵害するために使うことができた既知のヒープ攻撃が解決されています。

メモリの予約

システムには、最小限の 64 KB のプロセス メモリが予約されています。アプリは、メモリのその部分を割り当てることができなくなったため、マルウェアがメモリ内の重要なシステム データ構造を上書きすることはさらに困難になりました。

制御フロー ガード

アプリケーションがメモリに読み込まれると、コードのサイズ、要求されたメモリ、他の要素に基づいてスペースが割り当てられます。アプリケーションがコードを実行し始めると、他のメモリ アドレスにある追加のコードを呼び出します。コードの場所間の関係はよく知られていますが (コード自体に書き込まれます)、Windows 10 より前では、これらの場所間のフローが強制的に適用されませんでした。このため、攻撃者が自分のニーズを満たすためにフローを変更することができました。つまり、アプリケーションが通常は実行できないコードを実行することにより、アプリケーションの悪用にこの動作を利用することができます。

Windows 10 では、この種の脅威が制御フロー ガード (CFG) 機能によって軽減されています。信頼されたアプリケーションが CFG 呼び出しコードを使うようにコンパイルされている場合、CFG は呼び出されたコードの場所が信頼して実行できることを確認します。場所が信頼できない場合、潜在的なセキュリティ リスクが存在するためアプリケーションがすぐに終了されます。

管理者が CFG を構成することはできません。代わりに、アプリケーション開発者がアプリケーションのコンパイル時に構成することで CFG を利用できます。管理者は、CFG を有効にしてコンパイルされた信頼できる Windows アプリケーションを提供するよう、アプリケーション開発者とソフトウェア ベンダーに依頼することを検討してください。もちろん、ブラウザーは攻撃の主要なエントリ ポイントであるため、Microsoft Edge、IE、および他の Windows の機能は CFG を十分に活用します。

保護されたプロセス

ベンジャミン フランクリンは、「1 オンスの予防は 1 ポンドの治療に匹敵する」と言いました。彼の知恵は、PC のセキュリティにもそのまま当てはまります。ほとんどのセキュリティ制御は、初期の感染ポイントを防止することを目的としています。マルウェアがシステムを感染させることができなければ、システムはマルウェアの影響を受けないという考え方です。

しかし、マルウェアの影響を受けないコンピューターはありません。最良の予防的制御をすべて講じても、マルウェアはオペレーティング システムやハードウェア プラットフォームに感染する方法を最終的に見つける可能性があります。そのため、多層防御戦略による防止は重要ですが、他の種類のマルウェア制御も必要です。

重要なセキュリティ シナリオは、マルウェアがシステムで実行されることを前提としますが、実行できる処理を制限することです。Windows 10 には、既存のマルウェア感染によるセキュリティ侵害を減らすためのセキュリティ制御および設計機能が備わっています。保護されたプロセスは、そのような機能の 1 つです。

保護されたプロセスにより、Windows 10 は、信頼されていないプロセスが特別に署名されたプロセスを操作または改ざんできないようにします。保護されたプロセスは、プロセスの信頼レベルを定義します。信頼性の低いプロセスは操作が防止されるため、より信頼性の高いプロセスが攻撃されることになります。Windows 10 では、保護されたプロセスがオペレーティング システム全体で幅広く使われています。最初は、マルウェア対策ソリューションを保護されたプロセスの領域に置くと、システムに侵入しようとするマルウェアによる改ざんの影響を、システムおよびマルウェア対策ソリューションが受けにくくなります。

Windows デスクトップの保護

Windows 10 には、攻撃やマルウェアが侵入することが最も多い、Windows のコアとデスクトップ環境の重要な機能強化が追加されています。デスクトップ環境は、Windows Defender と SmartScreen フィルター機能の大幅な強化のおかげで、マルウェアにさらに強くなりました。インターネットの閲覧は、完全に新しいブラウザーである Microsoft Edge のおかげでより安全な作業となっています。Windows ストアのエコシステムに入るすべてのアプリケーションは、リリース前に徹底的にレビューされるため、Windows ストアによりマルウェアがデバイスに感染する可能性が下がっています。ユニバーサル Windows アプリケーションは、サンド ボックス化されているため一般的なアプリケーションよりも本質的にセキュリティが向上します。サンドボックス化により、システム、データ、他のアプリケーションをリスクにさらす方法で、アプリケーションのセキュリティが侵害されたり、改ざんされたりするリスクが限定されます。

以下のセクションでは、Windows 10 におけるアプリケーションのセキュリティの強化について詳しく説明します。

Microsoft Edge と Internet Explorer 11

ブラウザーのセキュリティは、セキュリティ戦略の重要なコンポーネントであり、それには十分な理由があります。ブラウザーは、ユーザーのインターネットへのインターフェイスであり、悪意のあるサイトや攻撃を待つコンテンツがまさに文字どおり殺到するからです。ほとんどのユーザーは、ブラウザーなしでは少なくともジョブの一部を実行できず、多くのユーザーはブラウザーに完全に頼っています。この現実のため、ブラウザーは悪意のあるハッカーが攻撃を開始する第 1 の経路となっています。

すべてのブラウザーでは、ブラウザーの元の範囲を超えた操作を行うことができるように、ある程度の機能拡張が可能です。一般的な例として Flash 拡張と Java 拡張の 2 つがあり、対応するアプリケーションをブラウザー内で実行することができます。Web の閲覧やアプリケーションに対して (特にこれらの 2 つのコンテンツの種類に対して) Windows 10 のセキュリティを維持することは、優先事項です。

Microsoft では、Windows 10 にまったく新しいブラウザーである Microsoft Edge を組み込みました。Microsoft Edge は、特にいくつかの点でセキュリティが高まっています。

  • Microsoft Edge では、Microsoft 以外のバイナリ拡張がサポートされません。Microsoft Edge では、組み込みの拡張機能を通じて Flash コンテンツと PDF の表示がサポートされますが、ActiveX コントロールや Java など、他のバイナリ拡張機能はサポートされません。

  • Microsoft Edge では 64 ビット プロセスが実行されます。以前のバージョンの Windows を実行する 64 ビット PC は、セキュリティの低い以前の拡張機能をサポートするため、32 ビット互換モードで実行されることがよくあります。Microsoft Edge が 64 ビット PC で実行される場合、64 ビット プロセスのみ実行されるため、脆弱性が発見され、悪用が試みられてた場合でもセキュリティが高まります。

  • Microsoft Edge は、ユニバーサル Windows アプリとして設計されています。本質的に分離されており、ブラウザーをシステム、データ、他のアプリからサンドボックス化する AppContainer で実行されます。Windows 10 の IE11 も、拡張保護モードを通じて同じ AppContainer テクノロジを利用できます。ただし、ActiveX と BHO を実行することがあるため、ブラウザーとサンドボックスは Microsoft Edge よりかなり多くの攻撃を受けやすくなります。

  • Microsoft Edge より、セキュリティ構成タスクが簡略化されます。Microsoft Edge では、簡略化されたアプリケーション構造と単一サンドボックス構成が使われるため、必要なセキュリティ設定が少なくなります。さらに、セキュリティのベスト プラクティスに沿った Microsoft Edge の既定の設定が Microsoft により作成されているため、既定でもセキュリティで保護されます。

Microsoft Edge に加えて、主に Microsoft Edge では動作しない Web サイトやバイナリ拡張機能との下位互換性を確保するため、IE11 が Windows 10 に搭載されています。このブラウザーは、メイン ブラウザーとして構成するのではなく、図 6 に示すようにオプションまたは自動切り替えブラウザーとして構成してください。

図 6

図 6. 下位互換性を確保するため、Microsoft Edge から IE11 に切り替えるように Windows 10 を構成します。

Microsoft では、メイン Web ブラウザーとして Microsoft Edge を使うことをお勧めしています。最新の Web と互換性があり、できる限り高いセキュリティが実現されているためです。IE11 の互換性を必要とするサイト (バイナリ拡張機能やプラグインを必要とするサイトなど) では、エンタープライズ モードを有効にし、エンタープライズ モード サイト一覧を使って依存関係を持つサイトを定義します。ユーザーが Microsoft Edge を使って IE11 を必要とするサイトが識別されると、自動的に IE11 に切り替わります (構成されている場合)。

SmartScreen フィルター機能

最近のバージョンの Windows には、マルウェアがユーザーの知らないうちにインストールされるのを防ぐための効果的な手法が多く用意されています。それらの制限を回避するため、マルウェア攻撃はソーシャル エンジニアリング手法を使ってユーザーを騙し、ソフトウェアを実行することがよくあります。たとえば、トロイの木馬と呼ばれるマルウェアは、ユーティリティなどの便利なものを装っていますが、悪意のある追加のペイロードを持ち込みます。

Windows Internet Explorer 8 以降、SmartScreen フィルター機能は、SmartScreen フィルターのアプリケーションおよび URL 評価サービスを使うことで悪意のあるアプリケーションと悪質な Web サイトの両方からユーザーを保護することに貢献してきました。Internet Explorer の SmartScreen フィルター機能は、URL と新たにダウンロードしたアプリと Microsoft が管理するオンライン評価サービスを照合します。アプリや URL が安全かどうかわからない場合、SmartScreen フィルター機能は、システム管理者が構成したグループ ポリシー設定に従って、ユーザーに警告を表示したり、アプリや URL が読み込まれないようにしたりします。

Microsoft は、Windows 10 でアプリ評価機能をオペレーティング システム自体に統合することで SmartScreen フィルター機能の開発を進めました。これにより、ユーザーが使っている Web ブラウザーや、アプリがデバイスに到着するまでに使った経路 (メール、USB フラッシュ ドライブなど) に関係なく、フィルターがユーザーを保護できるようになっています。インターネットから入手したアプリをユーザーが初めて実行すると (ユーザーが別の PC からコピーした場合でも)、SmartScreen フィルター機能は、デジタル署名や他の要素を使ってアプリケーションの評価と Microsoft が保持するサービスを照合します。アプリに評価がないか、悪意のあることがわかっている場合、SmartScreen フィルター機能は管理者がグループ ポリシーをどのように構成したかに応じて、ユーザーに警告を表示するか、拡張機能全体をブロックします。

図 7

図 7. Windows 10 での職場での SmartScreen フィルター

既定では、ユーザーが正当なアプリを実行できなくなることがないように、SmartScreen フィルター機能による保護を回避するためのオプションが用意されています。コントロール パネルまたはグループ ポリシー設定を使って SmartScreen フィルター機能を無効にするか、SmartScreen フィルターが認識しないアプリを完全にユーザーが実行できないようにします。コントロール パネルの設定を図 8 に示します。

図 8

図 8: コントロール パネルの Windows SmartScreen の構成オプション

SmartScreen フィルター機能を試す場合、Windows 7 を使ってシミュレートされた (危険ではありません) マルウェア ファイル freevideo.exe をダウンロードします。コンピューターに保存し、エクスプローラーから実行します。図 9 に示すように、Windows は簡単な警告を表示してアプリを実行します。Windows 7 では、証明書を持っていないアプリに関する警告メッセージが表示される場合がありますが、簡単にバイパスできます。

図 9

図 9: Windows 7 ではアプリを実行できる

次に、Windows 10 PC にファイルをコピーか、ファイルをもう一度ダウンロードしてローカル コンピューターに保存することで、Windows 10 を実行しているコンピューターでテストを繰り返します。エクスプローラーから直接ファイルを実行すると、実行前に SmartScreen フィルター機能により警告が表示されます。Microsoft のデータによると、その余分な警告だけで、大部分のユーザーのマルウェア感染を防ぐことができます。

ユニバーサル Windows アプリ

さいわいなことに、ユニバーサル Windows アプリだけでなく従来の Windows アプリケーション (Win32) も Windows ストアからダウンロードして使うと、PC にマルウェアが侵入する可能性が大幅に下がります。すべてのアプリが、ストアで入手可能になる前に慎重なスクリーニング プロセスを通過するためです。組織がサイドローディング プロセスを通じてビルドおよび配布するアプリは、組織のセキュリティ要件を満たしているを内部で確認する必要があります。

ユニバーサル Windows アプリは、ユーザーが取得した方法に関係なく安心して使うことができます。管理者特権で実行されるためにシステムとデータに無差別にアクセスできる可能性がある従来の Windows アプリケーションとは異なり、ユニバーサル Windows アプリは特権と機能が限定された AppContainer サンドボックス内で実行されます。たとえば、ユニバーサル Windows アプリは、システム レベルのアクセスを持っておらず、他のアプリとのやり取りが厳しく制御されるため、ユーザーがアプリケーションのアクセス許可を明示的に付与しない限りデータにアクセスできません。

さらに、すべてのユニバーサル Windows アプリは、最小限の特権のセキュリティ原則に従っています。アプリは、正当なタスクの実行に必要な最小限の特権のみ受け取るため、攻撃者がアプリを悪用した場合でも、悪用による損害はかなり限定的で、サンドボックス内に収まります。Windows ストアには、アプリの年齢区分と発行元に加えて、アプリが必要とする正確な機能 (カメラへのアクセスなど) が表示されます。

結局のところ、Windows ストア アプリの配布プロセスと Windows 10 のアプリ サンドボックス機能により、ユーザーのシステムに悪意のあるアプリが侵入する可能性が大幅に減少します。

Windows Defender

マルウェア対策ソフトウェア (一般にはウイルス検出プログラムとも呼ばれます)、ウイルス対策プログラム、および他の名前のホストは、長い間存在してきました。Microsoft は、このカテゴリの最初のプログラムとして、MS-DOS 6.0 向けの Microsoft Anti-Virus を 1993 年にリリースしました。当時は、スタンドアロン MS-DOS プログラムを実行してウイルスを特定し、削除する手法で十分でした。

時代が変わり、テクノロジが進歩するにつれて、マルウェア対策ソフトウェアも進化してきました。最新の脅威を扱う際は、相互運用性を備えた多層防御を行うことが重要です。Windows Defender は、オペレーティング システムを広範に使って、さまざまな防御層間で相互運用性を実現します。効果的なマルウェア対策ソリューションを、マルウェアと企業の資産の間の障害物として配置することが重要であり、Device Guard などの機能を補完することになります。たとえば、マルウェア対策ソリューションは、メモリ内の悪意のある動作を検出できるだけでなく、Device Guard が対処できない領域である信頼できるアプリケーション内の悪意のある動作でさえ検出できることがあります。

Windows Defender は、複雑さを増す IT とその複雑さに伴う課題に対応できるように進化してきました。Windows 8 以降の Windows には、堅牢なインボックス マルウェア対策ソリューションとして Windows Defender が搭載されました。現在の Windows 10 では、Windows Defender が大幅に強化されています。

Windows 10 の Windows Defender は、リッチなローカル コンテキスト、広範なグローバル センサー、改ざん証明、IT セキュリティ担当者への権限付与の 4 本の柱からなるアプローチでマルウェア対策を強化しています。このセクションでは、それぞれの柱について説明します。

リッチなローカル コンテキスト: マルウェアを識別する方法を強化します。Windows 10 は、ファイルやプロセスなどのコンテンツだけでなく、コンテンツの入手元、保存場所などに関しても Windows Defender に通知します。入手元と履歴に関する情報により、Windows Defender はコンテンツごとに異なるレベルの調査を適用できます。

たとえば、インターネットからダウンロードされたアプリケーションは、信頼されたサーバーからインストールされたアプリケーションよりも詳しく調査されます。Windows 10 では、インターネットから入手されたアプリケーションの履歴がオペレーティング システム レベルで保持されるため、アプリが自身の経歴を消去することはできません。履歴は、Persisted Store により追跡および保存されます。Persisted Store は、リッチなローカル コンテキストを安全に管理し、承認されていない変更または削除を防止する Windows 10 の新機能です。リッチなローカル コンテキストにより、マルウェアが検出を逃れる手段として暗号化などの手法を使うこともできなくなります。

ローカル コンテキストは、マルウェア対策ソフトウェアがインターフェイスを公開する方法にも拡張されています。Windows Defender には、マルウェア対策スキャン インターフェイス (AMSI) が実装されています。このインターフェイスは、アプリケーションとサービスが、暗号化されたコードを実行前にスキャンおよび分析するよう Windows Defender に要求できるようにする汎用的なパブリック インターフェイス標準です。AMSI は、どのアプリケーションおよびマルウェア対策ソリューションにも実装できます。Windows 10 では、Windows PowerShell、Windows スクリプト ホスト、JavaScript、および Microsoft JScript を介して AMSI にアクセスできます。

Windows 10 には、Windows Defender がユーザー アカウント制御 (UAC) 要求と密接に連携できるようにする新しいテクノロジが実装されました。UAC システムがトリガーされると、昇格のプロンプトを表示する前に Windows Defender によるスキャンを要求します。Windows Defender は、ファイルやプロセスをスキャンし、悪意があるかどうかを判断します。悪意がある場合、Windows Defender がファイルまたはプロセスの実行をブロックしたことを示すメッセージがユーザーに表示されます。悪意がない場合、UAC は通常の昇格要求プロンプトを実行して表示します。

広範なグローバル センサー: Windows Defender を最新の状態に維持し、最新のマルウェアも検出できるようにします。これは、エンド ポイントからリッチなコンテキスト データを収集する方法と、そのデータを一元的に分析する方法の 2 つにより実現されます。目的は、新たなマルウェアを識別し、ライフタイムの重要な初期段階でブロックして、広範な PC エコシステムへの広がりを防ぐことです。

Windows 8 の Windows Defender には、急速に進化するマルウェア状勢に適切に対応できるように Windows Defender クラウド保護が初めて導入されました。目的は、"初めて検出された" マルウェアをマルウェア攻撃の重要な初期段階でブロックすることです。

お客様のプライバシーを保護するため、Microsoft ではお客様がシステムでオプトインまたはオプトアウトできるようにしています。プログラムにオプトインするだけで参加できます。Windows 10 でオプトインするには、[設定][更新とセキュリティ][Windows Defender] の順にクリックします。図 10 に、オプトインを選んだ状態を示します。

図 10

図 10: Windows 10 における Windows Defender のオプトイン設定

もちろん、システム管理者は、グループ ポリシーを介してすべての Windows Defender 設定を一元的に制御できます。図 11 に示すように、Windows Defender の構成設定は、[コンピューターの構成]、[Windows コンポーネント]、[Windows Defender] に表示されます。

図 11

図 11: グループ ポリシーにおける Windows Defender の設定: サンプル申請オプションは MAPS の下に一覧表示されている

改ざん証明: マルウェア攻撃に対する Windows Defender 自体の安全対策です。マルウェアの作成者は、ほとんどの PC にマルウェア対策ソフトウェアが実装されていることを前提としています。多くのマルウェア作成者は、リアルタイム スキャンを無効にしたり、特定のプロセスを隠したりするなど、何らかの方法でマルウェア対策ソフトウェアを変更するマルウェアを設計することによって、その障害物を乗り越えることを選びます。マルウェアによっては、マルウェア対策ソフトウェアを完全に無効にしながら、ユーザーには十分に機能しているように見せることまでします。

Windows Defender は、改ざんに対抗できるように設計されています。Windows 10 で利用可能ないくつかのセキュリティ テクノロジを使います。主なものは、信頼されていないプロセスが Windows Defender コンポーネント、レジストリ キーなどを改ざんできないようにする保護されたプロセスです。Windows Defender の改ざん証明は、セキュア ブート付きの UEFI や ELAM など、システム全体のセキュリティ コンポーネントの間接的な結果でもあります。これらのコンポーネントは、自身を防御し始める前に Windows Defender を起動できるより安全な環境を用意できるようにします。

IT セキュリティ担当者への権限付与: Windows Defender が、エンタープライズ クラスのマルウェア対策ソリューションを作成するのに必要なツールと構成オプションを IT 担当者に用意することを意味します。このカテゴリの有力製品と同等のエンタープライズ レベルの機能を多数備えています。

  • Microsoft Intune、System Center Configuration Manager、Microsoft System Center Operations Manager などの一元管理ソフトウェアと統合されています。Windows 8.1 とは異なり、Windows Defender は Windows に統合され、追加する必要があるのは管理レイヤーだけであるため、追加のクライアントは必要ありません。

  • Windows Defender では、Microsoft 以外の多くのデバイス管理ソリューションによる、一元管理のための Open Mobile Alliance Device Management がサポートされます。

  • これには、従来の統合型コマンド ラインと Windows PowerShell コマンドレットのサポートが含まれています。

  • Windows Management Instrumentation のレポートおよびアプリケーション管理のサポートが組み込まれています。

  • グループ ポリシーとの完全な統合により、IT 構成を細かく管理できます。

さらに、Windows Defender には Windows Defender Offline Tool が統合されました。以前は、起動可能なスタンドアロン バージョンの Windows Defender を、Windows 回復環境に作成する必要がありました。これにより、低いレベルのマルウェア感染を修復するプロセスが簡略化されます。このような感染は、Windows デスクトップで実行されるマルウェア対策ソリューションでは、検出と削除が困難な場合があります。Windows Defender Offline エクスペリエンス内からこの環境のシグネチャを自動的に更新することができます。

Windows Defender 以外にも、Windows 10 にはマルウェア対策製品への高度なオペレーティング システム アクセスが用意されています。Microsoft 以外のマルウェア対策ベンダーは、マルウェアの検出と削除を行うため、Microsoft の新しい API とインターフェイスを利用して、これまでにない方法で Windows 10 のリソースにアクセスできます。Microsoft 以外のマルウェア対策ソリューションには、初期スタートアップ プロセスの段階で Windows 10 をスキャンする ELAM ドライバーを実装できます。Microsoft 以外のマルウェア対策ソリューションは、低いレベルの新しいインターフェイスの広範なセットを使うことで、Microsoft が Windows の内部に大幅な変更を加えた場合でも (オペレーティング システムのメジャー バージョン間で頻繁に行われる変更など)、アプリケーションの互換性を維持する方法で高度なマルウェア検出を実行できるようになります。

ただし、このアクセスはセキュリティ上の課題となります。Windows 10 は、マルウェア対策ソフトウェアに広範なアクセスを許可しながら、どのようにしてマルウェアが同じアクセスを利用できないようにするのでしょうか。Microsoft は、Microsoft 以外の複数のソフトウェア ベンダーとこの課題に懸命に取り組んできました。サード パーティがこのレベルのアクセスを望む場合、サード パーティは特定の条件と審査要件を満たす必要があり、Microsoft はそのソフトウェアにデジタル署名する必要があります。これにより、Microsoft はソフトウェア ベンダーの信頼性を確認し、悪意のあるユーザーが自己署名した偽のマルウェア検出プログラムを作成することを防止できます。

もちろん、Microsoft はマルウェア対策ベンダーやその技術革新を制限していません。また、ソフトウェア配布チャネルも変えていません。Microsoft によってマルウェア対策アプリケーションが署名されている場合、どのような手段でも展開してインストールできます。Microsoft は基本的に、マルウェア対策ソフトウェアに署名する前に、それらのソフトウェア開発者が業界で認識されている本物の組織であることを確認しており、そのようにすることで広範な特権をその開発者に付与しています。

ユーザーがコンシューマー デバイスおよび BYOD (Bring Your Own Device) のシナリオで特に直面するもう 1 つのセキュリティの脅威は、マルウェア対策製品が無効になっていたり、古くなっていることです。マルウェア対策製品がインストールされているが効果を失っている BYOD コンピューターは、セキュリティが高いと錯覚するため、製品がまったくないよりも危険です。Windows 10 の Windows Defender は、Windows Defender やユーザーが希望する Microsoft 以外のソリューションが正常な状態で確実に実行されるようにすることで、この脅威を軽減します。

Microsoft 以外のリアルタイム保護が 24 時間動作不能の状態になると (無効や有効期限切れなど)、デバイスを保護するため Windows Defender が自動的にオンになります。Windows は、ソフトウェアの有効期限が切れる 5 日前にユーザーに通知することで、Microsoft 以外のマルウェア対策ソリューションの問題を修正できるようにします。ソリューションの有効期限が切れた場合、Windows は Windows Defender を有効にし、Microsoft 以外のソリューションを更新するようユーザーに促します。ユーザーがソリューションを更新または再アクティブ化すると、Windows Defender は自動的に無効になります。つまり、目標は動作可能なマルウェア対策ソリューションが常に実行されるようにすることです。

まとめ

Windows 10 は、Microsoft による何年にもわたる取り組みの完成形であり、セキュリティの観点からするとその影響は大きなものです。今でも Windows XP の時代を思い出すことができますが、Windows オペレーティング システム、アプリケーション、およびデータへの攻撃は増加し、深刻な脅威へと発展しました。おそらく既に展開している既存のプラットフォームおよびセキュリティ ソリューションでも、これまで以上に適切に防御できます。しかし、攻撃者はさらに進化しているため、組織とユーザーを保護する能力を上回っていることに疑いの余地はありません。今のところは別の有名組織かもしれませんが、攻撃の犠牲になっているというニュースを毎日のように聞くことがこの事実を証明しています。Microsoft では、最も高度な相手によるこのような最新の脅威と戦略に対処することを特に目的として Windows 10 を設計しました。組織の立ち位置を根本から変え、次の標的として狙っている攻撃者に対する優位性を回復することができます。

関連トピック

Windows 10 の仕様

HealthAttestation CSP

Windows Hello によって Windows 10 をカスタマイズし、セキュリティを高める方法に関するページ

プリブート攻撃から BitLocker を保護する