G53SEC 1 Reference Monitors Enforcement of Access Control.

Slides:



Advertisements
Similar presentations
Computer-System Structures Er.Harsimran Singh
Advertisements

CS426Fall 2010/Lecture 71 Computer Security CS 426 Lecture 7 Operating System Security Basics.
Secure Operating Systems Lesson 9: Multics. Where are we?  We now know all the background… so it’s time to figure out why Dr. Ford likes Multics so very.
Chapter 6 Security Kernels.
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
CSE331: Introduction to Networks and Security Lecture 28 Fall 2002.
OS2-1 Chapter 2 Computer System Structures. OS2-2 Outlines Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
OS Spring’03 Introduction Operating Systems Spring 2003.
Abhinav Kamra Computer Science, Columbia University 2.1 Operating System Concepts Silberschatz, Galvin and Gagne  2002 Chapter 2: Computer-System Structures.
General System Architecture and I/O.  I/O devices and the CPU can execute concurrently.  Each device controller is in charge of a particular device.
ISA 562 Internet Security Theory & Practice
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
2.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 2: Computer-System Structures Computer System Operation I/O Structure.
CHAPTER 2: COMPUTER-SYSTEM STRUCTURES Computer system operation Computer system operation I/O structure I/O structure Storage structure Storage structure.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 2: Computer-System Structures Computer System Operation I/O Structure.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Chapter 2: Computer-System Structures
1 CSE Department MAITSandeep Tayal Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection.
2: Computer-System Structures
Security Architecture and Design Chapter 4 Part 3 Pages 357 to 377.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS-Related Hardware.
1 Chapter 2: Computer-System Structures  Computer System Operation  I/O Structure  Storage Structure  Storage Hierarchy  Hardware Protection  General.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection Network Structure.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
G53SEC 1 Reference Monitors Enforcement of Access Control.
SAM-21 Fortress Model and Defense in Depth Some revision on Computer Architecture.
Operating Systems Lecture November 2015© Copyright Virtual University of Pakistan 2 Agenda for Today Review of previous lecture Hardware (I/O, memory,
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Operating Systems 1 K. Salah Module 1.2: Fundamental Concepts Interrupts System Calls.
1 CS.217 Operating System By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 2 Computer-System Structures Slide 1 Chapter 2 Computer-System Structures.
Operating Systems Security
Silberschatz, Galvin and Gagne  Applied Operating System Concepts Chapter 2: Computer-System Structures Computer System Architecture and Operation.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Chapter 2: Computer-System Structures(Hardware) or Architecture or Organization Computer System Operation I/O Structure Storage Structure Storage Hierarchy.
Lecture 5 Rootkits Hoglund/Butler (Chapters 1-3).
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.
1 Security Architecture and Designs  Security Architecture Description and benefits  Definition of Trusted Computing Base (TCB)  System level and Enterprise.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
CSCE451/851 Introduction to Operating Systems
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Introduction to Operating Systems Concepts
Introduction to Operating Systems
Chapter 2: Computer-System Structures(Hardware)
Chapter 2: Computer-System Structures
Chapter 2: Computer-System Structures
Protection and OS Structure
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Computer-System Architecture
Module 2: Computer-System Structures
Operating Systems Lecture 3.
CSE 451: Operating Systems Autumn 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 596 Allen Center 1.
Module 2: Computer-System Structures
CSE 451: Operating Systems Winter 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 412 Sieg Hall 1.
Chapter 2: Computer-System Structures
Chapter 2: Computer-System Structures
Module 2: Computer-System Structures
Module 2: Computer-System Structures
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Presentation transcript:

G53SEC 1 Reference Monitors Enforcement of Access Control

G53SEC Overview of Today’s Lecture: Introduction Operating System Integrity Hardware Security Features Protecting Memory 2

G53SEC Introduction: Fundamental Concepts: Reference Monitor – an abstract concept Security Kernel – its implementation Trusted Computing Base (TCB) – kernel + other protection mechanisms 3

G53SEC Reference Monitor (RM): “An access control concept that refers to an abstract machine that mediates all access to objects by subjects.” Must be tamper proof/resistant Must always be invoked when access to object required Must be small enough to be verifiable / subject to analysis to ensure its correctness 4

G53SEC Security Kernel: “The hardware, firmware, and software elements of a TCB that implement the reference monitor.” Must mediate all access Must be protected from modification Must be verifiable for correctness Ideally in the bottom layers of a system 5

G53SEC Trusted Computing Base (TCB): “The totality of protection mechanisms within a computer system responsible for enforcing a security policy” One or more components Enforce a unified security policy over a product or system Correct enforcement depends on components within and input by system administrators 6

G53SEC Reference Monitor Placement: Can be placed anywhere  Hardware  Operating System Kernel  Operating System  Services Layer  Application 7

G53SEC Reference Monitor Placement: In relation to application it should control: 8 program RM programRM program application kernel RM in kernelInterpreter In-line RM

G53SEC Execution Monitors: Decision of a RM depends on: Information about a request Information about the target RMs differentiated based on the above: History of execution - Execution monitor Future of execution - Static type checking Rewriting 9

G53SEC Operating System Integrity: OS is not only the arbitrator of access requests OS is itself an object of access control “Users must not be able to modify the operating system” Users should be able to use the OS Users should not be able to misuse the OS 10

G53SEC Modes of Operation: Distinguish computations done “on behalf of”: the OS the user A Status flag allows the OS to operate in different modes. e.g. In Unix – supervisor (root) and user modes 11

G53SEC Controlled Invocation: User requiring supervisor mode for an operation Processor switches between modes Only predefined set of operations performed in supervisor mode System returns to user mode 12

G53SEC Hardware Security Features: Reasons for placing security in lower system levels: Possibility to evaluate security to a higher degree  reasonably simple structures  security mechanism compromised if layer below attacked Performance overheads reduced Access control decisions far removed from decisions made by applications 13

G53SEC Input/Output: How to ensure secure I/O operations? e.g. user inputs username and password (input) e.g. user signs documents (output) A trusted path between I/O device and the TCB required example – secure attention sequence (Windows) 14

G53SEC Memory Structures: Security characteristics of memory structures: 1.RAM – (R/W) - Cannot guarantee integrity or confidentiality 2.ROM – built-in integrity guarantee, good for storing parts of an OS 3.EPROM – useful for storing parts of OS or crypto keys, advanced attacks may pose a threat 4.WROM – good for storing crypto keys, disks used for audit trail logs 15

G53SEC continued… Volatile memory loses its contents on power off neither instantaneous nor complete reconstructable using special electronics defence – repeated overwrites Non-volatile (permanent) memory if attacker has access by bypassing CPU further measures required (e.g. cryptography) 16

G53SEC continued… Memory main memory cache buffers etc.. Data object may exist simultaneously in more than one location! Copy held in an unprotected memory = risk 17

G53SEC Processes and Threads: Process – program in execution, important unit of control in an OS and for security Works in its own address space Communicates with other processes with help of OS Separation useful for security Thread – a strand of execution within a process 18

G53SEC Controlled Invocation - Interrupts: Exceptions/Interrupts/Traps Interruptions of executions due to errors, user request, hardware failure, etc… Handled by CPU Improper handling leads to security flaws  CTRL-C during supervisor mode operations  Interrupt table entry change 19

G53SEC Processing Interrupt: 20 TRAP #n interrupt vector interrupt handler InterruptInterrupt vector table Memory n 1010

G53SEC Processing Interrupt: 21 TRAP #n interrupt vector interrupt handler InterruptInterrupt vector table Memory n 1010 viral code

G53SEC Intel 80x86: 2-bit field in status register Defines four privilege levels (protection rings) Only one instruction can change this (POPF) Instruction can only be executed at level 0 Procedure -> object – in own or outer rings Procedure -> subroutine - only within own ring 22

G53SEC Intel 80x86: How to manage access to operations requiring higher privileges? Gates System object pointing to a procedure In the same ring as the calling procedure Has different privilege level than code it points to Allow execute-only access to procedure in inner ring 23

G53SEC Intel 80x86: Confused Deputy Problem: Outer ring -> Gate to copy an object from inner ring to outer ring This will not be prevented Doesn’t violate security policy Security policy needs to be extended – caller privilege 80x86 contains prevention mechanism 24

G53SEC Protecting Memory: OS integrity – preserved by separation of user & kernel space Separation of users: File management – logical memory object Memory management – physical memory objects 25

G53SEC continued… Segmentation – divides data into logical units Good basis for enforcing security policy Variable length – difficult memory management Paging – divides memory into pages of equal size Popular – efficient memory management Not good for access control A page might contain objects requiring different protection 26

G53SEC continued… Possibility of a covert channel Logical objects stored across boundaries 27 P a$$w0RD Pa $$w0RD Pa$ $w0RD page boundary step 1step 2step 3

G53SEC Secure Addressing: Confinement of processes to separate address spaces Control access to data objects in memory 1.OS modifies addresses received from user (address sandboxing) 2.OS constructs effective addresses from relative ones (relative addressing) 3.OS checks whether address within given bounds (base register addressing) 28

G53SEC 29 Summary: How Access Control is enforced Why OS integrity is important Security features of existing hardware How to control access to memory Next Lecture Hands-on Unix Security

G53SEC End 30 07/02/08