Courseiva
Software Development SecurityhardMultiple ChoiceObjective-mapped

CISSP Software Development Security Practice Question

A security architect is designing an authentication system. To prevent session fixation attacks, which secure design principle should be implemented?

⚠ Common exam trap

It's easy for candidates to confuse session fixation with session hijacking or general secure transmission, leading them to choose HTTPS or MFA, which are important but do not directly counter the fixation mechanism.

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

Regenerating session IDs after successful login

Session fixation attacks occur when an attacker forces a user to use a known session ID. Regenerating the session ID after successful login (e.g., via `session_regenerate_id()` in PHP or `HttpServletRequest.changeSessionId()` in Java) ensures that the pre-authentication session ID is discarded and a new, unpredictable one is issued, breaking the attacker's control.

Answer analysis

Option-by-option breakdown

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

  • Using HTTPS for all communications

    Why it's wrong here

    Using HTTPS encrypts the communication channel between the client and server, protecting the confidentiality and integrity of data in transit. However, session fixation occurs when an attacker forces a known session ID onto a victim *before* they authenticate. While the subsequent login and all session traffic would be encrypted, HTTPS does not prevent the application from associating the legitimate user's authenticated state with the attacker's pre-set session ID, thus failing to mitigate the core vulnerability.

  • Setting session timeout to 30 minutes

    Why it's wrong here

    Setting a session timeout limits the duration an active session remains valid after a period of inactivity, which is crucial for reducing the window of opportunity for various session-related attacks. However, this practice does not directly prevent session fixation itself. An attacker can still fix a session ID on a victim's browser, wait for them to log in, and then immediately attempt to hijack the session before the timeout period expires, especially if the attacker is actively monitoring.

  • Implementing multi-factor authentication

    Why it's wrong here

    Multi-factor authentication (MFA) significantly enhances the security of the login process by requiring users to provide two or more distinct verification factors, ensuring only legitimate users can successfully authenticate. However, MFA primarily strengthens the *initial authentication step* and does not inherently address how the application manages session identifiers *after* successful login. An attacker could still fix a session ID, and if the application doesn't regenerate it post-MFA, the session remains vulnerable to fixation.

  • Regenerating session IDs after successful login

    Why this is correct

    Regenerating the session ID immediately after a user successfully authenticates is the most effective direct countermeasure against session fixation. This action ensures that any session ID an attacker might have previously forced upon the victim's browser becomes invalid and unusable. By issuing a completely new, cryptographically random session ID for the authenticated session, the application effectively severs the link between the attacker's known ID and the legitimate user's secure session, preventing unauthorized access.

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 →

How Courseiva writes practice questions · Editorial policy

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.