// Comparison

Designing Secure Software vs Practical Linux Forensics: Which Should You Read?

Two cybersecurity books on Defensive, compared honestly: who each is for, what each does best, and which to read first.

Intermediate
5/52021
Designing Secure Software

A Guide for Developers

Loren Kohnfelder

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.

Intermediate
4/52021
Practical Linux Forensics

A Guide for Digital Investigators

Bruce Nikkel

Bruce Nikkel's reference for forensic analysts working post-mortem on Linux images: filesystems, journaling, logs, persistence locations, and the chain of custody discipline around them.

Read this if

Senior developers and architects who already write code well and now want to design systems that don't ship CVEs. Kohnfelder is the author who literally wrote the X.509 paper; the book is a career's worth of design wisdom in 312 pages.
Incident responders and forensic analysts working modern Linux systems. Nikkel covers ext4 / XFS / Btrfs internals, systemd journaling, persistence locations, and the chain-of-custody discipline that distinguishes evidence from notes. The post-systemd reference the field needed.

Skip this if

Beginners or readers wanting hands-on tooling. The book is design-level: principles, patterns, and case studies. Pair with implementation-level books for the line-of-code view.
Windows-only forensic analysts, or beginners without IR experience. The book assumes filesystem fluency and command-line forensics comfort.

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.
  • Modern Linux forensics is not just "parse syslog"; systemd, journald, and the move to overlay-based containers each created new artifact classes.
  • The book's chapter on persistence enumeration is the cleanest in print; cron, systemd timers, init.d, profile files, all named.
  • Most cloud workloads are Linux, which means most cloud-incident forensics is Linux forensics; the book is the right starting reference.

How they compare

We rate Designing Secure Software higher (5/5 against 4/5 for Practical Linux Forensics). For most readers, that means Designing Secure Software is the primary pick and Practical Linux Forensics is a useful follow-up.

Both books target intermediate-level readers, so the choice is about topic, not difficulty.

Designing Secure Software and Practical Linux Forensics both cover Defensive, so reading them in sequence reinforces the same material from different angles.

Keep reading

Related topics