// Comparison
Designing Secure Software vs Threat Modeling: Which Should You Read?
Two cybersecurity books on AppSec, compared honestly: who each is for, what each does best, and which to read first.
Loren Kohnfelder, the original PKI author, on how to weave security thinking through requirements, design, implementation and operations rather than bolt it on at the end.
Adam Shostack's practitioner-oriented introduction to threat modeling: STRIDE, attack trees, and how to fit the practice into a real software-development lifecycle.
Read this if
Skip this if
Key takeaways
- Secure-by-design is mostly avoided pitfalls; the book's enumeration of common-but-fatal mistakes is the cleanest mental checklist a designer can carry.
- Trust boundaries are the single most useful concept in secure design; the book teaches you to see them in any architecture.
- Most security debates inside engineering organizations resolve to a handful of repeated trade-offs (defense in depth vs. simplicity, blocking vs. logging, fail-open vs. fail-closed); the book names them and provides the language for the conversation.
- STRIDE is a forcing function for systematic thinking, not a complete model; the book teaches you when to use it and when to switch frames (attack trees, attacker personas, kill chains).
- Most "threat modeling tools" are spreadsheet-with-diagrams; the actual lift is the conversation those tools structure, not the document.
- Threat modeling fits inside agile and works at PR-review timescale once you've done it three or four times; the book makes the case repeatedly with examples.
How they compare
Designing Secure Software and Threat Modeling are both rated 5/5 in our catalog. Pick by topic preference and reading style rather than by rating.
Both books target intermediate-level readers, so the choice is about topic, not difficulty.
Designing Secure Software and Threat Modeling both cover AppSec, Defensive, Threat Modeling, so reading them in sequence reinforces the same material from different angles.
Keep reading
Designing Secure Software
→ Alternatives to Designing Secure Software→ What to read after Designing Secure Software