Security in Operating Systems Cuiwei Zhao. Security in Operating System §Security breaches §Security goals §Protected objects of the general purpose operating.

Slides:



Advertisements
Similar presentations
Memory.
Advertisements

CHAPTER 4 Protection in General-Purpose Operating Systems (c) by Syed Ardi Syed Yahya Kamal, UTM
CS426Fall 2010/Lecture 71 Computer Security CS 426 Lecture 7 Operating System Security Basics.
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?
Network Security Philadelphia UniversitylAhmad Al-Ghoul Module 6 Module 6 Security in Operating Systems  MModified by :Ahmad Al Ghoul  PPhiladelphia.
1 Protection Protection = access control Goals of protection Protecting general objects Example: file protection in Linux.
Memory Management Design & Implementation Segmentation Chapter 4.
What we will cover… Protection and Security in OS.
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.
Computer Organization and Architecture
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
CSCI2413 Lecture 6 Operating Systems Memory Management 2 phones off (please)
Protection and Security CSCI 444/544 Operating Systems Fall 2008.
Systems Security & Audit Operating Systems security.
1 Chapter 12 File Management Systems. 2 Systems Architecture Chapter 12.
Cosc 3P92 Week 9 & 10 Lecture slides
File Protection Mechanisms  All-None Protection Lack of trustLack of trust All or nothingAll or nothing Timesharing issuesTimesharing issues ComplexityComplexity.
The Protection of Information in Computer Systems Part I. Basic Principles of Information Protection Jerome Saltzer & Michael Schroeder Presented by Bert.
1 Chapter 3.2 : Virtual Memory What is virtual memory? What is virtual memory? Virtual memory management schemes Virtual memory management schemes Paging.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 9: Memory Management Background Swapping Contiguous Allocation Paging Segmentation.
Chapter 4 – Protection in General-Purpose Operating Systems Section 4.5 User Authentication.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
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.
© 2004 IBM Corporation IBM ^ z/VM Design considerations > Security > Performance (SIE)
SAM-21 Fortress Model and Defense in Depth Some revision on Computer Architecture.
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.
Operating Systems Security
Lecture 18 Windows – NT File System (NTFS)
Linux-vs-Windows Security
Memory Management OS Fazal Rehman Shamil. swapping Swapping concept comes in terms of process scheduling. Swapping is basically implemented by Medium.
Lecture 14 Page 1 CS 111 Summer 2013 Security in Operating Systems: Basics CS 111 Operating Systems Peter Reiher.
Virtual Memory From course notes University of Waikato. Some material by Tony McGregor Other material from: The Architecture.
Lecture9 Page 1 CS 236 Online Operating System Security, Con’t CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
COMP091 – Operating Systems 1 Memory Management. Memory Management Terms Physical address –Actual address as seen by memory unit Logical address –Address.
2 /25 3  A program that controls the execution of application programs  An interface between applications and hardware.
ACCESS MATRIX IMPLEMENTATION AND COMPARISON By: Rushabh Dharwadkar Roll no: TE COMP.
File System A file system provides efficient and convenient access to the disk The operating system imposes one or more file systems on a disk A file 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.
Chapter 8: Memory Management. 8.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 8: Memory Management Background Swapping Contiguous.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
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.
CMSC 345 Defensive Programming Practices from Software Engineering 6th Edition by Ian Sommerville.
Computer Data Security & Privacy
Operating System 2 Overview
CS 450/650 Fundamentals of Integrated Computer Security
Paging and Segmentation
Operating Systems Security
Memory Management Lectures notes from the text supplement by Siberschatz and Galvin Modified by B.Ramamurthy 11/12/2018.
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.
Module IV Memory Organization.
Main Memory Background Swapping Contiguous Allocation Paging
Lecture 3: Main Memory.
Operating System 2 Overview
CSE451 Virtual Memory Paging Autumn 2002
COMP3221: Microprocessors and Embedded Systems
Operating System 2 Overview
Presentation transcript:

Security in Operating Systems Cuiwei Zhao

Security in Operating System §Security breaches §Security goals §Protected objects of the general purpose operating system §Protection of objects

Beaches §Exposure l A form of possible loss or harm in a computing system §Vulnerability l Weakness that might be exploited to cause loss or harm §Threats l circumstances that have the potential to cause loss or harm

Threats §Interruption §Interception §Modification §Fabrication

Security Goals §Confidentiality l the assets of a computing system are accessible only by authorized parties. §Integrity l assets can be modified only by authorized parties or only in authorized ways. §Availability l assets are accessible to authorized parties.

Protection In General-Purpose OS §Protected Objects and Methods §Protecting Memory and Addressing §Protecting Access to General Objects §File Protection Mechanisms §User Authentication

Protected Objects and Methods §Protected Objects §Security Methods of Operating Systems

Protected Objects Memory Sharable I/O devices, such as disks serially reusable I/O devices, such as printers and tape drives sharable programs and sub-procedures sharable data

Security Methods of Operating Systems §Separation: keeping one user’s objects separate from other users’ Physical Separation Temporal Separation Logical Separation Cryptographic Separation §Granularity of Control the larger the level of object controlled, the easier it is to implement access control.

Protecting Memory and Addressing §Fence §Relocation §Base/Bounds Registers §Tagged Architecture §Segmentation §Paging

Fence A fence is a method to confine users to one side of a boundary. Usually, fence is implemented via a hardware register.

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.

Base/Bounds Registers In a multiuser, multiprogramming environment, 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.

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 (compatible).

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. OS can retrieve the real address via looking for the table then making a simple calculation: address of the name + offset

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.

Protecting Access to General Objects §Directory §Access Control List

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

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.

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.

File Protection Mechanisms §Basic Forms of Protection §Single Permissions

Basic Forms of Protection §All-None Protection The principal protection was trust, combined with ignorance. §Group Protection Users in the same group have the same right for objects.

Single Permissions §Password or other token l assign a password to a file §Temporary Acquired Permission l 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.

User Authentication §Use of Passwords §Attacks on Passwords §Password Selection Criteria §The Authentication Process §Flaws in the Authentication Process §Authentication Other Than Passwords

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.

Attacks on Passwords §Try all possible passwords l exhaustive or brute force attack §Try many probable passwords l Users do not likely select a password uncommon, hard to spell or pronounce, very long §Try passwords likely for the user l Password generally is meaningful to the user

Attacks on Passwords (cont’) §Search for the system list of passwords l Finding a plain text system password list §Ask the user l Get the password directly from the user.

Password Selection Criteria §Use characters other than just A-Z §Choose long passwords §Avoid actual names or words §Choose an unlikely password §Change the password regularly §Don’t write it down §Don’t tell anyone else

The Authentication Process §Intentionally slow l This makes exhaustive attack infeasible §identify intruder from the normal user l some who continuously fails to login may not be an authorized user. l System disconnect a user after three to five failed logins

Reference §D. Denning, P. Denning, Certification of Programs for Secure Information Flow, CommACM, V20 N7, Jul 1977, pp §J. Linn, Practical Authentication for Distributed Computing, Proc IEEE symp Security & Privacy, IEEE Comp Soc Press 1990, pp §C. P. Pfleeger, Security in Computing, Prentice Hall, NJ, 1996