Principles For Secure & Reliable Systems
summary
Principles and concrete practices for resilient security emphasize separating state and logic, making services immutable and ephemeral (example: short container lifetimes — ~6 hours — force attackers to re-compromise repeatedly), and minimizing canonical state so you can assert truth. Use declare don't program approaches: parser and state-machine generators (parsers cause ~50% of non-memory bugs, state machines ~25%), prefer strong typing, kill bug classes not just mitigate, deploy Yubikey U2F for auth, run canaries and test backups, and structure teams to match desired architecture.
AI-written summary · about
chapters (15)
- 0:00Intro
- 0:52What is a system?
- 2:30Properties you care about
- 4:17What is security?
- 6:36What is resilience?
- 8:07State & logic
- 10:02Immutability & ephemerality
- 12:54Minimal, canonical state
- 15:29Unlinkability
- 17:43Code is not an asset
- 20:35Declare, don't program
- 25:22Design for failure
- 33:20Product security
- 37:33Quick tips for starting from zero
- 39:19Outro
related talks
52mPrinciples for Developing More Secure Systems
01h 17mSecure by Design - Security Principles for the Working Architect
48mSecurity today: change your habits and make it safer and efficient
52mSecure by Design, Revisited - Insights & Pitfalls
58mBuilding antifragile systems using Secure by Design
38mSecurity Styles
32mSoftware security as a force of nature
16mDesigning Holistic Security Programs
