#topicpath
-----
*DEP (Data Execution Protections、データ実行防止機能) [#lbf24d02]

*DEP (Data Execution Protections、データ実行防止機能) [#title]
DEP は、Windows XP SP2 に追加されたセキュリティ機能の一つです。

DEP の機能は、大きく分けて2つあります。

-''Hardware-enforced DEP''~
Hardware-enforced DEP は、AMD64 base CPU でサポートされた NX-bit (No eXecute) を使用したセキュリティ機能です。最近では AMD64 以外でも AMD, Intel((Intel の場合は、XD-bit になっているが NX-bit と動作は変わらない)), Transmeta の CPU で NX-bit が採用されています。~
NX-bit を利用することにより、実行出来ないメモリ領域でプログラムを実行することを検知することが出来るようになります。実行を検知することにより、そのプログラムを本当に実行して良いのかユーザーへ問い合わせることが可能になります。通常、実行してはならないメモリ領域でのプログラム実行は、セキュリティホールを狙った悪質なプログラムがよく用いる手法です。一般的には、上記のようなプログラム実行は有り得ません。~
例外として JIT(Just-In-Time) のようなプログラム実行時に最適化を図るプログラム等では、メモリ上に実行するプログラムを展開する必要があります。通常、そのようなプログラムは明示的に実行できるメモリ領域としてメモリ確保を行う必要があります。明示的にメモリ確保を行うことで、危険なプログラムとは別扱いとなり DEP で検知されることはありません。
-''Software-enforced DEP''~
Software-enforced DEP は、どのような CPU にも適用され、Hardware-enforced DEP とは全く異なる手法で動作します。~
Safe Structured Exception Handling (SafeSEH) で作成されたプログラムでは、イメージの安全な例外ハンドラのテーブル(?)を参照して実行し、そうでないプログラムではメモリ内に実行出来るかどうかのフラグを参照するようです(よく理解できていません。申し訳ない)。

DEP の設定は、Windows XP SP2 を適用したシステム全てに適用されます。初期設定の場合は『次に選択するのものを除くすべてのプログラムおよびサービスについて DEP を有効にする (U):』に設定されています。この設定は Windows 内のシステムと

//
//
//
//

*お勧め [#sc434734]
*関連情報 [#infor]
-[[運用 ネットワーク管理者のための Windows XP SP2レビュー(後編) 7.データ実行保護機能(DEP):http://www.atmarkit.co.jp/fwin2k/operation/xpsp2/xpsp2_007.html]] (@IT)~
Hardware DEP 機能をテストするサンプルプログラム付きです。
-[[解説 Windows XP SP2で採用されたDEPの仕組み:http://www.atmarkit.co.jp/fsys/kaisetsu/045dep/dep.html]] (@IT)
-[[XP SP2のデータ実行防止(DEP)機能を無効にする:http://www.atmarkit.co.jp/fwin2k/win2ktips/501dep/dep.html]] (@IT)
-[[生まれ変わったWindows XP - SP2のすべてを知る (9)Windows XP SP2の新機能(6) ウイルス対策に欠かせない「データ実行防止」機能:http://pcweb.mycom.co.jp/special/2004/winxpsp2/008.html]] (MYCOM PC WEB)

-[[NXTEST:http://user.cs.tu-berlin.de/~normanb/]]~
Hardware DEP を調査するプログラムとして有名。

-www.itmedia.co.jp/pcupdate/articles/0408/17/news052.html (ITmedia, 04.08.17)~
ITmedia の記事「NEC、Windows XP SP2の注意事項を公開 一部機種ではBIOSアップデートが必須」。サポート情報を見る限り、Software DEP による不具合のようです。BIOS を update することで解決するというのもアレなんですが。


**From Microsoft [#b36f0ec0]
**From Microsoft [#microsoft]
-[["Windows XP Service Pack 2 セキュリティ強化機能搭載" での機能の変更点 第 3 部 : メモリ保護技術:http://www.microsoft.com/japan/technet/prodtechnol/winxppro/maintain/sp2mempr.mspx]] ([[TechNet:http://www.microsoft.com/japan/technet/default.mspx]])

-[[MSKB:884515]] Windows XP Service Pack 2 のデータ実行防止機能について
-[[MSKB:875352]] Windows XP Service Pack 2 および Windows XP Tablet PC Edition 2005 のデータ実行防止 (DEP) 機能の詳細

-[[/SAFESEH (安全な例外ハンドラがあるイメージ):http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vccore/html/vclrfSAFESEHImageHasSafeExceptionHandlers.asp]] (MSDN)~
SafeSEH は多分この flag で make した binary に有効なのではないかと思います。Windows XP SP2 で配布された内部のモジュールで多用していると思われます。

***Hardware DEP による OS 障害 [#s4d170a2]
***Hardware DEP による OS 障害 [#dep-os]
-[[MSKB:889673]] Hardware (DEP)-enabled computer may unexpectedly quit after you resume from standby or from hibernation in Windows XP Service Pack 2~
修正プログラムとして既にパッチが配布されています。

***Hardware DEP による障害が発生しているアプリケーション [#sf3c489c]
***Hardware DEP による障害が発生しているアプリケーション [#dep-application]
-[[MSKB:875351]] Windows XP Service Pack 2 または Windows XP Tablet PC Edition 2005 で "データ実行防止" というエラー メッセージが表示される
-[[MSKB:891667]] You receive error messages when you install Windows CE 4.x Emulator on a computer that is running Windows XP Service Pack 2 and the computer has DEP hardware
-[[MSKB:873176]] Windows XP Service Pack 2 ベースのコンピュータに Paint Shop Pro 8 をインストールできない
-[[MSKB:873158]] Windows XP Service Pack 2 でデータ実行防止機能を有効にすると、ヘルプとサポート センターが起動しなくなる~
「Urlmon.dll ファイルから互換性のないバージョンの共通言語ランタイムにアクセスが行われる」場合に Hardware DEP に引っかかるらしい。
-[[MSKB:878474]] Mpegport.sys ドライバを使用しているシステムが Windows XP Service Pack 2 または Windows XP Tablet PC Edition 2005 のインストール後に繰り返し再起動される~
[[XP SP2、AMD 64ビットCPU搭載マシンで問題発生--マイクロソフト発表:http://japan.cnet.com/news/ent/story/0,2000047623,20071304,00.htm]] (CNET Japan, 04.08.30)
-[[MSKB:873155]] Windows desktop does not appear correctly, and you receive a "The application failed to initialize properly (0xc00000005)" error message after you enable the Norton CleanSweep Smart Sweep feature in Windows XP Service Pack 2


*News [#j91ca146]
//
// News
//
*News [#news]
-[[XP SP2のソフトウエアDEPの詳細が明らかに:http://itpro.nikkeibp.co.jp/free/NT/NEWS/20040902/3/]] (IT Pro, 04.09.02)
-[[AMD、WinXP SP2のセキュリティ機能にいち早く対応--EVP機能をアピール:http://japan.cnet.com/news/ent/story/0,2000047623,20070349,00.htm]] (CNET Japan, 04.08.10)~
AMD から喜びの声が =)。
-[[Transmeta、Efficeonに「No eXecute」機能を搭載〜Windows XP SP2のセキュリティ機能に対応:http://pc.watch.impress.co.jp/docs/2004/0518/transmeta.htm]] (PC Watch, 04.05.18)~
[[Transmeta To Add 'NX' Antivirus Feature To Chips:http://slashdot.org/articles/04/05/17/2346228.shtml]] (Slashdot.org)~
AMD64、Intel に続いて Transmeta も NX-bit 対応を打ち出したようです。
-[[CPUが用意してOSが使う不正コードの実行を禁止する「NX」ビット:http://itpro.nikkeibp.co.jp/members/NBY/ITARTICLE/20040409/1/]] (IT Pro, 04.04.16)
-[[AMDとマイクロソフト、セキュリティ対策で協力:http://japan.cnet.com/news/ent/story/0,2000047623,20064534,00.htm]] (CNET Japan, 04.02.26)
-itpro.nikkeibp.co.jp/free/ITPro/USNEWS/20040218/2/ (IT Pro, 04.02.18)~
IT Pro の記事「米Intel,将来版Xeon,Pentium 4で64ビット・アプリ実行を可能に」。
-[[x86でもプロセッサによるバッファオーバーフロー対策:http://slashdot.jp/articles/04/01/09/1615252.shtml]] (Slashdot.jp, 04.01.09)~
SP2 で搭載される Memory Protection 機能について。Intel も何か組み込む予定があるようです。


//*仮置き場
//**用語
//*関連情報
//**用語
//**Linux
//**Windows
//-----
//*[[フィードバック]]
//アナタからのフィードバックをお待ちしています。書き込む前に[[フィードバック]]の注意書きをお読みください。
//#comment