Secure Software Design (D487)
Access The Exact Questions for Secure Software Design (D487)
💯 100% Pass Rate guaranteed
🗓️ Unlock for 1 Month
Rated 4.8/5 from over 1000+ reviews
- Unlimited Exact Practice Test Questions
- Trusted By 200 Million Students and Professors
What’s Included:
- Unlock Actual Exam Questions and Answers for Secure Software Design (D487) on monthly basis
- Well-structured questions covering all topics, accompanied by organized images.
- Learn from mistakes with detailed answer explanations.
- Easy To understand explanations for all students.
Free Secure Software Design (D487) Questions
After every other security analysis technique has been used, what kind of security analysis involves going over the source code line by line?
-
Static analysis
-
Fuzz testing
-
Manual code review
-
Dynamic analysis
Explanation
Correct Answer:
c) Manual code review
Explanation:
Manual code review involves security experts reviewing the source code line-by-line to identify potential vulnerabilities. It is usually performed after other automated security analysis techniques have been completed to ensure thorough inspection. This process is essential for finding logic errors, security flaws, and issues that automated tools may miss.
Which concept is demonstrated when every module in a particular abstraction layer of a computing environment can only access the information and resources that are necessary for its legitimate purpose
-
Principle of least privilege
-
Privacy
-
Elevation of privilege
-
Confidentiality
Explanation
Correct Answer:
a) Principle of least privilege
Explanation:
The principle of least privilege states that a module, user, or process should only have the minimum access necessary to perform its function. This limits exposure to unnecessary risks by restricting access to only the resources required for legitimate purposes.
Why other options are wrong:
b) Privacy refers to the protection of personal data and ensuring that it is not disclosed to unauthorized parties, which is not the focus here.
c) Elevation of privilege involves a user or process gaining more access than they are entitled to, which is the opposite of what is being described in the question.
d) Confidentiality refers to ensuring that sensitive information is only accessible to authorized parties, but it doesn't specifically address limiting access to only necessary resources within an abstraction layer.
Which mitigation technique is used to fight against an identity spoofing threat
-
Audit trails
-
Require user authorization
-
Filtering
-
Encryption
Explanation
Correct Answer:
b) Require user authorization
Explanation:
Requiring user authorization is a key mitigation technique to prevent identity spoofing. By enforcing authentication mechanisms (e.g., multi-factor authentication, password verification), systems can verify the identity of the user, ensuring that the actions or requests are coming from the rightful individual, thus reducing the risk of identity spoofing.
Why other options are wrong:
a) Audit trails: Audit trails help track and log actions within a system, but they do not directly prevent identity spoofing. They are useful for detecting suspicious activities after the fact, but they don't mitigate the risk in real-time.
c) Filtering: While filtering can block certain malicious traffic or behavior, it is not specifically focused on preventing identity spoofing, which relies on verifying a user's identity.
d) Encryption: Encryption secures data in transit or at rest, but it does not directly address the problem of spoofed identities. Encryption helps protect the confidentiality and integrity of the data but does not authenticate the identity of the user.
What are the eight phases of the software development lifecycle (SDLC)
-
Gather requirements, prototype, perform threat modeling, write code, test, user acceptance testing, deploy, maintain
-
Planning, requirements, design, implementation, testing, deployment, maintenance, end of life
-
Plan, gather requirements, identify attack surface, design, write code, perform code reviews, test, deploy
-
Planning, security analysis, requirement analysis, design, implementation, threat mitigation, testing, maintenance
Explanation
Correct Answer:
b) Planning, requirements, design, implementation, testing, deployment, maintenance, end of life
Explanation:
The SDLC typically includes these eight phases: planning (initializing the project), gathering and analyzing requirements, designing the system, implementing or coding the system, testing the system, deploying the system, maintaining it, and eventually handling its end of life when it is retired or replaced.
Why other options are wrong:
a) The phases listed are not in the standard order for SDLC, and some (like "prototype" and "perform threat modeling") are more specific to particular types of SDLC approaches.
c) The phases here focus too much on security (e.g., "identify attack surface," "perform code reviews"), which is an important aspect but not part of every SDLC model.
d) This option includes terms like "security analysis" and "threat mitigation" that are more specific to secure development practices, not general SDLC.
Which security assessment deliverable defines measures that will be periodically reported to management
-
Metrics template
-
Product risk profile
-
SDL project outline
-
Threat profile
Explanation
Correct Answer:
a) Metrics template
Explanation:
A metrics template defines the specific measures, key performance indicators (KPIs), and metrics that will be periodically reported to management. This deliverable ensures that the progress and effectiveness of security initiatives are tracked and communicated over time.
Why other options are wrong:
b) Product risk profile: This provides a snapshot of risks associated with a specific product, but it doesn't typically outline periodic reporting measures for management.
c) SDL project outline: This outlines the stages of the Secure Development Lifecycle (SDL), but it doesn't specifically define periodic measures for management.
d) Threat profile: This assesses and categorizes threats, but doesn't define reporting measures for management.
Which category classifies identified threats that have some defenses in place and exposes the application to limited exploits
-
Unmitigated threats
-
Fully mitigated threat
-
Threat profile
-
Partially mitigated threat
Explanation
Correct Answer:
d) Partially mitigated threat
Explanation:
A partially mitigated threat has some defenses in place, but these defenses do not completely eliminate the risk. This leaves the application exposed to limited exploits, though not fully vulnerable.
Why other options are wrong:
a) Unmitigated threats: These threats have no defenses in place, leaving the application fully exposed to exploitation.
b) Fully mitigated threat: This refers to threats that are fully defended against, eliminating the possibility of exploitation.
c) Threat profile: This term refers to a broader categorization of threats and does not directly describe the status of mitigations or exposure.
Which secure software design principle assumes attackers have the source code and specification of the product
-
Open design
-
Total mediation
-
Psychological acceptability
-
Separation of privileges
Explanation
Correct Answer:
a) Open design
Explanation:
The principle of open design assumes that attackers may have access to the source code and specifications of a product. This means that security is built on the design itself, rather than on keeping the design or implementation secret. The security should still be robust even if the attackers have detailed knowledge of the system.
Why other options are wrong:
b) Total mediation: This principle suggests that every access to a resource must be checked and authorized, but it doesn't focus on the assumption that attackers have access to the source code.
c) Psychological acceptability: This refers to making security mechanisms easy for users to understand and use, but it does not directly involve the assumption that attackers have access to the source code.
d) Separation of privileges: This principle involves dividing tasks or privileges to minimize risk, but it doesn't assume attackers have access to the source code.
Which secure software design principle states that it is always safer to require agreement of more than one entity to make changes
-
Psychological acceptability
-
Separation of privileges
-
Total mediation
-
Least privilege
Explanation
Correct Answer:
b) Separation of privileges
Explanation:
The principle of separation of privileges states that it is safer to require the approval or action of more than one entity before making changes, particularly when sensitive operations are involved. This is a security measure to ensure that no single individual or component has too much control or can make changes without oversight.
Why other options are wrong:
a) Psychological acceptability: This principle is about designing security measures that are user-friendly and understandable. It does not involve requiring agreement from multiple entities to make changes.
c) Total mediation: This principle ensures that every access to resources is checked and validated, but it does not focus on requiring multiple entities for decision-making or changes.
d) Least privilege: This principle grants users only the permissions necessary for their tasks, but it does not imply that multiple entities must agree to make changes.
Which secure coding best practice says to use a single application-level authorization component that will lock down the application if it cannot
-
Session management
-
Data protection
-
Access control
-
Communication security
Explanation
Correct Answer:
c) Access control
Explanation:
Access control involves implementing a centralized authorization mechanism that restricts access to resources based on user roles and permissions. If the application cannot authenticate or authorize a user properly, access should be locked down to prevent unauthorized access.
Why other options are wrong:
a) Session management: Session management ensures that user sessions are securely created, maintained, and terminated but does not specifically address the application-level authorization process.
b) Data protection: Data protection focuses on safeguarding sensitive data, such as encryption or ensuring data confidentiality, integrity, and availability, rather than access control or authorization.
d) Communication security: Communication security ensures that data transmitted between systems is protected (e.g., through encryption), but it doesn't involve locking down the application based on authorization failures.
Which secure coding practice uses role-based authentication where department-specific credentials will authorize department-specific functionality
-
Data protection
-
Access control
-
Input validation
-
Authentication
Explanation
Correct Answer:
b) Access control
Explanation:
Access control refers to the practice of restricting system access to authorized users based on roles, ensuring that users can only access the information and functionality specific to their role or department. Role-based access control (RBAC) is an example, where department-specific credentials are used to authorize access to department-specific functionality.
Why other options are wrong:
a) Data protection: Data protection focuses on safeguarding sensitive information from unauthorized access, but it does not specifically address role-based access.
c) Input validation: Input validation ensures that input data is sanitized and checked for correctness before processing, but it doesn't control access based on user roles.
d) Authentication: Authentication verifies the identity of a user, but it is part of the broader access control process. Access control includes authorization, which determines what a user can do once authenticated.
How to Order
Select Your Exam
Click on your desired exam to open its dedicated page with resources like practice questions, flashcards, and study guides.Choose what to focus on, Your selected exam is saved for quick access Once you log in.
Subscribe
Hit the Subscribe button on the platform. With your subscription, you will enjoy unlimited access to all practice questions and resources for a full 1-month period. After the month has elapsed, you can choose to resubscribe to continue benefiting from our comprehensive exam preparation tools and resources.
Pay and unlock the practice Questions
Once your payment is processed, you’ll immediately unlock access to all practice questions tailored to your selected exam for 1 month .
Frequently Asked Question
The course focuses on secure coding principles, software vulnerabilities, authentication mechanisms, cryptography, and best practices for designing secure applications.
Secure software design helps prevent cyber threats such as SQL Injection, Cross-Site Scripting (XSS), authentication bypasses, and data breaches, ensuring application security and compliance with industry standards.
The course covers vulnerabilities like SQL Injection, XSS, Cross-Site Request Forgery (CSRF), insecure authentication, weak cryptography, and improper error handling.
Using prepared statements and parameterized queries is the most effective method to prevent SQL Injection, as it ensures user input is treated strictly as data, not executable code.
XSS occurs when an attacker injects malicious scripts into web pages viewed by users. It can be prevented by sanitizing and encoding user input, using a Content Security Policy (CSP), and avoiding innerHTML in JavaScript.
MFA requires users to verify their identity using multiple factors (e.g., password + one-time code). It significantly enhances security by preventing unauthorized access, even if a password is compromised.
Authentication verifies a user’s identity (e.g., username and password). Authorization determines what actions or data a user is allowed to access after authentication.