Courseiva

CISSP Security Architecture and Engineering Practice Question

A security engineer is hardening a system against buffer overflow attacks. Which of the following are effective mitigations? (Choose THREE)

⚠ Common exam trap

CISSP often tests whether candidates recognize that disabling ASLR or using unpatched software are vulnerabilities, not mitigations, and may confuse stack canaries with other protections.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

Address Space Layout Randomization (ASLR)

ASLR (A) is correct because it randomizes the memory locations of key process areas such as the stack, heap, and libraries, making it much harder for an attacker to reliably redirect execution to injected shellcode. DEP/NX (B) is correct because it marks memory pages (e.g., the stack and heap) as non-executable, so injected code cannot run even if a buffer overflow succeeds in writing to those regions. Stack canaries (D) are correct because a canary value placed between local buffers and the saved return address is checked before a function returns, detecting and aborting the overwrite that a classic stack-based buffer overflow would perform. Option C (using unpatched software) is wrong because unpatched software retains known vulnerabilities, including buffer overflows, increasing rather than mitigating risk. Option E (disabling ASLR) is wrong because removing ASLR eliminates a key randomization defense and makes exploitation of memory-corruption bugs easier.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✓

    Address Space Layout Randomization (ASLR)

    Why this is correct

    Address Space Layout Randomization (ASLR) is an effective defense that randomizes the memory locations of program components, such as the stack, heap, and libraries. By making these addresses unpredictable, ASLR prevents attackers from reliably targeting specific memory addresses with malicious payloads during a buffer overflow attack. This significantly increases the difficulty of executing successful shellcode or return-oriented programming (ROP) exploits.

  • ✓

    Data Execution Prevention (DEP/NX)

    Why this is correct

    Data Execution Prevention (DEP), also known as the No-Execute (NX) bit, is a system-level security feature that marks specific memory regions, such as the stack and heap, as non-executable. If an attacker attempts to inject and execute code within these protected memory segments via a buffer overflow, the processor blocks execution and raises an exception. This effectively neutralizes classic code-injection attacks by ensuring that memory used for data cannot run instructions.

  • ✗

    Using unpatched software

    Why it's wrong here

    Running unpatched software directly undermines system hardening efforts by leaving known, exploitable vulnerabilities active within the environment. Attackers frequently target these unpatched flaws, such as legacy buffer overflows, using publicly available exploit code. Regular patch management is a fundamental administrative control required to eliminate these vulnerabilities before they can be leveraged to compromise the system.

  • ✓

    Stack canaries

    Why this is correct

    Stack canaries, or security cookies, are random values placed on the stack directly before the return address during function initialization. Before a function returns, the system validates this value; if a buffer overflow has occurred and overwritten the canary, the mismatch is detected. The system then terminates the process immediately, preventing the execution of hijacked return instructions.

  • ✗

    Disabling ASLR

    Why it's wrong here

    Disabling Address Space Layout Randomization (ASLR) severely weakens a system's defenses by restoring a static, predictable memory layout. Without ASLR, attackers can easily determine the exact memory addresses of system functions and injected payloads, making buffer overflow exploits highly reliable and trivial to execute. Maintaining ASLR enabled is a critical configuration baseline for modern operating system hardening.

About these practice questions

This CISSP question is part of Courseiva's 816-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written and reviewed by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

Last reviewed September 2026 · checked against the official ISC2 exam blueprint

This CISSP practice question is part of Courseiva's free ISC2 certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CISSP exam.