CSSLP Secure Software Architecture And Design Practice Question
Which TWO of the following design choices mitigate the risk of 'Broken Object-Level Authorization' (BOLA)?
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
✓
Using random, non-predictable UUIDs for resource identifiers.
Checking ownership on every request and using non-predictable resource IDs are key BOLA defenses.
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 sequentially incrementing IDs (e.g., 1, 2, 3) for all resources.
Why it's wrong here
Sequential IDs are easily guessable.
- ✗
Relying on the frontend to hide sensitive objects.
Why it's wrong here
Client-side controls are bypassable.
- ✓
Using random, non-predictable UUIDs for resource identifiers.
Why this is correct
Makes resource discovery difficult.
- ✗
Using base64 encoded strings for all database IDs.
Why it's wrong here
Encoding is not a valid security control.
- ✓
Verifying that the user ID in the session owns the requested resource ID.
Why this is correct
Core BOLA defense.
About these practice questions
This CSSLP question is part of Courseiva's 198-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 and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed August 2026 · checked against the official (ISC)² exam blueprint
This CSSLP practice question is part of Courseiva's free (ISC)² 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 CSSLP exam.