Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

73
Computer Security Foundations and Principles Nicolas T. Courtois - University College of London

Transcript of Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

Page 1: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

Computer Security Foundations and Principles

Nicolas T. Courtois - University College of

London

Page 2: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

Reading

Nicolas T. Courtois, January 20092

Home reading

• History of Computer Security: beginning of the book, we cover it not here but in part 03.

• Least Privilege: page 200.• Chapter 3: C.I.A., another take on principles of CompSec• Sections 2.3.1 – 2.3.4

– Assets – Threats – Vulnerabilities - Attack Trees

Security Gurus:

• Bruce Schneier blog

• Ross Anderson’s book

Page 3: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 20093

A Sort of Disclaimer“Philosophy” things… apply at many places

I don’t intend to ask you abstract “philosophy” questions at the exam,

rather more concrete technical questions:

• beware of vague statements and excessive generalizations…

• what do the principles / methodology / ideas actually do in practice…

• be specific and factual

Page 4: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 20094

Computer Industry and Security

Social-Econ Background:

Science background:

Tech Background: “Industry Standards” such as:

• Intel CPU and Chipset,

• RAM and hard drives,

• C language,

• UNIX / Windows

• TCP/IP,

• HTTP,

• TLS,

Page 5: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 20095

Computer Industry and Security

Social-Econ Background:

Science background:

•What technology “enablers”(computers) and “disablers” (cryptology,HWSec) can/cannot achieve?

•How to define / classify security problems and find “good” solutions

“Industry Standards”

Page 6: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 20096

What is Security?

Page 7: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 20097

Definition 1 [Courtois]

Security: protect the value(s).

What value(s) ?ALL !

Page 8: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 20098

Security: protect the value(s).What value(s) ?•Money•Life and the quality of life.•Privacy•Good technology vs. bad one•Freedom, Justice, etc…

Page 9: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 20099

Security: Definition 2. Common Criteria [ISO15408] :

Protecting Assets from Threats

asset holder

Page 10: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200910

Security Safety

Difference: protect against intentional damages...

Notion of an Attacker / Adversary. Notion of an Attack.

Page 11: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200911

AttackerAttacker = Adversary = Threat

Agent

Page 12: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200912

Main Goals:

• Confidentiality

• Integrity

• AuthenticityAvailability

Accountability

Page 13: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200913

Security Science

1.2.3.

Page 14: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200914

Claim [Courtois, Schneier]:

Computer Security and real-world security are governed by the same laws !!!

Page 15: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200915

The Security ? 3-point Formal Approach

What is Security ? Inability to achieve:1. Security against what: Adversarial Goal.

2. Against whom: resources of the Adversary: money, human resources, computing power, memory, risk, expertise, etc..

3. Access to the system.

Page 16: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200916

1. Adversarial Goals

• Enjoyment, fame, ego, role models• Develop science and offensive

technology:• $$$ profits and other benefits

Page 17: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200917

2. a. Who Are the Attackers• bored teenagers, • petty => organized criminals,• rogue states, • industrial espionage, • disgruntled employees, …

• pure legitimate use• Inadvertent events, bugs, errors,• ourselves (forgot the d… password!),• our family / friends / co-workers,

Page 18: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200918

2. b. Their Means

• computers (MIPS) / other hardware (antennas, liquid Nitrogen, etc…)

• knowledge / expertise• risk/exposure capacity

Page 19: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200919

3. Access to a Computer

• Remote location, not connected to Internet

• Remote location, somewhat connected…

• Physical proximity… • Access to USB ports.• Access (alone) for a few seconds…• Take it home and hack it…

Page 20: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200920

*3. Access

Internet +wireless communications made things worse…

Page 21: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200921

Is My PC Infected?

• Many PCs are

Page 22: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200922

Why Things Happen?Bugs… or don’t care.• Programming developed with absence of security.

• C/C++ is unsafe (Microsoft is currently blacklisting big chunks of standard C, could have happened 10 years ago).

• Security/cryptography research developed with obsession with security. Both never met.

• Mystified:– security issues are probably always exaggerated and

distorted, one way or another (downplayed OR exaggerated, Ross Anderson: “hypertrophy” of security)

• Economics/Business: – many things just don’t matter!– customers do not see => do not care about security– usability: user burden frustrates them.

Page 23: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200923

Security and Economics

• Security is about [sensible] security trade-offs.

• Closely related to economics: How to allocate resources efficiently.

Page 24: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200924

The Very Nature of Security:

Bruce Schneier “Beyond Fear” book [2003], p.1:

Critical to any security decision is the notion of

[security] trade-offs, meaning the costs in terms of money, convenience, comfort, freedoms, and so on – that inevitably attach themselves to any security system.

Page 25: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200925

Failures

Page 26: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200926

Types of Failures

• Failure in design

• Failure in implementation

• Failure in operation

Page 27: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200927

Benefits:

Disclosure creates incentives for fixing these vulnerabilities.

Page 28: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200928

Attackers and Hackers

Page 29: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200929

Motivation

• Enjoyment, fame, ego, role models• Develop science and offensive

technology:– University researchers, (good/bad)– Security professionals (defenders)– Professional hackers, pen testers, etc…

• Profits and other benefits– Crime business,– Promoting legal security business,– Political activism, terrorism,

Page 30: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200930

Recent Trend:Rapid growth.

The industrialization of hacking: • division of labour, clear definition of roles • forming a supply chain• professional management

Page 31: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200931

Principlesof Security Engineering

Page 32: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200932

Security EngineeringDefinition: [Ross Anderson]

building systems to remain dependable

in face of malice, error or mischance.

Page 33: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200933

Magic Formulas…

or “Security Mantras”:• repeat after me: C.I.A. C.I.A.In fact we have no silver bullet.

on the contrary:Security is about trade-offs. Conflicting engineering criteria…. Conflicting requirements… Overcoming human,

technology and market failures.insecure rubbish!

Page 34: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200934

Proportionality Principle

Maximize security???

Maximize “utility” (the benefits)while limiting risk

to an acceptable level within reasonable cost…

» all about economics…

Page 35: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200935

Efficiency and Effectiveness

Security measures must be:

• Efficient and effective…

Page 36: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200936

Design Principlesfor Protection Mechanisms

[Saltzer and Schroeder 1975]important for examimportant for exam

Page 37: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200937

Least Privilege [or Limitation] Principle

Every “module” (such as a process, a user or a program) should be able to access only such information and resources

that are necessary to its legitimate purpose.

Page 38: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200938

Default DenyThere are two basic attitudes:

• Default permit - "Everything, not explicitly forbidden, is permitted"

Allows greater functionality by sacrificing security. Good if security threats are non-existent or negligible.

• Default deny - "Everything, not explicitly permitted, is forbidden"

Improves security, harder to get any functionality.

Believed to be a good approach if you have lots of security threats.

Page 39: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200939

Fail-safe Defaults

Secure by default,

Example:if we forget to specify access, deny it.

Page 40: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200940

Economy of Mechanism

A protection mechanism should have a simple and small design.

– small and simple enough to be build in a rigorous way, • and fully tested and analysed

Page 41: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200941

Separation of Privileges

Split into pieces with limited privileges!

Implementation in software engineering:

Have computer program fork into two processes. • The main program drops privileges (e.g. dropping root under Unix). • The smaller program keeps privileges in order to perform a certain task.• The two halves then communicate via a socket pair.

Benefits: • A successful attack against the larger program will gain minimal access.

– even though the pair of programs will perform privileged operations.

• A crash in a process run as nobody cannot be exploited to gain privileges.

Additional possibilities: obfuscate individual modules and/or make them tamper resistant through software. Or burn them into a dedicated hardware module, and burn the fuse that allows to read the firmware.

Page 42: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200942

Least Common Mechanism

Mechanisms used to access resources should not be shared.

Why? Not so obvious.• If everybody depends on it, failure will have a higher impact.• One user can do a DOS attack.• Shared service [or resource such as CPU cache] can provide side

channels. • A mechanism serving all users must be designed to the satisfaction of

every user, harder than satisfying more specialized requirements.

Page 43: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200943

Saltzer and Schroeder 1975:

• Psychologically Acceptable

not enough anymore

Page 44: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200944

Usability + Consent

• Acceptable and accepted…

or not: otherwise the mechanism will be bypassed (-consent)

•Nice

•User-friendly

Page 45: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200945

Think Ahead

Pro-active security design:• Design the security in,

– built-in from the start. Contrary of aftermarket security.Contrary of aftermarket security.

• Allow for future security enhancements.

[Morrie Gasser 1988]

also• Fail securely:

if sth. goes wrong, yes, make sure it “fails

securely”.

Page 46: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200946

Trust

Following Ross Anderson and US Dept of Defence definitions:• Trusted system [paradoxical definition]:

one that can break the security policy (in theory, risk).

• Trustworthy system: one that won’t fail us (0 risk).we can be assured that the security policy will not be violated

An employee who is selling secrets is trusted and NOT trustworthy at the same time.

Page 47: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200947

Management Principlesfor Production and Development,

or Integrity of a Business Process…

[Lipner 1982]WILL BE STUDIED LATER in 02d part of the slides!!!

Page 48: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200948

The False Principle: The Weakest Link

Page 49: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200949

Weakest Link

Chain metaphor:

Schneier: www.schneier.com/blog/archives/2005/12/weakest_link_se.html

“security is only as strong as the weakest link.”

Page 50: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200950

Two Cases

Security can be like a chain:

or, better

Security can be layered

Page 51: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200951

Military: Defence in Depth

Page 52: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200952

Layers

Computer systems have multiple layers, e.g.

– HW components– Chipset/MB– OS– TCP/IP stack– HTTP application– Secure http layer– Java script– User/smart card interface

Page 53: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200953

Example 1:

assuming 1000 little details…

Page 54: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200954

Another False?? Or True?? Principle: Assume the Worst

Page 55: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200955

Back to Schneier Quotewww.schneier.com/essay-005.html

“It's always better to assume the worst. Assume your adversaries are better than they are. Assume science and technology will soon be able to do things they

cannot yet. Give yourself a margin for error.

Give yourself more security than you need today. When the unexpected happens,

you'll be glad you did.”

BUT… this is rubbish (or is it?)

Page 56: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200956

Worst Case Defences? Criticism Cormac Herley [Microsoft research]:

• Most security systems are build to defend against the worst case.

• In reality, the average case losses are insignificant or small,• e.g. actually computer crime worldwide is very small…• and many security technologies are maybe -- from the

economics point of view -- totally useless

• but it depends, we cannot judge security technologies by present losses, because there are also losses that have been avoided or deterred by this technology, and also that losses evolve over the time with highly chaotic pattern (they are 0 then suddenly they may explode)

Page 57: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200957

Worst Case Defences? Conclusion There is no general answer. Both arguments are legitimate.

More detailed analysis is needed; what if etc... Can this be done?Maybe there will always be some purely political choices that is impossible neither to justify, nor to undermine.

Page 58: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200958

Secrecy vs. Transparency

Page 59: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200959

Open Source vs. Closed Source

and Security

Page 60: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200960

Secrecy:

Very frequently an obvious

business decision.

• Creates entry barriers for competitors.

• But also defends against hackers.

Page 61: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200961

Kerckhoffs’ principle: [1883]

“The system must remain secure should it fall in enemy hands …”

Page 62: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200962

Kerckhoffs’ principle: [1883]

Most of the time: incorrectly understood. Utopia:

Who can force companies to publish their specs???

No obligation to disclose.

• Security when disclosed.• Better security when not disclosed.

Page 63: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200963

Which Model is Better?

Open and closed security are more or less equivalent…

more or less as secure: opening the system helps both the attackers and the defenders. Cf.

Ross Anderson: Open and Closed Systems are Equivalent (that is, in an ideal world). In Perspectives on Free and Open Source Software, MIT Press 2005, pp. 127-142.

Page 64: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200964

Attack Tree [Schneier 1999]

Formal analysis of all known attack avenues.

A tree with OR nodes and AND nodes. nodes can be labeled with probabilities or cost

estimates

but what about unknown attacks?

Get Admin Access

Abuse Limited Account

Get Limited Access Abuse System Privileges

1/10

Privilege Escalation Exploit #36

sub-goalsrefinement details

Page 65: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200965

Expanded Example

Get Admin AccessBecome Admin Directly

Obtain Legit. Admin Account

Create One’s Own Account

Obtain Sb’s Credentials Create Account

login password in person remotely

Abuse Limited Account

Get Limited Access Abuse System Privileges

1/100

Privilege Escalation Exploit #36

similar

bribe£1000

shoulder surfing

intercept

keyboard sniffer

1/10

guess / crack

reset

Page 66: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200966

Unix Log In

Page 67: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200967

Weakest Link

Security like a chain:

Get Admin AccessBecome Admin Directly Abuse Limited Account

1/100 1/10

easier!

Page 68: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200968

Defense in Depth

also appears in attack trees…

Crack Password

spec secrecy

cipher secrecy

password hardness

getting the SAM file

Page 69: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200969

Conclusion:

In complex systems, the principles of weakest link and defence in depth will occur simultaneously.

Page 70: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200970

Accessing Password Database

Page 71: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200971

Stealing Data with Costs

Page 72: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200972

Attack Tree for PGP

© Bruce Schneier

Page 73: Computer Security Foundations and Principles Nicolas T. Courtois - University College of London.

CompSec Intro

Nicolas T. Courtois, January 200973

Reading a messagesent between 2 Windows

machines with countermeasures

© Bruce Schneier