Secure App 4
Here is your complete Teaching Note, Quiz, and Answer Key for Section 4: Architectural and High-Level Design Security Considerations from the Fundamentals of Secure Application Development course.
🧑🏫 Teaching Note – Section 4: Architectural and High-Level Design Security
🎯 Learning Objectives
By the end of this section, students should be able to:
- Understand how security risks manifest at the architectural level.
- Apply STRIDE and Attack Surface analysis to system architecture.
- Use trust boundaries in architectural diagrams to uncover risks.
- Recognize the importance of architectural security risk analysis and design requirements.
🧭 Lesson Plan Outline (60 minutes)
1. Set the Stage (5 min)
- Quote: “Some of the biggest security mistakes are baked into the architecture.”
- Explain the goal: proactively mitigate risk during high-level design.
2. STRIDE Model Overview (10 min)
Introduce Microsoft's STRIDE framework:
- Spoofing
- Tampering
- Repudiation
- Information Disclosure
- Denial of Service
- Elevation of Privilege
📌 Use a common example (e.g., login system) and map STRIDE threats.
3. Attack Surface & Attack Vectors (10 min)
- Attack Surface = All ways an attacker can interact with the system.
- Attack Vectors = Individual points of attack (e.g., open port, API call).
- Discuss how to reduce the surface or protect critical vectors.
4. Trust Boundaries on Architecture Diagrams (10 min)
- Show how to draw trust boundaries in system diagrams.
- Emphasize why external components and user-controlled inputs are untrusted.
5. Threat Modeling & Attack Trees (10 min)
Explain the confusion around the term "Threat Modeling."
- Microsoft = Security Risk Analysis.
- Others = Attack Tree construction.
🧠 Quick visual example of an attack tree (e.g., virus injection).
6. Design Requirements from Risk Analysis (10 min)
- Explain how architectural analysis leads to actionable design requirements.
- Emphasize: “Sometimes ‘what to do’ must also include ‘how to do it’ securely.”
📝 Quiz – Section 4: Architectural and High-Level Design Security
🧠 Multiple Choice
What is the main goal of Architectural Risk Analysis?
A. Reduce time-to-market
B. Ensure compliance with data formats
C. Identify and mitigate high-level security risks early
D. Improve UI/UX consistency
STRIDE is a model for:
A. Access control
B. Common architecture types
C. Security threat categories
D. Secure password generation
An Attack Surface refers to:
A. Number of APIs a system exposes
B. Totality of ways a system can be attacked
C. Number of servers in a data center
D. Firewall rules and logs
What should be added to an architecture diagram to highlight trust transitions?
A. API documentation
B. Performance metrics
C. Trust boundaries
D. Data schemas
An example of Elevation of Privilege is:
A. A user guessing another’s password
B. A hacker reading public data
C. A guest user gaining admin access
D. A missing CAPTCHA field
✅ True/False
- ___ Trust boundaries help identify areas where untrusted data enters the system.
- ___ An architecture diagram is not useful for finding security issues.
- ___ Every open port is part of your system's attack surface.
- ___ STRIDE is a checklist of performance bottlenecks.
- ___ Some design requirements specify how—not just what—to implement.
✏️ Short Answer
- Name three types of attack vectors.
- What is the purpose of drawing trust boundaries in a system diagram?
- Briefly explain what an attack tree shows.
- What is the benefit of identifying risks early at the architectural stage?
- Give an example of a security-related design requirement.
✅ Answer Key – Section 4 Quiz
Multiple Choice
- C
- C
- B
- C
- C
True/False
- True
- False
- True
- False
- True
Short Answer – Sample Responses
11.
- Open ports and sockets
- Exposed APIs
- Weak file system permissions
12.
To highlight where data crosses from untrusted to trusted zones so additional security checks can be added there.
13.
An attack tree breaks down how a specific attack can be carried out through multiple possible paths or steps.
14.
Because changes made during architecture are less expensive and more impactful than fixing issues later in development.
15.
Example: “All user credentials must be hashed with SHA-256 and salted before storing in the database.”