DEP (Data Execution Protections、データ実行防止機能) †
DEP は、Windows XP SP2 に追加されたセキュリティ機能の一つです。
DEP の機能は、大きく分けて2つあります。
- Hardware-enforced DEP
Hardware-enforced DEP は、AMD64 base CPU でサポートされた NX-bit (No eXecute) を使用したセキュリティ機能です。最近では AMD64 以外でも AMD, Intel*1, 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 内のシステムと
関連情報 †
- NXTEST
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 †
- MSKB:884515 Windows XP Service Pack 2 のデータ実行防止機能について
- MSKB:875352 Windows XP Service Pack 2 および Windows XP Tablet PC Edition 2005 のデータ実行防止 (DEP) 機能の詳細
Hardware 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 による障害が発生しているアプリケーション †
- 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搭載マシンで問題発生--マイクロソフト発表 (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 †