印刷用ページ       送信     
クリックして評価とフィードバックをお寄せください
TechNet
TechNet ライブラリ
テクニカルドキュメント
Windows
Windows XP
セキュリティと更新
 "Windows XP Service Pack 2 セキュリティ強化...
"Windows XP Service Pack 2 セキュリティ強化機能搭載" での機能の変更点 ‐ 第 3 部 : メモリ保護技術

第 3 部 : メモリ保護技術

最終更新日: 2005年3月2日

By Starr Andersen (テクニカル ライター)、Vincent Abella (テクニカル エディタ)

このドキュメントは「Windows XP Service Pack 2 での機能の変更点」の第 3 部です。ここでは、Windows XP Service Pack 2 に含まれるメモリ保護技術について詳細に説明します。

このドキュメントの内容は、Windows XP Professional および Windows XP Home Edition の 32 ビット バージョン用 Microsoft® Windows® XP Service Pack 2 (SP2) に適用されます。このドキュメントでは、Service Pack に含まれるすべての変更点について説明しているわけではありませんが、Windows XP SP2 の使用において大きな影響を持つ変更点を中心に説明し、必要に応じて追加情報の参照先も掲載されています。

データ実行防止

データ実行防止の機能

データ実行防止 (DEP) はハードウェアおよびソフトウェアの一連の技術で、メモリの追加チェックを実行して、悪意のあるコード実行に対する保護を支援します。Windows XP SP2 では、DEP はハードウェアとソフトウェアの両方で適用されます。

ハードウェアによる DEP

ハードウェアによる DEP では、実行可能コードが明示的に含まれるメモリ ロケーションを除き、プロセス内のすべてのメモリ ロケーションが実行不可能としてマークされます。実行不可能なメモリ ロケーションにコードを挿入して実行を試みるという攻撃方法があります。DEP は、このような攻撃をインターセプトし、例外を発生させることによって、攻撃の防止を支援します。

ハードウェアによる DEP は、プロセッサ ハードウェアに依存して、そのメモリからコードを実行してはならないことを示す属性を使用してメモリにマークします。DEP は仮想メモリ ページ単位で機能し、たいていは Page Table Entry (PTE) 内の 1 ビットの変更によってメモリ ページをマークします。

DEP と仮想メモリ ページのマーキングの実際のハードウェア実装は、プロセッサのアーキテクチャによって異なります。ただし、ハードウェアによる DEP をサポートするプロセッサには、適切な属性セットでマークされたページからコードが実行されると例外を発生させる機能があります。

Advanced Micro Devices™ (AMD) と Intel® Corporation の両社は DEP と互換性のある Windows 対応アーキテクチャを定義し、出荷しています。

Windows XP Service Pack 2 が最初である 32 ビット バージョンの Windows では、AMD によって定義されている非実行ページ保護 (NX) プロセッサ機能、または Intel によって定義されている Execute Disable Bit 機能が使用されます。これらのプロセッサ機能を使用するには、プロセッサを PAE (Physical Address Extension) モードで実行する必要があります。64 ビット バージョンの Windows XP では、64 ビット拡張の NX プロセッサ機能、および IPF プロセッサのアクセス権 PTE (Page Table Entry) フィールドの一定の値が使用されます。

将来、すべての 32 ビット プロセッサと 64 ビット プロセッサが、ハードウェアによるデータ実行防止機能をサポートすることが期待されます。Microsoft は、引き続きプロセッサ ベンダと連携して、DEP 技術の採用と開発を促進していきます。

ソフトウェアによる DEP

データ実行防止セキュリティ チェックの新しいセットが Windows XP SP2 に追加されました。これらのチェックは、ソフトウェアによる DEP とも呼ばれ、Windows の例外処理機構の悪用を回避するよう設計されています。ソフトウェアによる DEP は、Windows XP SP2 の実行が可能な任意のプロセッサで実行されます。既定では、ソフトウェアによる DEP は、プロセッサのハードウェアによる DEP 機能に関係なく、限定されたシステム バイナリのみを保護します。

この機能の対象ユーザー

アプリケーションとドライバの開発者は、データ実行防止と、サポート プラットフォーム上でのソフトウェア実行の要件について注意を払う必要があります。ジャスト イン タイム (JIT) コード生成の実行、あるいは既定プロセス スタックまたはヒープからのメモリ実行を行うアプリケーションは、DEP の要件について十分な注意が必要です。

ドライバ開発者は、ハードウェアによる DEP をサポートするプラットフォームの PAE モードについて知っておくことをお勧めします。Windows XP Service Pack 2 システムでの PAE モードの動作は、ドライバの互換性を改善するように変更されています。

Windows XP Service Pack 2 でこの機能に追加された新機能

32 ビット バージョンの Windows およびアプリケーションでのデータ実行防止

詳細説明

ハードウェアによる DE P

データ実行防止の全体的動作については、ほとんど違いがなく、32 ビット バージョンと 64 ビット バージョンの Windows では同じ動きです。アプリケーション開発者およびドライバ開発者に一貫性を提供するため、DEP などのメモリ保護モデルでは、32 ビット バージョンと 64 ビット バージョンの Windows では同じ設計になっています。

アプリケーション開発者は、ユーザー モードにおける DEP 動作について知っておくことをお勧めします。ユーザー モードの DEP 例外は、Windows システムでは、STATUS_ACCESS_VIOLATION (0xc0000005) となります。EXCEPTION_RECORD 構造体の内部にある ExceptionInformation の最初のパラメータには、発生したアクセス違反の種類が含まれます。ExceptionInformation[0] の値が 8 である場合は、アクセス違反が実行違反であったことを示します。

ほとんどのプロセスで、STATUS_ACCESS_VIOLATION 例外は、処理されない例外であり、プロセス終了となります。

DEP はカーネル モードのドライバにも適用されます。カーネル モードのメモリ領域の DEP は、選択的に有効にすることも無効にすることもできません。32 ビット バージョンの Windows では、DEP は既定でスタックに適用されます。これは、64 ビット バージョンの Windows におけるカーネル モード DEP の場合と異なります。64 ビット バージョンの Windows では、スタック、ページ プール、およびセッション プールにデータ実行防止が適用されます。

DEP が有効になっていると、デバイス ドライバはスタックからコードを実行できません。カーネル モードでの DEP アクセス違反によって、0xFC: ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY のバグチェックが生じます。

ソフトウェアによる DEP

ソフトウェアによる DEP は、Windows の例外処理機構で追加チェックを実行します。プログラムのイメージ ファイルが安全な例外ハンドラ機能 (SafeSEH) を使用して作成されている場合、ソフトウェアによる DEP によって、例外ハンドラがこのイメージ ファイル内にある関数テーブルに登録されていることが確認されてから例外がディスパッチされるようになります。

プログラムのイメージ ファイルが SafeSEH を使用せずに作成されている場合は、ソフトウェアによる DEP によって、実行可能とマークされたメモリ領域内に例外ハンドラが配置されていることが確認されてから例外がディスパッチされるようになります。

この変更が重要な理由と軽減される脅威

データ実行防止の主な利点は、既定のヒープ、各種スタック、およびメモリ プールなどのデータ ページからのコード実行の防止を支援することです。システムの通常の動作では、コードが既定のヒープとスタックから実行されることは典型的ではありません。ハードウェアによる DEP は、このようなロケーションから動作するコードを検出し、実行が行われると例外を発生させます。例外が処理できない場合は、プロセスは終了します。カーネル モードの保護メモリからコードを実行すると、バグチェックが行われます。

プロセスが終了したり、システムがバグチェックで失敗することは理想的な動作には見えませんが、悪意のあるコードの実行防止に役立ちます。悪意のあるコードがシステム上で実行されることを防止すると、システムに与える損害を防ぎ、悪意のあるコードがばらまかれることを防ぎます。特に悪意のあるコードの有害な影響となると、バグチェックで終了するプロセスによる有害な影響を簡単に上回ります。

DEP は、一定の種類のセキュリティ問題を軽減するのに役立ちます。特に DEP により、ウイルスまたはその他の攻撃がプロセスにコードを植え付け、そのコードを実行しようとするたくらみを防止することができます。DEP があるシステムでは、植え付けられたコードの実行は例外を発生させます。ソフトウェアによる DEP は、Windows 内の例外処理機構の悪用を回避するのに役立ちます。

DEP の 2 つ目の利点は、アプリケーションとドライバの開発者向けの優秀な技術とベスト プラクティスに関連するものです。データ実行防止は開発者に、そのページを明示的に実行可能としてマークすることなしにデータ ページからコードを実行することを強制的にやめさせます。

動作の相違点

アプリケーションの互換性

一部のアプリケーションの動作は、データ実行防止によって互換性がなくなると想定されます。動的コード生成 (ジャスト イン タイムのコード生成など) を行い、生成されたコードを明示的に実行許可でマークしないアプリケーションは、データ実行防止によって互換性の問題が生じる可能性があります。SafeSEH を使用せずに作成されたアプリケーションでは、このアプリケーションの例外ハンドラを実行可能メモリ領域に配置する必要があります。

DEP に違反しようとするアプリケーションは、ステータス コード STATUS_ACCESS_VIOLATION (0xC0000005) の例外を受け取ります。アプリケーションで実行可能メモリが必要な場合は、Virtual* メモリ割り当て関数のメモリ保護引数で PAGE_EXECUTE、PAGE_EXECUTE_READ、PAGE_EXECUTE_READWRITE または PAGE_EXECUTE_WRITECOPY を指定して、適切なメモリにこの属性を明示的に設定しなければなりません。malloc() 関数と HeapAlloc() 関数を使うヒープ割り当ては実行可能ではありません。

ドライバの互換性

データ実行防止に関するドライバの互換性の問題のほとんどは、PAE モードに起因する互換性問題に集中します。

   PAE はハードウェアによる DEP をサポートするプロセッサを使用するシステムにのみ必要です。

DEP はそれ自体で、コード生成を行うドライバ、または他の技術を使ってリアルタイムに実行可能コードを生成するドライバに関する互換性の問題を作り出す可能性があります。このような動作をする多数のドライバは、64 ビット バージョンの Windows に読み込まれるドライバに対して DEP が "常にオン" となっているため、既に修正済みであると思われますが、すべてのドライバが更新されているという保証はありません。ただし、このような技術を採用しているドライバはほとんどなく、DEP 単体で大量のドライバに互換性の問題を生じさせることはないと考えられています。

ドライバ互換性の主要な問題は、32 ビット システムで PAE (Physical Address Extension) モードを実行することです。PAE モードを使えば、プロセッサは 4 GB より多くのメモリをアドレス指定できます。PAE メモリ ページング設定と非 PAE メモリ ページング設定の大きな違いは、PAE モードではページング レベルが 1 つ多く必要であるということです (2 つではなく 3 つのレベル)。

PAE が有効な場合、デバイスが 64 ビットのアドレス指定を実行できなかったり、PAE モードに 4 GB より多くの RAM が必要であるとデバイスが見なしたりするために、一部のドライバは読み込みに失敗する可能性があります。そうしたドライバでは、PAE モード時には常に 64 ビット アドレスを受け取ることを誤って想定し、またそのドライバ (あるいはそのデバイス) はそのアドレスを解釈できないことを想定します。

他のドライバは PAE モードで読み込まれることがありますが、システムの Page Table Entry (PTE) が直接変更されることによってシステムが不安定になる場合があります。このようなドライバは 32 ビット PTE を常に想定しますが、PAE モードでは 64 ビット PTE を受け取ることになります。

ドライバの PAE 互換性の最大の問題には、直接メモリ アクセス (DMA) 転送とマップ レジスタ割り当てが関係します。DMA をサポートする多くのデバイス (通常は 32 ビット アダプタ) は、64 ビットの物理アドレス指定を実行できません。32 ビット モードで実行すると、そのデバイスはすべての物理アドレス空間をアドレス指定できます。PAE モードでは、4 GB を超える物理アドレスにデータが存在する可能性もあります。このような制限のあるデバイスをこのシナリオで機能させるために、Windows 2000 Server ファミリ以降では、マップ レジスタが示す 32 ビット アドレスを使用した DMA 転送のダブルバッファリングが用意されています。デバイスは、32 ビット アドレスへの DMA 転送を行うことができ、カーネルはそのメモリを 64 ビット アドレスにコピーしてドライバに送信します。

PAE が無効の状態でシステムが動作している場合、32 ビット デバイス用のドライバではマップ レジスタは実メモリによってバックアップされる必要はありません。つまり、すべてのデバイスとドライバが 32 ビット アドレス空間に収まっているため、ダブルバッファリングは必要ありません。64 ビット プロセッサベースのコンピュータ上での 32 ビット デバイス用ドライバのテストに基づいて、クライアントでテスト済みのほとんどの DMA 対応ドライバは無制限のマップ レジスタを想定していると考えられます。

互換性の問題を軽減するために、Windows XP Service Pack 2 では、ハードウェア抽象化レイヤ (HAL) を変更して、32 ビット HAL の DMA 動作を模倣するようになっています。変更された HAL では、システムが PAE モードで動作しているときは、無制限のマップ レジスタが許可されます。また、カーネル メモリ マネージャは 4 GB を超える物理アドレスを無視します。Windows では 4 GB の境界を超えるシステム RAM にはアドレス指定ができなくなり、このような RAM はシステムで使用できなくなります。アドレス空間を 4 GB に制限することによって、32 ビット DMA バス マスタ機能を持つデバイスで、4 GB の境界を超えるアドレスを使用するトランザクションが実行されることはなくなります。このような変更によりトランザクションをダブルバッファリングする必要がなくなるため、ダブル バッファリング サポートの正しい実装に関連する種類のバグが回避されるドライバもあります。

このような HAL とメモリ マネージャの変更により、デバイス ドライバの互換性に対する影響は、データ実行防止を有効にした Windows XP Service Pack 2 が動作するシステムでは最低レベルになると考えられます。

システムの互換性

DEP 互換性に関して残る問題は、4 GB を超える物理 RAM を前提にして設計されているかどうかには関係なく、PAE モードを有効にしたシステムで発生しています。Microsoft ではテスト中に、ハードウェアによる DEP をサポートするプロセッサを使用するシステムの中には、プロセッサが PAE モードで実行されている場合に、起動しなくなったり、それ以外の安定性問題を起こすものがあることが確認されています。

PAE モードは NX プロセッサ機能の活用に必要なものです。したがって、システム設計者とファームウェア エンジニアは、システムのチップセットとファームウェアが 4 GB を超える物理 RAM をサポートするようには設計されていないときでも、システムは PAE モードで動作している場合があるということを認識しておく必要があります。

特に問題となるのは、オペレーティング システムが実行する命令かどうかを判定する際に、Page Table Entry を解釈して判定を行うシステム ファームウェアです。プロセッサが PAE モードで実行している場合には、Page Table Entry は 64 ビット長に拡張されています。システム設計者とファームウェア開発者は、オペレーティング システムが実行する命令かどうかを安全に判定する方法について、プロセッサとチップセット ベンダに問い合わせておくことをお勧めします。

AMD プロセッサを使用して作業するシステム設計者は、『BIOS and Kernel Developer's Guide for AMD Athlon™ 64 and AMD Opteron Processors』で詳細を確認できます。このガイドを入手するには、AMD Athlon™ 64 の Web サイト (http://go.microsoft.com/fwlink/?LinkId=28165) にアクセスして、[BIOS and Kernel Developer's Guide for AMD Athlon™ 64 and AMD Opteron Processors] をクリックします。

Intel では、SMM (System Management Mode) に関する詳細資料を公開していません。Intel 製プロセッサを使用して作業するシステム設計者は、Intel に直接お問い合わせの上、詳細情報を入手することをお勧めします。

Windows による PAE モード サポートの詳細については、Microsoft の Webサイトにある Physical Address Extension (PAE) メモリと Windows についてのページ (http://go.microsoft.com/fwlink/?LinkId=28166) を参照してください。

これらの問題の解決法

メモリの実行可能領域が必要なアプリケーションでは、メモリを割り当てるときに PAGE_EXECUTE、PAGE_EXECUTE_READ、PAGE_EXECUTE_READWRITE、または PAGE_EXECUTE_WRITECOPY の各属性を使用する必要があります。また、アプリケーションでは既定のプロセス ヒープまたはスタックから実行することはできません。DEP との互換性がないアクションを実行するほとんどのアプリケーションを、互換性が確保されるように更新する必要があります。SafeSEH を使用してアプリケーションを構築するか、アプリケーションの例外ハンドラを、実行可能として明示的にマークされているメモリに配置する必要もあります。

アプリケーションでは、VirtualAlloc() API (アプリケーション プログラミング インターフェイス) を使用して、適切なメモリ保護オプションが指定されている実行可能メモリを割り当てることができます。最低でも、PAGE_EXECUTE メモリ保護オプションを使用する必要があります。実行可能コードの生成後は、割り当てられたメモリへの書き込みアクセスを許可しないメモリ保護をアプリケーションで設定することが推奨されます。アプリケーションでは、VirtualProtect() API を使用して、割り当てられたメモリへの書き込みアクセスを許可しないように設定できます。書き込みアクセスを許可しないことにより、プロセスのアドレス空間内の実行可能領域の最大限の保護が保証されます。

悪意のあるプロセスが実行可能領域にコードを挿入することを試みると、このアクセスは STATUS_ACCESS_VIOLATION の書き込み例外を発生させます。アプリケーションでは、アドレス空間の実行可能領域を最小限にする必要があります。これにより、プロセスのアドレス空間に実行可能メモリを植え付けて実行するという攻撃対象を小さくすることができます。

また、高度なアプリケーションでは、仮想メモリのレイアウトを制御し、実行可能領域を作成することもできます。このようなアプリケーションでは、実行可能領域を非実行可能領域よりも低アドレスのメモリ空間に位置付けることをお勧めします。実行可能領域を非実行可能領域よりも下位に位置付けるのは、バッファ オーバーフローが実行可能メモリ内にオーバーフローしないようにするためです。

実行可能プログラムとライブラリの中には、イメージ ファイルのデータ セクションに実行可能コードを含んでいるものが少数存在しています。このデータ セクションに、アプリケーションによって、通常は "サンク" と呼ばれる小さなコード セグメントが追加される場合があります。ただし、このセクションに実行可能属性が適用されない限り、データ実行防止機能は、メモリにロードされたこのイメージ ファイル セクションを非実行可能セクションとしてマークします。

したがって、データ セクションの実行可能コードをコード セクションに移動するか、実行可能コードを含むデータ セクションを明示的に実行可能とマークする必要があります。実行可能コードを含むセクションに対応するセクション ヘッダの Characteristics フィールドには、実行可能属性である IMAGE_SCN_MEM_EXECUTE (0x20000000) を追加する必要があります。

Microsoft VisualStudio 製品と共に配布される Microsoft リンカを使えば、/SECTION リンカ オプションを指定して、セクションに実行可能属性を追加することができます。/SECTION リンカ オプションのフォーマットは、次のとおりです。

/SECTION: <名前> ,[E][R][W][S][D][K][L][P][X][,ALIGN=#]

値 E は実行可能属性 (0x20000000) を示しています。/SECTION およびその他の Microsoft リンカ オプションの詳細については、MSDN Web サイト (http://go.microsoft.com/fwlink/?LinkId=28167) を参照してください。

Microsoft COFF Binary File Editor (Editbin.exe) ユーティリティを使用して、既存イメージのセクション属性を変更することもできます。この Editbin ユーティリティには、次のフォーマットの /SECTION オプションがあります。

/SECTION: <名前>[=newname][,[[!]{CDEIKOMPRSUW}][A{1248PTSX}]]

値 E と値 C は、それぞれ実行可能属性とコードを示します。Editbin ユーティリティと /SECTION オプションの詳細については、MSDN Web サイト (http://go.microsoft.com/fwlink/?LinkId=28168) を参照してください。

Microsoft では、Windows XP SP2 の DEP を活用できるように、Microsoft .NET Framework Version 1.0 と Version 1.1 を更新する計画があります。Microsoft .NET Framework に依存するアプリケーションは正常に機能し続けますが、DEP が有効になっても、それを十分活用できません。

Microsoft は、アプリケーション開発者に対し、Microsoft .NET Framework を再配布し、DEP が利用可能になった場合にその機能を活用できる Microsoft .NET Framework Version 1.0 Service Pack 3 または Version 1.1 Service Pack 1 に更新することをお勧めします。

Windows XP Service Pack 2 で追加または変更された設定

システム規模の DEP の構成

システムのデータ実行防止の構成は、Boot.ini スイッチによって制御されます。また、エンド ユーザーが管理者としてシステムにログオンしている場合に簡単に DEP 設定を構成できるように、コントロール パネルの [システム] が変更されました。

Windows では、ハードウェアによる DEP とソフトウェアによる DEP の両方について、システム規模の 4 つの構成がサポートされます。

構成

説明

OptIn

(既定の構成)

ハードウェアによる DEP 対応プロセッサを使用するシステムでは、限定された "オプトイン" のシステム バイナリとアプリケーションに対して、DEP が既定で有効になっています。

このオプションを指定すると、既定で DEP は Windows システム バイナリだけに適用されます。

OptOut

既定で DEP はすべてのプロセスに対して有効になっています。ユーザーは、コントロール パネルの [システム] を使用して、DEP が適用されていない特定のアプリケーションの一覧を手動で作成できます。IT プロフェッショナルと独立系ソフトウェア ベンダ (ISV) は、アプリケーション互換性ツールキットを使用して、DEP の保護から 1 つまたは複数のアプリケーションをオプトアウトすることができます。DEP に対するシステム互換性の修正 ("shim") が有効になります。

AlwaysOn

これによって、システム全体に DEP が適用されます。すべてのプロセスが常に DEP が適用された状態で実行されます。DEP 保護から除外された特定アプリケーションの例外一覧は作成できません。DEP に対するシステム互換性の修正 ("shim") は有効になりません。アプリケーション互換性ツールキットを使用してオプトアウトされたアプリケーションは、DEP が適用された状態で動作します。

AlwaysOff

ハードウェアによる DEP のサポートの有無にかかわらず、システムのいずれの部分にも DEP は適用されません。/PAE オプションが boot エントリに指定されていない限り、プロセッサは PAE モードでは動作しません。

ハードウェアによる DEP とソフトウェアによる DEP は、同じように構成されます。システム規模の DEP ポリシーが OptIn に設定されている場合、同じ Windows コア バイナリおよびコア アプリケーションがハードウェアとソフトウェアの両方による DEP によって保護されます。システムがハードウェアによる DEP に対応していない場合、Windows コア バイナリおよびコア アプリケーションは、ソフトウェアによる DEP によってのみ保護されます。

同様に、システム規模の DEP ポリシーが OptOut に設定されている場合、DEP 保護から除外されているアプリケーションは、ハードウェアによる DEP とソフトウェアによる DEP の両方から除外されます。

上記 4 つのシステム規模の DEP 構成は、boot.ini スイッチを通じて制御されます。Boot.ini の設定は次のとおりです。

/noexecute= <ポリシー レベル>

<ポリシー レベル> には、AlwaysOn、AlwaysOff、OptIn、または OptOut を指定します。

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

Windows XP SP2 のインストール時に、別のポリシー レベルが無人インストールで指定されない限り OptIn ポリシー レベルが既定で有効になります。DEP をサポートする特定バージョンの Windows の boot エントリに /noexecute=<ポリシー レベル> 設定が指定されていない場合、/noexecute=OptIn オプションが指定されている場合と同じ動作になります。

管理者としてログオンしているエンド ユーザーは、[システムのプロパティ] ダイアログ ボックスの [データ実行防止] タブを使用して DEP に OptIn ポリシーまたは OptOut ポリシーを手動で設定することができます。次の手順では、コンピュータで DEP を手動で設定する方法を説明しています。

  1. [スタート] ボタン、[コントロール パネル] の順にクリックし、[システム] をダブルクリックします。

  2. [詳細設定] タブをクリックします。[パフォーマンス] の [設定] をクリックします。

  3. [データ実行防止] タブをクリックします。

  4. OptIn ポリシーを選択する場合は、[重要な Windows のプログラムおよびサービスについてのみ有効にする] をクリックします。

  5. OptOut ポリシーを選択する場合は、[次に選択するものを除くすべてのプログラムおよびサービスについて DEP を有効にする] をクリックします。

  6. OptOut ポリシーを選択した場合、[追加] をクリックして DEP を適用しないアプリケーションを追加します。

IT プロフェッショナルは、さまざまな方法でシステム規模の DEP 構成を制御できます。スクリプト機構または Windows XP SP2 に付属の Bootcfg.exe ツールを使用して、Boot.ini ファイルを直接変更することができます。

Windows XP SP2 の無人インストールでは、Unattend.txt ファイルを使用して特定の DEP 構成を事前に設定することができます。Unattend.txt ファイルの [Data] セクションの OSLoadOptionsVar エントリ を使用して、システム規模の DEP 構成を指定できます。

アプリケーションごとの DEP 構成

DEP が OptOut ポリシー レベルに設定されている場合にアプリケーションの互換性を確保するために、32 ビット アプリケーションの DEP を個別に無効にすることができます。

エンド ユーザーの場合は、[システムのプロパティ] の [データ実行防止] タブを使用して、特定のアプリケーションの DEP を無効にすることができます。

IT プロフェッショナルの場合は、Windows XP Service Pack 2 に付属の DisableNX という名前の、新しいアプリケーション互換性の修正を使用できます。互換性の修正 DisableNX は、データ実行防止が適用されているプログラムのデータ実行防止を無効にします。

互換性の修正 DisableNX をアプリケーションに適用するには、アプリケーション互換性ツールキットを使用します。Windows アプリケーションの互換性に関する詳細については、Microsoft の Web サイトにある Windows アプリケーションの互換性についてのページ (http://go.microsoft.com/fwlink/?LinkId=23302) を参照してください。

© 2009 Microsoft Corporation. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker