Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 303

DEP(データ実行防止)

DEP(データ実行防止) とは何ですか?

DEP(データ実行防止)DEP(NX ビット、W^X)はメモリページを実行不可と印付けし、スタックやヒープに注入されたシェルコードの実行を阻止します。


DEP は NX(No-eXecute)や W^X(Write XOR Execute)とも呼ばれ、メモリページは書き込み可能か実行可能のいずれかであり、両方になることはないという制約を強制します。CPU の NX ビットがスタックやヒープなどデータページからの命令フェッチを禁止し、古典的なシェルコード注入攻撃を防ぎます。AMD が 2003 年にハードウェア NX ビットを導入し Intel が追随、Windows XP SP2 はソフトウェア DEP を搭載、Linux も PaX/grsecurity を経由してメインラインに統合されました。データからの直接実行が封じられた結果、攻撃者は return-to-libc や ROP に転向したため、DEP は ASLR、CFI、シャドースタックと組み合わせて運用します。

  1. 01

    スタックが NX としてマークされ、シェルコードが実行されずクラッシュする。

  2. 02

    強化版 Linux の mmap が PROT_WRITE | PROT_EXEC を拒否する。

よくある質問

DEP(データ実行防止) とは何ですか?

DEP(NX ビット、W^X)はメモリページを実行不可と印付けし、スタックやヒープに注入されたシェルコードの実行を阻止します。 サイバーセキュリティの アプリケーションセキュリティ カテゴリに属します。

DEP(データ実行防止) とはどういう意味ですか?

DEP(NX ビット、W^X)はメモリページを実行不可と印付けし、スタックやヒープに注入されたシェルコードの実行を阻止します。

DEP(データ実行防止) はどのように機能しますか?

DEP は NX(No-eXecute)や W^X(Write XOR Execute)とも呼ばれ、メモリページは書き込み可能か実行可能のいずれかであり、両方になることはないという制約を強制します。CPU の NX ビットがスタックやヒープなどデータページからの命令フェッチを禁止し、古典的なシェルコード注入攻撃を防ぎます。AMD が 2003 年にハードウェア NX ビットを導入し Intel が追随、Windows XP SP2 はソフトウェア DEP を搭載、Linux も PaX/grsecurity を経由してメインラインに統合されました。データからの直接実行が封じられた結果、攻撃者は return-to-libc や ROP に転向したため、DEP は ASLR、CFI、シャドースタックと組み合わせて運用します。

DEP(データ実行防止) からどのように防御しますか?

DEP(データ実行防止) に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。

DEP(データ実行防止) の別名は何ですか?

一般的な別名: NX ビット, 実行不可メモリ, W^X。

関連用語

関連項目