BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer...

34
HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER SECURITY MODELS CLOSELY FOLLOWING PRESENTATION IN MB: MATT BISHOP “COMPUTER SECURITY ART AND SCIENCE” (2003)

Transcript of BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer...

Page 1: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

HERMANN HÄRTIG, MARCUS VÖLP, 2017

Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group

BASIC INTRO: COMPUTER SECURITY MODELS

CLOSELY FOLLOWING PRESENTATION IN MB: MATT BISHOP “COMPUTER SECURITY ART AND SCIENCE” (2003)

Page 2: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

THE QUESTIONQ3: Is there an algorithm to determine for a system with a given setting of access control permissions, whether or not a Subject A can obtain a right on Object B?

Given a System of Entities (“Objects”) acting as Subjects and/or Objects

with clearly-defined limited access rights among themselves

can we achieve clearly-defined Security Objectives ?

2

Page 3: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

TOPICS OF LECTUREDefinition and Example of “higher-Level” Security Policies (Security Policy Models)(Bell La Padula, Chinese Wall)

Mechanisms to express/set clearly-defined access rights: Access Control Matrix, ACL, and Capabilities

Q3 “formalized” in 2 Models: “ACM-based” & “Take Grant”

Decidable ?

No proofs (in 2017)

3

Page 4: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

“Reasoning”: Common sense Formal Verification Careful Inspection Mathematics

“Refinement”: Abstraction Implementation Formal Refinement

4TU Dresden: Hermann Härtig, Marcus Völp

THE GENERAL APPROACH

Modeling Distributed Systems

Model

Model M

Model L

Property

Refinement

Refinement

Reasoning

Reasoning

Reasoning

OK?

OK?

OK?

System

Page 5: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

“Reasoning”: Common sense Formal Verification Careful Inspection Mathematics “Common Criteria Assurance”

“Refinement”: Abstraction Implementation Formal Refinement

5TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

SECURITY MODELS

Policy

Mechanisms

Code

Property

Refinement

Refinement

Reasoning

Reasoning

Reasoning

OK?

OK?

OK?

System

Page 6: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

Definiton: Policy

Examples: Higher-Level Policies (very short):

Bell La Padula Chinese Wall

6TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

IN THIS LECTURE

Policy

Mechanisms

Code

Property

Refinement

Refinement

Reasoning

Reasoning

Reasoning

OK?

OK?

OK?

System

Page 7: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

Operating Sys. Mechanisms: Access Control List Capabilities

Explain Q3 and formalize per model!

Models: based on Access Control Matrix “take grant” model

7TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

IN THIS LECTURE

Policy

Mechanisms

Code

Property

Refinement

Refinement

Reasoning

Reasoning

Reasoning

OK?

OK?

OK?

System

Page 8: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

SECURITY POLICYSecurity PolicyA security policy P is a statement that partitions the states S of a system into a set of authorized (or secure) states (e.g., Σsec := { σ ∈ Σ | P(σ) }) and a set of unauthorized (or non-secure) states.

Secure System A secure system is a system that starts in an authorized state and that cannot enter an unauthorized state (i.e., Σreachable ⊆ Σsec)Reference: Matt Bishop: Computer Security Art and Science

8ref MB: page 95

Page 9: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

CONFIDENTIALITY./.INTEGRITY./.(AVAILABILITY)

Definitions:

Information or data I is confidential

with respect to a set of entities X if no member of X can obtain information about I.

Information I or data is integer if (2 definitions in text books)

(1) it is current, correct and complete

(2) it is either is current, correct, and complete or it is possible to detect that these properties do not hold.

9

Page 10: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

Model for Confidentiality

Secrecy Levels: Classification (documents) Clearance (persons) The higher the level the more sensitive the data totally ordered

Categories

10TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

INFORMAL BELL LAPADULA

top secret

secret

confidential

unclassified

information

X

X

X

top secret

secret

confidential

unclassified

read

operations

write

readwrite

readwrite

X

X

X

X

X

X

Page 11: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

EXAMPLES BLP(TANENBAUM)

categories: NATO, Nuclearlevels/clearance: top secret, secret, confidential, unclassified

document: Nato, secret

person clearance: readsecret, Nato -> allowedsecret, Nuclear -> not allowedconfidential, Nato -> not allowed

11

Page 12: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

CHINESE WALL POLICYConfidentiality & Integrity

Subjects

Objects: pieces of information of a company

CD: Company Data Setsobjects related to single company

COI: Conflict of Interest classdata sets of competing companies

Sanitized Objectsversion of object that does contain critical information

12Ref MB: Chapter 7.1

Page 13: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

CHINESE WALL, EXAMPLE

13

COI

CD

Objects

Sanitized O

Subject

VW BMW

D

intelARM

S

x x

Page 14: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

CHINESE WALL, RULESPR(S): set of Objects previously read by S

S can read O, if any of the following holds

first-time read

∀ O’, O’ ∊ PR(S) => COI(O) = COI(O’)

O is a sanitized Object

14

Page 15: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

CHINESE WALL, EXAMPLE

15

COI

CD

Objects

Sanitized O

Subject

VW BMW

D

x

S

intelARM

xX

read requestPRwrite request

Page 16: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

CHINESE WALL, RULES

PR(S): set of Objects read by S

S can write O, if

“S can read O”

∀ unsanitized O’, “S can read O’” => CD(O) = CD(O’)

16

Page 17: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

CHINESE WALL, EXAMPLE

17

COI

CD

Objects

Sanitized O

Subject

VW BMW

D

x

S

intelARM

xX

read requestPRwrite request

X

X

Page 18: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

Operating Sys. Mechanisms: Access Control List Capabilities

Explain Q3 and formalize per model!

Models: based on Access Control Matrix “take grant” model

18TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

MECHANISMS

Policy

Mechanisms

Code

Property

Refinement

Refinement

Reasoning

Reasoning

Reasoning

OK?

OK?

OK?

System

Page 19: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

Subjects: S Objects: O Entities: E = S ∪ O

Rights: {read, write, own,…} Matrix: S x E x R

Simple ACM Operations: create subject / object destroy subject / object enter / delete R into cell (s,o)

19TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

MECHANISMS: ACCESS CONTROL MATRIX

S2O1r,w,ownS1

O2 S1

S2 r,w

r,w

r,w,own

r,w,own

—-

r,w,own

S3

S3 r,w r w —-

r,w

r

r,w,own

ref MB: chapter 2.2

Page 20: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

ACM

Access Control List (ACL)

Capabilities

20TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

OS MECHANISMS: ACL & CAPS

S2O1r,w,ownS1

O2 S1

S2 r,w

r,w

r,w,own

r,w,own

—-

r,w,own

S3

S3 r,w r w —-

r,w

r

r,w,own

S2O1r,w,ownS1

O2 S1

S2 r,w

r,w

r,w,own

r,w,own

—-

r,w,own

S3

S3 r,w r w —-

r,w

r

r,w,own

ref MB: chapter 2.2

Page 21: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

Q3/MODEL 1: ACM & “LEAKAGE”

Define Protection Mechanisms of an Operating System in terms of primitive ACM operations

only the defined mechanism provided by the OS can used

21ref MB: chapter 2.2

Page 22: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

Q3/MODEL 1: ACM & “LEAKAGE”

“Leakage”: an access right is placed into S/O that has not been there before it does not matter whether or not that is allowed

Is leakage decidable ?

22ref MB: chapter 3

Page 23: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

Examples for OS-Mechanisms defined by ACM-Operations:

UNIX create file (S1,F) create object enter own into A(S1,F) enter read into A(S1,F) enter write into A(S1,F)

23TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

Q3/MODEL 1: ACM & “LEAKAGE”

S2O1r,w,ownS1

O2 S1

S2 r,w

r,w

r,w,own

r,w,own

—-

r,w,own

S3 r,w r w —-

Fr,w, own

ref MB: chapter 2.2

Page 24: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

Examples for OS-Mechanisms defined by ACM-Operations:

UNIX chmod -w (S2,F) if own ∊ A(caller,F) then delete w in A(S2,F)

24TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

Q3/MODEL 1: ACM & “LEAKAGE”

S2O1r,w,ownS1

O2 S1

S2 r,w

r,w

r,w,own

r,w,own

—-

r,w,own

S3 r,w r w —-

Fr,w, own

r,w

r,-

Q3: Given an OS with a ACM-based description of protection mechanisms is “Leakage” decidable for any R in A(x,y) ?

ref MB: chapter 2.2

Page 25: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

Q3/MODEL 1: DECIDABILITY OF LEAKAGE

Decidable

no subjects/objects can be created

only one primitive ACM operation per OS-Mechanism

by exhaustive search !

Q3 in general:

undecidable (proof: reduction to Turing machine)

25ref MB: chapter 3

or

Page 26: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

Directed Graph: Subjects: Objects: Either S or O:

x has capability with set of rights 𝝰 on y:

26TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

Q3/MODEL 2: “TAKE GRANT”

X

𝝰x y

t take rightx has cap with set of rights 𝞃 that includes t

tx y

gx y

g grant rightx has cap with set of rights 𝝲 that includes g

Page 27: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

Rules:

take rule (𝝰⊆𝛃)a takes (𝛂 to y) from z

grant rule (𝝰⊆𝛃)

z grants (𝛂 to y) to x

27TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

Q3/ 2: TAKE GRANT RULES

Xtx yz

Xtx y

𝝱𝝰

𝝱 Xtx

𝝰𝝱 Xt

x

𝝰𝝱 Xt

x

𝝰𝝱 Xt

x

𝝰𝝱 Xt

x z

𝝰𝝱 Xt

x

𝝰𝝱 Xt

x

𝝰𝝱

yzXg

x yzXg

x𝝱 𝝱

𝝰

ref MB: chapter 3.3

Page 28: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

Rules:

create rulex create (𝛂 to new vertex) y

remove rulex removes (𝛂 to) y

Application of rules ⊢* creates sequences of Graphs Gi

28TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

Q3/ 2: TAKE GRANT RULES

x x𝝰 X

y

x y𝝱

x y𝝱-𝝰

ref MB: chapter 3.3

Page 29: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

Q3/M2: FORMALIZED

CanShare(𝛂, x, y, G0):

there exists a sequence of G0 … Gn with G0 ⊢* Gn

and there is an edge in Gn:

29

x y𝝰

ref MB: chapter 3.3

Page 30: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

take rule (𝝰⊆𝛃)a takes (𝛂 to y) from z

grant rule (𝝰⊆𝛃)

z grants (𝛂 to y) to x

Question:

30TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

Q3/ 2: CAREFUL: LEMMA Xt

x yzXt

x y𝝱

𝝰𝝱 Xt

x

𝝰𝝱 Xt

x z

𝝰𝝱 Xt

x

𝝰𝝱 Xt

x

𝝰𝝱 Xt

x

𝝰𝝱 Xt

x

𝝰𝝱 Xt

x

𝝰𝝱

Xgx yz

Xgx yz

𝝱 𝝱𝝰

ref MB: chapter 3.3

Xtx yz

Xtx yz

𝝱 𝝱𝝰

*?

Page 31: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

create rule

z takes (g to v) from x

z grants (𝛂 to y) to v

x takes (𝛂 to y) from v

31TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

Q3/ 2: CAREFUL: LEMMA

Xtx yz

𝝱Xx z y

𝝱

v

tg

t

Xx z y𝝱

v

tg

tg

𝛂

Xx z y𝝱

v

tg

tg

Xx z y𝝱

v

tg

tg

𝛂

𝛂

(𝝰⊆𝛃)

ref MB: chapter 3.3

Page 32: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

Q3/M2: FORMALIZED

CanShare(𝛂, x, y, G0):

there exists a sequence of G0 … Gn with G0 ⊢* Gn

and there is an edge:

CanShare decidable in linear time !

32

x y𝝰

ref MB: chapter 3.3

Page 33: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

TAKE AWAY

three questions, 2 models per question, different answers !!!

modeling is powerful

need to look extremely carefully into understanding models !!!

33

Page 34: BASIC INTRO: COMPUTER SECURITY MODELS · HERMANN HÄRTIG, MARCUS VÖLP, 2017 Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group BASIC INTRO: COMPUTER

TU Dresden: Hermann Härtig, Marcus Völp Modeling Computer Security

REFERENCESQ1/M1: Pfitzmann A., Härtig H. (1982) Grenzwerte der Zuverlässigkeit von Parallel-Serien-Systemen. In: Nett E., Schwärtzel H. (eds) Fehlertolerierende Rechnersysteme. Informatik-Fachberichte,

vol 54. Springer, Berlin, Heidelberg (in German only)Q1/M2:John v. Neuman, PROBABILISTIC LOGICS AND THE SYNTHESIS OF RELIABLE. ORGANISMS FROM UNRELIABLE COMPONENTS. Q2: most textbooks on distributed systems

Q3: textbook: Matt Bishop, Computer Security, Art and Science, Addison Wesley 2002

34