CSE331: Introduction to Networks and Security Lecture 28 Fall 2002.

Slides:



Advertisements
Similar presentations
Operating System Security
Advertisements

Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 14: Protection.
CS426Fall 2010/Lecture 71 Computer Security CS 426 Lecture 7 Operating System Security Basics.
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
Chapter 6 User Protections in OS. csci5233 computer security & integrity (Chap. 6) 2 Outline User-level protections 1.Memory protection 2.Control of access.
CMSC 414 Computer and Network Security Lecture 13 Jonathan Katz.
Protection and Security. Policy & Mechanism Protection mechanisms are tools used to implement security policies –Authentication –Authorization –Cryptography.
Protection. Goals of Protection Operating system consists of a collection of objects, hardware or software Each object has a unique name and can be accessed.
Bilkent University Department of Computer Engineering
Reasons for Protection n Prevent users from accessing information they shouldn’t have access to. n Ensure that each program component uses system resources.
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.
Chapter 1 Introduction. Chapter Overview Overview of Operating Systems Secure Operating Systems Basic Concepts in Information Security Design of a Secure.
1 Building with Assurance CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute May 10, 2004.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 10 Jonathan Katz.
CSE331: Introduction to Networks and Security Lecture 29 Fall 2002.
1 CSE 380 Computer Operating Systems Instructor: Insup Lee and Dianna Xu University of Pennsylvania Fall 2003 Lecture Note: Protection Mechanisms.
Chapter 14: Protection.
CMSC 414 Computer and Network Security Lecture 13 Jonathan Katz.
SE571 Security in Computing
Lecture 7 Access Control
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Dr. Kalpakis CMSC 421, Operating Systems. Fall 2008 URL: Protection.
Page 19/4/2015 CSE 30341: Operating Systems Principles Raid storage  Raid – 0: Striping  Good I/O performance if spread across disks (equivalent to n.
Operating Systems Protection & Security.
Systems Security & Audit Operating Systems security.
ISA 562 Internet Security Theory & Practice
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.
Presented by Amlan B Dey.  Access control is the traditional center of gravity of computer security.  It is where security engineering meets computer.
G53SEC 1 Reference Monitors Enforcement of Access Control.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
14.1 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 14: Protection Goals of Protection Principles of Protection Domain of Protection.
Page 110/19/2015 CSE 30341: Operating Systems Principles Chapter 10: File-System Interface  Objectives:  To explain the function of file systems  To.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 14: Protection.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
G53SEC 1 Access Control principals, objects and their operations.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 18: Protection Goals of Protection Objects and Domains Access Matrix Implementation.
CE Operating Systems Lecture 21 Operating Systems Protection with examples from Linux & Windows.
G53SEC 1 Reference Monitors Enforcement of Access Control.
(a) What is the output generated by this program? In fact the output is not uniquely defined, i.e., it is not always the same. So please give three examples.
UNIX System Protection. Unix History Developed by Dennis Ritchie and Ken Thompson at AT&T Bell Labs Adapted some ideas from the Multics project in 1969.
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.,
Wireless and Mobile Security
Access Control Lesson Introduction ●Understand the importance of access control ●Explore ways in which access control can be implemented ●Understand how.
Chapter 14: Protection Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Apr 11, 2005 Chapter 14: Protection Goals.
Design Principles and Common Security Related Programming Problems
11.1 CSE Department MAITSandeep Tayal 11: Protection Goals of Protection Domain of Protection Access Matrix Implementation of Access Matrix Revocation.
Protection & Security Greg Bilodeau CS 5204 October 13, 2009.
Lecture 14 Page 1 CS 111 Summer 2013 Security in Operating Systems: Basics CS 111 Operating Systems Peter Reiher.
Lecture 12 Page 1 CS 111 Summer 2014 Security in Operating Systems: Basics CS 111 Operating Systems Peter Reiher.
4P13 Week 5 Talking Points 1. Security Provided by BSD a self-protecting Trusted Computing Base (TCB) spanning kernel and userspace; kernel isolation.
Lecture 4 Page 1 CS 111 Online Modularity and Memory Clearly, programs must have access to memory We need abstractions that give them the required access.
CSE Operating System Principles Protection.
ACCESS MATRIX IMPLEMENTATION AND COMPARISON By: Rushabh Dharwadkar Roll no: TE COMP.
W4118 Operating Systems Instructor: Junfeng Yang.
18.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 18: Protection Goals of Protection Domain of Protection Access Matrix.
1 Security Architecture and Designs  Security Architecture Description and benefits  Definition of Trusted Computing Base (TCB)  System level and Enterprise.
PROTECTION.
Introduction to Operating Systems
Chapter 14: System Protection
Modularity and Memory Clearly, programs must have access to memory
What is an Operating System?
Chapter 14: Protection.
Operating Systems Security
Introduction to Operating Systems
Chapter 14: Protection.
CE Operating Systems Lecture 21
UNIX System Protection
Lecture 4: File-System Interface
Presentation transcript:

CSE331: Introduction to Networks and Security Lecture 28 Fall 2002

CSE331 Fall Announcements Project 3 is due on Monday Nov. 18 th 4 th individual homework assignment –Security general concepts –Cryptography –Authentication protocols –Handed out next week; Due at end of the semester

CSE331 Fall Recall: The “Gold” Standard Authentication –Identify which principals take which actions Audit –Recording the security relevant actions Authorization –Determine what actions are permissible –This lecture

CSE331 Fall Authorization Authorization is the process of determining whether a principal is permitted to perform a particular action. Access control –Example: Read/Write/Execute permissions for a file system. –Example: Java applets have restricted authorization to perform network & disk I/O.

CSE331 Fall Policy vs. Mechanism Access control policy is a specification –Given in terms of a model of the system –Subjects: do things (i.e. a process writes to files) –Objects: are passive (i.e. the file itself) –Actions: what the subjects do (i.e. read a string from a file) –Rights: describe authority (i.e. read or write permission) Mechanisms are used to implement a policy –Example: access control bits in Unix file system & OS checks –Mechanism should be general; ideally should not constrain the possible policies. –Complete mediation: every access must be checked

CSE331 Fall Reference Monitors Subject Monitor (Action, Object) Request Granted Denied?

CSE331 Fall Example Reference Monitors Operating Systems –File system –Memory (virtual memory, separate address spaces) Firewalls –Regulate network access Java Virtual Machine –Regulates Java programs’ resource usage Operate at different levels of abstraction –Interface (Subjects, Objects, Actions) varies

CSE331 Fall Access Control Matrices A[s][o]Obj 1 Obj 2 …Obj N Subj 1 {r,w,x}{r,w}…{} Subj 2 {w,x}{}…… …………… Subj M {x}{r,w,x}… Each entry contains a set of rights.

CSE331 Fall Access Control Checks Suppose subject s wants to perform action that requires right r on object o: If (r  A[s][o]) then perform action else access is denied

CSE331 Fall Rights and Actions Besides read, write, execute actions there are many others: Ownership Creation –New subjects (i.e. in Unix add a user) –New objects (i.e. create a new file) –New rights: Grant right r to subject s with respect to object o (sometimes called delegation) Deletion of –Subjects –Objects –Rights (sometimes called revocation)

CSE331 Fall Example Assume OS is a subject with all rights To create a file f owned by Alice: –Create object f –Grant own to Alice with respect to f –Grant read to Alice with respect to f –Grant write to Alice with respect to f

CSE331 Fall Implementing Reference Monitors Criteria –Correctness –Complete mediation –Expressiveness (what policies are admitted) –How large/complex is the mechanism? Trusted Computing Base (TCB) –The set of components that must be trusted to enforce a given security policy –Would like to simplify/minimize the TCB to improve assurance of correctness

CSE331 Fall Software Mechanisms Interpreters –Check the execution of every instruction –Hard to mediate high-level abstractions Wrappers –Only “interpret” some of the instructions –What do you wrap? –Where do you wrap? (link-time?) Program Interpreter Hardware A[s][o]

CSE331 Fall Hardware Mechanisms Multiple modes of operation –User mode (problem state) –Kernel mode (supervisor state) Specialized hardware –Virtual memory support (TLB’s, etc.) –Interrupts

CSE331 Fall Protecting the Reference Monitor It must not be possible to circumvent the reference monitor by corrupting it Mechanisms –Type checking –Sandboxing: run processes in isolation –Software fault isolation: rewrite memory access instructions to perform bounds checking –User/Kernel modes –Segmentation of memory (OS resources aren’t part of virtual memory system)

CSE331 Fall Storing the Access Control Matrix Subjects >> # users –Processes Objects >> # files –Potentially could have permissions on any resource The matrix is typically sparse –Store only non-empty entries

CSE331 Fall Access Control Lists A[s][o]Obj 1 Obj 2 …Obj N Subj 1 {r,w,x}{r,w}…{} Subj 2 {w,x}{}…{r} …………… Subj M {x}{r,w,x}… For each object, store a list of (Subject x Rights) pairs.

CSE331 Fall Access Control Lists Resolving queries is linear in length of the list Revocation w.r.t. a single object is easy “Who can access this object?” is easy –Useful for auditing Lists could be long –Factor into groups (lists of subjects) –Give permissions based on group –Introduces consistency question w.r.t. groups Authentication critical –When does it take place? Every access would be expensive.

CSE331 Fall Capabilities Lists A[s][o]Obj 1 Obj 2 …Obj N Subj 1 {r,w,x}{r,w}…{} Subj 2 {w,x}{}…{r} …………… Subj M {x}{r,w,x}… For each subject, store a list of (Object x Rights) pairs.

CSE331 Fall Capabilities A capability is a (Object, Rights) pair –Used like a movie ticket (“Star Wars II”, {view}) Should be unforgeable –Otherwise, subjects could get illegal access Authentication takes place when the capabilities are granted (not needed at use) Harder to do revocation (must find all tickets) Easy to audit a subject, hard to audit an object

CSE331 Fall Implementing Capabilities Must be able to name objects Unique identifiers –Must keep map of UIDs to objects –Must protect integrity of the map –Extra level of indirection to use the object –Generating UIDs can be difficult Pointers –Name changes when the object moves –Remote pointers in distributed setting –Aliasing possible

CSE331 Fall Unforgeability of Capabilities Special hardware: tagged words in memory –Can’t copy/modify tagged words Store the capabilities in protected address space Could use static scoping mechanism of safe programming languages. –Java’s “private” fields Could use cryptographic techniques –OS kernel could sign (Object, Rights) pairs using a private key –Any process can verify the capability