As an instructor teaching cybersecurity to college students, this module on Security Architecture & Threat Models focuses on the foundational principles of designing secure systems. Secure systems don't happen by accident; they require deliberate planning, documentation, and the application of established frameworks to identify, mitigate, and respond to threats. By the end of this module, students will be able to:
This module builds on basic cybersecurity concepts (e.g., CIA triad: Confidentiality, Integrity, Availability) and assumes familiarity with networking and system design. Emphasize real-world examples, such as how these principles were applied (or failed) in incidents like the SolarWinds supply chain attack or the Equifax data breach.
Estimated Time: 4-6 hours of lecture/discussion, plus hands-on labs (e.g., threat modeling a simple web application).
Prerequisites: Introduction to Cybersecurity, Networking Fundamentals.
Assessment Ideas:
Security architecture refers to the high-level design of a system's security controls, ensuring they align with business goals while protecting against threats. It's like building a fortress: you plan walls, moats, and guards in advance.
Layered Architectures (Defense-in-Depth): This approach involves stacking multiple security controls so that if one fails, others provide protection. Layers might include physical security, network perimeter defenses, host-based protections, application security, and data encryption. The goal is redundancy and diversity to complicate attacks.
Micro-Segmentation: A technique to divide a network into small, isolated segments (e.g., using software-defined networking like NSX or AWS Security Groups). Each segment has its own access controls, preventing lateral movement by attackers.
Trust Boundaries: These are logical or physical points where the level of trust changes, such as between a public internet-facing server and an internal database. At these boundaries, you enforce strict controls like authentication and validation.
Resilience Planning: Designing systems to withstand, recover from, and adapt to disruptions. This includes redundancy (e.g., failover servers), backups, incident response plans, and chaos engineering (intentionally introducing failures to test resilience).
Threat modeling is the process of identifying potential threats, vulnerabilities, and countermeasures early in the design phase. It's proactive, not reactive.
STRIDE Model: Developed by Microsoft, this acronym helps categorize threats:
DREAD Model: A risk assessment framework to prioritize threats identified via STRIDE or similar:
MITRE ATT&CK Framework: A knowledge base of adversary tactics, techniques, and procedures (TTPs) based on real-world observations. It's matrix-based, covering enterprise, mobile, cloud, and ICS environments.
Documentation is the "blueprint" that communicates your design to stakeholders, developers, and auditors. It should be living documents, updated with system changes.
Key Elements to Include:
Tools for Documentation: Draw.io for diagrams, Microsoft Threat Modeling Tool, or OWASP Threat Dragon (free/open-source).
Best Practices: Use version control (e.g., Git), make it accessible yet secure, and review annually.
Term to Explain: Residual Risk – The risk that remains after applying controls; aim to reduce it to an acceptable level.
To enhance understanding, include these diagrams in lectures. Students can recreate them in tools like Mermaid Live (mermaid.live) for practice.
This flowchart shows a typical layered design for a web application.
graph TD
A[External User] -->|Internet| B[Perimeter Layer: Firewall/WAF]
B --> C[Network Layer: VPC/Micro-Segmentation]
C --> D[Host Layer: OS Hardening/IDS]
D --> E[Application Layer: Input Validation/Auth]
E --> F[Data Layer: Encryption/Access Controls]
subgraph "Trust Boundaries"
B -.-> C
C -.-> D
D -.-> E
E -.-> F
end
style A fill:#f9f,stroke:#333
style F fill:#bbf,stroke:#333
Explanation in Class: Arrows represent data flow; dashed lines are trust boundaries where inspections occur. Discuss how an attack on B might be stopped at C.
A sequence diagram for applying STRIDE.
sequenceDiagram
participant Designer
participant System
participant ThreatModel
Designer->>System: Draw DFD
System->>ThreatModel: Identify Elements (Processes, Data Stores)
loop For Each Element
ThreatModel->>ThreatModel: Apply STRIDE Categories
ThreatModel->>Designer: List Threats (e.g., Spoofing on Auth Process)
end
Designer->>ThreatModel: Prioritize with DREAD
ThreatModel->>Designer: Recommend Mitigations
Explanation in Class: This shows the iterative process. Assign students to model a simple app (e.g., login system) following these steps.
A simplified graph of tactics and techniques.
graph LR
A[Initial Access] --> B[Phishing]
A --> C[Exploit Public-Facing App]
D[Execution] --> E[Command and Scripting Interpreter]
D --> F[User Execution]
G[Persistence] --> H[Boot or Logon Autostart]
subgraph "MITRE ATT&CK Tactics"
A
D
G
end
style A fill:#ffcc00,stroke:#333
style D fill:#ffcc00,stroke:#333
style G fill:#ffcc00,stroke:#333
Explanation in Class: The full matrix has 14 tactics; this is a subset. Use the official MITRE site for interactive exploration. Discuss mapping a recent breach (e.g., Log4j vulnerability under Execution).
Encourage students to stay updated via sources like Krebs on Security or CVE databases, as threats evolve rapidly (e.g., AI-driven attacks in 2025). End with a Q&A to clarify terms like those highlighted.