Foundationপ্রথম নীতি থেকে
LEVEL 10 · Computer Security

NX Bit

এনএক্স বিট

Data Execution Prevention — memory page-কে non-executable চিহ্নিত করে, injected shellcode থাকলেও CPU সেটা চালাতে অস্বীকার করে।

also: dep, data-execution-prevention, no-execute-bit

page table entry-তে NX flag সেট → CPU সেই page থেকে fetch/execute করবে না
Stack/heap-এ শুধু data থাকার কথা → NX দিয়ে সেগুলোকে চিরকালের জন্য non-executable রাখা
  • Attacker code-pointer corrupt করে নিজের injected shellcode-এ jump করালেও CPU hardware-স্তরে execute করতে অস্বীকার করে — crash/kill হয়
  • যা আটকায় না: Return-Oriented Programming (ROP) — নতুন code inject না করে ইতিমধ্যে-loaded, already-executable code-এর ছোট ছোট gadget চেইন করে একই কাজ করা
  • ASLR-এর সাথে জুটি বেঁধে কাজ করে — NX code-injection বন্ধ করে, ASLR সেই gadget-দের ঠিকানা অনুমান করা কঠিন করে