デバイスの起動、セキュリティ、管理を進化させる Surface UEFI で業界トップクラスの安全な PC を構築
※ 本ブログは、米国時間 2024/6/18 に公開された “Surface UEFI: Evolution in boot, security & device management to build an industry leading secure PC” の抄訳です。
マイクロソフトは、Surface を市場で最も安全なデバイスにすることを目指しています。その取り組みの中核となるのが独自の UEFI の構築であり、サービスと機能に重点的に投資を行うことによって継続的に進められています。具体的にはどのような取り組みなのでしょうか? 今回のブログでは、この UEFI 開発を支えるテクノロジについて詳しくご紹介していきます。
Project Mu に基づく構築
Surface チームは、Surface デバイスに最高水準の UEFI を導入し、マイクロソフトが掲げる理想の個人向けコンピューティング デバイスの構築方法を提示するための手段として、Project Mu の採用を決定しました。この UEFI による機能強化と Surface で生まれた優れた機能は、Project Mu を始めとする幅広いオープンソース エコシステムを通じてご利用いただけます。
Project Mu の詳細については、以下をご覧ください。
Rust の登場
Rust は、開発効率が良くタイプセーフで保守性の高いファームウェア向けのプログラミング言語であり、セキュリティ重視の点からも近年人気を集めています。マイクロソフトは戦略的に UEFI およびセキュリティのファームウェアに Rust を採用しています。広範な導入のための第一歩として、複数のファームウェア コンポーネントを C 言語から Rust に移行しました。詳細については、ファームウェアのセキュリティ強化: Project Mu における Rust と UEFI | Microsoft Tech Community (英語) をご覧ください。
主な投資状況
UEFI スタックを独自に作成すれば、Surface デバイス向けに構築されたソリューションを微調整できるようになります。一般的なサードパーティ製 UEFI スタックに依存するよりも、はるかに大きなメリットがあります。要件の分析から保守までを厳格に管理できる独自開発によって、安全性が高く妥協のない UEFI ソリューションを実現できます。このモデルであれば、ISV の UEFI スタックに依存することなくソリューションの検証、作成、デプロイをシームレスに行えるため、新しい脅威にも迅速に対応し、コンシューマーや法人顧客を危険にさらす時間を短縮できます。
さらに、更新は Windows、Project Mu、関連するオープンソース コンポーネントのエコシステムにすばやくフィードバックされ、OEM パートナーが利用できるようになります。次のセクションでは、いくつかの投資分野に焦点を当てて説明していきます。ここでは概要に留め、今後の投稿で詳細にご紹介していく予定です。
Surface はセキュリティを重視
今日私たちの PC は、アプリからファームウェアに至るまで、あらゆるものが脅威や攻撃の対象となる可能性があります。攻撃とそれに伴う UEFI スタックの構成要素の改ざんはシステムに深刻な被害を与える可能性があり、また、攻撃者によってシステムが高度にコントロールされてしまうリスクもあります。Surface UEFI では、こうした脅威からデバイスやユーザーを保護するためのテクノロジ スイートの開発を続けていきます。
信頼のルート
Surface では、ハードウェアの検証を行う信頼のルート (Root of Trust) ポリシーを活用して、デバイスのリセットからの起動を安全に行うための基盤を提供しています。これは、暗号化された署名を確認し、複数のファームウェアのプリミティブの実行を制御したうえで、Windows を読み込み、起動することで実現しています。信頼のルートや起動のフローは SoC ベンダーによって異なりますが、Surface UEFI はベンダーごとに調整され、最適なセキュリティとパフォーマンスの提供を可能にします。
Secured-Core PC
Windows Secured-Core PC (SCPC) モデルは、Surface デバイスを安全に操作できる環境と高度な攻撃に対する保護を提供します。特に機密性の高い情報を扱う産業においては、デバイスでミッションクリティカルなデータを扱う場合に大きな安心感を得られます。Surface UEFI は、シリコン アーキテクチャに依存した次の 2 つのソリューションによって SCPC の安全な起動をサポートしています。
– ARM ベースの Surface デバイス向けの測定のための動的な信頼のルート (Dynamic Root of Trust for Measurement、DRTM)
– Intel ベースの Surface デバイス向けのファームウェア攻撃面の縮小 (Firmware Attack Surface Reduction、FASR)
測定のための動的な信頼のルート (DRTM)
初期の測定のための静的な信頼のルート (Static Root of Trust for Measurement、SRTM) ソリューションの不十分な点を解消するために、Surface は業界標準の強化型テクノロジである DRTM を有効化しました。DRTM は信頼性のないコードからデバイスを起動する場合でも、すべての CPU を制御することで、システムの他の部分から隔離されたセキュアな領域を作り出し、信頼できる状態での起動を実現します。この領域は保護が実行された状態で、メモリを備えています。
DRTM は、領域内のファームウェアとブートローダーのコンポーネントと、システムの状態 (メモリ コントローラーの構成など) を「測定」します。「測定」とは、ファームウェア コンポーネントのデジタル署名や機密性のある操作 (取り扱いに注意が必要なパラメーターの再構成、アプリやドライバーのディスパッチなど) の暗号署名の計算を行い、安全な状態で TPM に保存することを指します。その後、署名は望ましい状態との比較で検証され、システムのセキュリティの健全性が確認されます。検証が問題なく完了すると、システムのハードウェアが改ざんされておらず、セキュリティを損なう可能性のある予期しない操作が実行されていないことを確認できます。
ファームウェア攻撃面の縮小 (FASR)
FASR は DRTM と類似する手法を採用しており、保護を通じて起動環境の改ざんを防ぎ、オペレーティング システムに対するファームウェアの状態が安全であることを確認します。このアプローチでは、FASR の既定の起動パスで実行できるコンポーネントのリストを慎重に管理し、ファームウェアの攻撃面を縮小します。
スタンドアロン管理モード
Surface UEFI は、管理モード スーパーバイザー (MM スーパーバイザー) を通じてスタンドアロン管理モード (スタンドアロン MM) もサポートします。MM スーパーバイザーは CPU の特権レベルの分離を適用することで、MSR、I/O ポート、メモリ領域 (SMM 保存状態を含む)、命令タイプに関するリソース隔離を実行します。このアプローチにより、最高レベルの Secured-Core PC SMM 分離を実現できます。
Secured-Core PC、DRTM、FASR の詳細については以下をご覧ください。
- Windows 11 の Secured-Core PC | Microsoft Learn
- System Guard による Windows の保護 – Windows Security | Microsoft Learn
- ファームウェア攻撃面の縮小 (FASR) – Windows ドライバー | Microsoft Learn
法人および大企業のお客様のニーズに対応
法人および大企業のお客様向けの市場では引き続き Surface の存在感が増しています。Surface ではマイクロソフトが提供する展開、管理、制御サービスを今後も確実にサポートしていきます。
デバイス ファームウェア構成インターフェイス (DFCI)
Surface UEFI は DFCI をサポートしています。DFCI は、Microsoft Intune などのモバイル デバイス管理エージェントを通じて UEFI の設定を行うためのファームウェア設定用インターフェイスです。DFCI を利用することで、IT 管理者は特定のハードウェア コンポーネントを遠隔操作で無効化し、エンド ユーザーによる変更を防ぐことができます。これは管理対象の環境でデバイスの設定を一貫させるために役立ちます。設定の例としては、デバイスの起動順、デバイスのポートの有効化と無効化、外部周辺機器の制御と認証などがあります。安全性の高い環境で機密情報を保護する必要がある場合は、カメラを無効化し、USB ポートの利用を制限できます。USB ドライブからの起動を許可したくない場合は、これを無効化することも可能です。
DFCI の詳細については以下をご覧ください。
Surface Enterprise 管理モード (SEMM)
SEMM は DFCI と密接な関係がありますが、クラウドからではなく、オンプレミスでデバイス管理を行うためのツールと考えられています。DFCI は遠隔操作でファームウェア設定のデプロイを行えますが、SEMM は Surface IT Toolkit や System Center Configuration Manager (SCCM) を使用して構成パッケージを物理またはローカルでデプロイする必要があります。
SEMM の詳細については以下をご覧ください。
動的 USB-C 無効化
動的 USB-C 無効化を利用すると、管理者は特定のシナリオやユーザーのニーズに基づいて USB-C ポートを管理し、不正なデバイスの接続を防止できます。Surface Thunderbolt 4 ドックと組み合わせることで、IT 管理者は対象となる Surface デバイスがドックから外れている場合や不正なドックに接続されている場合に USB-C ポートの利用を制限できます。
USB-C 無効化の詳細については以下をご覧ください。
デバイスのパフォーマンスと監視を引き続き重視
なぜマイクロソフトは起動時間の短縮、つまりユーザーの待ち時間の削減を目指しているのでしょうか。
Surface ではユーザーの生産性強化のために、起動時間の短縮や “Wake-On” シナリオの最適化を引き続き重視しています。これは、シリコン パートナーとの関係構築を含む Windows および Project Mu の進化に即した取り組みです。
保守性
Surface は利用現場でのデバイスのアップグレードや修理が可能であり、保守費用やダウンタイム、平均修復時間を削減できます。Surface の各モデルの開発にあたっては、相当の投資や配慮、対処が行われ、すべてのハードウェア モジュールが最適なパフォーマンスを発揮し、優れたエクスペリエンスを提供できるよう調整されました。画面の色の忠実度から SSD の読み取りと書き込みのパフォーマンスまで、すべてに当てはまります。Surface は、現場交換可能ユニット (FRU) で交換されたすべてのハードウェア モジュールが常に最適なデバイス エクスペリエンスを提供できることを目指しています。
UEFI フロント ページ
Surface UEFI フロント ページでは、ユーザーが手元の Surface デバイスから UEFI の設定を確認、修正できます。UEFI フロント ページは、音量アップ キーを押しながら電源キーを押すと、コールドブートから起動します。このページのさまざまなタブや項目から UEFI 設定を変更できます。DFCI や SEMM からのデバイスの利用が制限されている場合は、これらの設定はグレーアウト (無効化) され、ユーザーはいかなる変更も実施できません。
今後の展望
このブログでは、Surface UEFI について、サービスや機能面への主な投資状況という観点からご紹介しました。これらは、他の多くのシステム コンポーネントを設定、保護、更新するための基礎に過ぎません。Surface UEFI は法人とコンシューマーの両方のセグメントを重視しており、引き続き Project Mu や Rust を活用し、UEFI 関連の業界団体への参画を進め、シリコン パートナーとの共同開発を通じて、Windows をけん引し保護するためのソリューションを開発していきます。
関連情報
- Project Mu (英語)
- microsoft/mu_plus
- https://github.com/microsoft/mu_rust_hid
- ファームウェアのセキュリティ強化: Project Mu における Rust と UEFI | Microsoft Tech Community (英語)
- Windows 11 の Secured-Core PC | Microsoft Learn
- System Guard による Windows の保護 – Windows Security | Microsoft Learn
- ファームウェア攻撃面の縮小 (FASR) – Windows ドライバー | Microsoft Learn
- DFCI 管理 | Microsoft Learn
- Surface デバイス上の DFCI の管理 – Surface | Microsoft Learn
- Surface Enterprise 管理モード (SEMM) の概要 – Surface | Microsoft Learn
- Surface デバイスの USB ポートの管理 – Surface | Microsoft Learn
Join the conversation
Please sign in to comment