View Full ISC CSSLP Exam Dumps and Practice Test Dumps
Question 101.
A software team is defining security requirements for a new API. Which requirement is MOST appropriate?
- All requests to protected endpoints must be authenticated and authorized on the server side
- The API should be reasonably secure
- Developers should use best practices
- The interface should be easy to use
Correct Answer: 1. All requests to protected endpoints must be authenticated and authorized on the server side
Explanation:
A strong security requirement should be specific, measurable, and testable. Requiring server-side authentication and authorization for protected endpoints provides a clear expectation that can be mapped to design controls and verified during testing. Vague statements such as “the API should be secure” do not give developers or testers enough information to determine compliance. Security requirements should describe observable behavior rather than general intentions.
Question 102.
Which practice BEST reduces the risk of server-side request forgery?
- Allow the application to connect to any user-supplied URL
- Restrict outbound destinations and validate user-controlled URLs against approved targets
- Disable outbound logging
- Run the application with administrator privileges
Correct Answer: 2. Restrict outbound destinations and validate user-controlled URLs against approved targets
Explanation:
Server-side request forgery can occur when attackers cause a server to make unintended requests to internal or external destinations. Restricting outbound access, allowlisting expected destinations, validating URL schemes and hosts, and blocking access to sensitive metadata or internal services can reduce this risk. The application process should also operate with minimal privileges so that a successful SSRF attack has limited impact.
Question 103.
A development team wants to identify which security requirements are affected by a major architecture change. Which practice is MOST useful?
- Performance benchmarking
- User-interface review
- Requirements traceability
- License counting
Correct Answer: 3. Requirements traceability
Explanation:
Requirements traceability links security requirements to architecture, implementation, and verification activities. When architecture changes, teams can use those relationships to determine which controls and tests may also require modification. This reduces the chance that important security requirements are silently lost during redesign. Traceability also supports audits, change impact analysis, and maintenance throughout the software lifecycle.
Question 104.
A security-sensitive application cannot validate a user’s current authorization because its policy service is unavailable. What is the BEST default behavior?
- Grant full access
- Allow all authenticated users
- Ignore the authorization check
- Deny sensitive operations until authorization can be verified
Correct Answer: 4. Deny sensitive operations until authorization can be verified
Explanation:
Sensitive operations should fail securely when authorization cannot be established. Automatically allowing access during a policy-service outage creates an authorization bypass. Some applications may use carefully controlled cached decisions for lower-risk functions, but this must be intentionally designed and bounded. High-risk operations should generally be denied or deferred until current policy can be confirmed.
Question 105.
Which secure design principle BEST supports minimizing the number of security mechanisms and keeping them understandable?
- Economy of mechanism
- Maximum privilege
- Fail open
- Shared access
Correct Answer: 1. Economy of mechanism
Explanation:
Economy of mechanism encourages simple security designs that are easier to understand, test, and maintain. Unnecessary complexity can create hidden interactions, configuration errors, and inconsistent behavior. Simplicity does not mean removing required safeguards; it means avoiding mechanisms that do not provide meaningful security or business value. Clear designs are generally easier to verify and operate securely.
Question 106.
A development team needs to protect passwords stored in an application database. Which approach is MOST appropriate?
- Reversible encryption with a shared key
- A strong adaptive password-hashing function with unique salts
- Base64 encoding
- Plaintext storage in a restricted table
Correct Answer: 2. A strong adaptive password-hashing function with unique salts
Explanation:
Passwords should generally be stored using adaptive password hashing rather than reversible encryption. An appropriate password-hashing algorithm makes offline guessing more expensive, while unique salts prevent identical passwords from producing identical stored values and reduce the effectiveness of precomputed attacks. Plaintext and simple encoding provide inadequate protection if the database is compromised.
Question 107.
A security review finds that an application uses a user-supplied account number to decide which records to return without checking ownership. What is the MAIN weakness?
- Weak encryption
- Insufficient logging
- Broken object-level authorization
- Poor availability design
Correct Answer: 3. Broken object-level authorization
Explanation:
Authentication alone does not prove that a user is allowed to access a particular record. The server must verify authorization for each requested object. If changing an account number allows access to another user’s information, the application is relying on the identifier instead of enforcing proper authorization. Predictable identifiers may make exploitation easier, but the fundamental issue is missing server-side access control.
Question 108.
A team wants to ensure that only approved artifacts can be deployed to production. Which control is BEST?
- Let developers upload binaries directly
- Disable deployment logging
- Use shared production credentials
- Require deployment through a controlled pipeline with integrity verification
Correct Answer: 4. Require deployment through a controlled pipeline with integrity verification
Explanation:
A controlled release pipeline can enforce testing, approval, artifact integrity, and traceability before software reaches production. This makes it harder for unauthorized or modified software to bypass the normal process. The pipeline itself should receive strong access controls and audit logging because compromise of deployment infrastructure can have broad impact across production systems.
Question 109.
What is the PRIMARY purpose of secure code review for authentication logic?
- Identify implementation flaws that could allow authentication bypass or credential exposure
- Measure application response time
- Replace all dynamic testing
- Improve the visual design of login pages
Correct Answer: 1. Identify implementation flaws that could allow authentication bypass or credential exposure
Explanation:
Authentication logic is security-critical and can contain subtle implementation flaws such as incorrect comparison logic, insecure token handling, weak recovery paths, or improper session management. Secure code review helps identify these weaknesses before release. It should complement testing rather than replace it, because different techniques reveal different types of defects.
Question 110.
A software product requires cryptographically secure session identifiers. Which implementation is BEST?
- Sequential integers
- Values generated with a cryptographically secure random number generator
- Current timestamps
- Usernames encoded in Base64
Correct Answer: 2. Values generated with a cryptographically secure random number generator
Explanation:
Session identifiers must be unpredictable so attackers cannot guess valid values. Cryptographically secure random number generators are designed for security-sensitive tokens and provide stronger unpredictability than timestamps, counters, or simple encodings. Session identifiers should also have sufficient entropy, be protected in transit and storage, and be invalidated when sessions end or credentials are revoked.
Question 111.
A web application reflects user input inside an HTML attribute. Which control is MOST important?
- Database indexing
- Longer sessions
- Context-appropriate output encoding
- Disabling audit logging
Correct Answer: 3. Context-appropriate output encoding
Explanation:
Output encoding must match the context in which untrusted data is inserted. HTML text, attributes, URLs, JavaScript, and CSS can each require different handling. Proper encoding helps ensure that user-supplied values are interpreted as data rather than executable content. Input validation and content security controls can provide additional layers, but output encoding remains fundamental for preventing many browser-based injection attacks.
Question 112.
A software organization wants emergency fixes to remain secure and auditable. Which approach is BEST?
- Allow undocumented production changes
- Share an administrator account
- Disable review for all emergency changes
- Use an expedited process that still requires authorization, logging, and post-change review
Correct Answer: 4. Use an expedited process that still requires authorization, logging, and post-change review
Explanation:
Emergency changes may need faster processing, but they should not bypass essential governance. Authorization, individual accountability, logging, and post-change review should remain in place. Testing should be performed to the extent practical. A defined emergency path balances operational urgency with the need to prevent untracked or unsafe production modifications.
Question 113.
Which practice BEST supports secure use of third-party packages in a software project?
- Maintain an inventory and monitor components for vulnerabilities and support status
- Download packages from any available source
- Ignore transitive dependencies
- Stop monitoring components after release
Correct Answer: 1. Maintain an inventory and monitor components for vulnerabilities and support status
Explanation:
Third-party components introduce ongoing lifecycle and supply-chain risk. Teams should know which packages and versions are used, where they came from, and whether they remain supported. Dependency scanning, approved repositories, provenance verification, and vulnerability monitoring help identify new risks over time. Component security is not a one-time decision made only during initial development.
Question 114.
A team needs to process uploaded images from untrusted users. Which design is MOST secure?
- Trust the filename extension supplied by the browser
- Validate content, limit size, use safe storage, and process with minimal privileges
- Store uploads in the executable application directory
- Run image-processing code as an administrator
Correct Answer: 2. Validate content, limit size, use safe storage, and process with minimal privileges
Explanation:
Uploaded files can contain malformed content, oversized payloads, or unexpected formats intended to exploit parsing libraries. Applications should validate actual file content, enforce size and type restrictions, use safe server-generated names, and process files in restricted environments. Least privilege and isolation reduce the impact if a parser vulnerability is successfully exploited.
Question 115.
What is the MAIN security benefit of using separate development, testing, and production environments?
- It increases source-code size
- It eliminates the need for access control
- It reduces the chance that development activity or test credentials directly affect production
- It guarantees production cannot be compromised
Correct Answer: 3. It reduces the chance that development activity or test credentials directly affect production
Explanation:
Environment separation limits the impact of development experiments, test data, debugging tools, and broader developer access on production systems. Each environment can have appropriate credentials, permissions, and controls. Deployment between environments should occur through controlled processes rather than direct modification. Separation supports least privilege and reduces accidental as well as malicious production impact.
Question 116.
A web application displays detailed database exceptions to users when queries fail. What is the BEST correction?
- Include passwords in the exception for troubleshooting
- Show full SQL statements to all users
- Disable all internal logging
- Return generic errors to users and log detailed diagnostics securely
Correct Answer: 4. Return generic errors to users and log detailed diagnostics securely
Explanation:
Detailed database errors can expose table names, query structures, paths, software versions, and other information useful to attackers. Users generally need only a safe and understandable failure message. Technical details should be logged to protected systems accessible to authorized personnel. Sensitive information such as passwords or tokens should be excluded or masked in diagnostic data.
Question 117.
Which activity BEST helps determine whether security requirements have been implemented correctly?
- Verification testing mapped to the documented requirements
- Marketing approval
- The absence of support tickets
- Developer opinion alone
Correct Answer: 1. Verification testing mapped to the documented requirements
Explanation:
Security requirements should be validated with objective evidence. Mapping test cases to requirements shows which controls were verified and where gaps remain. Evidence may come from automated tests, manual review, code analysis, penetration testing, or other methods depending on the requirement. Traceability provides much stronger assurance than informal statements or the absence of complaints.
Question 118.
A development team wants to protect a high-value signing key used for software releases. Which approach is BEST?
- Store the key in the source repository
- Use a protected signing service or hardware-backed mechanism with tightly controlled access
- Share the key with all developers
- Embed the key in the build script
Correct Answer: 2. Use a protected signing service or hardware-backed mechanism with tightly controlled access
Explanation:
A software-signing key establishes trust in released artifacts. If attackers obtain it, they may be able to sign malicious software as legitimate. Strong designs isolate the key, limit who or what can request signing operations, maintain audit records, and support revocation. Build systems should not automatically possess unrestricted access to the private signing key.
Question 119.
A vulnerability is discovered in a library used by several products. What should the organization do?
- Patch only the first product identified
- Remove the library from the inventory
- Identify all affected products and versions, assess exposure, and remediate appropriately
- Wait until exploitation occurs
Correct Answer: 3. Identify all affected products and versions, assess exposure, and remediate appropriately
Explanation:
Shared dependencies can affect many products simultaneously. The organization should use component inventories or SBOM information to identify every affected application and supported version. Each product’s exposure and use of the vulnerable functionality should then be evaluated, followed by patching, mitigation, replacement, or risk treatment as appropriate. Fixing one product does not resolve the broader dependency risk.
Question 120.
Which practice BEST reflects mature secure software development?
- Security begins only during testing
- Security ends at production release
- Only the security team is responsible for software security
- Security is integrated continuously from requirements through retirement
Correct Answer: 4. Security is integrated continuously from requirements through retirement
Explanation:
Secure software development is a lifecycle activity. Security requirements influence design, secure coding reduces implementation defects, verification demonstrates control effectiveness, and controlled deployment protects production. After release, teams must monitor vulnerabilities, dependencies, incidents, and changing threats until the software is retired securely. Responsibility is shared across development, security, operations, product, and governance functions.