17 lines
1.3 KiB
Markdown

# No-exec / NX
{{#include ../../banners/hacktricks-training.md}}
## 基本情報
**No-Execute (NX)** ビットは、Intel用語で **Execute Disable (XD)** とも呼ばれ、**バッファオーバーフロー** 攻撃の影響を **軽減** するために設計されたハードウェアベースのセキュリティ機能です。実装され有効化されると、**実行可能コード** 用のメモリ領域と、**スタック** や **ヒープ** などの **データ** 用のメモリ領域を区別します。基本的な考え方は、攻撃者がバッファオーバーフローの脆弱性を通じて悪意のあるコードを実行するのを防ぐことです。例えば、悪意のあるコードをスタックに置き、実行フローをそれに向けることを防ぎます。
## バイパス
- この保護を **バイパス** するために、バイナリ内に既に存在する実行可能コードのチャンクを実行するような技術を使用することが可能です。[**ROP**](../rop-return-oriented-programing/index.html)
- [**Ret2libc**](../rop-return-oriented-programing/ret2lib/index.html)
- [**Ret2syscall**](../rop-return-oriented-programing/rop-syscall-execv/index.html)
- **Ret2...**
{{#include ../../banners/hacktricks-training.md}}