Access Control Theory => Practice Nicolas T. Courtois - University College London.

Slides:



Advertisements
Similar presentations
Information Flow and Covert Channels November, 2006.
Advertisements

Operating System Security
Lecture 19 Page 1 CS 111 Online Protecting Operating Systems Resources How do we use these various tools to protect actual OS resources? Memory? Files?
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
Lakshmi Narayana Gupta Kollepara 10/26/2009 CSC-8320.
CSC 405 Introduction to Computer Security
CMSC 414 Computer and Network Security Lecture 13 Jonathan Katz.
Access Control Intro, DAC and MAC System Security.
CSE331: Introduction to Networks and Security Lecture 28 Fall 2002.
CMSC 414 Computer and Network Security Lecture 10 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 11 Jonathan Katz.
SE571 Security in Computing
User Domain Policies.
Distributed Computer Security 8.2 Discretionary Access Control Models - Liang Zhao.
Lecture 7 Access Control
Distributed Computer Security 8.2 Discretionary Access Control Models - Sai Phalgun Tatavarthy.
Present by Napasakorn Sukjay Poom Samaharn
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
CS426Fall 2010/Lecture 191 Computer Security CS 426 Lecture 19 Discretionary Access Control.
Protection.
Lattices, Confidentiality, BLP
Security Policy What is a security policy? –Defines what it means for a system to be secure Formally: Partition system into –Secure (authorized) states.
Lecture 18 Page 1 CS 111 Online Access Control Security could be easy – If we didn’t want anyone to get access to anything The trick is giving access to.
© G. Dhillon, IS Department Virginia Commonwealth University Principles of IS Security Formal Models.
Session 2 - Security Models and Architecture. 2 Overview Basic concepts The Models –Bell-LaPadula (BLP) –Biba –Clark-Wilson –Chinese Wall Systems Evaluation.
Security+ All-In-One Edition Chapter 19 – Privilege Management Brian E. Brzezicki.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 14: Protection.
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 4 – Access Control.
G53SEC 1 Access Control principals, objects and their operations.
Information Security - City College1 Access Control in Collaborative Systems Authors: Emis Simo David Naco.
Access Control. What is Access Control? The ability to allow only authorized users, programs or processes system or resource access The ability to disallow.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Protection (Chapter 14)
CE Operating Systems Lecture 21 Operating Systems Protection with examples from Linux & Windows.
14.1/21 Part 5: protection and security Protection mechanisms control access to a system by limiting the types of file access permitted to users. In addition,
Decidability or Impossibility? 02b = a bit of boring theory Nicolas T. Courtois - University College of London.
12/13/20151 Computer Security Security Policies...
COEN 350: Network Security Authorization. Fundamental Mechanisms: Access Matrix Subjects Objects (Subjects can be objects, too.) Access Rights Example:
A Lattice Model of Secure Information Flow By Dorothy E. Denning Presented by Drayton Benner March 22, 2000.
Trusted Operating Systems
Access Control Lesson Introduction ●Understand the importance of access control ●Explore ways in which access control can be implemented ●Understand how.
Access Control: Policies and Mechanisms Vinod Ganapathy.
Discretionary Access Control Models Adith Srinivasan.
Privilege Management Chapter 22.
Computer Security: Principles and Practice
Lecture 14 Page 1 CS 111 Summer 2013 Security in Operating Systems: Basics CS 111 Operating Systems Peter Reiher.
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 16 October 14, 2004.
Lecture 3 Page 1 CS 236 Online Security Mechanisms CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
CSE Operating System Principles Protection.
Access Controls Mandatory Access Control by Sean Dalton December 5 th 2008.
PREPARED BY: MS. ANGELA R.ICO & MS. AILEEN E. QUITNO (MSE-COE) COURSE TITLE: OPERATING SYSTEM PROF. GISELA MAY A. ALBANO PREPARED BY: MS. ANGELA R.ICO.
22 feb What is Access Control? Access control is the heart of security Definitions: * The ability to allow only authorized users, programs or.
Lecture 2 Page 1 CS 236 Online Security Policies Security policies describe how a secure system should behave Policy says what should happen, not how you.
Access Control Model SAM-5.
Access Control CSE 465 – Information Assurance Fall 2017 Adam Doupé
Protection and Security
Chapter 14: System Protection
Chapter 14: Protection.
Outline What does the OS protect? Authentication for operating systems
Outline What does the OS protect? Authentication for operating systems
Discretionary Access Control (DAC)
CE Operating Systems Lecture 21
Mandatory Access Control (MAC)
Discretionary Access Control (DAC)
OS Access Control Mauricio Sifontes.
Chapter 14: Protection.
Information Security CS 526 Topic 16
Access Control.
Computer Security Access Control
Access Control Dr. X Parenthesis: before we dive deeper into crypto, we will explore and old but still valid security principle, access controls.
Presentation transcript:

Access Control Theory => Practice Nicolas T. Courtois - University College London

CompSec COMPGA01 Nicolas T. Courtois, January Roadmap Policies and Mechanisms Set models, Maths: Relations, Bounds, Lattices Reference Monitor model DAC, Matrix model DAC in practical OS (slides part 04)

Reading Nicolas T. Courtois, January Home reading Security Policies: Section discussed in the context of management! Partial orderings, Lattices: Section 5.8 Reference Monitor: Section page 88 –Deeper study outside of scope of this course: pages DAC, ownership, matrices, basic rights; Sections 5.3. – 5.5.

CompSec COMPGA01 Nicolas T. Courtois, January Preface

CompSec COMPGA01 Nicolas T. Courtois, January Can We Help? insecure rubbish! Science vs.

CompSec COMPGA01 Nicolas T. Courtois, January History There is a substantial amount of theory about access control. –When UNIX systems were developed, more or less at the same time, researchers have tried to formalize what access control should be doing… –Influence of pure mathematicians on the topic… Designers of OS, HTTP servers, database systems etc. have developed highly complex systems, learning from this research, and/or from hacker attacks, Trojans etc. Windows NT and now commercial security/firewall packages (with lots of detailed controls), and Vista etc. were developed much later. –and with additional complexity that does not exist in Unix.

CompSec COMPGA01 Nicolas T. Courtois, January Is There a Need For Access Control ? The problem of access control remains largely unsolved. And seems almost unsolvable, –OS+add-on security all-in-one security packages will either decide everything for you, or leave the customer with choices that nobody understands

CompSec COMPGA01 Nicolas T. Courtois, January Policies

CompSec COMPGA01 Nicolas T. Courtois, January Security Policy: Meaning we want to use: Policy, is what we want. How things should be.

CompSec COMPGA01 Nicolas T. Courtois, January A Security Policy: Short, succinct statement. High-level. Describes what is and what is not allowed. Security and protection requirements, rules, and goals. It defines what it means to be “secure” for a system or organisation/entity. Here, it usually means a set of requirements. Here, it means usually a set of behaviour rules to obey.

CompSec COMPGA01 Nicolas T. Courtois, January W7 has a “Local Security Policy” Can be edited

CompSec COMPGA01 Nicolas T. Courtois, January Mechanisms

CompSec COMPGA01 Nicolas T. Courtois, January Policies and Mechanisms Mechanisms are there to enforce policies. various sorts of mechanisms, HW, SW, crypto, and combinations… A policy can be implemented in several different ways, relying on different mechanisms.

CompSec COMPGA01 Nicolas T. Courtois, January Formalization: Sets

CompSec COMPGA01 Nicolas T. Courtois, January A Security Policy – Abstract view Describes what is and what is not allowed. Can be mathematically formalized as follows: All possible “states of the world” P in a system are partitioned into allowed states Q  P and non-allowed states P-Q  P. Beware: in this formulation, these are not merely states of a PC. They need to encompass the user and all the entities in involved. Example: user A is reading the file f at 10h should define a distinct subset of the universe of possible outcomes. A S ecurity Mechanism => May restrict the system to a subset of states R  P.

CompSec COMPGA01 Nicolas T. Courtois, January Secure vs. Precise vs. Broad States allowed by the policy Q  P. States allowed by the mechanism R  P. Def. [Bishop] A mechanism is secure iff R  Q. All that ever happens is acceptable, but certain things could be forbidden for no reason. A mechanism is precise iff R = Q. All that can ever happen is exactly what is allowed. A mechanism is broad iff R  Q – (could be called insecure) Allowing of unwanted or “insecure” states.

CompSec COMPGA01 Nicolas T. Courtois, January More Maths

CompSec COMPGA01 Nicolas T. Courtois, January Relations Let A be a set. We call relation any subset R  AxA. We write things such as: a R b which reads a is “in relation R” to b set of all ordered pairs a_1,a2

CompSec COMPGA01 Nicolas T. Courtois, January Example of a Relation Let a,b  NI Definition: a | b iff  x  NI such that ax=b.

CompSec COMPGA01 Nicolas T. Courtois, January Relations Sub-categories: equivalence relations, order relations (orderings), etc.

CompSec COMPGA01 Nicolas T. Courtois, January Order Relations Order: 1.Reflexive: a  a 2.Antisymmetric: if a  b and b  a then a = b. 3.Transitive a  b and b  c implies a  c. Partial ordering: For any couple a,b we have either a  b or b  a or neither – when we say that “ a and b are unrelated ”. Total ordering (= linear order = simple order = chain): 4. For any couple a,b we have either a  b or b  a. all pairs are related = mutually comparable

CompSec COMPGA01 Nicolas T. Courtois, January POSET = Partially Ordered Set A set A and an order relation . Poset is the couple (A,  ). Maths view: we write formulas on the board and we use axioms 123 on the last slide to prove theorems. Pragmatic computational functional view of a relation: we have objects a  A data type A 2-ary function called  : AxA  {True, False}.

CompSec COMPGA01 Nicolas T. Courtois, January Example of a POSET Let a,b  NI Definition: a | b means  x such that ax=b. (NI, |) is a poset Reflexive: a | a Antisymmetric: if a | b and b | a then a = b. Transitive a | b and b | c implies a | c. Proof: But not a total order: Prove it:

CompSec COMPGA01 Nicolas T. Courtois, January Example 2 of a POSET Let  be an alphabet Let  * be the set of all strings over . Define Prefix(a,b) formally

CompSec COMPGA01 Nicolas T. Courtois, January Example 2 of a POSET Let  be an alphabet Let  * be the set of all strings over . Def: Prefix(a,b) iff  c s.t. a||c=b Theorem: (  *, Prefix) is a poset. Proof?

CompSec COMPGA01 Nicolas T. Courtois, January Example 2 of a POSET Let  be an alphabet Let  * be the set of all strings over . Def: Prefix(a,b) iff  c in  * s.t. a||c=b Theorem: (  *, Prefix) is a poset. Relation Prefix is a partial ordering.

CompSec COMPGA01 Nicolas T. Courtois, January Example 2 of a POSET Let  be an alphabet Let  * be the set of all strings over . Def: Prefix(a,b) iff  c in  *s.t. a||c=b Theorem: (  *, Prefix) is a poset. Relation Prefix is a partial ordering. R A T

CompSec COMPGA01 Nicolas T. Courtois, January Example 2 of a POSET Let  be an alphabet Let  * be the set of all strings over . Def: Prefix(a,b) iff  c in  * s.t. a||c=b Theorem: (  *, Prefix) is a poset. Relation Prefix is a partial ordering. Reflexive: a is a prefix of a Anti-symmetric: if a is a prefix of b and b is a prefix of a then a = b. Transitive a is a prefix of b and b is a prefix of c, it implies a is a prefix of c. But not a total order if there are at least 2 symbols: Prove it.

CompSec COMPGA01 Nicolas T. Courtois, January Applications Order relations are useful in formalising and analysing security …

CompSec COMPGA01 Nicolas T. Courtois, January Bounds Exist for both total and partial orders. Total orders are simple in sense they are “ one- dimensional ”. Like a straight line … Partial orders describe much more complex situations …

CompSec COMPGA01 Nicolas T. Courtois, January Bounds Definition: u is an upper bound for a and b iff a  u and b  u. Definition: v is an lower bound for a and b iff v  a and v  b. a b u v

CompSec COMPGA01 Nicolas T. Courtois, January LUB = Least Upper Bound = Supremum = Sup = Join a b x y u

CompSec COMPGA01 Nicolas T. Courtois, January LUB = Least Upper Bound = Supremum = Sup = Join a  b and we have the dual concept: GLB = Greatest Lower Bound = Infimum = Inf = Meet a  b

CompSec COMPGA01 Nicolas T. Courtois, January LUB = Least Upper Bound = Supremum = Sup = Join a  b and we have the dual concept: GLB = Greatest Lower Bound = Infimum = Inf = Meet a  b defined in the same way … BTW. we say “ greatest lower bound for a and b ” or “ a Wedge b ” In LaTeX \wedge

CompSec COMPGA01 Nicolas T. Courtois, January Funny Example Claim 1: NI,  is a total ordering. Proof: check 123+total Claim 2: 1 is the biggest element of NI. Proof: Let u be the biggest integer. #: Assume u>1 (which definition means u  1 AND u  1). It follows that u 2 >u. It follows that u 2 is even bigger, so u is not the biggest integer. So our Assumption # was wrong. So u  1. So u=1 (0 is smaller and must be excluded).

CompSec COMPGA01 Nicolas T. Courtois, January Important Bounds do NOT have to exist. Least upper bounds don ’ t have to exist either.

CompSec COMPGA01 Nicolas T. Courtois, January

CompSec COMPGA01 Nicolas T. Courtois, January Lattices Definition: An ordered set S,  Is called a lattice if:  a, b the LUB a  b exists.  a, b the GLB a  b exists. More about lattices later in part 02c!!!!!!!

CompSec COMPGA01 Nicolas T. Courtois, January Example: “ Hasse Diagram ” Top Secret, {army, nuclear} Top Secret, {army} Top Secret, {nuclear} Secret, {army, nuclear} Top Secret, {} Secret, {army} Secret, {nuclear} Secret, {}

CompSec COMPGA01 Nicolas T. Courtois, January File Access Control

CompSec COMPGA01 Nicolas T. Courtois, January Example of a Security Policy No user should be able to access other user’s files. Benefits: Accountability Trace-ability Confidentiality, Privacy Two methods to implement this, can be combined: 1.Follow the people: authentication, authorization. 2.Follow the data: information flow control.

CompSec COMPGA01 Nicolas T. Courtois, January Users, Subjects, Principals Me process running as me create through authentication and authorization ownership User, Principal Subject our book says principals == uniquely and reliably identified human users HOWEVER… can make a distinction:

CompSec COMPGA01 Nicolas T. Courtois, January Distinction Users vs. Principals One to Many. Me process running as login2 create through authentication and authorization ownership User login2 login1 Principal = def: Unit of Access Control and Authorization Subject similar in Java Principal == human readable name

CompSec COMPGA01 Nicolas T. Courtois, January Subjects and Objects Me process running as me/login2 access through authorization access control occurs at 2 moments! User, Principal, Subject Object resource ? policy reference monitor In Unix processes are both subjects and objects, we can execute operations on processes: kill, suspend, resume.. process2

CompSec COMPGA01 Nicolas T. Courtois, January Reference Monitor resource user process reference monitor access request policy ?

CompSec COMPGA01 Nicolas T. Courtois, January Reference Monitor Must be: 1.tamperproof, 2.always-invoked = non-bypassable = a.k.a. complete mediation 3.economical, simple –small enough to be build in a rigorous way, and fully tested and analysed Windows: exists since Windows NT.

CompSec COMPGA01 Nicolas T. Courtois, January **Optional Reading: At which level/place to implement the Reference Monitor? – Section More than reference monitor: TCB = Trusted Computing Base or Security Kernel (very closely related concepts): –like all the protections inside the computer combined together… –combination of hardware and software –fundamental “low layers” of a secure OS…

CompSec COMPGA01 Nicolas T. Courtois, January Technical Difficulties Residue Channels –Inadvertent or built-in duplication/storage of information. need to actively clean disk sectors, memory, CPU cache etc. Covert Channels –information is leaking intentional or not (side channels).

CompSec COMPGA01 Nicolas T. Courtois, January Access Control Models Formally and mathematically define the access control method. It should be: Complete –Encompass all our security desiderata. Consistent. –Free of contradictions.

CompSec COMPGA01 Nicolas T. Courtois, January Access Control Models Benefits: We can formally prove security properties of a system. Derived from basic premises. Nice split between conceptual and practical security: Prove that model is “secure”. And that the implementation is correct. Allows to claim that security is achieved. And if it isn’t, we should be able to blame EITHER the model OR the implementation, without any ambiguity.

CompSec COMPGA01 Nicolas T. Courtois, January Main Paradigms of Access Control Discretionary Access Control (DAC) Owners decide about rules, at their discretion, can pass rights on others Mandatory Access Control (MAC) System-wide policy, possibly denying users full control over the access to resources they created Role-Based Access Control (RBAC) frequently combined

CompSec COMPGA01 Nicolas T. Courtois, January Two levels In most policies, except in pure Mandatory AC policies. Two main levels: Access Control Policy. –who can access the resources? Administrative Policy. –who can specify rules and authorizations? And big problem: things change. Ownership can be changed. Permissions can be changed.

CompSec COMPGA01 Nicolas T. Courtois, January Discretionary Access Control

CompSec COMPGA01 Nicolas T. Courtois, January What is DAC? DAC policies are a family of access control policies. 1.They enforce the access to files on the basis of identity of the requestors explicit access rules: 2.In addition, files have owners “Discretionary” means: the owner can grant/revoke rights for others

CompSec COMPGA01 Nicolas T. Courtois, January Matrix Paradigm [Lampson,Graham-Denning, Harrison-Ruzzo-Ullmann] A way to describe mathematically access conditions A set S of Subjects (Principals). A set O of Objects (e.g. files). A set A of Operations. Example: A={read,append,write}. An access control matrix. M=(M so ) s  S o  O Where each entry M so  A.

CompSec COMPGA01 Nicolas T. Courtois, January Matrix - Example Example: S={System,Admin,Bob}. O={exe,doc}. A={read,write,exec,delete}. M= m.exea.doc System{x,r,w,d} {r,w,d} Admin{x,w,d}{w,r,d} Bob{x}{r,w} rights Objects SubjectsSubjects

CompSec COMPGA01 Nicolas T. Courtois, January Examples: Standard File Systems

CompSec COMPGA01 Nicolas T. Courtois, January Simple Example - Unix S={Process1;User1}. O={file2; directory3; process5; device6}. A={r, w, exe}. ls -l=>-rwx-r-x—- the famous “9 bits”: user group other

CompSec COMPGA01 Nicolas T. Courtois, January Windows NT In comparison - excessively complex, more recent. Required: NTFS, the Microsoft file system designed to work in multi-user environments. Win NT/XP and later.

CompSec COMPGA01 Nicolas T. Courtois, January DAC in Practice

CompSec COMPGA01 Nicolas T. Courtois, January Matrices - Implementation Matrix storage: waste of space, not very practical. Authorization table – sparse matrix kind Capabilities - rows Access Control Lists (ACL) - columns

CompSec COMPGA01 Nicolas T. Courtois, January Matrices - Authorization Tables Authorization tables, –Commonly used in relational DBMS –Store table of non-null triples (s,o,a).

CompSec COMPGA01 Nicolas T. Courtois, January Matrices – ACLs and Capabilities Access Control Lists (ACL) –store M by columns, –together with each object, Capabilities –store M by rows. –for each user store his capabilities, most popular, Unix, Win

CompSec COMPGA01 Nicolas T. Courtois, January In theory… ACLs are widely used (Linux, Windows, etc.) In theory, Access Control Lists (ACLs) and capabilities represent the same thing. So if we implement ACLs, no need for capabilities. In practice however, they lead to very different systems.

CompSec COMPGA01 Nicolas T. Courtois, January Managing Permissions With ACLs, the power to edit the authorities (permissions) is aggregated by resource. naturally compatible with Discretionary Access Control, owners With capabilities it will be rather aggregated by Subjects.

CompSec COMPGA01 Nicolas T. Courtois, January Authentication ACL's: –store rights together with each object, –requires a form of authentication of subjects at the moment of access Capabilities: –for each user store his capabilities, –does not require authentication of subjects: capabilities are explicit rights in a form of a token, that represents the user’s capabilities. –but require some form of unforgeability + maybe some form control of propagation of capabilities… token: –now the hacker may try to copy this token from one user to another. So it should be cryptographically signed, and depend on the user’s ID! (some people encrypt capabilities too).

CompSec COMPGA01 Nicolas T. Courtois, January Fast Access, Review, revocation ACL's provide faster access, review and revocation on a per-object basis but if we want to revoke permissions for a particular user, we have to search a whole hard drive… capabilities provide faster access and review and revocation on a per-subject basis

CompSec COMPGA01 Nicolas T. Courtois, January Least Privilege capabilities are better in this respect, especially for dynamic short-lived subjects created for specific tasks

CompSec COMPGA01 Nicolas T. Courtois, January Ambient Authority = def = Making a request that only specifies the names of the object(s) involved and the operation to be performed on them, is enough for a permitted action to succeed.  dominant method today (POSIX ACLs, Windows as well). With capability-based security programs receive also permissions as they might receive data. –this allows programs to determine where the permissions came from.

CompSec COMPGA01 Nicolas T. Courtois, January The Confused Deputy Problem Definition: The confused deputy problem occurs when one process tricks another process to do an action he doesn’t have permissions to do. Example 1: A compiler is given a permission to write in a directory. The user compiles a program and specifies some very special filename for the output log. So he can overwrite some files he should not have access to.

CompSec COMPGA01 Nicolas T. Courtois, January Composition of Policies

CompSec COMPGA01 Nicolas T. Courtois, January Composition of Policies Combine all the benefits of DAC and MAC? Windows and Unix do it. The simplest method: (works like a logical AND) –allow an operation only if all policies implemented allow it.

CompSec COMPGA01 Nicolas T. Courtois, January Quiz

CompSec COMPGA01 Nicolas T. Courtois, January Quiz What is a A security policy for an organisation? For a system? A “broad” security mechanism? opposite of it? An order relation (RAT) Give an example of a totally ordered set. Give an example of an order that is NOT a total order. GLB? The dual notion? Lattice?