プロセス軽減策オプションを上書きして、アプリ関連のセキュリティ ポリシーを適用する
Windows には、メモリベースの攻撃 (マルウェアがメモリを操作してシステムを制御する攻撃) に対する高度な保護を追加する、グループ ポリシーで構成可能な "プロセス軽減オプション" が含まれています。 たとえば、マルウェアはバッファー オーバーランを使用して悪意のある実行可能コードをメモリに挿入しようとしますが、プロセス軽減オプションを使用すると、悪意のあるコードの実行を妨げる可能性があります。
重要
組織に展開する前に、これらの軽減策をテスト ラボで試して、組織の必要なアプリに干渉するかどうかを判断することをお勧めします。
この記事のグループ ポリシー設定は、3 種類のプロセス軽減策に関連しています。 64 ビット アプリケーションでは 3 種類すべてが既定でオンになっていますが、この記事で説明するグループ ポリシー設定を使用すると、さらに保護を構成できます。 プロセスの軽減策の種類は次のとおりです。
- データ実行防止 (DEP) は、オペレーティング システムがメモリの 1 つ以上のページを実行不可としてマークし、そのメモリ領域からコードを実行できないようにして、バッファー オーバーランの悪用を防ぐシステム レベルのメモリ保護機能です。 DEP は、コードが、既定のヒープ、スタック、メモリ プールなどのデータ ページから実行されることを防ぎます。 詳細については、「 データ実行防止」を参照してください。
- 構造化例外処理上書き保護 (SEHOP) は、構造化例外ハンドラー (SEH) 上書き手法を使用する悪用をブロックするように設計されています。 この保護メカニズムは実行時に提供されるため、アプリが最新の機能強化でコンパイルされているかどうかに関係なく、アプリを保護するのに役立ちます。 詳細については、「 構造化例外処理の上書き保護」を参照してください。
-
アドレス空間レイアウトランダム化 (ASLR) は、特定の DLL が読み込まれると予想される特定のメモリの場所を攻撃するように設計されたマルウェアに対して軽減するために、起動時にランダム メモリ アドレスに DLL を読み込みます。 詳細については、「 アドレス空間レイアウトのランダム化」を参照してください。 下の表で他の ASLR 保護を見つけるには、
IMAGES
またはASLR
を探します。
次の手順では、グループ ポリシーを使用して個々の プロセス軽減オプション 設定をオーバーライドする方法について説明します。
プロセス軽減オプションを変更するには
グループ ポリシー エディターを開き、 管理用テンプレート\System\軽減策オプション\プロセス軽減オプション 設定に移動します。
[ 有効] を選択し、[ オプション ] 領域で [ 表示 ] を選択して [ コンテンツの表示 ] ボックスを開きます。ここで、この記事の「 ビット フィールドの設定 」セクションと 「例 」セクションに示すように、アプリと適切なビット フラグの値を追加できます。
重要
含めるアプリごとに、次を含める必要があります。
- 値名。 拡張機能を含むアプリ ファイル名。 たとえば、
iexplore.exe
と記述します。 - 値。 特定の位置に一連のビット フラグがあるビット フィールド。 ビットは、
0
(設定が強制オフ)、1
(設定が強制オン)、または?
(設定が前の既存の値を保持する) に設定できます。 ここで指定されていない位置にビット フラグを?
以外の位置に設定すると、未定義の動作が発生する可能性があります。
- 値名。 拡張機能を含むアプリ ファイル名。 たとえば、
ビット フィールドの設定
さまざまなプロセス軽減オプション設定のビット フラグの場所を視覚的に示します。
ビット フラグが右から左に読み取られ、次のように定義されます。
Flag | ビット位置 | 設定 | 詳細 |
---|---|---|---|
A | 0 | PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE (0x00000001) |
子プロセスのデータ実行防止 (DEP) を有効にします。 |
B | 1 | PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE (0x00000002) |
子プロセスの DEP-ATL サンク エミュレーションを有効にします。 DEP-ATL サンク エミュレーションを使用すると、システムは Active Template Library (ATL) サンク レイヤーから発生した実行不能 (NX) エラーをインターセプトし、その命令をエミュレートして処理して、プロセスを引き続き実行できるようにします。 |
C | 2 | PROCESS_CREATION_MITIGATION_POLICY_SEHOP_ENABLE (0x00000004) |
子プロセスの構造化例外ハンドラーの上書き保護 (SEHOP) を有効にします。 SEHOP は、構造化例外ハンドラー (SEH) 上書き手法を使用する悪用をブロックするのに役立ちます。 |
D | 8 | PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON (0x00000100) |
強制的なアドレス空間レイアウトランダム化 (ASLR) 設定を使用して、読み込み時にイメージ ベースの競合が発生したかのように動作し、動的ベースと互換性のないイメージを強制的にリベースします。 再配置が必要な場合、基本再配置セクションのないイメージは読み込まれません。 |
E | 15 | PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_ON (0x00010000) |
スタックランダム化オプションを含むボトムアップランダム化ポリシーをオンにし、ランダムな場所を最も低いユーザー アドレスとして使用します。 |
F | 16 | PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_OFF (0x00020000) |
スタックランダム化オプションを含むボトムアップランダム化ポリシーをオフにし、ランダムな場所を最も低いユーザー アドレスとして使用します。 |
例
PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLEとPROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ONの設定を有効にする場合は、PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_OFF設定をオフにして、それ以外のすべてを既定値のままにして、???????????????0???????1???????1
の値を入力します。