この記事では、コンピューターでハードウェア DEP が使用可能で構成されていることを確認する方法について説明します。
元の KB 番号: 912923
はじめに
データ実行防止 (DEP) は、悪意のあるコードの悪用から保護するためにメモリに対して追加のチェックを実行するハードウェアおよびソフトウェア テクノロジのセットです。
ハードウェアによって適用される DEP は、場所に実行可能コードが明示的に含まれている場合を除き、プロセス内のすべてのメモリの場所を非実行可能としてマークします。 悪意のあるコード攻撃の一種は、実行可能でないメモリの場所からコードを挿入して実行しようとします。 DEP は、これらの攻撃をインターセプトして例外を発生させることで、これらの攻撃を防ぐのに役立ちます。
この記事では、ハードウェアによって適用される DEP を使用するための要件について説明します。 この記事では、ハードウェア DEP が Windows で動作していることを確認する方法についても説明します。
詳細
ハードウェアによって適用される DEP を使用するための要件
ハードウェアによって適用される DEP を使用するには、次のすべての条件を満たす必要があります。
コンピューターのプロセッサは、ハードウェアによって適用される DEP をサポートする必要があります。
最近のプロセッサの多くは、ハードウェアによって適用される DEP をサポートしています。 Advanced Micro Devices (AMD) と Intel Corporation の両方で、DEP と互換性のある Windows と互換性のあるアーキテクチャが定義され、出荷されています。 このプロセッサのサポートは、NX (実行なし) または XD (実行無効化) テクノロジと呼ばれる場合があります。 コンピューターのプロセッサがハードウェア適用 DEP をサポートしているかどうかを確認するには、コンピューターの製造元に問い合わせてください。
BIOS でハードウェアによって適用される DEP を有効にする必要があります。
一部のコンピューターでは、BIOS でハードウェアによって適用される DEP のプロセッササポートを無効にすることができます。 このサポートを無効にすることはできません。 お使いのコンピューターの製造元によっては、このサポートを無効にするオプションには、"データ実行防止"、"XD"、"Execute Disable"、または "NX" というラベルが付いている場合があります。
コンピューターには、Windows XP Service Pack 2 または Windows Server 2003 Service Pack 1 がインストールされている必要があります。
Note
32 ビット バージョンと 64 ビット バージョンの両方の Windows では、ハードウェアによって適用される DEP がサポートされます。 Windows XP Media Center Edition 2005 および Microsoft Windows XP Tablet PC Edition 2005 には、Windows XP SP2 のすべての機能とコンポーネントが含まれています。
コンピューター上のプログラムに対して、ハードウェアによって適用される DEP を有効にする必要があります。
64 ビット バージョンの Windows では、ハードウェアによって適用される DEP は常に 64 ビット ネイティブ プログラムに対して有効になります。 ただし、構成によっては、ハードウェアによって適用される DEP が 32 ビット プログラムで無効になる場合があります。
Service Pack 2 を使用して Windows XP でメモリ保護を構成する方法については、次の Microsoft Web サイトを参照してください。
https://technet.microsoft.com/library/cc700810.aspx
Windows でハードウェア DEP が動作していることを確認する方法
Windows でハードウェア DEP が動作していることを確認するには、次のいずれかの方法を使用します。
方法 1: Wmic
コマンドライン ツールを使用する
Wmic
コマンドライン ツールを使用して、DEP 設定を確認できます。 ハードウェアによって適用される DEP が使用可能かどうかを確認するには、次の手順に従います。
[開始をクリックし、実行をクリックし、[開く] ボックスに「cmd」と入力して、[OK] をクリック。
コマンド プロンプトで、次のコマンドを入力して Enter キーを押します。
wmic OS Get DataExecutionPrevention_Available
出力が "TRUE" の場合は、ハードウェアによって適用される DEP を使用できます。
現在の DEP サポート ポリシーを確認するには、次の手順に従います。
[開始をクリックし、実行をクリックし、[開く] ボックスに「cmd」と入力して、[OK] をクリック。
コマンド プロンプトで、次のコマンドを入力して 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 は、どのプロセスでも有効になっていません Note
Windows がハードウェア DEP を有効にして実行されていることを確認するには、Win32_OperatingSystem クラスの DataExecutionPrevention_Drivers プロパティを調べます。 一部のシステム構成では、Boot.ini ファイルの /nopae スイッチまたは /execute スイッチを使用してハードウェア DEP を無効にすることができます。 このプロパティを調べるには、コマンド プロンプトで次のコマンドを入力します。
wmic OS Get DataExecutionPrevention_Drivers
方法 2: グラフィカル ユーザー インターフェイスを使用する
グラフィカル ユーザー インターフェイスを使用して DEP が使用可能かどうかを判断するには、次の手順に従います。
- [開始] をクリック、[実行] をクリックし、[開く] ボックスに「
wbemtest
」と入力し、[OK] をクリック 。 - [ Windows Management Instrumentation テスト ] ダイアログ ボックスで、[ 接続] をクリックします。
- [ Connect ] ダイアログ ボックスの上部にあるボックスに「root\cimv2」と入力し、[ Connect をクリックします。
- Enum Instances をクリックします。
- [ クラス情報 ] ダイアログ ボックスで、[ スーパークラス名 ] ボックスに「Win32_OperatingSystem」と入力し、[ OK] をクリックします。
- [ Query の結果 ] ダイアログ ボックスで、上部の項目をダブルクリックします。
Note
この項目の先頭は "Win32_OperatingSystem.Name=Microsoft.." です。
- オブジェクト エディターダイアログ ボックスで、Properties 領域でDataExecutionPrevention_Availableプロパティを見つけます。
- DataExecutionPrevention_Availableをダブルクリックします。
- [ プロパティ エディター ] ダイアログ ボックスの [ Value ボックスの値をメモします。
値が TRUE の場合、ハードウェア DEP を使用できます。
Note
DEP が実行されているモードを確認するには、Win32_OperatingSystem クラスのDataExecutionPrevention_SupportPolicy プロパティを調べます。 方法 1 の最後の表では、各サポート ポリシー値について説明します。
Windows でハードウェア DEP が有効になっていることを確認するには、Win32_OperatingSystem クラスのDataExecutionPrevention_Drivers プロパティを調べます。 一部のシステム構成では、Boot.ini ファイルの /nopae スイッチまたは /execute スイッチを使用してハードウェア DEP を無効にすることができます。
この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示または黙示にかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。