Authentication James Walden Northern Kentucky University.

Slides:



Advertisements
Similar presentations
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 14: Protection.
Advertisements

CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
8.2 Discretionary Access Control Models Weiling Li.
CMSC 414 Computer and Network Security Lecture 13 Jonathan Katz.
Access Control Intro, DAC and MAC System Security.
1 Access Control Matrix CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute March 9, 2004.
6/2/2015B.Ramamurthy1 Security B.Ramamurthy. 6/2/2015B.Ramamurthy2 Computer Security Collection of tools designed to thwart hackers Became necessary with.
Protection and Security. Policy & Mechanism Protection mechanisms are tools used to implement security policies –Authentication –Authorization –Cryptography.
Bilkent University Department of Computer Engineering
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 14: Protection.
CS-550 (M.Soneru): Protection and Security - 1 [SaS] 1 Protection and Security.
CMSC 414 Computer and Network Security Lecture 10 Jonathan Katz.
1 Access Control Matrix CSSE 442 Computer Security Larry Merkle, Rose-Hulman Institute March 16, 2007.
Lecture 7 Access Control
CMSC 414 Computer and Network Security Lecture 18 Jonathan Katz.
HTTP and Server Security James Walden Northern Kentucky University.
Protection.
Penetration Testing James Walden Northern Kentucky University.
Csci5233 computer security & integrity 1 Access Control Matrix.
ECE509 Cyber Security : Concept, Theory, and Practice Access Control Matrix Spring 2014.
Chapter 2: Access Control Matrix
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.
14.1 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 14: Protection Goals of Protection Principles of Protection Domain of Protection.
Security+ All-In-One Edition Chapter 19 – Privilege Management Brian E. Brzezicki.
Cross-Site Attacks James Walden Northern Kentucky University.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 14: Protection.
CSC 382: Computer SecuritySlide #1 CSC 382: Computer Security Identity.
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Access Control.
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.
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  Operating System Concepts Chapter 18: Protection Goals of Protection Objects and Domains Access Matrix Implementation.
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.
CSC 382: Computer SecuritySlide #1 CSC 382: Computer Security Access Control.
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,
Slide #2-1 Access Control Matrix and Safety Results CS461/ECE422 Computer Security I, Fall 2009 Based on slides provided by Matt Bishop for use with Computer.
Chapter 2 Securing Network Server and User Workstations.
Database Security. Multi-user database systems like Oracle include security to control how the database is accessed and used for example security Mechanisms:
Lecture 18 Page 1 CS 111 Online OS Use of Access Control Operating systems often use both ACLs and capabilities – Sometimes for the same resource E.g.,
Computer Security: Principles and Practice
1/30/20161 Computer Security Access Control Matrix.
Lecture 14 Page 1 CS 111 Summer 2013 Security in Operating Systems: Basics CS 111 Operating Systems Peter Reiher.
July 1, 2004Computer Security: Art and Science © Matt Bishop Slide #2-1 Chapter 2: Access Control Matrix Overview Access Control Matrix Model.
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Access Control.
November 1, 2004Introduction to Computer Security © 2004 Matt Bishop Slide #2-1 Chapter 2: Access Control Matrix Overview Access Control Matrix Model Protection.
CSE Operating System Principles Protection.
@Yuan Xue CS 285 Network Security Fall 2013 Yuan Xue.
@Yuan Xue CS 285 Network Security Fall 2012 Yuan Xue.
CSC 482/582: Computer Security
Operating Systems Protection Alok Kumar Jagadev.
Chapter 14: Protection Modified by Dr. Neerja Mhaskar for CS 3SH3.
Chapter 14: System Protection
Computer Data Security & Privacy
Chapter 14: Protection.
2. Access Control Matrix Introduction to Computer Security © 2004 Matt Bishop 9/21/2018.
Chapter 14: Protection.
Chapter 14: Protection.
CE Operating Systems Lecture 21
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
Computer Security: Art and Science, 2nd Edition
Access Control.
Chapter 14: Protection.
Chapter 14: Protection.
Designing IIS Security (IIS – Internet Information Service)
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:

Authentication James Walden Northern Kentucky University

CSC 666: Secure Software Engineering Access Control 1.What is Access Control? 2.Access Control Matrix Model  Protection State Transitions  Special Rights  Principle of Attenuation of Privilege 3.Groups and Roles 4.Implementation of the Access Control Matrix  Access Control Lists: by column (object).  Capabilities: by row (subject). 5.Access Control Flaws 6.Web Access Control

CSC 666: Secure Software Engineering What is Access Control? “Its function is to control which principals (persons, processes, machines, …) have access to which resources in the system— which files they can read, which programs they can execute, how they share data with other principals, and so on.” –Ross Anderson, Security Engineering

CSC 666: Secure Software Engineering Access Control is Pervasive Application Middleware Operating System Hardware

CSC 666: Secure Software Engineering Access Control is Pervasive 1.Application Complex, custom security policy. Ex: Amazon account: wish list, reviews, CC 2.Middleware Database, system libraries, 3 rd party software Ex: Credit card authorization center 3.Operating System File ACLs, IPC 4.Hardware Memory management, hardware device access.

CSC 666: Secure Software Engineering Access Control Matrix  Precisely describes protection state of system.  Sets of system states:  P: Set of all possible states.  Q: Set of allowed states, according to security policy.  P-Q: Set of disallowed states.  ACM describes the set of states Q. P Q

CSC 666: Secure Software Engineering Access Control Matrix objects (entities) subjects s1s2…sns1s2…sn o 1 … o m s 1 … s n Objects O = { o 1,…,o m } All protected entities. Subjects S = { s 1,…,s n } Active entities, S  Rights R = { r 1,…,r k } Entries A[s i, o j ]   R A[s i, o j ] = { r x, …, r y } means the subject s i has rights r x, …, r y over the object o j.

CSC 666: Secure Software Engineering ACM Example Processes bash(UID=1024), passwd(UID=0) Files:.bashrc, /etc/passwd Rights: r, w, x.bashrc/etc/passwd bash passwd bash rwxr rw rw passwd rwxrw rw rw

CSC 666: Secure Software Engineering Web ACM Example

CSC 666: Secure Software Engineering Copy Right  Allows possessor to give rights to another  Often attached to a right, so only applies to that right  r is read right that cannot be copied  rc is read right that can be copied  Is copy flag copied when giving r rights?  Depends on model, instantiation of model

CSC 666: Secure Software Engineering Ownership Right Usually allows possessor to change entries in ACM column.  Owner of object can add or remove rights for other subjects.  May depend on what system allows -Can’t give rights to specific (set of) users. -Can’t pass copy flag to specific (set of) users.

CSC 666: Secure Software Engineering Attenuation of Privilege Principle: Subject may not give rights it does not possess to another.  Restricts addition of rights within a system.  Usually ignored for owner -Why? Owner should have ability to recover rights on object if desired.

CSC 666: Secure Software Engineering How can we implement the ACM? Problem: scale  Thousands of subjects.  Millions of objects.  Yet most entries are blank or default. Solutions  Group subjects together as a single entities -Groups and Roles  Implement by row: Capabilities  Implement by column: Access Control Lists

CSC 666: Secure Software Engineering Groups and Roles  Collect subjects together to express:  Need to share objects.  Security categories (e.g., admin, faculty, student, guest.)  role: group tying membership to function.  Problem: loss of granularity.

CSC 666: Secure Software Engineering Capabilities  Implement ACM by row.  Access Control associated with subject.  Example: Web authenticated session IDs.  Example: UNIX file descriptors  System checks ACL on file open, returns fd.  Process subsequently uses fd to read and write file.  If ACL changes, process still has access via fd. Userlshomedirrootdir jamesrxrwr

CSC 666: Secure Software Engineering Capability Questions 1.How to prevent user from modifying capabilities? 2.How to prevent user from copying capabilities? 3.How to revoke rights to an object?

CSC 666: Secure Software Engineering How to prevent modification? Memory protection  Capabilities are readable, but not writable. Indirection  Capability is pointer to per-process table whose access control prevents user from touching. Cryptography  Cryptographically secure checksum associated with capability and checked before usage.

CSC 666: Secure Software Engineering How to prevent user from copying?  Copying capabilities allows users to grant rights to others.  Solution:  Use indirection or cryptographic techniques from prev slide to prevent direct access.  Add copy flag to capability, as a specific right given to copy capabilities in order to give rights to other users.

CSC 666: Secure Software Engineering How to revoke rights to an object? Direct solution  Check capabilities of every process.  Remove those that grant access to object.  Computationally expensive. Alternative solution  Create a global object table.  Capabilities reference objects indirectly via their entries in the global object table.  Invalidate entry in global object table to revoke.

CSC 666: Secure Software Engineering Access Control Lists (ACLs)  Implement ACM by column.  Access control by object.  Example: UNIX ACLs  Short “rwx” user/group/other.  Long POSIX ACLs. Useraudit data rootrw jamesr joe

CSC 666: Secure Software Engineering Access Control Flaws No access control  Relying on attacker not knowing URL. Client-side access control  Relying on a URL parameter like admin=true.  Relying on the Referer header. Sequence based access control  Relying on attacker accessing pages in correct sequence.

CSC 666: Secure Software Engineering Securing Access Controls Requirements  Create ACM based on roles, resources. Design  Single point of control for AC decisions.  Base AC decisions on user’s session.  Apply additional AC for admin pages, such as IP range requirements.  Use per-transaction re-authentication for high impact transactions.  Log events where sensitive data accessed.

CSC 666: Secure Software Engineering Defense in Depth Network Access Control  Prevent access to unauthorized ports.  Prevent access from unauthorized IPs. Web Server Access Control  Use web server controls to prevent access to static resources except through application. Application Access Control  Custom AC for your application. Database Access Control  Use different DB accounts for different roles.  Fine-grained AC at the row or column level. Operating System Access Control  Use least privilege accounts for application, servers.

CSC 666: Secure Software Engineering Key Points  Access Control Matrix  Implementation as capabilities or ACLs.  Common Flaws  No AC or relying on client-side AC.  Defense in Depth  AC at Network, Server, App, DB, and OS.

CSC 666: Secure Software Engineering References 1.Matt Bishop, Computer Security: Art and Science, Addison-Wesley, Brian Chess and Jacob West, Secure Programming with Static Analysis, Addison-Wesley, PCI Security Standards Council, PCI DSS Requirements and Security Assessment Procedures, v1.2, Dafydd Stuttart and Marcus Pinto, The Web Application Hacker’s Handbook, Wiley, 2008.