1 lecture 1 access control ravi sandhu. 2 outline access matrix model access control lists versus...

45
1 LECTURE 1 ACCESS CONTROL Ravi Sandhu

Upload: alexa-trujillo

Post on 26-Mar-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

1

LECTURE 1

ACCESS CONTROL

Ravi Sandhu

Page 2: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

2

OUTLINE

• Access matrix model

• Access control lists versus Capabilities

• Content and context-based controls

• Discretionary versus mandatory controls

• Trojan Horses

• Bell-LaPadula model

• Covert channels

• Beyond MAC and DAC

Page 3: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

3

ACCESS MATRIX MODEL

U r wown

V

F

Subjects

Objects (and Subjects)

r wown

G

r

rights

Page 4: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

4

ACCESS MATRIX MODEL

• Basic Abstractions

• Subjects

• Objects

• Rights

• The rights in a cell specify the access of the subject (row) to the object (column)

Page 5: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

5

USERS AND PRINCIPALS

USERS PRINCIPALS

Real World User Unit of Access Controland Authorization

the system authenticates the user in context of a particular principalthe system authenticates the user in context of a particular principal

Page 6: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

6

USERS AND PRINCIPALS

JOE

JOE.TOP-SECRET

JOE.SECRET

JOE.UNCLASSIFIED

JOE.CONFIDENTIAL

USERUSER PRINCIPALSPRINCIPALS

Page 7: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

7

USERS AND PRINCIPALS

JANE

JANE.CHAIRPERSON

JANE.FACULTY

JANE.SUPER-USER

JANE. EMPLOYEE

USERUSER PRINCIPALSPRINCIPALS

Page 8: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

8

USERS AND PRINCIPALS

• There should be a one-to-many mapping from users to principals

• a user may have many principals, but

• each principal is associated with an unique user

• This ensures accountability of a user's actions

In other words, shared accounts (principals) are bad for accountability

In other words, shared accounts (principals) are bad for accountability

Page 9: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

9

PRINCIPALS AND SUBJECTS

• A subject is a program (application) executing on behalf of a principal

• A principal may at any time be idle, or have one or more subjects executing on its behalf

Page 10: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

10

PRINCIPALS AND SUBJECTS

JOE.TOP-SECRET

Mail Application

Word Processor

Database Application

Spreadsheet

PRINCIPALPRINCIPAL SUBJECTSSUBJECTS

Page 11: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

11

PRINCIPALS AND SUBJECTS

• Usually (but not always)

• each subject is associated with a unique principal

• all subjects of a principal have identical rights (equal to the rights of the invoking principal)

• This case can be modeled by a one-to-one mapping between subjects and principals

For simplicity, a principal and subject can be treated as identical concepts. On the other hand, a user should always be viewed as multiple principals

For simplicity, a principal and subject can be treated as identical concepts. On the other hand, a user should always be viewed as multiple principals

Page 12: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

12

OBJECTS

• An object is anything on which a subject can perform operations (mediated by rights)

• Usually objects are passive, for example:

• File

• Directory (or Folder)

• Memory segment

• But, subjects can also be objects, with operations

• kill

• suspend

• resume

Page 13: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

13

ACCESS MATRIX MODEL

U r wown

W

F

Subjects

Objects (and Subjects)

W

parent

r wown

Page 14: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

14

IMPLEMENTATION

• Access Control Lists

• Capabilities

• Relations

Page 15: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

15

ACCESS CONTROL LISTS (ACLs)

F

U:r

U:w

U:own

G

U:r

V:r

V:w

V:own

each column of the access matrix is stored with the object corresponding to that columneach column of the access matrix is stored

with the object corresponding to that column

Page 16: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

16

CAPABILITY LISTS

each row of the access matrix is stored with the subject corresponding to that row

each row of the access matrix is stored with the subject corresponding to that row

U F/r, F/w, F/own, G/r

V G/r, G/w, G/own

Page 17: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

17

ACCESS CONTROL TRIPLES

Subject AccessObject

U r F

U w F

U ownF

U r G

V r G

V w G

V ownGcommonly used in relational

database management systemscommonly used in relational

database management systems

Page 18: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

18

ACL'S VS CAPABILITIES

• ACL's require authentication of subjects

• Capabilities do not require authentication of subjects, but do require unforgeability and control of propagation of capabilities

Page 19: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

19

ACL'S VS CAPABILITIES

ACCESS REVIEW

• ACL's provide for superior access review on a per-object basis

• Capabilities provide for superior access review on a per-subject basis

REVOCATION

• ACL's provide for superior revocation facilities on a per-object basis

• Capabilities provide for superior revocation facilities on a per-subject basis

Page 20: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

20

ACL'S VS CAPABILITIES

• The per-object basis usually wins out so most Operating Systems protect files by means of ACL's

• Many Operating Systems use an abbreviated form of ACL's with just three entries

• owner

• group

• other

Page 21: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

21

ACL'S VS CAPABILITIES

LEAST PRIVILEGE

• Capabilities provide for finer grained least privilege control with respect to subjects, especially dynamic short-lived subjects created for specific tasks

Page 22: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

22

CONTENT DEPENDENT CONTROLS

• content dependent controls such as

• you can only see salaries less than 50K, or

• you can only see salaries of employees who report to you

• are beyond the scope of Operating Systems and are provided by Database Management Systems

Page 23: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

23

CONTEXT DEPENDENT CONTROLS

• context dependent controls such as

• you cannot access classified information via a remote login

• salary information can be updated only at year end

• the company's earnings report is confidential until announced at the stockholders meeting

• can be partially provided by the Operating System and partially by the Database Management System

• more sophisticated context dependent controls such as based on past history of accesses definitely require Database support

Page 24: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

24

DISCRETIONARY VERSUS MANDATORY

• Discretionary access controls (DAC) allow access rights to be propagated from one subject to another

Possession of an access right by a subject is sufficient to allow access to the object

• Mandatory access controls (MAC) restrict the access of subjects to objects on the basis of security labels

Page 25: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

25

INHERENT WEAKNESS OF DAC

• Unrestricted DAC allows information from an object which can be read to any other object which can be written by a subject

• Suppose our users are trusted not to do this deliberately. It is still possible for Trojan Horses to copy information from one object to another.

Page 26: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

26

TROJAN HORSES

• A Trojan Horse is rogue software installed, perhaps unwittingly, by duly authorized users

• A Trojan Horse does what a user expects it to do, but in addition exploits the user's legitimate privileges to cause a security breach

Page 27: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

27

TROJAN HORSE EXAMPLE

File FA:r

A:w

File GB:r

A:w

Principal B cannot read file FPrincipal B cannot read file F

ACL

Page 28: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

28

TROJAN HORSE EXAMPLE

File FA:r

A:w

File GB:r

A:w

Principal B can read contents of file F copied to file GPrincipal B can read contents of file F copied to file G

ACLPrincipal A

Program Goodies

Trojan Horse

executes

read

write

Page 29: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

29

TROJAN HORSES

• Trojan Horses are the most insidious threat

• Viruses and logic bombs are examples of Trojan Horses

• It is possible to embed Trojan Horses in hardware and firmware

• It is possible to embed Trojan Horses in critical system software such as compilers and Database Management Systems

Page 30: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

30

MULTILEVEL SECURITY

TS

S

C

U

InformationFlow

Dominance

Lattice ofsecuritylabels

Page 31: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

31

MULTILEVEL SECURITY

InformationFlow

DominanceLattice ofsecuritylabels

S,{A,B}

S,{A] S,{B}

S,{}

Page 32: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

32

BELL LAPADULA (BLP) MODEL

SIMPLE-SECURITYSubject S can read object O only if

• label(S) dominates label(O)

• information can flow from label(O) to label(S)

STAR-PROPERTYSubject S can read object O only if

• label(O) dominates label(S)

• information can flow from label(S) to label(O)

Page 33: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

33

STAR-PROPERTY

• applies to subjects (principals) not to users

• users are trusted (must be trusted) not to disclose secret information outside of the computer system

• subjects are not trusted because they may have Trojan Horses embedded in the code they execute

• star-property prevents overt leakage of information and does not address the covert channel problem

Page 34: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

34

DYNAMIC LABELS IN BLP

• Tranquility (most common):

label is static for subjects and objects

• BLP without tranquility may be secure or insecure depending upon the specific dynamics of labelling

Page 35: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

35

DYNAMIC LABELS IN BLP

• High water mark on subjects:

• label is static for objects

• label may increase but not decrease for subjects

Is secure and is useful

• High water mark on objects:

• label is static for subjects

• label may increase but not decrease for subjects

Is insecure due to disappearing objects

Page 36: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

36

COVERT CHANNELS

• A covert channel is a communication channel based on the use of system resources not normally intended for communication between the subjects (processes) in the system

Page 37: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

37

COVERT CHANNELS

Low Principal

High Trojan HorseInfected Subject

High Principal

Low Trojan HorseInfected Subject

COVERTCHANNEL

Information is leaked unknown to the high principal

Information is leaked unknown to the high principal

Page 38: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

38

COVERT CHANNELS

• The concern is with subjects not users

• users are trusted (must be trusted) not to disclose secret information outside of the computer system

• subjects are not trusted because they may have Trojan Horses embedded in the code they execute

• star-property prevents overt leakage of information and does not address the covert channel problem

Page 39: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

39

RESOURCE EXHAUSTION CHANNEL

Given 5MB pool of dynamically allocated memory

HIGH PROCESS

bit = 1 request 5MB of memory

bit = 0 request 0MB of memory

LOW PROCESS

request 5MB of memory

if allocated then bit = 0 otherwise bit = 1

Page 40: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

40

LOAD SENSING CHANNEL

HIGH PROCESS

bit = 1 enter computation intensive loop

bit = 0 go to sleep

LOW PROCESS

perform a task with known computational requirements

if completed quickly then bit = 0 otherwise bit = 1

Page 41: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

41

COPING WITH COVERT CHANNELS

• identification

• close the channel or slow it down

• detect attempts to use the channel

• tolerate its existence

Page 42: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

42

COVERT CHANNELSAND THE ORANGE BOOK

C2 No labels

B1 Labels with Bell-LaPadula controls, but no need to address covert channels

B2 Must address storage channels (such as resource exhaustion channel)

B3 Must also address timing channels (such as load sensing channel)

A1 Must use formal techniques (where available)

Page 43: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

43

BEYOND MAC DAC

• DAC and MAC are extreme points of a continuum of access controls

• There are legitimate policies that fall in between, for example:

• Document release: a document cannot be released by a scientist without first obtaining approvals from a patent-officer and a security-officer

• Originator control: information in an object should not be propagated without permission of the owner of the object

Page 44: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

44

BEYOND MAC DAC

• There are security models which transcend the black and white MAC-DAC distinction, notably:• The HRU model

Harrison, M.H., Ruzzo, W.L. and Ullman, J.D. “Protection in Operating Systems.” Communications of ACM, 19(8):461-471 (1976).

• The TAM model

Sandhu, R.S. “The Typed Access Matrix Model.“” Proceeding IEEE Symposium on Security and Privacy, Oakland, CA, May 4-6, 1992, pages 122-136.

• The RBAC model

Ravi Sandhu, Edward Coyne, Hal Feinstein and Charles Youman, “Role-Based Access Control Models.” IEEE Computer, Volume 29, Number 2, February 1996.

Page 45: 1 LECTURE 1 ACCESS CONTROL Ravi Sandhu. 2 OUTLINE Access matrix model Access control lists versus Capabilities Content and context-based controls Discretionary

45

REFERENCES

• The access matrix model is discussed in most textbooks on computer security or on operating systems.

The user-principal-subject distinction is rarely made as carefully as done here. This has resulted in a lot of unnecessary confusion in the literature.