Published on

COMP2700 - Week 2 - Security Principles

Table of Contents

Hard and fast rules for security engineering do not exist.

Principles

I. Simplicity

Keep it simple

  • Simple systems are less likely to contain flaws/bugs and are easier to analyse and verify.
    • Easier to establish trustworthiness

II. Open Design

The security of a system should not depend on the secrecy of its protection mechanisms

  • I.e. should be secure even if all aspects (except the keys) are public knowledge

  • Secrets are hard to protect -> Minimise

III. Compartmentalisation

Resources should be organised into isolated groups of similar needs

  • Simplification and less duplication of resources

  • Isolated attacks

IV. Minimum Exposure

Minimise attack surface a system presents to the adversary

  • Minimise external interfaces to a minimum

  • Limit accessible information + window of opportunities

V. Least Privilege

Any component (and user) should operate using the least set of privileges to complete its job

  • Need-to-know basis

VI. Minimum Trust and Maximum Trustworthiness

Least amount of trust, maximum trustworthiness

  • Trust should be avoided whenever possible

  • Trust is transitive

Trusted vs Trustworthy System

  • A failure in a trusted system can break security policy

  • A trustworthy system is unlikely to fail

  • A trusted system is not necessarily trustworthy

VII. Secure, Fail-safe Defaults

Secure start and return in event of failure

  • Whitelist approach should be taken

VIII. Complete Mediation

Object access must be monitored and controlled

  • All object states must be controlled and monitored

IX. No Single Point of Failure

Build redundant security mechanisms whenever possible

  • 'Defence in depth'

  • Redundancy degree determined on basis of a cost-benefit analysis

X. Traceability

Log security-relevant system events

  • Logs must be backed up and integrity assured

XI. Generating Secrets

Maximise entropy of secrets

  • Helps prevent brute-force, dictionary or guessing attacks

XII. Usability

Design usable security mechanisms

  • Easy to use security mechanisms

So Oranges Can Melt Like My Ttrue Scented Candles Not Through Green Urine