ABSTRACT

Modern systems are an intertwined mesh of human process, physical security, and technology. Attackers are aware of this, commonly leveraging a weakness in one form of security to gain control over an otherwise protected operation. To expose these weaknesses, we need a single unified model that can be used to describe all aspects of the system on equal terms.

Designing Secure Systems takes a theory-based approach to concepts underlying all forms of systems – from padlocks, to phishing, to enterprise software architecture. We discuss how weakness in one part of a system creates vulnerability in another, all the while applying standards and frameworks used in the cybersecurity world. Our goal: to analyze the security of the entire system – including people, processes, and technology – using a single model.

We begin by describing the core concepts of access, authorization, authentication, and exploitation. We then break authorization down into five interrelated components and describe how these aspects apply to physical, human process, and cybersecurity. Lastly, we discuss how to operate a secure system based on the NIST Cybersecurity Framework (CSF) concepts of "identify, protect, detect, respond, and recover."

Other topics covered in this book include the NIST National Vulnerability Database (NVD), MITRE Common Vulnerability Scoring System (CVSS), Microsoft’s Security Development Lifecycle (SDL), and the MITRE ATT&CK Framework.

chapter 1|6 pages

Introduction

part 1|66 pages

Secure System Concepts

chapter 2|7 pages

Access

chapter 3|10 pages

Authorization

chapter 4|26 pages

Authentication

chapter 5|7 pages

Weakness, Vulnerability, and Exploitation

chapter 6|12 pages

Impact

part 2|125 pages

Designing and Operating a Secure System

chapter 7|8 pages

Identify

chapter 8|42 pages

Protect

chapter 9|15 pages

Detect

chapter 10|32 pages

Respond

chapter 11|23 pages

Recover

chapter 12|1 pages

Closing