Chapter 14: Protection: 14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts With Java - 8 Edition
Chapter 14: Protection: 14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts With Java - 8 Edition
Operating System Concepts with Java – 8th Edition 14.1 Silberschatz, Galvin and Gagne ©2009
Chapter 14: Protection
Goals of Protection
Principles of Protection
Domain of Protection
Access Matrix
Implementation of Access Matrix
Access Control
Operating System Concepts with Java – 8th Edition 14.2 Silberschatz, Galvin and Gagne ©2009
Goals of Protection
Operating System Concepts with Java – 8th Edition 14.3 Silberschatz, Galvin and Gagne ©2009
Principles of Protection
Operating System Concepts with Java – 8th Edition 14.4 Silberschatz, Galvin and Gagne ©2009
Domain Structure
Operating System Concepts with Java – 8th Edition 14.5 Silberschatz, Galvin and Gagne ©2009
Domain Implementation (UNIX)
System consists of 2 domains:
User
Supervisor
UNIX
Domain = user-id
Domain switch accomplished via file system
Each file has associated with it a domain bit (setuid
bit)
When file is executed and setuid = on, then user-id is
set to owner of the file being executed. When
execution completes user-id is reset
Operating System Concepts with Java – 8th Edition 14.6 Silberschatz, Galvin and Gagne ©2009
Access Matrix
Operating System Concepts with Java – 8th Edition 14.7 Silberschatz, Galvin and Gagne ©2009
Access Matrix
Operating System Concepts with Java – 8th Edition 14.8 Silberschatz, Galvin and Gagne ©2009
Use of Access Matrix
Operating System Concepts with Java – 8th Edition 14.9 Silberschatz, Galvin and Gagne ©2009
Use of Access Matrix (Cont)
Operating System Concepts with Java – 8th Edition 14.10 Silberschatz, Galvin and Gagne ©2009
Implementation of Access Matrix
Each column = Access-control list for one object
Defines who can perform what operation.
Each Row = Capability List (like a key)
Fore each domain, what operations allowed on what
objects.
Object 1 – Read
Object 4 – Read, Write, Execute
Object 5 – Read, Write, Delete, Copy
Operating System Concepts with Java – 8th Edition 14.11 Silberschatz, Galvin and Gagne ©2009
Access Matrix of Figure A With Domains as Objects
Figure B
Operating System Concepts with Java – 8th Edition 14.12 Silberschatz, Galvin and Gagne ©2009
Access Matrix with Copy Rights
Operating System Concepts with Java – 8th Edition 14.13 Silberschatz, Galvin and Gagne ©2009
Access Matrix With Owner Rights
Operating System Concepts with Java – 8th Edition 14.14 Silberschatz, Galvin and Gagne ©2009
Modified Access Matrix of Figure B
Operating System Concepts with Java – 8th Edition 14.15 Silberschatz, Galvin and Gagne ©2009
Access Control
Operating System Concepts with Java – 8th Edition 14.16 Silberschatz, Galvin and Gagne ©2009
Role-based Access Control in Solaris 10
Operating System Concepts with Java – 8th Edition 14.17 Silberschatz, Galvin and Gagne ©2009
Chapter 15: Security
Operating System Concepts with Java – 8th Edition 14.18 Silberschatz, Galvin and Gagne ©2009
Chapter 15: Security
Operating System Concepts with Java – 8th Edition 14.19 Silberschatz, Galvin and Gagne ©2009
Objectives
To discuss security threats and attacks
To explain the fundamentals of encryption, authentication, and hashing
To examine the uses of cryptography in computing
To describe the various countermeasures to security attacks
Operating System Concepts with Java – 8th Edition 14.20 Silberschatz, Galvin and Gagne ©2009
The Security Problem
Operating System Concepts with Java – 8th Edition 14.21 Silberschatz, Galvin and Gagne ©2009
Security Violations
Categories
Breach of confidentiality
Breach of integrity
Breach of availability
Theft of service
Denial of service
Methods
Masquerading (breach authentication)
Replay attack
Message modification
Man-in-the-middle attack
Session hijacking
Operating System Concepts with Java – 8th Edition 14.22 Silberschatz, Galvin and Gagne ©2009
Standard Security Attacks
Operating System Concepts with Java – 8th Edition 14.23 Silberschatz, Galvin and Gagne ©2009
Security Measure Levels
Security must occur at four levels to be effective:
Physical
Human
Avoid social engineering, phishing, dumpster
diving
Operating System
Network
Operating System Concepts with Java – 8th Edition 14.24 Silberschatz, Galvin and Gagne ©2009
Program Threats
Trojan Horse
Code segment that misuses its environment
Exploits mechanisms for allowing programs written by users to be executed by
other users
Spyware, pop-up browser windows, covert channels
Trap Door
Specific user identifier or password that circumvents normal security
procedures
Could be included in a compiler
Logic Bomb
Program that initiates a security incident under certain circumstances
Stack and Buffer Overflow
Exploits a bug in a program (overflow either the stack or memory buffers)
Operating System Concepts with Java – 8th Edition 14.25 Silberschatz, Galvin and Gagne ©2009
C Program with Buffer-overflow Condition
#include <stdio.h>
#define BUFFER SIZE 256
int main(int argc, char *argv[])
{
char buffer[BUFFER SIZE];
if (argc < 2)
return -1;
else {
strcpy(buffer,argv[1]);
return 0;
}
}
Operating System Concepts with Java – 8th Edition 14.26 Silberschatz, Galvin and Gagne ©2009
Layout of Typical Stack Frame
Operating System Concepts with Java – 8th Edition 14.27 Silberschatz, Galvin and Gagne ©2009
Modified Shell Code
#include <stdio.h>
int main(int argc, char *argv[])
{
execvp(‘‘\bin\sh’’,‘‘\bin \sh’’, NULL);
return 0;
}
Operating System Concepts with Java – 8th Edition 14.28 Silberschatz, Galvin and Gagne ©2009
Hypothetical Stack Frame
Operating System Concepts with Java – 8th Edition 14.29 Silberschatz, Galvin and Gagne ©2009
Program Threats (Cont.)
Many categories of viruses, literally many thousands of viruses
File
Boot
Macro
Source code
Polymorphic
Encrypted
Stealth
Tunneling
Multipartite
Operating System Concepts with Java – 8th Edition 14.30 Silberschatz, Galvin and Gagne ©2009
A Boot-sector Computer Virus
Operating System Concepts with Java – 8th Edition 14.31 Silberschatz, Galvin and Gagne ©2009
System and Network Threats
Worms – use spawn mechanism; standalone program
Internet worm
Exploited UNIX networking features (remote access) and bugs in
finger and sendmail programs
Grappling hook program uploaded main worm program
Port scanning
Automated attempt to connect to a range of ports on one or a
range of IP addresses
Denial of Service
Overload the targeted computer preventing it from doing any
useful work
Distributed denial-of-service (DDOS) come from multiple sites at
once
Operating System Concepts with Java – 8th Edition 14.32 Silberschatz, Galvin and Gagne ©2009
The Morris Internet Worm
Operating System Concepts with Java – 8th Edition 14.33 Silberschatz, Galvin and Gagne ©2009
End of Chapter 15
Operating System Concepts with Java – 8th Edition 14.34 Silberschatz, Galvin and Gagne ©2009