What security engineering is
An introduction to security engineering as a discipline, and why it differs from safety and reliability engineering.
- Define security engineering and say what makes it different from ordinary software engineering.
- Distinguish a security failure from a safety failure and from a reliability failure.
- Explain why a system must be designed to withstand an adversary, not just an accident.
8 min readJump to the quiz ↓
Security engineering designs against an opponent, not chance
Most engineering designs against chance and wear: a bridge against wind and traffic, a server against random hardware failure. Security engineering designs against an opponent who studies the system, finds its weakest point and picks the moment of failure on purpose. A system that never breaks by accident can still be broken in seconds by someone who knows where to push.
Exam detail
Security engineering is building systems that remain dependable in the face of malice, error or mischance. All three matter: a system that resists malice but falls over on an honest mistake has not solved the problem.
A security failure is not a reliability failure
Compare
Security
Holds up against a deliberate, adaptive adversary who chooses when and how to attack.
Reliability
Holds up against chance: wear, random failure, unintentional misuse. No opponent is assumed.
Pitfall
Do not write “secure” when you mean “bug-free”, or “reliable” when you mean “secure”. The two failures can look identical in a bug report and have different causes: one chance, one intent.
Recall
Why can a system be reliable but not secure at the same time?
Reliability is resistance to chance and wear; security is resistance to a deliberate, adaptive adversary. A system can be built to never fail on its own and still fail at once against someone looking for the one input it was never tested against.
The weakest point decides, so shrink the attack surface
An attacker who finds one unvalidated input can bypass every control built on top of it. A system is only as strong as its weakest enforced point, not its average one.
Reducing the attack surface (fewer exposed interfaces, fewer trusted paths, least privilege by default) shrinks the set of places that weakest point can be. It does not remove the need for assurance on whatever remains.
Policy, mechanism and assurance
A security engineer treats every interface, input and trust boundary as a place an adversary might act, and describes the defence in three parts: policy (what is allowed), mechanism (what enforces the policy) and assurance (why anyone should believe the mechanism works). A control without assurance is a hope, not a defence.
Optional aside
“Engineering” is the operative word: security engineering borrows failure analysis from safety engineering and risk framing from economics, but neither discipline on its own accounts for an opponent who adapts to whatever defence is put in front of them.
Check yourself
Source
Week 1 slides PDF