
152 Software Design Considerations for Security and Resilience
Deny attackers the
means to compro-
mise
Simplify the
design
This practice minimizes the
number of attacker-exploit-
able vulnerabilities and
weaknesses in the system.
Hold all actors
accountable
This practice ensures that
all attacker actions are
observed and recorded,
contributing to the ability
to recognize and isolate/
block the source of attack
patterns.
Timing, synchro-
nization, and
sequencing
should be simpli-
fied to avoid
issues
Modeling and document-
ing timing, synchroniza-
tion, and sequencing issues
will reduce the likelihood
of race conditions, order
dependencies, synchroni-