現在オフラインです。再接続するためにインターネットの接続を待っています

Windows XP Service Pack 2、Windows XP Tablet PC Edition 2005、および Windows Server 2003 のデータ実行防止 (DEP) 機能の詳細

Windows XP のサポートは終了しました

マイクロソフトでは、2014 年 4 月 8 日に Windows XP のサポートを終了しました。この変更は、ソフトウェアの更新プログラムおよびセキュリティ オプションに影響しています。 この変更の意味および保護された状態を維持する方法について説明します。

Windows Server 2003 のサポートは 2015 年 7 月 14 日で終了しています

Windows Server 2003 のサポートは 2015 年 7 月 14 日で終了しています。この変更は、ソフトウェアの更新プログラムおよびセキュリティ オプションに影響しています。 この変更の意味および保護された状態を維持する方法について説明します。

概要
データ実行防止 (DEP) は、メモリの追加チェックを実行して悪質なコードがシステム上で実行されるのを防ぐ、ハードウェアとソフトウェアの一連のテクノロジです。Microsoft Windows XP Service Pack 2 (SP2) および Microsoft Windows XP Tablet PC Edition 2005 では、ハードウェアおよびソフトウェアによって DEP が適用されます。

DEP の主な利点は、データ ページからのコード実行を防止できることです。通常、コードはデフォルト ヒープやスタックからは実行されません。ハードウェア DEP では、これらの場所から実行されようとしているコードを検出し、実行された場合は例外を生成します。ソフトウェア DEP は、悪質なコードによる Windows の例外処理メカニズムの利用を防止するのに役立ちます。
はじめに
この資料では、Windows XP SP2 および Microsoft Windows Server 2003 Service Pack 1 (SP1) の DEP 機能について説明します。内容は以下のとおりです。
詳細

ハードウェア DEP

ハードウェア DEP では、実行可能コードが明確に含まれている場合を除き、プロセス内のメモリ ロケーションのすべてに "実行不能" のマークを付けます。実行不能なメモリ ロケーションにコードを挿入し、そこからコードを実行しようとする攻撃の手法がありますが、DEP では、このような攻撃を遮断し、例外を生成することによって、攻撃を防止します。

ハードウェア DEP では、メモリの特定の場所に、その場所からのコードの実行を禁止する属性を設定します。この処理はプロセッサのハードウェアに依存して行われます。この属性は仮想メモリ ページ単位で設定され、この属性を設定するために、通常はページ テーブル エントリ (PTE) のビットの 1 つが変更されます。

DEP のハードウェアでの実装方法や仮想メモリ ページの属性の設定方法は、プロセッサのアーキテクチャによって異なります。ハードウェア DEP をサポートするプロセッサでは、適切な属性が設定されているページからコードが実行されるときにも例外が生成される場合があります。

Advanced Micro Devices (AMD) および Intel は、DEP と互換性のある Windows 互換のアーキテクチャを定義、出荷済みです。

Windows XP SP2 以降、32 ビット版の Windows では、以下のいずれかが使用されます。
  • AMD が定義した非実行ページ保護 (NX) プロセッサ機能
  • Intel が定義した Execute Disable Bit (XD) 機能
これらのプロセッサ機能を使用するには、プロセッサを PAE (Physical Address Extension) モードで実行する必要があります。ただし、Windows では、DEP をサポートするために、PAE モードが自動的に有効になります。ユーザーが /PAE ブート スイッチを使用して PAE を有効にする必要はありません。

: 64 ビット カーネルは AWE (Address Windowing Extensions) を使用しているため、64 ビット版の Windows に個別の PAE カーネルは存在しません。
Windows Server 2003 における PAE および AWE の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
283037 Windows Server 2003 および Windows 2000 では大容量メモリのサポートが使用できる
先頭に戻る

ソフトウェア DEP

Windows XP SP2 には、データ実行防止のためのセキュリティ チェックが追加されています。これらのチェックは、ソフトウェア DEP と呼ばれ、Windows の例外処理メカニズムを利用する悪質なコードをブロックすることを目的としています。ソフトウェア DEP は、Windows XP SP2 を実行可能なすべてのプロセッサで機能します。デフォルトでは、プロセッサが持つハードウェア DEP の能力に関係なく、ソフトウェア DEP で保護できるシステム バイナリは限られます。

先頭に戻る

利点

DEP の主な利点は、デフォルト ヒープ ページ、さまざまなスタック ページ、メモリ プール ページなど、データ ページからのコードの実行を防止できることです。通常、コードはデフォルト ヒープやスタックからは実行されません。ハードウェア DEP では、これらの場所から実行されようとしているコードを検出し、実行された場合は例外を生成します。例外が処理されない場合、プロセスは停止します。カーネル モードで保護されているメモリからコードが実行されると、Stop エラーが発生します。

DEP は、特定の種類のセキュリティ侵害をブロックするうえで役立ちます。具体的には、ウイルスなどの攻撃でプロセスに追加のコードを挿入し、挿入したコードを実行しようとする悪質なプログラムをブロックできます。DEP に対応したシステムでは、挿入されたコードが実行されると、例外が発生します。ソフトウェア DEP では、Windows の例外処理メカニズムを利用するプログラムをブロックできます。

先頭に戻る

システム全体の DEP 構成

システム全体に適用する DEP の構成は、Boot.ini ファイル内のスイッチで制御されます。管理者としてログオンしている場合は、コントロール パネルの [システム] ダイアログ ボックスを使用して、DEP を簡単に構成できます。

Windows では、ハードウェア DEP とソフトウェア DEP の両方に関して、以下の 4 種類のいずれかの構成をシステム全体に適用することができます。
構成説明
OptInデフォルトの構成です。ハードウェア DEP を実装可能なプロセッサが搭載されているシステムでは、選択 ("opt-in") された、限られたシステム バイナリおよびプログラムに関して、DEP がデフォルトで有効になります。このオプションを有効にすると、デフォルトでは Windows システム バイナリのみが DEP の保護対象となります。
OptOutDEP がデフォルトで全プロセスに関して有効になります。コントロール パネルの [システム] を使用して、DEP を適用しないプログラムの一覧を手動で作成できます。IT プロフェッショナルは、Application Compatibility Toolkit を使用して、1 つまたは複数のプログラムを DEP の保護から除外 ("opt-out") できます。DEP 用のシステム互換性の修正 (shim) が有効になります。
AlwaysOnシステム全体に DEP が完全に適用されます。すべてのプロセスが、常に DEP が適用された状態で実行されます。例外の一覧を使用して、特定のプログラムを DEP の保護から除外することはできません。DEP 用のシステム互換性の修正は有効になりません。Application Compatibility Toolkit を使用して除外されたプログラムも、DEP が適用された状態で実行されます。
AlwaysOffハードウェア DEP がサポートされているかどうかに関係なく、システムのどの部分にも、DEP はまったく適用されません。Boot.ini ファイルで /PAE オプションを指定しない限り、プロセッサは PAE モードで実行されません。
ハードウェア DEP とソフトウェア DEP は同じ方法で構成されます。システム全体の DEP ポリシーが OptIn に設定されている場合、同じ Windows コア バイナリおよびプログラムがハードウェア DEP とソフトウェア DEP の両方によって保護されます。ハードウェア DEP を使用できないシステムでは、Windows コア バイナリおよびプログラムがソフトウェア DEP によってのみ保護されます。

同様に、システム全体の DEP ポリシーが OptOut に設定されている場合は、DEP 保護から除外されたプログラムがハードウェア DEP とソフトウェア DEP の両方から除外されます。

Boot.ini ファイルの設定は次のとおりです。
/noexecute=policy_level
: policy_level には、AlwaysOn、AlwaysOff、OptIn、OptOut のいずれかを指定します。

Boot.ini ファイル内の既存の /noexecute 設定は、Windows XP SP2 がインストールされている場合は変更されません。ハードウェア DEP がサポートされているかどうかにかかわらず、Windows オペレーティング システムのイメージが別のコンピュータに移動された場合にも、/noexecute 設定は変更されません。

Windows XP SP2 および Windows Server 2003 SP1 以降のインストール中は、無人インストールで別のポリシー レベルを指定しない限り、OptIn ポリシー レベルがデフォルトで有効になります。DEP をサポートする Windows の Boot.ini ファイル内に /noexecute=policy_level が存在しない場合は、/noexecute=OptIn が含まれている場合と同じ動作になります。

管理者としてログオンしている場合は、[システムのプロパティ] の [データ実行防止] タブを使用して DEP を手動で構成し、OptIn ポリシーと OptOut ポリシーの切り替えを行うことができます。コンピュータの DEP を手動で構成するには、以下の手順を実行します。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。次に、sysdm.cpl と入力し、[OK] をクリックします。
  2. [詳細設定] タブで、[パフォーマンス] の下の [設定] をクリックします。
  3. [データ実行防止] タブで、次のいずれかの手順を実行します。
    • [重要な Windows のプログラムおよびサービスについてのみ有効にする] をクリックします。これにより、OptIn ポリシーが適用されます。
    • [次に選択するのものを除くすべてのプログラムおよびサービスについて DEP を有効にする] をクリックします。これにより、OptOut ポリシーが適用されます。[追加] をクリックし、DEP を適用しないプログラムを指定します。
  4. [OK] を 2 回クリックします。
IT プロフェッショナルは、さまざまな方法を使用してシステム全体の DEP 構成を制御できます。Boot.ini ファイルは、スクリプト メカニズムを使用して直接変更することも、Windows XP SP2 に含まれている Bootcfg.exe ツールを使用して変更することもできます。

Boot.ini ファイルを使用して AlwaysOn ポリシーに切り替えるように DEP を構成するには、以下の手順を実行します。
  1. [スタート] ボタンをクリックし、[マイ コンピュータ] を右クリックし、[プロパティ] をクリックします。
  2. [詳細設定] タブをクリックし、[起動と回復] の [設定] をクリックします。
  3. [起動システム] で、[編集] をクリックします。メモ帳に Boot.ini ファイルが表示されます。
  4. メモ帳で、[編集] メニューの [検索] をクリックします。
  5. [検索する文字列] ボックスに /noexecute と入力し、[次を検索] をクリックします。
  6. [検索] ダイアログ ボックスで、[キャンセル] をクリックします。
  7. policy_level を AlwaysOn に置き換えます。

    警告 : 文字列が正しく入力されていることを確認してください。Boot.ini ファイルのスイッチは次のようになっている必要があります。
    /noexecute=AlwaysOn
  8. メモ帳で、[ファイル] メニューの [上書き保存] をクリックします。
  9. [OK] を 2 回クリックします。
  10. コンピュータを再起動します。
Windows XP SP2 以降の無人インストールでは、Unattend.txt ファイルを使用して、特定の DEP 構成を事前に指定できます。Unattend.txt ファイルの [Data] セクションにある OSLoadOptionsVar エントリを使用すると、システム全体の DEP 構成を指定できます。

先頭に戻る

プログラムごとの DEP 構成

プログラムの互換性を維持するために、DEP のポリシー レベルが OptOut に設定されているときに、個々の 32 ビット プログラムに関して DEP を無効にすることができます。これを行うには、[システムのプロパティ] ダイアログ ボックスの [データ実行防止] タブを使用して、プログラムごとに DEP を無効にします。IT プロフェッショナル用に、DisableNX という新しいプログラム互換用修正プログラムが Windows XP SP2 に含まれています。DisableNX を適用すると、適用先プログラムのデータ実行防止機能が無効になります。

DisableNX は、Application Compatibility Toolkit を使用して、各プログラムに適用できます。Windows アプリケーションの互換性の詳細については、次のマイクロソフト Web サイトの「Windows アプリケーションの互換性」を参照してください。先頭に戻る
関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
912923 コンピュータでハードウェア DEP が利用可能なことおよび構成されていることを確認する方法
関連情報
関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
899298 Windows Server 2003 Service Pack 1 でヘルプ トピック「データ実行防止について」に DEP のデフォルト設定が正しく表示されない
プロパティ

文書番号:875352 - 最終更新日: 12/14/2006 02:43:00 - リビジョン: 14.1

  • Microsoft Windows Server 2003 Service Pack 1
  • Microsoft Windows XP Professional Service Pack 2 (SP2)
  • Microsoft Windows XP Home Edition Service Pack 2 (SP2)
  • Microsoft Windows XP Media Center Edition Service Pack 2 (SP2)
  • Microsoft Windows XP Tablet PC Edition 2005
  • kbinfo kbtshoot KB875352
フィードバック
/ms.js" '="">