1 Introduction to Information Security 0368-3065, Spring 2015 Lecture 3: Access control (2/2) Eran Tromer Slides credit: John Mitchell, Stanford Max Krohn,

Slides:



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

1 Information Security – Theory vs. Reality , Winter 2011 Lecture 7: Information flow control Eran Tromer Slides credit: Max Krohn, MIT Ian.
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
Access Control Methodologies
Access Control Patterns Fatemeh Imani Mehr Amirkabir university of technology, Department of Computer Engineering & Information Technology.
CMSC 414 Computer and Network Security Lecture 13 Jonathan Katz.
Verifiable Security Goals
Chapter 2 Access Control Fundamentals. Chapter Overview Protection Systems Mandatory Protection Systems Reference Monitors Definition of a Secure Operating.
CMSC 414 Computer and Network Security Lecture 11 Jonathan Katz.
Introduction To Windows NT ® Server And Internet Information Server.
Information Systems Security Security Architecture Domain #5.
User Domain Policies.
Lecture 7 Access Control
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Security & Protection.
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
CS-550 (M.Soneru): Protection and Security - 2 [SaS] 1 Protection and Security - 2.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Security & Protection.
1 Information Security – Theory vs. Reality , Winter 2011 Lecture 4: Access Control Eran Tromer Slides credit: John Mitchell, Stanford course.
70-294: MCSE Guide to Microsoft Windows Server 2003 Active Directory Chapter 9: Active Directory Authentication and Security.
CH14 – Protection / Security. Basics Potential Violations – Unauthorized release, modification, DoS External vs Internal Security Policy vs Mechanism.
1 Introduction to Information Security , Spring 2014 Lecture 3: Access control (cont.) Eran Tromer Slide credits: John Mitchell, Stanford Max.
7.3. Windows Security Descriptors
1 Confidentiality Policies September 21, 2006 Lecture 4 IS 2150 / TEL 2810 Introduction to Security.
1 IS 2150 / TEL 2810 Information Security & Privacy James Joshi Associate Professor, SIS Lecture 6 Oct 2-9, 2013 Security Policies Confidentiality Policies.
© G. Dhillon, IS Department Virginia Commonwealth University Principles of IS Security Formal Models.
1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006.
Switch off your Mobiles Phones or Change Profile to Silent Mode.
Chapter 5 – Designing Trusted Operating Systems  What makes an operating system “secure”? Or “trustworthy?  How are trusted systems designed, and which.
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.
Lattice-Based Access Control Models Ravi S. Sandhu Colorado State University CS 681 Spring 2005 John Tesch.
Chapter 5 Network Security
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 4 – Access Control.
CE Operating Systems Lecture 21 Operating Systems Protection with examples from Linux & Windows.
CS426Fall 2010/Lecture 251 Computer Security CS 426 Lecture 25 Integrity Protection: Biba, Clark Wilson, and Chinese Wall.
Trusted OS Design and Evaluation CS432 - Security in Computing Copyright © 2005, 2010 by Scott Orr and the Trustees of Indiana University.
12/4/20151 Computer Security Security models – an overview.
Policy, Models, and Trust
Information Security CS 526 Topic 17
Academic Year 2014 Spring Academic Year 2014 Spring.
COEN 350: Network Security Authorization. Fundamental Mechanisms: Access Matrix Subjects Objects (Subjects can be objects, too.) Access Rights Example:
Access Control: Policies and Mechanisms Vinod Ganapathy.
Privilege Management Chapter 22.
Computer Security: Principles and Practice
CS426Fall 2010/Lecture 211 Computer Security CS 426 Lecture 21 The Bell LaPadula Model.
SANS Top 25 Most Dangerous Programming Errors Catagory 1: Insecure Interaction Between Components These weaknesses are related to insecure ways.
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 16 October 14, 2004.
Database Security. Introduction to Database Security Issues (1) Threats to databases Loss of integrity Loss of availability Loss of confidentiality To.
Access Controls Mandatory Access Control by Sean Dalton December 5 th 2008.
Chapter 29: Program Security Dr. Wayne Summers Department of Computer Science Columbus State University
EN Lecture Notes Spring 2016 ACCESS CONTROL MODELS.
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.
9- 1 Last time ● User Authentication ● Beyond passwords ● Biometrics ● Security Policies and Models ● Trusted Operating Systems and Software ● Military.
CS703 - Advanced Operating Systems
Access Control Model SAM-5.
Access Control CSE 465 – Information Assurance Fall 2017 Adam Doupé
Introduction to Information Security , Spring 2016 Lecture 9: Secure Architecture Principles, Access Control Avishai Wool Slides credit: Eran.
CE Operating Systems Lecture 21
Advanced System Security
OS Access Control Mauricio Sifontes.
Confidentiality Models
Guest Lecture in Acc 661 (Spring 2007) Instructor: Christopher Brown)
Chapter 29: Program Security
CS703 - Advanced Operating Systems
Access Control What’s New?
IS 2150 / TEL 2810 Information Security & Privacy
Advanced System Security
Presentation transcript:

1 Introduction to Information Security , Spring 2015 Lecture 3: Access control (2/2) Eran Tromer Slides credit: John Mitchell, Stanford Max Krohn, MIT Ian Goldberg and Urs Hengartner, University of Waterloo Avishai Wool, Tel Aviv University

2 Access Control Windows

3 Access control in Windows (since NTFS) Some basic functionality similar to Unix –Specify access for groups and users Read, modify, change owner, delete Some additional concepts –Tokens –Security attributes Generally –More flexibility than Unix Can define new permissions Can give some but not all administrator privileges

4 Identify subject using SID Security ID (SID) –Identity (replaces UID) SID revision number 48-bit authority value variable number of Relative Identifiers (RIDs), for uniqueness –Users, groups, computers, domains, domain members all have SIDs

5 Each process has set of tokens Security context –Privileges, accounts, and groups associated with the process or thread –Presented as set of tokens Reference Monitor –Uses tokens to identify the security context of a process or thread Impersonation token –Used temporarily to adopt a different security context, usually of another user

6 Each object has security descriptor Security descriptor, associated with an object, specifies who can perform what actions on the object Fields: –Header Descriptor revision number Control flags, attributes of the descriptor –E.g., memory layout of the descriptor –SID of the object's owner –SID of the primary group of the object –Two attached optional lists: Discretionary Access Control List (DACL) controls access by users, groups, … System Access Control List (SACL) controls logging of access to system logs

7 Example access request Group1: Administrators Group2: Redhaired Control flags Group SID DACL Pointer SACL Pointer Deny Redhaired Read, Write Allow Mark Read, Write Owner SID Revision Number Access token Security descriptor Access request: write Action: denied User Mark requests write permission Descriptor denies permission to group Reference Monitor denies request User: Mark Order of ACEs in ACL matters. Windows reads ACL until permission is Granted or Denied, then stops. ACE1 ACE2 (Access Control Entry

8 Impersonation Tokens (compare to setuid) Process adopts security attributes of another –Client passes impersonation token to service Client specifies impersonation level of service –Anonymous The service can impersonate the client but the impersonation token does not contain any information about the client. –Identification The service can get the identity of the client and use this information in its own security mechanism, but it cannot impersonate the client. –Impersonation The service can impersonate the client (on local computers). –Delegation The service can impersonate the client on local and remote computers.

9 Access control policies

10 Multi-Level Security (MLS) Concepts Military security policy  Classification involves sensitivity levels, compartments  Do not let classified information leak to unclassified files Group individuals and resources Use some form of hierarchy to organize policy Other policy concepts Separation of duty “Chinese Wall” Policy (managing conflicts of interests)

11 Military security policy Sensitivity levels Top Secret Secret Confidential Restricted Unclassified Compartments Satellite data Micronesia Middle East Israel

12 Example: military security policy Classification of personnel and data Class =  rank, compartment  Dominance relation C 1  C 2 iff rank 1  rank 2 and compartment 1  compartment 2 Example:  Restricted, Israel    Secret, Middle East  Applies to Subjects – users or processes Objects – documents or resources

13 Example: commercial policy Internal Proprietary Public Product specifications In production OEM Discontinued

14 Generalizing: lattices A dominance relationship that is transitive and antisymmetric defines a lattice For two levels a and b, maybe neither a ≥ b nor b ≥ a However, for every a and b, there is a lowest upper bound u for which u ≥ a and u ≥ b, and a greatest lower bound l for which a ≥ l and b ≥ l There are also two elements U and L that dominate/are dominated by all levels In next slide’s example, U = (“Top Secret”, {“Middle East”, “Micronesia”}) L = (“Unclassified”,  )‏

15 Example Lattice (“Top Secret”, {“Middle East”, “Micronesia”}), (“Unclassified”,  )‏ (“Top Secret”, {“Middle East”}) (“Secret”, {“Middle East”}) (“Secret”, {“Micronesia”}) (“Secret”, {“Middle East”, “Micronesia”})

16 Bell-LaPadula Confidentiality Model When is it OK to release information? Two properties No read up  A subject S may read object O only if C ( O )  C ( S ) No write down  A subject S with read access to O may write to object P only if C ( O )  C ( P ) You may onlyread below your classification andwrite above your classification Mandatory Access Control: protect even against malicious software / users / trojan horses who try to violate policy. (by contrast: Discretionary Access Control)

17 Picture: Confidentiality S Public Proprietary Read below, write above S Public Proprietary Read above, write below

18 Biba Integrity Model Rules that preserve integrity of information (dual to confidentiality) Two properties No write up  A subject S may write object O only if C ( S )  C ( O ) (Only trust S to modify O if S has higher rank …) No read down  A subject S with read access to O may write object P only if C ( O )  C ( P ) (Only move info from O to P if O is more trusted than P ) You may onlywrite below your classification andread above your classification

19 Picture: Integrity S Public Proprietary Read above, write below S Public Proprietary Read below, write above

20 Problems Covert channels Declassification (when OK to violate strict policy?) Composability (e.g, one-time-pad) Aggregation (many “low” facts may enable deduction of “high” information) Overclassification (label creep) Incompatibilies (e.g., upgraded files “disappear”) Polyinstantiation (maintaining consistency when different users have different view of the data, and perhaps even see “cover stories”)

21 Other policy concepts Separation of duty If amount is over $10,000, check is only valid if signed by two authorized people Two people must be different Policy involves role membership and  Chinese Wall Policy Lawyers L1, L2 in same firm If company C1 sues C2,  L1 and L2 can each work for either C1 or C2  No lawyer can work for opposite sides in any case Permission depends on use of other permissions These policies cannot be represented using access matrix

22 Access control in web browsers Operating system Objects: System calls Processes Disk File Principals: Users Discretionary access control Vulnerabilities Buffer overflow Root exploit Web browser Objects: Document object model Frames Cookies / localStorage Principals : “Origins” Mandatory access control Vulnerabilities Cross-site scripting Universal scripting

23 Components of browser security policy Frame-Frame relationships canScript(A,B)  Can Frame A execute a script that manipulates arbitrary/nontrivial DOM elements of Frame B? canNavigate(A,B)  Can Frame A change the origin of content for Frame B? Frame-principal relationships readCookie(A,S), writeCookie(A,S)  Can Frame A read/write cookies from site S?

24 Policies: further reading Anderson, Stajano, Lee, Security Policies Levy, Capability-Based Computer Systems

25 Information Flow Control

26 Information Flow Control An information flow policy describes authorized paths along which information can flow For example, Bell-La Padula describes a lattice-based information flow policy

27 Program-level IFC Input and output variables of program each have a (lattice-based) security classification S() associated with them For each program statement, compiler verifies whether information flow is secure For example, x = y + z is secure only if S( x ) ≥ lub(S( y ), S( z )), where lub() is lowest upper bound Program is secure if each of its statements is secure

28 Implicit information flow Conditional branches carry information about the condition: secret bool a; public bool b; … b = a; if (a) { b = 1; } else { b = 0; } Possible solution: assign label to program counter and include it in every operation. (Too conservative!)

IFC security notion: non-interference Many variants and formalizations. At very high level: [Goguen Meseguer 1982] 29 p q S(p) = {a} S(q) = {} Experiment #1: p’ q S(p’) = {a} S(q) = {} Experiment #2: = “HIGH”“LOW”

IFC: Implementation approaches 30 Language-based IFC (JIF & others) – Compile-time tracking for Java, Haskell – Static analysis – Provable security – Label creep (false positives) Dynamic analysis – Language / bytecode / machine code – Tainting – False positives, false negatives – Performance – Hybrid solutions OS-based DIFC (Asbestos, HiStar, Flume) – Run-time tracking enforced by a trusted kernel Works with any language, compiled or scripting, closed or open

31 Difficulties with Information Flow Control Label creep Examples: Branches Logically-false flows “Doesn’t really matter” Declassification Example: encryption Catching all flows Exceptions (math division by 0, null pointer, out of bounds access…) Signals Covert channels