ハードウェア DEP がコンピューターで使用可能で構成されていることを確認する方法

この記事では、ハードウェア DEP がコンピューターで使用可能で構成されていることを確認する方法について説明します。

適用対象:Windows Server 2012 R2、Windows 10 - すべてのエディション
元の KB 番号: 912923

概要

データ実行防止 (DEP) は、悪意のあるコードの悪用から保護するためにメモリに対して追加のチェックを実行するハードウェアおよびソフトウェア テクノロジのセットです。

ハードウェアによって適用される DEP は、場所に実行可能コードが明示的に含まれている場合を除き、プロセス内のすべてのメモリの場所を非実行可能としてマークします。 悪意のあるコード攻撃の一種は、実行可能でないメモリの場所からコードを挿入して実行しようとします。 DEP は、これらの攻撃をインターセプトして例外を発生させることで、これらの攻撃を防ぐのに役立ちます。

この記事では、ハードウェアによって適用される DEP を使用するための要件について説明します。 この記事では、ハードウェア DEP が Windows で動作していることを確認する方法についても説明します。

詳細

ハードウェアによって適用される DEP を使用するための要件

ハードウェアによって適用される DEP を使用するには、次のすべての条件を満たす必要があります。

  1. コンピューターのプロセッサは、ハードウェアによって強制される DEP をサポートする必要があります。

    最近のプロセッサの多くは、ハードウェアによって適用される DEP をサポートしています。 Advanced Micro Devices (AMD) と Intel Corporation の両方で、DEP と互換性のある Windows 互換アーキテクチャが定義され、出荷されています。 このプロセッサのサポートは、NX (実行なし) または XD (execute disable) テクノロジと呼ばれます。 コンピューターのプロセッサがハードウェアによる DEP をサポートしているかどうかを判断するには、コンピューターの製造元にお問い合わせください。

  2. BIOS でハードウェアによって適用される DEP を有効にする必要があります。

    一部のコンピューターでは、BIOS でハードウェアによって強制される DEP のプロセッサ サポートを無効にすることができます。 このサポートを無効にすることはできません。 コンピューターの製造元によっては、このサポートを無効にするオプションに"データ実行防止"、"XD"、"Execute Disable"、または "NX" というラベルが付く場合があります。

  3. コンピューターには、Service Pack 2 がインストールされた Windows XP または Service Pack 1 がインストールされている Windows Server 2003 が必要です。

    注:

    32 ビット バージョンと 64 ビット バージョンの両方の Windows では、ハードウェアによって適用される DEP がサポートされています。 Windows XP Media Center Edition 2005 および Microsoft Windows XP タブレット PC エディション 2005 には、Windows XP SP2 のすべての機能とコンポーネントが含まれています。

  4. コンピューター上のプログラムに対してハードウェアによって強制される DEP を有効にする必要があります。

    64 ビット バージョンの Windows では、ハードウェアによって適用される DEP は常に 64 ビット ネイティブ プログラムに対して有効になります。 ただし、構成によっては、32 ビット プログラムに対してハードウェアによって適用される DEP が無効になる場合があります。

Service Pack 2 を使用して Windows XP でメモリ保護を構成する方法については、次の Microsoft Web サイトを参照してください。
https://technet.microsoft.com/library/cc700810.aspx

ハードウェア DEP が Windows で動作していることを確認する方法

ハードウェア DEP が Windows で動作していることを確認するには、次のいずれかの方法を使用します。

方法 1: コマンド ライン ツールを使用するWmic

コマンド ライン ツールを Wmic 使用して、DEP 設定を調べることができます。 ハードウェアによって適用される DEP が使用可能かどうかを判断するには、次の手順に従います。

  1. [ スタート] をクリックし、[ 実行] をクリックし、[ 開く ] ボックスに「cmd」と入力し、[OK] をクリック します

  2. コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。

    wmic OS Get DataExecutionPrevention_Available  
    

出力が "TRUE" の場合は、ハードウェアによって適用される DEP を使用できます。

現在の DEP サポート ポリシーを確認するには、次の手順に従います。

  1. [ スタート] をクリックし、[ 実行] をクリックし、[ 開く ] ボックスに「cmd」と入力し、[OK] をクリック します

  2. コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。

    wmic OS Get DataExecutionPrevention_SupportPolicy  
    

    返される値は 0、1、2、または 3 です。 この値は、次の表で説明する DEP サポート ポリシーのいずれかに対応します。

    プロパティ値DataExecutionPrevention_SupportPolicy ポリシー レベル 説明
    2 OptIn (既定の構成) DEP が適用されているのは Windows システム コンポーネントとサービスだけです
    3 Optout DEP はすべてのプロセスで有効になっています。 管理者は、DEP が適用されていない特定のアプリケーションの一覧を手動で作成できます
    1 Alwayson DEP はすべてのプロセスで有効になっています
    0 AlwaysOff DEP はどのプロセスでも有効になっていません

    注:

    ハードウェア DEP が有効になっている Windows が実行されていることを確認するには、Win32_OperatingSystem クラスの DataExecutionPrevention_Drivers プロパティを調べます。 一部のシステム構成では、Boot.ini ファイルの /nopae スイッチまたは /execute スイッチを使用して、ハードウェア DEP を無効にすることができます。 このプロパティを調べるには、コマンド プロンプトで次のコマンドを入力します。
    wmic OS Get DataExecutionPrevention_Drivers

方法 2: グラフィカル ユーザー インターフェイスを使用する

グラフィカル ユーザー インターフェイスを使用して DEP が使用可能かどうかを判断するには、次の手順に従います。

  1. [スタート] をクリックし、[実行] をクリックし、[開く] ボックスに「」と入力wbemtestし、[OK] をクリックします
  2. [Windows 管理インストルメンテーション テスト] ダイアログ ボックスで、[接続] をクリックします。
  3. [ 接続 ] ダイアログ ボックスの上部にあるボックスに「root\cimv2」と入力し、[ 接続] をクリックします。
  4. [ Enum Instances]\(列挙インスタンス\) をクリックします
  5. [ クラス情報 ] ダイアログ ボックスの [ スーパークラス名の入力 ] ボックスに「Win32_OperatingSystem」と入力し、[OK] をクリック します
  6. [ クエリ結果 ] ダイアログ ボックスで、上部の項目をダブルクリックします。

    注:

    この項目は、"Win32_OperatingSystem.Name=Microsoft.." で始まります。

  7. [ オブジェクト エディター ] ダイアログ ボックスの [ プロパティ ] 領域でDataExecutionPrevention_Availableプロパティを見つけます。
  8. [DataExecutionPrevention_Available] をダブルクリックします。
  9. [プロパティ エディター] ダイアログ ボックスの [] ボックスに値を書き留めます。
    値が TRUE の場合は、ハードウェア DEP を使用できます。

注:

  • DEP が実行されているモードを確認するには、Win32_OperatingSystem クラスの DataExecutionPrevention_SupportPolicy プロパティを調べます。 メソッド 1 の最後の表では、各サポート ポリシー値について説明します。

  • Windows でハードウェア DEP が有効になっていることを確認するには、Win32_OperatingSystem クラスの DataExecutionPrevention_Drivers プロパティを調べます。 一部のシステム構成では、Boot.ini ファイルの /nopae スイッチまたは /execute スイッチを使用して、ハードウェア DEP を無効にすることができます。

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示または黙示にかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。