Windows Defender System Guard: ハードウェア ベースの信頼のルートが Windows 10 を保護する方法

Windows 認証スタック、シングル サインオン トークン、Windows Hello 生体認証スタック、仮想信頼プラットフォーム モジュールなどの重要なリソースを保護するには、システムのファームウェアとハードウェアが信頼できる必要があります。

Windows Defender System Guard は、既存の Windows 10 システム整合性機能を 1 つの屋根の下に再編成し、Windows セキュリティへの次の投資セットを設定します。 これは、次のセキュリティ保証を行う目的で設計されています。

  • システムの起動時にシステムの整合性を保護および維持する
  • ローカル構成証明とリモート構成証明によってシステムの整合性が本当に維持された状態を検証する

システムの開始時の整合性の維持

測定の静的な信頼のルート (SRTM)

Windows 7 では、攻撃者が検出を永続化して回避するために使用する手段の 1 つは、ブートキットまたはルートキットと呼ばれる機能をシステムにインストールすることです。 この悪意のあるソフトウェアは、Windows が起動する前、またはブート プロセス自体の間に開始され、最高レベルの特権で起動できます。

Windows 10 が最新のハードウェア (つまり、Windows 8 認定以上) で実行されている場合、ハードウェア ベースの信頼ルートを使用すると、Windows ブートローダーの前に未承認のファームウェアやソフトウェア (ブートキットなど) を起動できない状態にできます。 このハードウェア ベースの信頼のルートは、統合拡張可能ファームウェア インターフェイス (UEFI) の一部であるデバイスの Secure Boot 機能から取得されます。 静的アーリー ブート UEFI コンポーネントを測定するこの手法は、静的信頼のルート for Measurement (SRTM) と呼ばれています。

UEFI BIOS のバージョンが異なる多数のモデルを生成する PC ベンダーが数千あるので、起動時に非常に多数の SRTM 測定値が発生します。 ここで信頼を確立するには、既知の "悪い" SRTM 測定値 (ブロック リストとも呼ばれる) の一覧、または既知の "良い" SRTM 測定値 (許可リストとも呼ばれる) の一覧を保持する 2 つの手法があります。 各オプションには欠点があります。

  • 既知の "悪い" SRTM 測定値の一覧を使用すると、ハッカーはコンポーネント内のわずか 1 ビットを変更して、リストする必要がある完全に新しい SRTM ハッシュを作成できます。 つまり、SRTM フローは本質的に脆く、わずかな変更によって信頼チェーン全体が無効になる可能性があります。
  • 既知の "優れた" SRTM 測定値の一覧では、新しい BIOS/PC の組み合わせの各測定値を慎重に追加する必要があります。これは低速です。 さらに、UEFI コードのバグ修正は、設計、ビルド、再テスト、検証、再展開に長い時間がかかる場合があります。

セキュリティで保護された起動- 測定の信頼の動的ルート (DRTM)

Windows Defender Windows 10 バージョン 1809 で初めて導入された System Guard Secure Launch は、測定用の動的信頼ルート (DRTM) と呼ばれるテクノロジを活用して、これらの問題を軽減します。 DRTM を使用すると、システムは最初は信頼されていないコードを自由に起動できますが、システムを信頼できる状態に起動した直後に、すべての CPU を制御し、よく知られた測定されたコード パスを押し下げることができます。 これは、信頼されていない初期の UEFI コードがシステムを起動できるようにした後、信頼済みで測定された状態に安全に移行できる利点があります。

System Guard Secure Launch

Secure Launch は、起動コードが特定のハードウェア構成とは無関係になされたため、SRTM 測定値の管理を簡素化します。 つまり、有効なコード測定値の数は少なく、将来の更新プログラムは、より広く迅速に展開できます。

システム管理モード (SMM) 保護

システム管理モード (SMM) は、電源管理、ハードウェア構成、熱監視、および製造元が有用と判断するその他の機能を処理する x86 マイクロコントローラの特殊な CPU モードです。 これらのシステム操作の 1 つが要求されると、実行時にマスクできない割り込み (SMI) が呼び出され、BIOS によってインストールされた SMM コードが実行されます。 SMM コードは最高の特権レベルで実行され、OS には表示されないので、悪意のあるアクティビティの魅力的なターゲットになります。 System Guard Secure Launch を使用して起動が遅れた場合でも、SMM コードはハイパーバイザーメモリにアクセスしてハイパーバイザーを変更する可能性があります。 これを防御するために、次の 2 つの手法が使用されます。

  1. コードとデータへの不適切なアクセスを防止するページング保護
  2. SMM ハードウェアの監督と構成証明

改ざんを防止するために、特定のコード テーブルを読み取り専用にロックするページング保護を実装できます。 これにより、特に割り当てられていないメモリへのアクセスが防止されます。

スーパーバイザ SMI ハンドラーと呼ばれるハードウェアによって適用されるプロセッサ機能は、SMM を監視し、想定されていないアドレス空間の一部にアクセスしなかっていないことを確認できます。

SMM 保護は、Secure Launch テクノロジの上に構築され、機能する必要があります。 今後、Windows 10 は、この SMI ハンドラーの動作を測定し、OS 所有のメモリが改ざんされていないと証明します。

Windows の実行後のプラットフォーム整合性の検証 (実行時)

Windows Defender System Guard は、起動時および実行時にプラットフォームの整合性を保護および維持するのに役立つ高度な保護を提供しますが、実際には、最も高度なセキュリティ テクノロジに対しても「侵害を想定する」メンタリティを適用する必要があります。 テクノロジが正常に仕事をしているという信頼を得る必要がありますが、目標達成に成功したと確認する能力も必要です。 プラットフォームの整合性に関しては、セキュリティ状態を自己証明するために、潜在的に侵害される可能性のあるプラットフォームを信頼する必要はありません。 そのためWindows Defender System Guard には、デバイスの整合性のリモート分析を可能にする一連のテクノロジが含まれています。

Windows 10 が起動すると、デバイスの信頼できるプラットフォーム モジュール 2.0 (TPM 2.0) を使用して、Windows Defender System Guard によって一連の整合性測定値が実行されます。 System Guard Secure Launch では、TPM 1.2 などの以前のバージョンの TPM はサポートされていません。 このプロセスとデータは、Windows からハードウェアで分離され、プラットフォームが侵害された場合に発生する可能性がある改ざんの種類に測定データが含まれるのを防止します。 ここから、測定値を使用して、デバイスのファームウェア、ハードウェア構成状態、および Windows ブート関連コンポーネントの整合性を判断できます。

ブート時間の整合性

システムが起動した後、システム ガードWindows Defender TPM を使用してこれらの測定値に署名し、シールします。 要求に応じて、Intune や Microsoft Endpoint Manager のような管理システムがリモート分析のためにそれらを取得できます。 System Guard Windows Defender、デバイスの整合性が欠けていると示されている場合、管理システムは、リソースへのデバイス アクセスを拒否するなどの一連のアクションを実行できます。