ニュース
Windows 11の次期セキュリティ機能「管理者保護」でユーザー・開発者が注意するべきこと
隔離・ジャストインタイム・Windows Helloで従来のUACとは一線を画す堅牢さの代償
2025年5月27日 13:42
Microsoftは「Windows 11」の次期セキュリティ機能として「管理者保護」(administrator protection)を導入する予定だ。米国時間5月19日付けで公開された公式ブログ「Windows Developer Blog」の記事で、その解説が行われている。
管理者保護機能は権限の昇格に関連するリスクを最小限に抑えるため、ジャストインタイムの管理者権限を提供することでユーザーを保護する。また、ユーザー認証のわずらわしさを軽減するため「Windows Hello」を前提とした設計がなされているのも特徴だ。従来の「UAC」(ユーザーアクセス制御)アーキテクチャーにパラダイムシフトをもたらすものとなる。
管理者保護の設計の特徴は、以下にまとめられる。いずれも最小特権の原則に基づき、権限昇格に透明性をもたらすのが目的だ。
- 独立したプロファイルによる新しいセキュリティ境界:非表示の、システム管理された、プロファイル分離されたローカルユーザーアカウント(システム管理者アカウント、SMAA)で、隔離された管理者トークンを作成する。ユーザーレベルのマルウェアが昇格実行したコードでもアクセスや侵害ができないセキュリティ境界を設ける
- ジャストインタイム管理者トークン:システムタスクを実行するために必要な管理者トークンはSMAAが生成し、完了すると破棄される。使い回しはできない
- 自動昇格の削除:特定のWindowsプロセスやアプリケーションがユーザーに同意を求めることなく昇格することはない。ユーザーはすべての管理者操作を対話的に承認する必要がある
- 「Windows Hello」との統合:自動昇格の削除で増える煩雑な承認操作は、「Windows Hello」との併用で解決。従来のUACよりセキュリティも向上する
管理者保護が有効な状態でアプリケーションが昇格実行されるときは、プロファイル分離されたSMAAが用いられる。ユーザープロファイルとSMAAプロファイルとではファイルシステムのディレクトリやレジストリハイブは共有されない。これは古典的なUACバイパス攻撃に有効だが、一方で以下のような注意点もある。
- 昇格状態でライブラリフォルダー(ドキュメント、画像、ビデオなど)に保存されたファイルは、SMAAプロファイルに対応するライブラリフォルダーに保存される。昇格していない状態で保存されたファイルへ管理者権限で動作するアプリからアクセスするためには、昇格されていないライブラリフォルダーへの移動が必要となる
- 管理者特権で実行されている場合、現在のユーザーのデフォルトのレジストリハイブはプライマリユーザーのレジストリハイブではなく、SMAAユーザーのレジストリハイブにマッピングされる
- 背景色やフォントのようなアプリケーション固有の設定は、自動でSMAAプロファイルに適用されない。その逆も同様。
- 自動昇格が削除されるため、昇格プロンプトが表示される回数が増える可能性がある
アプリ開発者はこうした違いを念頭に置いて、アプリを設計する必要がある。たとえばインストールに際しては、以下がベストプラクティスとされる。
- ユーザーごとにインストールするアプリは、昇格せずに実行する
- ストアアプリをインストールする場合、できるだけUIベースのインストールを使用する
- APIベースのストアアプリを使用してインストールする必要がある場合、「catalogID」を用いて昇格せずにインストールする
- アプリ開発者はインストーラーの昇格が絶対に必要な場合、ユーザープロファイルのフォルダーの下にアプリのバイナリを配置することは避ける。64bitアプリは「%ProgramFiles%」を、64bitシステム上の32bitアプリは「%ProgramFiles(x86)%」を用いる。できればMSIXパッケージングを利用する
- アプリ開発者はインストール中にアプリケーション内でコンテキストを切り替えることを控え、昇格または非昇格のどちらかでインストールを完了するようにする
- アプリ開発者は昇格コンテキストと非昇格コンテキスト間でファイルを共有することは避ける
そのほかにも、管理者モードと一般モードでアプリ設定が自動で共有されない問題などに手動で対処する必要がある。
なお、管理者保護は「Windows 11 バージョン 24H2」以降で利用可能(Home、Professional、Enterprise、Educationの各エディション)。近日中にプレビュービルドでテストが開始される。「Windows Server」や「Windows 10」などではサポートされない。