Computer Science and Engineering Computer System Security CSE 5339/7339 Session 19 October 26, 2004.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Operating System Security
Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings.
Chapter 6 Security Kernels.
Chapter 6 User Protections in OS. csci5233 computer security & integrity (Chap. 6) 2 Outline User-level protections 1.Memory protection 2.Control of access.
CSC 405 Introduction to Computer Security
Secure Operating Systems Lesson 0x11h: Systems Assurance.
CMSC 414 Computer and Network Security Lecture 13 Jonathan Katz.
CSE331: Introduction to Networks and Security Lecture 28 Fall 2002.
CS-550 (M.Soneru): Protection and Security - 1 [SaS] 1 Protection and Security.
1 Building with Assurance CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute May 10, 2004.
Chapter 11 Operating Systems
CS533 - Concepts of Operating Systems
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 20 October 28, 2004.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Systems Security & Audit Operating Systems security.
1 Operating System Overview Chapter 2 Advanced Operating System.
Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings.
Trusted System? What are the characteristics of a trusted system?
ISA 562 Internet Security Theory & Practice
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
G53SEC 1 Reference Monitors Enforcement of Access Control.
The Architecture of Secure Systems Jim Alves-Foss Laboratory for Applied Logic Department of Computer Science University of Idaho By, Nagaashwini Katta.
Chapter 5 – Designing Trusted Operating Systems  What makes an operating system “secure”? Or “trustworthy?  How are trusted systems designed, and which.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Security Architecture and Design Chapter 4 Part 3 Pages 357 to 377.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
G53SEC 1 Reference Monitors Enforcement of Access Control.
Operating Systems Lecture November 2015© Copyright Virtual University of Pakistan 2 Agenda for Today Review of previous lecture Hardware (I/O, memory,
CS 346 – Chapter 2 OS services –OS user interface –System calls –System programs How to make an OS –Implementation –Structure –Virtual machines Commitment.
Operating System Principles And Multitasking
Trusted OS Design and Evaluation CS432 - Security in Computing Copyright © 2005, 2010 by Scott Orr and the Trustees of Indiana University.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
UNIX Unit 1- Architecture of Unix - By Pratima.
Operating Systems Security
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Design Principles and Common Security Related Programming Problems
Chapter 19: Building Systems with Assurance Dr. Wayne Summers Department of Computer Science Columbus State University
Lecture9 Page 1 CS 236 Online Operating System Security, Con’t CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
1 Operating System Overview Chapter 2. 2 Operating System A program that controls the execution of application programs An interface between applications.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 3: Operating-System Structures System Components Operating System Services.
Chapter 21: Evaluating Systems Dr. Wayne Summers Department of Computer Science Columbus State University
LINUX Presented By Parvathy Subramanian. April 23, 2008LINUX, By Parvathy Subramanian2 Agenda ► Introduction ► Standard design for security systems ►
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.
Chap5: Designing Trusted Operating Systems.  What makes an operating system “secure”? Or “trustworthy”?  How are trusted systems designed, and which.
1 Security Architecture and Designs  Security Architecture Description and benefits  Definition of Trusted Computing Base (TCB)  System level and Enterprise.
Operating System Structure Lecture: - Operating System Concepts Lecturer: - Pooja Sharma Computer Science Department, Punjabi University, Patiala.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
Computer Security: Chapter 5 Operating Systems Security.
Security Models and Designing a Trusted Operating System
Operating System Structure
Operating Systems Security
Official levels of Computer Security
THE ORANGE BOOK Ravi Sandhu
Chapter 2: Operating-System Structures
Chapter 29: Program Security
Operating Systems : Overview
Operating Systems : Overview
Chapter 2 Operating System Overview
Chapter 2: Operating-System Structures
Presentation transcript:

Computer Science and Engineering Computer System Security CSE 5339/7339 Session 19 October 26, 2004

Computer Science and Engineering Contents  A4  in  A5  out  Trusted Operating Systems  Angela’s presentation

Computer Science and Engineering Trusted OS Design  OS is a complex system  difficult to design  Adding the responsibility of security enforcement makes it even more difficult  OS controls interactions between subjects and objects  Clear mapping from security requirements to the design  Design must be checked using formal reviews or simulation  Requirements  design  testing

Computer Science and Engineering Security Design Principles  Least privilege – users, programs, fewest privilege possible  Economy of mechanism – small, simple, straight forward  Open design – extensive public scrutiny  Complete mediation – every attempt must be checked  Permission based – denial of access is the default  Separation of privilege – more than one condition  Least common mechanism – the risk of sharing  Ease of use – unlikely to be avoided

Computer Science and Engineering OS User interface Resource allocation Services users DataCPUMemoryI/O devices TablesLibraries Synchronization Concurrency control Deadlock management Communication Accounting OS Functions

Computer Science and Engineering Security features in ordinary OS  Authentication of users – password comparison  Protection of memory – user space, paging, segmentations  File and I/O device access control – access control matrix  Allocation & access control to general objects – table lookup  Enforcement of sharing – integrity, consistency  Fair service – no starvation  Interprocess communication & synchronization – table lookup  Protection of OS protection data – encryption, hardware control, isolation

Computer Science and Engineering Security features of Trusted OS  Identification and Authentication  Mandatory and Discretionary Access Control (MAC & DAC)  Object reuse protection  Complete mediation – all accesses are checked  Trusted path  Accountability and Audit – security log  Audit log reduction  Intrusion detection – patterns of normal system usages, anomalies

Computer Science and Engineering Kernel – OS part that performs lowest level functions User tasks OS OS Kernel Hardware

Computer Science and Engineering Security Kernel – responsible for enforcing security mechanisms of the entire OS  Coverage – ensure that every access is checked  Separation – security mechanisms are isolated from the rest of OS and from user space  easier to protect  Unity – all security mechanisms are performed by a single set of code  easier to trace problems  Modifiability – security mechanism changes are easier to make and test  Compactness – relatively small  Verifiability – formal methods, all situations are covered

Computer Science and Engineering Reference Monitor – the portion of a security kernel that controls accesses to objects  Collection of access controls for  Devices  Files  Memory  Interprocess communication  Other objects  It must be  Always invoked when any object is accessed  Small enough – analysis, testing  Tamperproof O S OO SS Gate

Computer Science and Engineering Trusted Computing Base (TCB) – everything in the trusted OS necessary to enforce security policy System element on which security enforcement depends:  Hardware – processors, memory, registers, and I/O devices  Processes – separate and protect security-critical processes  Primitive files – security access control database, identification/authentication data  Protected memory – reference monitor can be protected against tampering  Interprocess communication – for example: reference monitor can invoke and pass data securely to audit routine

Computer Science and Engineering TCB and Non-TCB Code Primitive I/O Basic Operations Clocks, timing Interrupt handling Hardware:registers memory Capabilities Applications Utilities User request interpreter … Segmentation, paging, memory management TCB Non-TCB

Computer Science and Engineering TCB monitors 4 basic interactions:  Process activation  Execution domain switching  Memory Protection  I/O operation

Computer Science and Engineering Combined Security Kernel / OS System User tasks OS OS Kernel Hardware Security activity OS Kernel: - HW interactions - Access control OS: - Resource allocation - Sharing - Access control - Authentication functions

Computer Science and Engineering Separate Security Kernel User tasks OS Security Kernel Hardware Security Kernel: -Access control -Authentication functions OS: - Resource allocation - Sharing - Hardware interactions

Computer Science and Engineering Separation:  Physical Separation  Temporal Separation  Cryptographic Separation  Logical separation (isolation)

Computer Science and Engineering Virtualization:  Illusion  The OS emulates or simulates a collection of a computer system’s resources.  Virtual Machine: Collection of real or simulated hardware facilities – processor, memory, I/O devices

Computer Science and Engineering IBM MVS/ESA  Paging System  Virtualization is used to provide logical separation that gives the user the impression of physical separation.  Each user feels that he/she has a separate machine  Each user’s virtual memory space cab be as large as the total addressable space.

Computer Science and Engineering Virtual machine Real System Resources Real OS VirtualMachine User 1 VirtualMachine User 2 VirtualMachine User 3

Computer Science and Engineering Layered OS Hardware Security functions Synchronization, allocation Scheduling, sharing, MM File system, device allocation Utility functions Compilers, database User processes OS kernel Security kernel OS

Computer Science and Engineering Provably Secure Operating System (PSOS)  16 level Layered structure (see table – page 272)  Each layer uses the services of the layers below it, and provides certain level of functionality to the layers above it.  Peel off each layer and still have a logically complete system with less functionality

Computer Science and Engineering Conventionally vs. Hierarchically Designed Systems LevelFunctionsRisk AllNon-criticalDisaster possible AllLess criticalDisaster possible AllMost criticalDisaster possible levelFunctionsRisk 2Non-critical 1Less critical 0Most critical

Computer Science and Engineering Assurance  Testing – based on the actual product being evaluated, not on abstraction  Verification – each of the system’s functions works correctly  Validation – the developer is building the right product (according to the specification)

Computer Science and Engineering Testing  Can demonstrate the existence of a problem, but passing tests does not imply the absence of problems  Hard to achieve adequate test coverage within reasonable time – inputs & internal states  Observable effects versus internal structure  real-time systems – hard to keep track of all states  Penetrating Testing – tiger team analysis, ethical hacking Team of experts in the design of OS tries to crack the system

Computer Science and Engineering Formal verification  The most rigorous method  Rules of mathematical logic to demonstrate that a system has certain security property  Proving a Theorem  Time consuming – complex process  Simple example

Computer Science and Engineering Example – Finding the minimum value Flow chart – page 278 Assertions P:n > 0Q:n > 0 and 1  i  n and min  A[1] R:n > 0 and S:n > 0 and 1  i  n andi = n + 1 and for all j 1  j  i -1 for all j 1  j  i -1 min  A[j]

Computer Science and Engineering Validation  Requirements checking – system does things it should do (in security, system does not do things it is not supposed to do)  Design and code reviews – traceability from each requirement to design and code components  System testing – data expected from reading the requirement document can be confirmed in the actual running of the systems