Network Security Philadelphia UniversitylAhmad Al-Ghoul 2010-20111 Module 6 Module 6 Security in Operating Systems  MModified by :Ahmad Al Ghoul  PPhiladelphia.

Slides:



Advertisements
Similar presentations
CHAPTER 4 Protection in General-Purpose Operating Systems (c) by Syed Ardi Syed Yahya Kamal, UTM
Advertisements

Chapter 7 Memory Management Operating Systems: Internals and Design Principles, 6/E William Stallings Dave Bremer Otago Polytechnic, N.Z. ©2009, Prentice.
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
Memory Management Questions answered in this lecture: How do processes share memory? What is static relocation? What is dynamic relocation? What is segmentation?
Memory Management Design & Implementation Segmentation Chapter 4.
File Management Systems
Memory Management (II)
CS-550 (M.Soneru): Protection and Security - 1 [SaS] 1 Protection and Security.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
1 Chapter 8 Virtual Memory Virtual memory is a storage allocation scheme in which secondary memory can be addressed as though it were part of main memory.
Memory Management Five Requirements for Memory Management to satisfy: –Relocation Users generally don’t know where they will be placed in main memory May.
95-752:7-1 Operating System Features :7-2 Operating System Features Memory protection Temporary file issues Dead space issues Sandboxing Object.
Chapter 12 File Management Systems
CMSC 414 Computer and Network Security Lecture 13 Jonathan Katz.
SE571 Security in Computing
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.
Chapter 3.1: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.
Systems Security & Audit Operating Systems security.
1 Chapter 12 File Management Systems. 2 Systems Architecture Chapter 12.
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-7 Memory Management (1) Department of Computer Science and Software.
1 Memory Management Memory Management COSC513 – Spring 2004 Student Name: Nan Qiao Student ID#: Professor: Dr. Morteza Anvari.
G53SEC 1 Reference Monitors Enforcement of Access Control.
File Protection Mechanisms  All-None Protection Lack of trustLack of trust All or nothingAll or nothing Timesharing issuesTimesharing issues ComplexityComplexity.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
CSCE 201 Identification and Authentication Microsoft support Fall 2010.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Memory Management – Page 1 of 49CSCI 4717 – Computer Architecture Memory Management Uni-program – memory split into two parts –One for Operating System.
Memory Management. Roadmap Basic requirements of Memory Management Memory Partitioning Basic blocks of memory management –Paging –Segmentation.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming  To allocate scarce memory resources.
Chapter 4 – Protection in General-Purpose Operating Systems Section 4.5 User Authentication.
Security in Operating Systems Cuiwei Zhao. Security in Operating System §Security breaches §Security goals §Protected objects of the general purpose operating.
Chapter 4 – Protection in General Purpose Operating Systems  Protection features provided by general-purpose operating systems— protecting memory, files,
Protection in General- Purpose OS Week-3. Our Main Concern In what way do operating systems protect one user’s process from inadvertent or malicious interaction.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
G53SEC 1 Reference Monitors Enforcement of Access Control.
SAM-21 Fortress Model and Defense in Depth Some revision on Computer Architecture.
1 Memory Management Chapter 7. 2 Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable.
Security in Computing Protection in General-Purpose Operating Systems.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
1 Memory Management Chapter 7. 2 Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable.
Identification Authentication. 2 Authentication Allows an entity (a user or a system) to prove its identity to another entity Typically, the entity whose.
Linux-vs-Windows Security
Lecture 14 Page 1 CS 111 Summer 2013 Security in Operating Systems: Basics CS 111 Operating Systems Peter Reiher.
Lectures 8 & 9 Virtual Memory - Paging & Segmentation System Design.
CSCE 201 Identification and Authentication Fall 2015.
Network Security Philadelphia UniversitylAhmad Al-Ghoul Module 7 Module 7 Data Base Security  MModified by :Ahmad Al Ghoul  PPhiladelphia.
My topic is…………. - It is the fundamental building block and the primary lines of defense in computer security. - It is a basic for access control and.
Chapter 7 Memory Management Eighth Edition William Stallings Operating Systems: Internals and Design Principles.
Memory Management Chapter 5 Advanced Operating System.
Chap5: Designing Trusted Operating Systems.  What makes an operating system “secure”? Or “trustworthy”?  How are trusted systems designed, and which.
SECURITY IN COMPUTING BY PFLEEGER Operating Systems Security.
Computer Security: Chapter 5 Operating Systems Security.
6- 1 Last time ● Controls against security flaws in programs ● Various controls applicable to each of the stages in the software development lifecycle.
Chapter 7 Memory Management
Modularity Most useful abstractions an OS wants to offer can’t be directly realized by hardware Modularity is one technique the OS uses to provide better.
PROTECTION.
Memory Management.
Computer Data Security & Privacy
Chapter 2: System Structures
Operating Systems Security
Protection in Operating Systems
Operating System Concepts
Background Program must be brought into memory and placed within a process for it to be run. Input queue – collection of processes on the disk that are.
Chapter 2: System Structures
Operating Systems Lecture 3.
CSE451 Virtual Memory Paging Autumn 2002
Management From the memory view, we can list four important tasks that the OS is responsible for ; To know the used and unused memory partitions To allocate.
Access Control and Audit
Presentation transcript:

Network Security Philadelphia UniversitylAhmad Al-Ghoul Module 6 Module 6 Security in Operating Systems  MModified by :Ahmad Al Ghoul  PPhiladelphia University  FFaculty Of Administrative & Financial Sciences  BBusiness Networking & System Management Department  RRoom Number  E Address:

Network Security Philadelphia UniversitylAhmad Al-Ghoul Contents  Protection In General-Purpose OS  Protected Objects and Methods  Protection by separation  Memory and address protection  Protecting Access to General Objects  Access control for general objects  Directory  File protection mechanisms  passwords  Trusted OS

Network Security Philadelphia UniversitylAhmad Al-Ghoul Protection In General-Purpose OS objectives  Protected Objects and Methods  Protecting Memory and Addressing  Protecting Access to General Objects  File Protection Mechanisms  User Authentication

Network Security Philadelphia UniversitylAhmad Al-Ghoul Protected Objects and Methods  Protected Objects  Security Methods of Operating Systems

Network Security Philadelphia UniversitylAhmad Al-Ghoul Protected Objects With the rise of multiprogramming, several objects of a computing system required protection: Memory Sharable I/O devices, such as disks reusable I/O devices, such as printers and tape drives sharable programs and sub-procedures sharable data

Network Security Philadelphia UniversitylAhmad Al-Ghoul Security Methods of Operating Systems  Separation: keeping one user’s objects separate from other users’, separation in an operating system can occur in several ways Physical Separation, in which processes use different physical objects, such as separate printers for output requiring different levels of security Temporal Separation, in which processes having different security requirements are executed at different times Logical Separation, in which users operate under the illusion that no other processes exist, as when an operating system constrains a program’s access so that it cannot access objects outside its permitted domain Cryptographic Separation, in which processes conceal their data and computations in such a way that they are unintelligible to outside processes.

Network Security Philadelphia UniversitylAhmad Al-Ghoul Protecting Memory and Addressing (1)  The most obvious problem of multiprogramming is preventing one program from affecting the memory of other programs. Protection can be built into the hardware mechanisms that provide for efficient use of memory, so that solid protection can be provided at essentially no additional coast  Fence: A fence is a method to confine users to one side of a boundary. Can protect operating system from one user, but not users from each other Usually, fence is implemented via a hardware register.  Unfortunately, that implementation was very restricted because a predefined amount of space was reserved for operating system. If less than that amount of space was required, the access space was wasted and the operating system could not grow beyond the the fence boundary.

Network Security Philadelphia UniversitylAhmad Al-Ghoul Fence:

Network Security Philadelphia UniversitylAhmad Al-Ghoul Protecting Memory and Addressing (2)  Relocation : Relocation is the process of taking a program written as if it began at address 0 and changing all addresses to reflect the actual address at which the program is located in memory. Fence register can be used within relocation process. To each program address, the contents of the fence register are added. This both relocates the address and guarantees that no one can access a location lower than a fence address.

Network Security Philadelphia UniversitylAhmad Al-Ghoul Relocation

Network Security Philadelphia UniversitylAhmad Al-Ghoul Protecting Memory and Addressing (3)  Base/Bounds Registers: In a multi-user, multiprogramming environment. With 2 or more users, neither can know in advance where a program will be loaded for execution. The relocation register solves the problem by providing a base or starting address. The fence register is variable. In this case fence register is called base register. Fence registers only provide a lower bound (a starting address), but not an upper one. A second register, called a bounds register can be used to provide a upper bound. In this way, a program’s addresses are neatly confined to the space between the base and the bounds registers. This technique protects a program’s addresses from modification by another user.

Network Security Philadelphia UniversitylAhmad Al-Ghoul Base/Bounds Registers

Network Security Philadelphia UniversitylAhmad Al-Ghoul Protecting Memory and Addressing (4)  Base/bounds registers create an all-or-nothing situation for sharing, that is, either a program makes all its data available to be accessed and modified, or it prohibits access to all. But in some cases, one may want to protect some data values but not all. One of the solutions of such cases is tagged architecture.  Tagged Architecture: The disadvantage of Base/Bounds technique  Tagged Architecture Every word of machine memory has one or more extra bits to identify the access rights to that word. This technique is not wide spread because of the market consideration (compatibility of code)

Network Security Philadelphia UniversitylAhmad Al-Ghoul Tagged Architecture

Network Security Philadelphia UniversitylAhmad Al-Ghoul Protecting Memory and Addressing (5)  Segmentation: Segmentation divides a program into separate pieces. Each piece has a logical unity, a relationship among all of its code or data value. Segmentation was developed as a feasible means to have the effect of an unbounded number of base/bounds registers: a program could be divided into many pieces having different access rights. The operating system must maintain a table of segment names and their true addresses in memory. The program address is in the form (where name is the name of the segment containing data item and offeset is its location within the segment). OS can retrieve the real address via looking for the table then making a simple calculation: address of the name + offset 25070

Network Security Philadelphia UniversitylAhmad Al-Ghoul Segmentation

Network Security Philadelphia UniversitylAhmad Al-Ghoul Protecting Memory and Addressing (6)  Paging : An alternative to segmentation is paging. The program is divided into equal-sized pieces called pages, and memory is divided into the same sized units, called page frames. Each address is represented in a form. Operating system maintains a table of user page numbers and their true addresses in memory. The page portion of every reference is converted to a page frame address by a table lookup; the offset portion is added to the page frame address to produce the real memory address of the object referred to as.

Network Security Philadelphia UniversitylAhmad Al-Ghoul Paging

Network Security Philadelphia UniversitylAhmad Al-Ghoul Protecting Access to General Objects  Protection of memory is a specific case of the more general problem of protection of objects. Next I will discuss the general techniques for protecting access to general objects.  Directory  Access Control List

Network Security Philadelphia UniversitylAhmad Al-Ghoul General Objects Memory a file or data set on an auxiliary storage device an executing program in memory a directory of files a hardware device a data structure, such as a stack. A table of the operating system instructions, especially privileged instructions passwords the protection mechanism itself

Network Security Philadelphia UniversitylAhmad Al-Ghoul Directory This technique works like a file directory. Imagine the set of objects to be files and the set of subjects to be users of a computing system. Every file has a unique owner who possesses “control” access rights, including the right to declare who has what access and to revoke access to any person at any time. Each user has a file directory, which lists all the files to which that user has access. OS maintains all directories. Each user has a list (directory) that contains all the objects that user is allowed to access.suppose that user S has trouble remembering file content from the name F anther approach is to allow S to name F with any unique name to the directory of S. then F from could be called Q to S. S may forgotten that F is Q from A and so S requests access again from A for F. A trust S, so A transfer F with greater rights than before. This leaves the possibility of one subject S having two sets of access rights to F. the directory approach therefore, is to simple for most object protection situation. This case shown in the figure next slide.

Network Security Philadelphia UniversitylAhmad Al-Ghoul Directory

Network Security Philadelphia UniversitylAhmad Al-Ghoul Access control for general objects  Objects: memory, files, executing program in memory, directory, hardware device, data structures, table of the OS, instructions, passwords/user authentication mechanism, protection mechanism itself.  Goals: –Check every access –Enforce least privilege –Verify acceptable usage

Network Security Philadelphia UniversitylAhmad Al-Ghoul Access Control List Each object has an access control list. This list shows all subjects who should have access to the object and what the access is. This technique is widely used in Distributed File Systems.

Network Security Philadelphia UniversitylAhmad Al-Ghoul File Protection Mechanisms  All-or-none protection  Group protection  Single permissions (password protection for files)

Network Security Philadelphia UniversitylAhmad Al-Ghoul Basic Forms of Protection  All-None Protection: All none protection is based on trust and ignorance. Trust means that users could be trusted not to read or modify other’s files. Ignorance is based on the users only know the names of the files to which they have legitimate access. The principal protection was trust, combined with ignorance.  Group Protection Users in the same group have the same right for objects.

Network Security Philadelphia UniversitylAhmad Al-Ghoul Single Permissions  Password or other token –assign a password to a file: A simplified form of password protection is applicable for file protection. A user can assign a password to a file. User accesses are limited to those who can supply the correct password at the time the file is opened.  Temporary Acquired Permission –Unix set userid permission. If this protection is set for a file to be executed, the protection level is that of the file’s owner, not the executor.

Network Security Philadelphia UniversitylAhmad Al-Ghoul User Authentication  An operating system bases much of its protection on knowing who a user of the system is. The ways of an operating system identify and authenticate a user are:  Use of Passwords  Attacks on Passwords  Password Selection Criteria  The Authentication Process  Flaws in the Authentication Process  Authentication Other Than Passwords

Network Security Philadelphia UniversitylAhmad Al-Ghoul Use of Passwords Passwords are mutually agreed-upon code words, assumed to be known only to the user and the system. The use of of passwords is fairly straightforward. A user enters some piece of identification, such as a name or an assigned user ID, if the identification matches that on file for the user, the user is authenticated to the system. If the identification match fails, the user is rejected by the system.

Network Security Philadelphia UniversitylAhmad Al-Ghoul Attacks on Passwords  Try all possible passwords –exhaustive or brute force attack  Try many probable passwords –Users do not likely select a password uncommon, hard to spell or pronounce, very long  Try passwords likely for the user –Password generally is meaningful to the user  Search for the system list of passwords –Finding a plain text system password list  Ask the user –Get the password directly from the user.

Network Security Philadelphia UniversitylAhmad Al-Ghoul Password Selection Criteria  Password selection criteria –Non-alphabetic (mixed) –Long –Avoid actual names – Change regularly –Don’t write it down –Don’t tell any one –One-time passwords

Network Security Philadelphia UniversitylAhmad Al-Ghoul Flaws in the Authentication Process  Password authentication assumes that anyone who knows the password is the user to whom the password belongs.but password can be stolen. The password then is a piece of evidence but we want more convincing proof.  Challenge response systems:  The system prompts the user for a reply that is different each time the user logs in. for ex. The system might display four digit number, and the user would have correctly enter a function such as the sum or product of the digits

Network Security Philadelphia UniversitylAhmad Al-Ghoul Authentication Other Than Passwords  There are other ways for authentication, like PIN, mother’s maiden name, passcode, ATM card, smart card, token, key, ID Badge, driver license, passport, Fingerprint, voice scan, DNA

Network Security Philadelphia UniversitylAhmad Al-Ghoul Designing Trusted Operating Systems  An OS is trusted if we have confidence that it provides the four services in a consistent and effective way –Memory protection –File protection –General object access control –User authentication