Security › Module 4 › Lesson 2
DFD Basics
Trust boundaries literacy names security zones, crossing points, authentication requirements, and data flow controls — draw boundary row on YOUR $ARCH_LAB before DFD literacy.
Visual · t41_trust_boundaries
Trust boundaries literacy. $ARCH_LAB only. Original Cyberlium.
Opening
Data crosses zones at boundaries — literacy teaches trust boundary vocabulary so fictional org diagrams on $ARCH_LAB show where controls must sit.
A trust boundary separates components with different trust levels — internet to DMZ, DMZ to internal app tier, app to database. Every crossing needs documented controls: authentication, encryption, validation, logging. On Cyberlium you mark boundaries on fictional LAB-ARCH-001 diagrams under $ARCH_LAB — never import employer production network maps without authorization. Cyberlium writes trust boundary row on YOUR $ARCH_LAB — zone A, zone B, crossing control, data type placeholder for one fictional flow. Next: DFD Literacy.
1. Trust boundary components (named)
Zones: untrusted internet, semi-trusted DMZ, trusted internal, restricted data store on YOUR fictional org. Crossings: API gateway, VPN, service mesh mTLS. Controls: authN, authZ, TLS, input validation, audit log at each boundary.
On $ARCH_LAB, write boundary row — zone pair, crossing point, control list, placeholder data class.
Command guide
Try these commands — Trust boundary components (named)
═══ TOOLS & WEBSITES ═══ Browse / read these (authorized learning only — stay in YOUR lab / program scope)
OWASP Threat Modeling — https://cheatsheetseries.owasp.org/cheatsheets/Threat_Modeling_Cheat_Sheet.html Microsoft STRIDE — https://learn.microsoft.com/en-us/azure/security/develop/threat-modeling-tool NIST 800-154 — https://csrc.nist.gov/publications/detail/sp/800-154/draft
═══ INSTALL ═══
Linux (Debian/Ubuntu):
Command — copy this
sudo apt install python3
macOS:
Command — copy this
brew install python3
Windows: Download https://python.org/downloads/
═══ LINUX / macOS ═══
Command — copy this
export ARCH_LAB=${ARCH_LAB:-$HOME/cyberlium-lab/t41-arch}
cat > "$ARCH_LAB/notes/stride-process.md" <<'EOF'
# STRIDE Process — LAB-ARCH-001 literacy
## Steps (defensive)
1. Diagram system: actors, processes, data stores, external entities
2. Mark trust boundaries on diagram
3. For each element crossing a boundary: apply STRIDE categories
4. Rate likelihood/impact (qualitative) — fictional scores OK in lab
5. Select mitigations: control references from ASVS/NIST literacy
6. Track open items in review checklist — not exploit instructions
## LAB-ARCH-001 scope
- Focus: customer portal → API gateway → order service → DB (fictional)
- Output: stride/worksheet-*.md files — LAB SAMPLE
EOFCommand — copy this
grep -E 'trust boundaries|mitigations|LAB SAMPLE' "$ARCH_LAB/notes/stride-process.md"
python3 -c "print('STRIDE process: diagram → categorize → mitigate — defensive only')"Primary tools to practice this lesson: grep, python3. Reference sites: OWASP Threat Modeling (https://cheatsheetseries.owasp.org/cheatsheets/Threat_Modeling_Cheat_Sheet.html); Microsoft STRIDE (https://learn.microsoft.com/en-us/azure/security/develop/threat-modeling-tool); NIST 800-154 (https://csrc.nist.gov/publications/detail/sp/800-154/draft). Run every command in the box — install first, then the usage lines — only on YOUR lab / program scope.
2. Why boundaries drive control placement
STRIDE threats concentrate at crossings — undocumented boundaries hide missing controls. Shared boundary vocabulary aligns architects and engineers on the same diagram legend. Version-controlled boundary notes survive design review on lab templates.
Students mark lab boundaries on notes — production diagrams follow enterprise architecture standards.
3. Lab boundary
Forbidden: using boundary notes to map real employer VLANs without scope. Allowed: trust boundary card — zone pair with $ARCH_LAB fictional systems.
Ship: trust boundary row for YOUR lab diagram. Next: DFD Literacy.
4. What you ship: trust boundary row for $ARCH_LAB
Zone pair, crossing control, placeholder data. $ARCH_LAB named. chmod 600.
5. What you record before the next lesson
Date. Trust boundary row. $ARCH_LAB named. File t41-m04-l02-trust-boundaries.txt chmod 600.
6. Wrong vs right: offensive playbooks vs YOUR threat models
Worked failure — same MSF word, opposite target. Right never needs a café Wi-Fi or classmate laptop.
Wrong
Draw one box labeled 'internal' with no crossings marked. Import employer VLAN diagram as lab boundary.
Right
Write trust boundary row for YOUR $ARCH_LAB fictional diagram. Next: DFD Literacy.
Mission: document trust boundary on YOUR lab
1) Name two zones on LAB-ARCH-001. 2) Mark crossing point and controls. 3) Label placeholder data class. 4) chmod 600.
Stuck? Ask Cyberlium AI Mentor
Every zone crossing needs named controls — silent crossings fail STRIDE review.
Knowledge Check
APPLY: Trust boundaries on Cyberlium primarily:
Multiple choice
Knowledge Check
APPLY: True or False: Controls should be documented at each trust boundary crossing.
True or False
Knowledge Check
APPLY: Trust boundary literacy on Cyberlium uses:
Multiple choice