Courseiva

CCNA Secure Software Concepts Questions

25 questions · Secure Software Concepts · All types, answers revealed

1
MCQeasy

A developer is configuring a web application to use the principle of least privilege. Which action best aligns with this philosophy?

A.Granting the application access to all system environment variables.
B.Using a dedicated service account with granular permissions for database access.
C.Enabling 'Everyone' write access to application configuration files.
D.Running the application process as 'root' or 'administrator'.
AnswerB

Least privilege requires granting only the permissions needed for a task. A dedicated service account with granular database permissions avoids shared, over-privileged credentials, limiting blast radius if compromised and satisfying the constraint that database access be scoped to exactly what the application requires.

Why this answer

Using a dedicated service account with granular permissions for database access embodies least privilege by granting only the necessary permissions to perform specific tasks. This minimizes the attack surface and limits potential damage from compromised credentials. The other options either grant excessive permissions or violate least privilege by allowing broad access.

Exam trap

CSSLP often tests the misconception that least privilege means simply using a separate account, rather than ensuring that account has only the minimal necessary permissions.

How to eliminate wrong answers

Option A is wrong because granting access to all system environment variables violates least privilege; the application should only access variables it needs. Option C is wrong because enabling 'Everyone' write access to configuration files allows unauthorized modification, a severe security risk. Option D is wrong because running as root or administrator gives the application full control over the system, far exceeding necessary privileges.

2
MCQmedium

A healthcare SaaS provider must ensure that only authorized clinicians can view patient records, and that any access is logged with a tamper-evident trail. The lead architect proposes implementing role-based access control (RBAC) with digital signatures on audit logs. Which security objective does this combination primarily satisfy?

A.Availability
B.Confidentiality
C.Non-repudiation
D.Accountability
AnswerD

Accountability ensures that every action can be traced to a responsible entity. RBAC restricts access to authorized clinicians, and tamper-evident audit logs record who accessed what and when. Together, they provide the ability to hold users responsible for their actions. Digital signatures on logs add integrity, preventing undetected modification. This directly satisfies the requirement that access is logged with a tamper-evident trail.

Why this answer

Accountability is the security objective that ties actions to identities. RBAC enforces authorized access, and tamper-evident audit logs provide a reliable record of who did what. Together, they enable holding clinicians responsible for viewing patient records.

Non-repudiation is related but focuses on preventing denial of an action, while confidentiality and availability address different aspects of security.

Exam trap

The trap here is confusing accountability with non-repudiation, because both involve audit logs; however, accountability is about tracing actions to identities, while non-repudiation specifically prevents denial of an action.

3
MCQeasy

What is the primary goal of the 'Principle of Least Privilege' (PoLP)?

A.To restrict access to the minimum necessary for a task.
B.To simplify administrative tasks by giving everyone full access.
C.To ensure that security controls are invisible to users.
D.To provide all users with the same set of permissions.
E.To automatically grant permissions based on time of day.
AnswerA

PoLP grants each user, process or service only the permissions required to complete its defined task, nothing more. This directly satisfies the stem's goal by shrinking the attack surface and limiting blast radius, since compromised accounts cannot reach unrelated systems or data beyond their task scope.

Why this answer

PoLP ensures that entities are granted only the minimum level of access required to perform their functions.

4
MCQhard

A security team implements a 'Separation of Duties' policy in the CI/CD pipeline. Which implementation is correct?

A.One developer commits code, and a separate user with deployment permissions triggers the release.
B.The same developer writes, reviews, and deploys the code.
C.The QA team is allowed to modify production database records.
D.The build server automatically deploys code without human verification.
E.All developers have access to the production environment credentials.
AnswerA

Splitting commit and deployment across two identities enforces separation of duties: the developer who authors code cannot also push it to production. This directly satisfies the policy's constraint that no single principal holds both write and release privileges, preventing unilateral changes from reaching production without a second authorised actor.

Why this answer

Separation of Duties (SoD) requires that no single individual controls all phases of a critical process. In a CI/CD pipeline, having one developer commit code and a different user with deployment permissions trigger the release enforces a check-and-balance so that the author cannot unilaterally push code to production. This is the canonical SoD implementation.

Exam trap

The trap is confusing SoD with automation or efficiency — candidates may pick the fully automated option thinking it is 'best practice,' but SoD specifically requires human role separation for high-risk actions.

How to eliminate wrong answers

Option B is wrong because the same developer writing, reviewing, and deploying violates SoD entirely — it concentrates author, reviewer, and releaser roles in one person. Option C is wrong because allowing QA to modify production database records bypasses change control and violates SoD between testing and production operations. Option D is wrong because fully automated deployment without human verification removes the separation between code author and release approver, which SoD requires for high-risk changes.

Option E is wrong because granting all developers production credentials eliminates the boundary between development and operations roles.

5
Multi-Selectmedium

Which TWO of the following are recognized components of the 'Confidentiality, Integrity, and Availability' (CIA) triad?

Select 2 answers
A.Non-repudiation
B.Accounting
C.Integrity
D.Confidentiality
E.Authentication
AnswersC, D

Integrity is one of the three core CIA triad pillars, ensuring data remains accurate and unaltered unless modified by authorised parties. The stem asks for recognised triad components, and integrity is explicitly named in the acronym itself, making it a definitive member.

Why this answer

Option C (Integrity) is correct because the CIA triad explicitly consists of Confidentiality, Integrity, and Availability, where integrity ensures data is accurate, complete, and unaltered by unauthorized parties. Option D (Confidentiality) is correct because it is the core element of the triad that ensures information is accessible only to authorized individuals, typically enforced through encryption and access controls. The unmarked options do not belong: Non-repudiation (A) is a separate security property proving a party cannot deny an action, Accounting (B) relates to auditing and tracking user activity, and Authentication (E) is the process of verifying identity, all of which support but are not components of the CIA triad itself.

6
MCQhard

A financial services firm is designing a new mobile banking app. The security team wants to ensure that even if an attacker compromises one component, they cannot easily move laterally to access sensitive customer data. Which secure design principle should be prioritized to limit the blast radius of a compromise?

A.Isolation and compartmentalization
B.Separation of duties
C.Least common mechanism
D.Defense in depth
AnswerA

Isolation and compartmentalization involve dividing a system into separate components with controlled interfaces, so a compromise in one does not automatically grant access to others. In a mobile banking app, this could mean isolating the authentication module from the data storage module, using sandboxes, or enforcing network segmentation. This directly limits lateral movement and reduces the blast radius, matching the security team's goal.

Why this answer

Isolation and compartmentalization directly address the need to contain a compromise by separating components and enforcing boundaries. This limits an attacker's ability to move laterally from a compromised component to sensitive data. While defense in depth is valuable, it is a broader concept; the specific goal of limiting blast radius is best served by isolating components and controlling interfaces.

Exam trap

The trap here is choosing defense in depth because it sounds comprehensive, but the question specifically asks for the principle to prioritize to limit lateral movement, which is isolation and compartmentalization.

7
MCQhard

You are using the 'Complete Mediation' principle in your system's access control design. What does this require?

A.Granting permanent access to all authenticated users.
B.Checking authorization only at login.
C.Checking authorization for every access request.
D.Relying on the user to request access when needed.
E.Caching permissions to reduce latency.
AnswerC

Complete Mediation requires that every access to every object be authorised at the time of the request, with no reliance on cached decisions or assumed trust. Checking authorisation for every access request directly implements this, closing gaps where prior approval might be reused improperly.

Why this answer

The Complete Mediation principle requires that every access request to a resource be checked for authorization, not just at login or at certain times. This ensures that no access is granted without a current authorization decision, preventing bypasses due to cached permissions or session hijacking. It is a core principle of secure design, ensuring that each access is validated against the security policy.

Exam trap

The trap is confusing authentication (verifying identity) with authorization (checking permissions), and thinking that a one-time check at login is sufficient; complete mediation requires continuous authorization checks.

How to eliminate wrong answers

Option A is wrong because granting permanent access to all authenticated users violates least privilege and does not involve per-request checks. Option B is wrong because checking authorization only at login means subsequent requests are not re-evaluated, which fails complete mediation. Option D is wrong because relying on the user to request access is not a systematic enforcement mechanism.

Option E is wrong because caching permissions can lead to stale authorization decisions and does not ensure every access is checked against the current policy.

8
MCQmedium

You are designing a system to comply with 'Fail-Safe Defaults'. Which configuration best reflects this?

A.If the authorization check fails, explicitly deny the request.
B.If the authentication service is down, allow access to all users.
C.If the firewall fails, allow all traffic to pass through.
D.Default all new user accounts to 'Administrator' role.
E.If the load balancer times out, bypass the application logic.
AnswerA

Fail-safe defaults require that access decisions deny unless explicitly granted, so a failed authorisation check must return deny rather than permit. Explicitly denying on failure satisfies this constraint, preventing accidental access when the check cannot confirm permission.

Why this answer

Fail-safe defaults mean that if an error or crash occurs, the system defaults to the most secure state (e.g., access denied).

9
MCQmedium

You are implementing 'Psychological Acceptability' in a new multi-factor authentication system. Which design choice is most appropriate?

A.Providing zero feedback to users during the login process.
B.Requiring a 64-character password changed every 24 hours.
C.Using a user-friendly mobile app push notification for authentication.
D.Disabling the ability for users to reset their own passwords.
E.Forcing users to solve a complex CAPTCHA at every login attempt.
AnswerC

Psychological acceptability requires security mechanisms to be usable enough that users do not circumvent them. A mobile app push notification approves authentication with a single tap, imposing minimal cognitive burden while preserving the second factor, unlike cumbersome token entry or complex password rules.

Why this answer

Psychological acceptability ensures that security measures are easy for users to understand and use, so they don't circumvent them.

10
Multi-Selecthard

When designing a secure API, which THREE of the following practices align with the principle of 'Defense-in-Depth'?

Select 3 answers
A.Encoding output to prevent XSS attacks in the browser.
B.Relying solely on the network firewall for all security.
C.Allowing all traffic through the API Gateway for performance.
D.Validating input within the application business logic layer.
E.Validating all incoming requests at the API Gateway level.
AnswersA, D, E

Encoding output neutralises injected markup before it reaches the browser, blocking cross-site scripting even when input validation fails. This satisfies the stem's layered-control requirement: an independent, downstream safeguard that still contains an attacker after an earlier defensive layer is bypassed, rather than relying on any single control.

Why this answer

Defense-in-Depth means layering multiple independent controls so that no single failure exposes the system. Option A is correct because encoding output before it reaches the browser neutralizes injected script and mitigates XSS even if an earlier filter is bypassed, adding a presentation-layer control. Option D is correct because validating input inside the application business logic layer enforces the domain's own rules and catches malicious or malformed data that slips past perimeter checks, providing an application-layer safeguard.

Option E is correct because validating all incoming requests at the API Gateway level rejects bad traffic early at the perimeter, forming an outer defensive layer that complements the inner application validation. Option B is incorrect because relying solely on a network firewall is a single point of failure, the opposite of layered defense. Option C is incorrect because allowing all traffic through the API Gateway removes a key inspection and filtering layer, weakening rather than strengthening defense-in-depth.

11
Multi-Selectmedium

A software architect is designing a system to enforce the principle of least privilege. Which two practices should be implemented to achieve this? (Choose two.)

Select 2 answers
A.Allowing users to retain access rights after they change roles
B.Granting users administrative rights by default to avoid access issues
C.Running services with the minimum required operating system privileges
D.Assigning permissions based on job roles and responsibilities
E.Using a shared administrator account for all IT staff to simplify management
AnswersC, D

Running services with minimal OS privileges ensures that if a service is compromised, the attacker gains limited access. This is a core aspect of least privilege, applied to service accounts. It reduces the blast radius and prevents privilege escalation. Therefore, it is a correct practice for achieving least privilege in system design.

Why this answer

Least privilege requires that users and services operate with only the permissions necessary to perform their tasks. Assigning permissions based on job roles ensures users have appropriate access, and running services with minimal OS privileges limits the impact of a compromise. These two practices directly enforce least privilege, while the other options either grant excessive rights or fail to revoke unnecessary access.

Exam trap

The trap here is thinking that simplifying management with shared accounts or default admin rights is acceptable, but least privilege demands minimal rights and individual accountability.

12
MCQeasy

Which concept describes the ability of a system to provide services to authorized users even during a heavy load or denial of service attack?

A.Non-repudiation
B.Availability
C.Integrity
D.Authentication
E.Confidentiality
AnswerB

Availability ensures authorised users can access services and data when required, including under heavy load or active denial-of-service conditions. The other pillars address secrecy and integrity, not sustained service access, so availability directly matches the scenario described.

Why this answer

Availability specifically refers to the system's ability to remain operational and accessible.

13
MCQmedium

A software architect is designing a system where data must remain accessible even if the primary database server fails. They implement a synchronous database replication strategy. Which core security concept is being prioritized?

A.Non-repudiation
B.Integrity
C.Availability
D.Confidentiality
AnswerC

Synchronous replication maintains a live duplicate of data, so service continues when the primary database fails. This directly satisfies the stem's requirement that data remain accessible despite server failure, which is the availability leg of the CIA triad rather than integrity or confidentiality.

Why this answer

Availability is prioritized by ensuring data access despite server failure through replication.

14
MCQmedium

When designing secure software, why is 'Economy of Mechanism' important?

A.To lower the cost of hardware infrastructure.
B.To minimize the attack surface by keeping the design simple.
C.To increase the lines of code for better functionality.
D.To ensure that the software is faster at runtime.
E.To enable easier debugging for developers.
AnswerB

Economy of Mechanism keeps the design as simple as possible, so fewer code paths, interfaces and features exist for attackers to exploit. Reduced complexity directly shrinks the attack surface and lowers the chance of implementation flaws.

Why this answer

Economy of Mechanism is a core security design principle (from Saltzer and Schroeder) that advocates for simple, minimal designs. By keeping the design as simple as possible, the number of potential vulnerabilities and entry points for attackers is reduced, directly minimizing the attack surface. This simplicity also makes the system easier to verify and secure.

Exam trap

The trap here is confusing 'Economy of Mechanism' with general software efficiency or cost-saving measures, rather than recognizing it as a security principle focused on reducing complexity to minimize attack surface.

How to eliminate wrong answers

Option A is wrong because Economy of Mechanism is not about reducing hardware costs; it's about reducing complexity to improve security. Option C is wrong because increasing lines of code adds complexity, which is the opposite of Economy of Mechanism. Option D is wrong because while simpler code may run faster, the primary security goal is not runtime speed but reducing attack surface.

Option E is wrong because easier debugging is a side benefit, not the main security rationale for Economy of Mechanism.

15
MCQeasy

Which of the following is an example of defense-in-depth in a web application architecture?

A.Disabling all firewall rules for testing purposes.
B.Storing all application data in a single encrypted volume.
C.Implementing input validation, parameterized queries, and a Web Application Firewall (WAF).
D.Removing all logs to prevent unauthorized access to audit trails.
E.Using a single strong password for all database accounts.
AnswerC

Layered controls at distinct tiers: input validation and parameterised queries harden application code against injection, while a WAF filters malicious HTTP traffic at the perimeter. Compromise of one layer does not defeat the others, satisfying the defence-in-depth requirement.

Why this answer

Defense-in-depth layers multiple independent controls so that a failure or bypass of one does not compromise the whole system. Option C combines three distinct layers: input validation at the application code layer, parameterized queries at the data-access layer to prevent SQL injection, and a WAF at the network/edge layer to filter malicious HTTP traffic. Together they address the same threat class (injection) through different mechanisms, which is the textbook definition of layered defense.

Exam trap

The trap here is confusing 'more security controls' with 'layered security controls' — options like a single encrypted volume or one strong password sound secure but represent single points of failure, not defense-in-depth.

How to eliminate wrong answers

Option A is wrong because disabling firewall rules removes a security control entirely rather than layering defenses, directly weakening the architecture. Option B is wrong because storing all data in a single encrypted volume is a single control with a single point of failure — if the key or volume is compromised, everything is exposed, and it provides no application-layer protection. Option D is wrong because removing logs destroys the audit trail and eliminates detective controls, which is the opposite of defense-in-depth.

Option E is wrong because reusing one strong password across all database accounts violates least privilege and credential separation, creating a single compromised credential that grants broad access.

16
Multi-Selecteasy

Which TWO of the following actions support the 'Open Design' security principle?

Select 2 answers
A.Publishing the system architecture for security review.
B.Relying on standard, public cryptographic protocols like TLS.
C.Keeping the API endpoint documentation private.
D.Hiding the source code from all development team members.
E.Using a proprietary, secret encryption algorithm.
AnswersA, B

Open Design holds that security must not depend on secrecy of the design itself. Publishing the architecture invites independent scrutiny, allowing flaws to be identified and corrected rather than hidden, which strengthens assurance without relying on obscurity.

Why this answer

Option A is correct because the Open Design principle (Saltzer and Schroeder) holds that the security of a system should not depend on the secrecy of its design, so publishing the system architecture for security review allows scrutiny and verification by others without weakening security. Option B is correct because relying on standard, public cryptographic protocols like TLS embodies open design: the algorithms and protocols are openly specified and peer-reviewed, and security rests on the secrecy of keys rather than the obscurity of the mechanism. Option C does not belong because keeping API documentation private is a form of security through obscurity, which contradicts open design.

Option D does not belong because hiding source code from developers is secrecy-based and impedes review, the opposite of openness. Option E does not belong because a proprietary, secret encryption algorithm relies on obscurity of the algorithm rather than open, vetted standards, which violates the Open Design principle.

17
Multi-Selecteasy

Which TWO of the following are essential components for achieving 'Non-repudiation'?

Select 2 answers
A.Digital signatures
B.Immutable audit logs
C.Multi-factor authentication.
D.Load balancing.
E.Strong encryption of data in transit.
AnswersA, B

Non-repudiation requires proof binding an action to a specific identity such that the actor cannot later deny it. Digital signatures provide this through cryptographic keys unique to the signer, verifying origin and integrity, and satisfying the requirement for undeniable attribution of the transaction.

Why this answer

Digital signatures (A) are essential for non-repudiation because they cryptographically bind a signer's private key to the message, allowing any party to verify origin and integrity and preventing the signer from later denying authorship. Immutable audit logs (B) are also essential because they provide tamper-evident, append-only records of actions that can be used as evidence to prove what occurred and who did it, which is required to prevent denial of an action. Multi-factor authentication (C) strengthens authentication and reduces account compromise but does not by itself prove which specific action a user performed, so it does not establish non-repudiation.

Load balancing (D) is an availability and performance mechanism and has no bearing on proving the origin or integrity of a transaction. Strong encryption of data in transit (E) protects confidentiality against eavesdropping but does not bind an identity to a message or prevent a party from denying an action.

Exam trap

CSSLP often tests the misconception that MFA or encryption provides non-repudiation, when in fact only digital signatures (proof of origin) combined with immutable logs (tamper-evident record) satisfy the non-repudiation requirement.

18
MCQeasy

A software development team is adopting a secure design principle that requires the security of a system to depend on the secrecy of the keys, not on the secrecy of the algorithm. Which principle are they implementing?

A.Fail-safe defaults
B.Least privilege
C.Open design
D.Security by obscurity
AnswerC

Open design states that the security of a system should not depend on the secrecy of its design or implementation, but rather on the secrecy of keys or passwords. This aligns with Kerckhoffs's principle. By making the algorithm public and subject to scrutiny, vulnerabilities are more likely to be found and fixed. The scenario directly describes this principle, where security rests on key secrecy, not algorithm secrecy.

Why this answer

Open design, also known as Kerckhoffs's principle, asserts that a cryptographic system should be secure even if everything about the system, except the key, is public knowledge. This allows for public scrutiny and avoids reliance on obscurity. The scenario explicitly describes this principle, making open design the correct answer.

Exam trap

The trap here is confusing open design with security by obscurity, but open design is the opposite: it advocates for public algorithms and secret keys.

19
MCQeasy

A developer is performing a threat modeling exercise using STRIDE. What does the 'S' in STRIDE represent?

A.Software integrity
B.Service availability
C.System hardening
D.Secure architecture
E.Spoofing
AnswerE

In STRIDE, 'S' denotes Spoofing, which covers threats where an attacker impersonates a legitimate user, service, or system to gain unauthorised access. It is countered through authentication mechanisms that verify claimed identities before trust is granted.

Why this answer

STRIDE is Microsoft's threat modeling framework, and the 'S' stands for Spoofing, which is the threat of an attacker impersonating a legitimate user, system, or process. Spoofing violates authentication and is typically mitigated with strong authentication mechanisms such as MFA or certificates.

Exam trap

The trap is that distractors use security-sounding phrases like 'Software integrity' and 'Secure architecture' that feel like STRIDE categories but are actually mitigations or properties, not threat types.

How to eliminate wrong answers

Option A is wrong because 'Software integrity' is not a STRIDE category — integrity is covered by Tampering (the 'T'). Option B is wrong because 'Service availability' maps to Denial of Service (the 'D'), not Spoofing. Option C is wrong because 'System hardening' is a mitigation technique, not a STRIDE threat category.

Option D is wrong because 'Secure architecture' is a design goal, not one of the six STRIDE letters.

20
MCQhard

In an OAuth 2.0 flow, you are using the 'Authorization Code' grant type. You notice an attacker is attempting to intercept the code. Which security concept is being utilized by requiring the client_secret during the token exchange?

A.Availability
B.Non-repudiation
C.Confidentiality
D.Authentication
E.Integrity
AnswerD

Requiring the client_secret proves the token request originates from the legitimate registered client, not an interceptor holding a stolen code. This client authentication mechanism satisfies the stem by binding the code exchange to a verified identity.

Why this answer

Requiring the client_secret during the token exchange authenticates the client to the authorization server, ensuring that only the legitimate registered client can redeem the authorization code. This is fundamentally an authentication control — it verifies the identity of the client application — which is why D is correct.

Exam trap

CSSLP often tests the confusion between authentication and confidentiality — candidates see a 'secret' and pick confidentiality, but the exam expects you to recognize that presenting a credential to prove client identity is authentication, not encryption.

How to eliminate wrong answers

Option A is wrong because availability concerns ensuring systems and data are accessible when needed; it is unrelated to verifying client identity during token exchange. Option B is wrong because non-repudiation provides proof of origin or action (e.g., digital signatures) so a party cannot deny sending a message; the client_secret does not provide non-repudiation. Option C is wrong because confidentiality protects data from unauthorized disclosure (e.g., via TLS encryption); while the secret is sensitive, its use here is to authenticate the client, not to keep the code confidential.

Option E is wrong because integrity ensures data has not been altered in transit (e.g., via HMAC or TLS); the client_secret does not verify message integrity.

21
Multi-Selecthard

In threat modeling, which THREE categories are explicitly defined by the STRIDE methodology?

Select 3 answers
A.Tampering
B.Repudiation
C.Encryption
D.Spoofing
E.Identification
AnswersA, B, D

Tampering is one of the six STRIDE categories, covering unauthorised modification of data or code in transit or at rest. It is explicitly defined by the methodology, so it correctly satisfies the stem's requirement to identify categories STRIDE names.

Why this answer

STRIDE is Microsoft's threat modeling mnemonic, and its six explicitly defined categories are Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, and Elevation of privilege. Option A (Tampering) is correct because STRIDE defines Tampering as the unauthorized modification of data or systems, such as altering a database record or a message in transit. Option B (Repudiation) is correct because STRIDE defines Repudiation as the ability of a user or system to deny having performed an action, which is countered by non-repudiation controls like digital signatures and audit logs.

Option D (Spoofing) is correct because STRIDE defines Spoofing as impersonating a user, process, or system to gain unauthorized access, typically mitigated by authentication. Option C (Encryption) is not a STRIDE category; encryption is a mitigation technique rather than a threat class. Option E (Identification) is not a STRIDE category either; identification is an authentication-related process, not one of the six threat types.

22
MCQmedium

A security auditor reviews your code and flags that you are using 'hardcoded cryptographic keys' in the source repository. Which security concept is being violated?

A.Availability
B.Confidentiality
C.Non-repudiation
D.Integrity
E.Accounting
AnswerB

Hardcoded keys sit in source control, readable by anyone with repository access, so the secret is no longer restricted to authorised parties. That exposure breaches confidentiality, the property ensuring information is disclosed only to those permitted to see it.

Why this answer

Hardcoded keys violate confidentiality because the keys are exposed to anyone with access to the source code.

23
MCQmedium

Your application uses digital signatures to confirm the sender of a message. Which security goal is primarily achieved?

A.Authorization
B.Encryption
C.Availability
D.Non-repudiation
E.Confidentiality
AnswerD

Digital signatures bind the sender's private key to the message, so the signer cannot later deny authorship; this provides non-repudiation, proving origin and integrity to a third party. Confidentiality and authentication alone do not prevent the sender disputing the message.

Why this answer

Digital signatures are the standard mechanism for proving authenticity and non-repudiation.

24
Multi-Selectmedium

Which TWO of the following are examples of how software can maintain 'Integrity'?

Select 2 answers
A.Encrypting data at rest using AES.
B.Ensuring the server is always online.
C.Using cryptographic hash functions (e.g., SHA-256) to verify file contents.
D.Implementing strong access control lists (ACLs) to prevent unauthorized writes.
E.Forcing users to change passwords regularly.
AnswersC, D

Cryptographic hash functions produce a fixed-length digest that changes if any byte of the file alters, so recomputing and comparing the digest detects unauthorised modification. This directly satisfies integrity, which requires data to remain accurate and unaltered, unlike confidentiality (encryption) or availability (redundancy).

Why this answer

Integrity means ensuring data is not altered in an unauthorized or undetected way, and option C supports this directly: cryptographic hash functions such as SHA-256 produce a fixed-length digest of file contents, so recomputing the hash and comparing it to a trusted value detects any modification to the data. Option D also supports integrity because strong access control lists (ACLs) restrict who may write to or modify a resource, preventing unauthorized changes at the source. By contrast, option A (AES encryption at rest) primarily provides confidentiality, option B (server always online) addresses availability, and option E (forcing regular password changes) is an authentication/credential-hygiene control, none of which by themselves guarantee that data remains unaltered.

25
Multi-Selecthard

When implementing a 'Zero Trust' architecture in software design, which THREE principles are fundamental?

Select 3 answers
A.Assume breach
B.Trust but verify
C.Use least privilege access
D.Trust all internal network traffic
E.Verify explicitly
AnswersA, C, E

Assume breach removes implicit trust in the internal network, so every request is treated as potentially hostile. Designers therefore segment, log and limit blast radius rather than relying on perimeter defence, which is the foundational mindset the Zero Trust model requires before verification and least privilege can operate.

Why this answer

In a Zero Trust architecture, 'Assume breach' (A) is fundamental because the model presumes no implicit safety and designs for containment, segmentation, and rapid detection/response as if an attacker is already inside. 'Use least privilege access' (C) is correct because every identity and workload should receive only the minimum permissions needed, enforced with just-in-time and just-enough-access controls to limit lateral movement. 'Verify explicitly' (E) is correct because every access request must be authenticated and authorized using all available signals—identity, device health, location, and behavior—before granting resource access. 'Trust but verify' (B) is not a Zero Trust principle; it reflects a perimeter-based mindset where trust is initially granted, which contradicts Zero Trust's 'never trust, always verify' stance. 'Trust all internal network traffic' (D) is the opposite of Zero Trust, since internal networks are treated as untrusted and traffic must be inspected and authorized regardless of origin.

Ready to test yourself?

Try a timed practice session using only Secure Software Concepts questions.