- 1. Foreword
- Part I: Foundations
- 2. Chapter 1 - Why Rust for Secure Systems
- 3. Chapter 2 - Setting Up Your Environment
- 4. Chapter 3 - Ownership, Borrowing, and Lifetimes
- 5. Chapter 4 - Type System and Pattern Matching
- Part II: Secure by Design
- 6. Chapter 5 - Error Handling Without Exceptions
- 7. Chapter 6 - Fearless Concurrency
- 8. Chapter 7 - Input Validation and Data Sanitization
- 9. Chapter 8 - Cryptography and Secrets Management
- Part III: Systems Programming
- 10. Chapter 9 - Unsafe Rust: When and How
- 11. Chapter 10 - Foreign Function Interface
- 12. Chapter 11 - Memory Layout and Low-Level Control
- 13. Chapter 12 - Secure Network Programming
- Part IV: Assurance and Verification
- 14. Chapter 13 - Testing Strategies for Secure Code
- 15. Chapter 14 - Fuzzing and Property-Based Testing
- 16. Chapter 15 - Static Analysis and Auditing
- 17. Chapter 16 - Supply Chain Security
- Part V: Practical Secure Systems
- 18. Chapter 17 - Building a Hardened TCP Server
- 19. Chapter 18 - Secure Parser Construction
- 20. Chapter 19 - Deployment Hardening and Release