Windows 11 22H2でスマート アプリ コントロールという機能が導入されました。この機能によって、アプリの起動の挙動はどのように変わるのでしょうか?
スマート アプリ コントロール (Smart App Control)
スマート アプリ コントロールとは、マイクロソフトのサイトから引用すると以下の通りです。
Smart App Control は、悪意のあるアプリや信頼されていないアプリをブロックすることで、新しい脅威や新たな脅威を含むマルウェアからの大幅な保護を追加します。 Smart App Control は、望ましくない可能性のあるアプリをブロックするのにも役立ちます。これは、デバイスの実行速度が低下したり、予期しない広告を表示したり、不要な追加のソフトウェアを提供したり、予期しないその他の操作を行ったりする可能性があるアプリです。 (マイクロソフトのサイトより引用)
信頼されていないアプリをブロックし、脅威からの保護をするための仕組みです。
「信頼されていない」とは?
ここで、「信頼されていない」の定義ですが、マイクロソフトのサイトから引用すると以下の通りです。
開発者は、アプリを作成するときに、IDを検証するデジタル証明書を使用してアプリに"署名"し、アプリが実際に公開されていること、および開発者が発行した後に他の誰かによってアプリが改ざんされていないことを推奨します。 これは、偽りにくい点を除き、一部のアートに署名する画家のように考えることができます。 署名は、アプリを信頼済みまたは信頼できないものにできる部分の1つです。もう1つはエクスペリエンスです。Microsoftのインテリジェント クラウドを利用したセキュリティ サービスでは、毎日膨大な数のアプリが表示され、その知識を使用して、アプリが安全かどうかを予測します。これまでに見たことがないアプリでも予測できます。ただし、場合によっては、サービスはどちらの方法でも自信を持って予測できません。 セキュリティ サービスがアプリについて自信を持って予測できず、アプリに有効な署名がない場合、信頼されていないと見なされます。 (マイクロソフトのサイトより引用)
アプリが「信頼される」ためには、アプリのモジュールに電子署名を付与することが、近道の一つようです。また、マイクロソフトのインテリジェント クラウドの学習を利用したセキュリティ サービスが「信頼されない」かどうかの判定もします。
Windows セキュリティ アプリ
スマート アプリ コントロールの設定は、「Windows セキュリティ」アプリからできます。
Windows セキュリティ アプリは、「設定」から開く場合は、以下の方法で起動できます。
「設定」アプリ → プライバシーとセキュリティ → Windowsセキュリティ → Windowsセキュリティを開く
検索で開く場合は、Windowsボタンをクリックして、「Windows セキュリティ」と入力すると下記の図のように見つけることができます。
スマート アプリ コントロールの設定
Windows セキュリティを起動したら、「スマートアプリコントロールの設定」を開くために、まずは、「セキュリティの概要」から「アプリとブラウザー コントロール」を開きます。
次に、「スマート アプリ コントロールの設定」を開きます。
スマートアプリコントロールの設定が開くと、「オン」、「評価」、「オフ」の三つの選択肢がある設定画面が表示されます
スマート アプリ コントロールの3つのモード
スマートアプリコントロールの設定には、三つのモードの選択肢があります。
- オン
- 評価
- オフ
オン
「オン」とは、スマート アプリ コントロールが有効化された状態です。オンの状態では、信頼されないアプリの実行はすべて拒否されます。特定のアプリをスマート アプリ コントロールの対象外とするための例外設定はできません。ただし、スマート アプリ コントロールのすべての機能を無効にする「オフ」に変更することは可能です。
評価
「評価」とは、Windows 11 22H2をインストールした直後の状態です。「評価」モードの期間では、Windows がPCの使われ方を学習します。「評価」モードの期間は、アプリの起動をブロックすることはありません。この学習結果により、Windowsがスマートアプリコントロールを「オン」にするか「オフ」にするかを自動的に決定します。「評価」モードから、「オン」または「オフ」に切り替わった場合は、再度「評価」モードに戻すことはできません。「評価」モードに戻す場合は、Windowsの再インストール、もしくは、リセットが必要となります。「評価」モードの場合は、手動で「オン」または、「オフ」に切り替えることは可能です。
オフ
「オフ」とは、スマート アプリ コントロールが無効化された状態です。一度、「オフ」になると、その後、「オン」や「評価」にすることはできません。「オフ」に変更することは、非可逆な操作となるため、「オフ」を選択すると以下のような確認画面が表示されます。
「オフ」に変更すると以下の画面のように「オン」と「評価」の選択肢は無効化され、選択できなくなります。
一度でも「オフ」にすると、そのWindows PCで、信頼されないアプリが実行されている可能性があります。スマート アプリ コントロールが「オン」の状態では、信頼されないアプリが実行されていないことを保証するために、一度でも「オフ」にした場合は、その他の項目は無効化されます。
スマート アプリ コントロールを有効化するには
スマートアプリコントロールは、Windows 11 22H2で導入されます。しかし、PCがWindows 11 22H2であればすべてのPCで利用できる(有効化できる。「オン」に変更できる)というものではありません。
Windows 11 22H2以前からアップグレードしたPC
「Windows 11 22H2以前からアップグレードしたPC」では、スマート アプリ コントロールは、有効化できません。スマート アプリ コントロールは、システムから「信頼されないアプリ」の脅威を防ぐためのものです。途中から有効化すると、それまでにシステムに入り込んだ「信頼されないアプリ」が実行されていないことを保証できないため、有効できなくなっているようです。
製品購入時にWindows 11 22H2がインストールされたPC
「製品購入時にWindows 11 22H2がインストールされたPC」では、購入直後のPCの初回起動時は、スマート アプリ コントロールは「評価モード」のようです。ただし、現時点(2022年9月中旬)でWindows 11 22H2がインストールされたPCは販売されていないので、実機では未確認です。
Windows 11 22H2をクリーンインストールしたPC
「Windows 11 22H2をクリーンインストールしたPC」は、クリーンインストールした直後のPCの初回起動時は、スマート アプリ コントロールは「評価モード」です。
スマート アプリ コントロールを有効にしたPCでアプリの起動
スマート アプリ コントロールを有効にしたWindows PCでは、アプリのモジュールに電子署名を付与してあるかどうかで、起動がブロックされるかどうかの挙動が異なります。
アプリの起動に関する挙動を確認できるように、テスト用アプリを用意しました。
Smart App Control Test App (スマート アプリ コントロール テスト アプリ)
このテストアプリには、4つのモジュールが含まれています。
- SmartAppControlTest32_unsigned.exe (32ビットアプリ、電子署名 無し)
- SmartAppControlTest32_signed.exe (32ビットアプリ、電子署名 有り)
- SmartAppControlTest64_unsigned.exe (64ビットアプリ、電子署名 無し)
- SmartAppControlTest64_signed.exe (64ビットアプリ、電子署名 有り)
32ビットアプリ、および、64ビットアプリの、電子署名「あり」(*_signed.exe)と「なし」(*_unsigned.exe)です。
未署名のモジュールの起動
スマートアプリコントロールを有効にしたWindows 11 22H2上で、上記のモジュールを起動しようとすると、電子署名無しのモジュールは起動がブロックされます。
2022年9月27日 追記 テストアプリとして用意した上記の署名無しのモジュールは、マイクロソフトのクラウドでの学習の結果、信頼されたモジュールとみなされるようになりました。そのため、ブロックされない可能性があります。未署名のモジュールの挙動を試す場合は、Visual Studioで適当なアプリ プロジェクトを作成し、それをビルドしたモジュールファイル(exeファイル)で試してください。ビルド直後のモジュールファイルは、マイクロソフトのクラウドで未学習のため必ずブロックされるものと思われます。
ブロックされたときは、下記のようなエラーダイアログが表示されます。
このダイアログには、「スマート アプリ コントロールが安全でない可能性のあるアプリをブロックしました」と表示され、説明には「xxxxは、記述したユーザーを確認できず、よく知られているアプリではないため、ブロックされました。」と記載されています。例外的にこのアプリを起動するための選択肢は用意されていません。
署名済みのモジュールの起動
Windows 11 22H2がネットワークにつながっており、Windows Updateも実行済みの場合は、電子署名有りのモジュールは、起動がブロックされず、起動できます。
ただし、Windows 11 22H2をインストールした直後で、ネットワークに接続していない場合は、電子署名が有りの場合でも、起動がブロックされることがあります。
電子証明書には、通常の証明書とEV証明書の2種類があります。ネットワークに一度も接続していない場合は、どちらの証明書を利用した電子署名であっても、すぐにブロックが解除されないようです。ネットワークにつながっていないとブロックを解除する条件に合致しているかどうかをマイクロソフトのクラウドに問い合わせることができないため、電子署名を付与したモジュールであっても、安全の為に起動がブロックされるようです。
もし、上記の電子署名有りのモジュールの起動がブロックされる場合は、PCをネットワークにつないで、Windows Updateを実行してから、もう一度トライしてください。しばらくすると、電子署名付きのモジュールは起動がブロックされなくなります。
この場合でも、電子署名がないモジュールは、ネットワークにつながっていても、起動のブロックは解除されません。
なお、ネットワークに接続していないときは、「スマート アプリ コントロールが安全でない可能性のあるアプリをブロックしました」というエラーダイアログの代わりに、以下のようなエラーダイアログが表示されることがあります。
「オフラインになっています」と表示され、説明には「スマート アプリ コントロールでは、このアプリを検証できません。インターネット接続を確認して、もう一度お試しください。」と記載されています。
このダイアログが表示されたときもアプリの起動はブロックされます。この場合は、ネットワークに接続してから、もう一度アプリを起動すると、Windowsによるアプリの検証が可能となります。
今回の投稿では、Windows 11 22H2で導入されたスマート アプリ コントロールが、アプリの起動をブロックする挙動を確認したことの説明でした。次回は、アプリからアプリを起動したり、モジュールを読み込んだときの挙動を確認します。
“Windows 11 22H2のスマート アプリ コントロールの挙動#1” への1件の返信