* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Operating Systems
Cyber-security regulation wikipedia , lookup
Computer virus wikipedia , lookup
Trusted Computing wikipedia , lookup
Next-Generation Secure Computing Base wikipedia , lookup
Cyberattack wikipedia , lookup
Computer security wikipedia , lookup
Mobile security wikipedia , lookup
Operating Systems 软件学院 高海昌 [email protected] Operating Systems Contents 1. Introduction ** 2. Processes and Threads ******* 3. Deadlocks ** 4. Memory Management ***** 5. Input/Output *** 6. File Systems **** 8. Multiple Processor Systems * 9. Security ** Gao Haichang , Software School, Xidian University 2 Operating Systems Chapter 9: Security 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system 9.5 Attacks from outside the system 9.6 Protection mechanisms 9.7 Trusted systems Gao Haichang , Software School, Xidian University 3 Operating Systems Threats 机密性 篡改 Security goals and threats Gao Haichang , Software School, Xidian University 4 Operating Systems Intruders Common Categories 1. Casual prying (窥探) by nontechnical users 2. Snooping by insiders 3. Determined attempt to make money 4. Commercial or military espionage Gao Haichang , Software School, Xidian University 5 Operating Systems Accidental Data Loss Common Causes Acts of God 1. - fires, floods, wars Hardware or software errors 2. - CPU malfunction, bad disk, program bugs Human errors 3. - data entry, wrong tape mounted Gao Haichang , Software School, Xidian University 6 Operating Systems Chapter 9: Security 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system 9.5 Attacks from outside the system 9.6 Protection mechanisms 9.7 Trusted systems Gao Haichang , Software School, Xidian University 7 Operating Systems Basics of Cryptography Relationship between the plaintext and the ciphertext Gao Haichang , Software School, Xidian University 8 Operating Systems Secret-Key Cryptography Monoalphabetic substitution 单字符替换 each letter replaced by different letter A B C D E F G…… ATTACK Q W E R T Y U…… QZZQEA Given the encryption key, easy to find decryption key Secret-key crypto called symmetric-key crypto Gao Haichang , Software School, Xidian University 9 Operating Systems Public-Key Cryptography Q1: How much is 314159265358979 x 314159265358979 ? Q2: What is the square root of 3912571506419387090594828508241? All users pick a public key/private key pair publish the public key private key not published Public key is the encryption key, private key is the decryption key RSA, slow than symmetric cryptography Gao Haichang , Software School, Xidian University 10 Operating Systems One-Way Functions Function such that given formula for f(x) easy to evaluate y = f(x) But given y, computationally infeasible to find x Gao Haichang , Software School, Xidian University 11 Operating Systems Digital Signatures (b) (a) Computing a signature block (b) What the receiver gets MD5 16-byte, SHA 20-byte E(D(x))=x Gao Haichang , Software School, Xidian University 12 Operating Systems Chapter 9: Security 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system 9.5 Attacks from outside the system 9.6 Protection mechanisms 9.7 Trusted systems Gao Haichang , Software School, Xidian University 13 Operating Systems User Authentication Basic Principles. Authentication must identify: 1. Something the user knows 2. Something the user has 3. Something the user is This is done before user can use the system Gao Haichang , Software School, Xidian University 14 Operating Systems Authentication Using Passwords (a) A successful login (b) Login rejected after name entered (c) Login rejected after name and password typed Gao Haichang , Software School, Xidian University 15 Operating Systems How crackers break in How a cracker broke into LBL a U.S. Dept. of Energy research lab Ping / telnet / dnsquery / passwd / packet sniffer Gao Haichang , Software School, Xidian University 16 Operating Systems UNIX password security UNIX: the user password is “encrypted” by using it as a key to encrypt a fixed block of data. Salt Password The use of salt to defeat precomputation of encrypted passwords Gao Haichang , Software School, Xidian University 17 Operating Systems One-Time passwords One way function y=f(x) given x it is easy to find y, but given y it is computational infeasible to find x. The input and output should be the same length, i.e. 128 bits pi-1 = f(pi) p0 = f(p1), p1 = f(p2), p2 = f(p3), p3 = f(p4) p1 = f(f(f(f(s)))), p2 = f(f(f(s))), p3 = f(f(s)) , p4 = f(s) Challenge-Response authentication client get r, send f(r,k) Gao Haichang , Software School, Xidian University 18 Operating Systems Authentication Using a Physical Object Magnetic cards magnetic chip stripe cards cards: stored value cards, smart cards Gao Haichang , Software School, Xidian University 19 Operating Systems Authentication Using Biometrics A device for measuring finger length. Gao Haichang , Software School, Xidian University 20 Operating Systems Countermeasures 对策 Limiting times when someone can log in Automatic callback at number prespecified Limited number of login tries A database of all logins Simple login name/password as a trap security personnel notified when attacker bites Gao Haichang , Software School, Xidian University 21 Operating Systems Chapter 9: Security 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system 9.5 Attacks from outside the system 9.6 Protection mechanisms 9.7 Trusted systems Gao Haichang , Software School, Xidian University 22 Operating Systems Trojan Horses Free program made available to unsuspecting user Actually contains code to do harm Place altered version of utility program on victim's computer trick user into running that program Gao Haichang , Software School, Xidian University 23 Operating Systems Login Spoofing (a) Correct login screen (b) Phony login screen Gao Haichang , Software School, Xidian University 24 Operating Systems Logic Bombs Company programmer writes program potential to OK if do harm as long as he/she enters password daily programmer fired, no password and bomb explodes Gao Haichang , Software School, Xidian University 25 Operating Systems Trap Doors (a) Normal code. (b) Code with a trapdoor inserted Gao Haichang , Software School, Xidian University 26 Operating Systems Buffer Overflow (a) Situation when main program is running (b) After program A called (c) Buffer overflow shown in gray Gao Haichang , Software School, Xidian University 27 Operating Systems Generic Security Attacks Typical attacks Request memory, disk space, tapes and just read Try illegal system calls Start a login and hit DEL, RUBOUT, or BREAK Try modifying complex OS structures Try to do specified DO NOTs Convince a system programmer to add a trap door Beg admin's sec’y to help a poor user who forgot password Gao Haichang , Software School, Xidian University 28 Operating Systems Famous Security Flaws (a) (b) (c) The TENEX – password problem Gao Haichang , Software School, Xidian University 29 Operating Systems Design Principles for Security 1. System design should be public 2. Default should be no access 3. Check for current authority 4. Give each process least privilege possible 5. Protection mechanism should be 6. - simple - uniform - in lowest layers of system Scheme should be psychologically acceptable And … keep it simple Gao Haichang , Software School, Xidian University 30 Operating Systems Lesson 2 Operating Systems Chapter 9: Security 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system 9.5 Attacks from outside the system 9.6 Protection mechanisms 9.7 Trusted systems Gao Haichang , Software School, Xidian University 32 Operating Systems Network Security External threat code transmitted to target machine code executed there, doing damage Goals of virus writer quickly spreading virus difficult to detect hard to get rid of Virus = program can reproduce itself attach its code to another program additionally, do harm Gao Haichang , Software School, Xidian University 33 Operating Systems Virus Damage Scenarios Blackmail Denial of service as long as virus runs Permanently damage hardware Target a competitor's computer do harm espionage 间谍活动 Intra-corporate dirty tricks sabotage (阴谋破坏) another corporate officer's files Gao Haichang , Software School, Xidian University 34 Operating Systems How Viruses Work Virus written in assembly language Inserted into another program use tool called a “dropper” Virus dormant (潜伏) until program executed then infects other programs eventually executes its “payload” Gao Haichang , Software School, Xidian University 35 Operating Systems How Viruses Work (1) Several kinds of Viruses based on what is infected companion executable program memory boot sector device driver macro source code viruses Gao Haichang , Software School, Xidian University 36 Operating Systems How Viruses Work (2) Recursive procedure that finds executable files on a UNIX system Virus could infect them all Gao Haichang , Software School, Xidian University 37 Operating Systems How Viruses Work (3) Parasitic virus 寄生病毒 An executable program With a virus at the front With the virus at the end With a virus spread over free space within program Gao Haichang , Software School, Xidian University 38 Operating Systems How Viruses Work (5) After virus has captured interrupt, trap vectors After OS has retaken printer interrupt vector After virus has noticed loss of printer interrupt vector and recaptured it Gao Haichang , Software School, Xidian University 39 Operating Systems How Viruses Spread Virus placed where likely to be copied When copied infects may programs on hard drive, floppy try to spread over LAN Attach to innocent (无辜) looking email when it runs, use mailing list to replicate Gao Haichang , Software School, Xidian University 40 Operating Systems Antivirus and Anti-Antivirus Techniques (a) A program (b) Infected program (c) Compressed infected program (d) Encrypted virus (disguise) (e) Compressed virus with encrypted compression code Gao Haichang , Software School, Xidian University 41 Operating Systems Antivirus and Anti-Antivirus Techniques Examples of a polymorphic virus 多形态病毒 All of these examples do the same thing Gao Haichang , Software School, Xidian University 42 Operating Systems Antivirus and Anti-Antivirus Techniques Integrity checkers Behavioral checkers Virus avoidance good OS install only shrink-wrapped software use antivirus software do not click on attachments to email frequent backups Recovery from virus attack halt computer, reboot from safe disk, run antivirus Gao Haichang , Software School, Xidian University 43 Operating Systems The Internet Worm (Morris) Consisted of two programs bootstrap the to upload worm worm itself Worm first hid its existence Next replicated itself on new machines Gao Haichang , Software School, Xidian University 44 Operating Systems Mobile Code (1) Sandboxing (a) Memory divided into 1-MB sandboxes (b) One way of checking an instruction for validity Gao Haichang , Software School, Xidian University 45 Operating Systems Mobile Code (2) Applets can be interpreted (解释) by a Web browser Gao Haichang , Software School, Xidian University 46 Operating Systems Mobile Code (3) How code signing works Gao Haichang , Software School, Xidian University 47 Operating Systems Java Security A type safe language compiler rejects attempts to misuse variable Checks include … 1. Attempts to forge 伪造 pointers 2. Violation of access restrictions on private class members 3. Misuse of variables by type 4. Generation of stack over/underflows 5. Illegal conversion of variables to another type Gao Haichang , Software School, Xidian University 48 Operating Systems Chapter 9: Security 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system 9.5 Attacks from outside the system 9.6 Protection mechanisms 9.7 Trusted systems Gao Haichang , Software School, Xidian University 49 Operating Systems Protection Domains (1) Examples of three protection domains Gao Haichang , Software School, Xidian University 50 Operating Systems Protection Domains (2) A protection matrix Dis: large and sparse Gao Haichang , Software School, Xidian University 51 Operating Systems Access Control Lists (1) Use of access control lists to manage file access Gao Haichang , Software School, Xidian University 52 Operating Systems Access Control Lists (2) (UID,GID) Two access control lists Gao Haichang , Software School, Xidian University 53 Operating Systems Capabilities (1) 权能字 Each process has a capability list Gao Haichang , Software School, Xidian University 54 Operating Systems Capabilities (2) Capability list must be protected from user tampering 篡改 1. First way, require a tagged architecture 2. Second way, keep the C-list inside the OS 3. Third way, keep the C-list in user space, but manage the capabilities cryptographically Gao Haichang , Software School, Xidian University 55 Operating Systems Chapter 9: Security 9.1 The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system 9.5 Attacks from outside the system 9.6 Protection mechanisms 9.7 Trusted systems Gao Haichang , Software School, Xidian University 56 Operating Systems Trusted Computing Base Is it possible to build a secure computer system? If so, why is it not done? user habits feature is the enemy of security Gao Haichang , Software School, Xidian University 57 Operating Systems Trusted Computing Base 可信计算基 Operating system functions that must be part of the TCB include process creation, process switching, memory map management, and part of file and I/O management. A reference monitor 访问监视器 Gao Haichang , Software School, Xidian University 58 Operating Systems Formal Models of Secure Systems Six primitive operations on the protection matrix that can be used as a base to model any protection system. (protection commands) create object, delete object create domain, delete domain insert right, remove right Gao Haichang , Software School, Xidian University 59 Operating Systems Formal Models of Secure Systems (a) An authorized state (b) An unauthorized state Gao Haichang , Software School, Xidian University 60 Operating Systems Multilevel Security Discretionary access control 自主访问控制: allow individual users to determine who may read and write their files and other objects. Mandatory access control 强制访问控制: the stated security policies are enforced by the system. Bell-La Padula model (popular multilevel security model) The simple security property. A process running at security level k can read only objects at its level or lower. The * property. A process running at security level k can write only objects at its level or higher. Gao Haichang , Software School, Xidian University 61 Operating Systems Multilevel Security (1) The Bell-La Padula multilevel security model Gao Haichang , Software School, Xidian University 62 Operating Systems Multilevel Security (2) Dis of Bell-La Padula: devise to keep secrets, but not guarantee the integrity of the data. The Biba Model Simple integrity principle. process can write only objects at its security level or lower. The integrity * property. process can read only objects at its security level or higher. Gao Haichang , Software School, Xidian University 63 Operating Systems Orange Book Security (DoD 5200.28) Symbol X means new requirements Symbol -> requirements from next lower category apply here also Gao Haichang , Software School, Xidian University 64 Operating Systems Orange Book Security (2) Gao Haichang , Software School, Xidian University 65 Operating Systems Covert Channels Client, server and collaborator processes 隐蔽信道 Encapsulated server can still leak to collaborator via covert channels Gao Haichang , Software School, Xidian University 66 Operating Systems Covert Channels (2) A covert channel using file locking Gao Haichang , Software School, Xidian University 67 Operating Systems Covert Channels (3) Pictures appear the same Picture on right has text of 5 Shakespeare plays encrypted, inserted into low order bits of color values Zebras Hamlet , King Lear, Macbeth , Merchant of Venice, Julius Caesar Gao Haichang , Software School, Xidian University 68