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)
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 randomizes memory addresses, DEP prevents code execution on the stack/heap, and stack canaries detect buffer overflows before control data is corrupted.
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.
Go deeper
Related to this question
About these practice questions
This CISSP question is part of Courseiva's 747-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 →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
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.