Скачать презентацию Chapter 15 Security Chapter 15 Security n Скачать презентацию Chapter 15 Security Chapter 15 Security n

cf43baf09b0e9deb78f57fca3ae6dd20.ppt

  • Количество слайдов: 43

Chapter 15: Security Chapter 15: Security

Chapter 15: Security n The Security Problem n Program Threats n System and Network Chapter 15: Security n The Security Problem n Program Threats n System and Network Threats n Cryptography as a Security Tool n User Authentication n Implementing Security Defenses n Firewalling to Protect Systems and Networks n Computer-Security Classifications n An Example: Windows XP AE 4 B 33 OSS 15. 2 Silberschatz, Galvin and Gagne © 2005

Objectives n To discuss security threats and attacks n To explain the fundamentals of Objectives n To discuss security threats and attacks n To explain the fundamentals of encryption, authentication, and hashing n To examine the uses of cryptography in computing n To describe the various countermeasures to security attacks AE 4 B 33 OSS 15. 3 Silberschatz, Galvin and Gagne © 2005

The Security Problem n Security must consider external environment of the system, and protect The Security Problem n Security must consider external environment of the system, and protect the system resources n Intruders (crackers) attempt to breach security n Threat is potential security violation n Attack is attempt to breach security n Attack can be accidental or malicious n Easier to protect against accidental than malicious misuse AE 4 B 33 OSS 15. 4 Silberschatz, Galvin and Gagne © 2005

Security Violations n Categories l Breach of confidentiality l Breach of integrity l Breach Security Violations n Categories l Breach of confidentiality l Breach of integrity l Breach of availability l Theft of service l Denial of service n Methods l Masquerading (breach authentication) l Replay attack 4 Message modification l l AE 4 B 33 OSS Man-in-the-middle attack Session hijacking 15. 5 Silberschatz, Galvin and Gagne © 2005

Standard Security Attacks AE 4 B 33 OSS 15. 6 Silberschatz, Galvin and Gagne Standard Security Attacks AE 4 B 33 OSS 15. 6 Silberschatz, Galvin and Gagne © 2005

Security Measure Levels n Security must occur at four levels to be effective: l Security Measure Levels n Security must occur at four levels to be effective: l Physical l Human 4 Avoid social engineering, phishing, dumpster diving l Operating System l Network n Security is as week as the weakest chain AE 4 B 33 OSS 15. 7 Silberschatz, Galvin and Gagne © 2005

Program Threats n Trojan Horse l l Exploits mechanisms for allowing programs written by Program Threats n Trojan Horse l l Exploits mechanisms for allowing programs written by users to be executed by other users l n Code segment that misuses its environment Spyware, pop-up browser windows, covert channels Trap Door l l n Specific user identifier or password that circumvents normal security procedures Could be included in a compiler Logic Bomb l n Stack and Buffer Overflow l AE 4 B 33 OSS Program that initiates a security incident under certain circumstances Exploits a bug in a program (overflow either the stack or memory buffers) 15. 8 Silberschatz, Galvin and Gagne © 2005

C Program with Buffer-overflow Condition #include <stdio. h> #define BUFFER SIZE 256 int main(int C Program with Buffer-overflow Condition #include #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; } } AE 4 B 33 OSS 15. 9 Silberschatz, Galvin and Gagne © 2005

Layout of Typical Stack Frame AE 4 B 33 OSS 15. 10 Silberschatz, Galvin Layout of Typical Stack Frame AE 4 B 33 OSS 15. 10 Silberschatz, Galvin and Gagne © 2005

Modified Shell Code #include <stdio. h> int main(int argc, char *argv[]) { execvp(‘‘binsh’’, ‘‘bin Modified Shell Code #include int main(int argc, char *argv[]) { execvp(‘‘binsh’’, ‘‘bin sh’’, NULL); return 0; } AE 4 B 33 OSS 15. 11 Silberschatz, Galvin and Gagne © 2005

Hypothetical Stack Frame After attack Before attack AE 4 B 33 OSS 15. 12 Hypothetical Stack Frame After attack Before attack AE 4 B 33 OSS 15. 12 Silberschatz, Galvin and Gagne © 2005

Program Threats (Cont. ) n Viruses l Code fragment embedded in legitimate program l Program Threats (Cont. ) n Viruses l Code fragment embedded in legitimate program l Very specific to CPU architecture, operating system, applications l Usually borne via email or as a macro 4 Visual Basic Macro to reformat hard drive Sub Auto. Open() Dim o. FS Set o. FS = Create. Object(’’Scripting. File. System. Object’’) vs = Shell(’’c: command. com /k format c: ’’, vb. Hide) End Sub AE 4 B 33 OSS 15. 13 Silberschatz, Galvin and Gagne © 2005

Program Threats (Cont. ) n Virus dropper inserts virus onto the system n Many Program Threats (Cont. ) n Virus dropper inserts virus onto the system n Many categories of viruses, literally many thousands of viruses l l Boot l Macro l Source code l Polymorphic l Encrypted l Stealth l Tunneling l Multipartite l AE 4 B 33 OSS File Armored 15. 14 Silberschatz, Galvin and Gagne © 2005

A Boot-sector Computer Virus AE 4 B 33 OSS 15. 15 Silberschatz, Galvin and A Boot-sector Computer Virus AE 4 B 33 OSS 15. 15 Silberschatz, Galvin and Gagne © 2005

System and Network Threats n Worms – use spawn mechanism; standalone program n Internet System and Network Threats n Worms – use spawn mechanism; standalone program n Internet worm l Exploited UNIX networking features (remote access) and bugs in finger and sendmail programs l Grappling hook program uploaded main worm program n Port scanning l Automated attempt to connect to a range of ports on one or a range of IP addresses n Denial of Service l l AE 4 B 33 OSS Overload the targeted computer preventing it from doing any useful work Distributed denial-of-service (DDOS) come from multiple sites at once 15. 16 Silberschatz, Galvin and Gagne © 2005

The Morris Internet Worm AE 4 B 33 OSS 15. 17 Silberschatz, Galvin and The Morris Internet Worm AE 4 B 33 OSS 15. 17 Silberschatz, Galvin and Gagne © 2005

Cryptography as a Security Tool n Broadest security tool available l Source and destination Cryptography as a Security Tool n Broadest security tool available l Source and destination of messages cannot be trusted without cryptography l Means to constrain potential senders (sources) and / or receivers (destinations) of messages n Based on secrets (keys) AE 4 B 33 OSS 15. 18 Silberschatz, Galvin and Gagne © 2005

Secure Communication over Insecure Medium AE 4 B 33 OSS 15. 19 Silberschatz, Galvin Secure Communication over Insecure Medium AE 4 B 33 OSS 15. 19 Silberschatz, Galvin and Gagne © 2005

Encryption n Encryption algorithm consists of l Set of K keys Set of M Encryption n Encryption algorithm consists of l Set of K keys Set of M Messages l Set of C ciphertexts (encrypted messages) l A function E : K → (M→C). That is, for each k K, E(k) is a function for generating ciphertexts from messages. 4 Both E and E(k) for any k should be efficiently computable functions. l A function D : K → (C → M). That is, for each k K, D(k) is a function for generating messages from ciphertexts. 4 Both D and D(k) for any k should be efficiently computable functions. An encryption algorithm must provide this essential property: Given a ciphertext c C, a computer can compute m such that E(k)(m) = c only if it possesses D(k). l Thus, a computer holding D(k) can decrypt ciphertexts to the plaintexts used to produce them, but a computer not holding D(k) cannot decrypt ciphertexts. l Since ciphertexts are generally exposed (for example, sent on the network), it is important that it be infeasible to derive D(k) from the ciphertexts l n AE 4 B 33 OSS 15. 20 Silberschatz, Galvin and Gagne © 2005

Symmetric Encryption n Same key used to encrypt and decrypt l E(k) can be Symmetric Encryption n Same key used to encrypt and decrypt l E(k) can be derived from D(k), and vice versa n DES is most commonly used symmetric block-encryption algorithm (created by US Govt) l Encrypts a block of data at a time n Triple-DES considered more secure n Advanced Encryption Standard (AES), twofish up and coming n RC 4 is most common symmetric stream cipher, but known to have vulnerabilities l Encrypts/decrypts a stream of bytes (i. e wireless transmission) l Key is a input to psuedo-random-bit generator 4 Generates AE 4 B 33 OSS an infinite keystream 15. 21 Silberschatz, Galvin and Gagne © 2005

Asymmetric Encryption n Public-key encryption based on each user having two keys: l public Asymmetric Encryption n Public-key encryption based on each user having two keys: l public key – published key used to encrypt data l private key – key known only to individual user used to decrypt data n Must be an encryption scheme that can be made public without making it easy to figure out the decryption scheme l l Efficient algorithm for testing whether or not a number is prime l AE 4 B 33 OSS Most common is RSA block cipher No efficient algorithm is know for finding the prime factors of a number 15. 22 Silberschatz, Galvin and Gagne © 2005

Asymmetric Encryption (Cont. ) n Formally, it is computationally infeasible to derive D(kd , Asymmetric Encryption (Cont. ) n Formally, it is computationally infeasible to derive D(kd , N) from E(ke , N), and so E(ke , N) need not be kept secret and can be widely disseminated l l D(kd , N) (or just kd) is the private key l N is the product of two large, randomly chosen prime numbers p and q (for example, p and q are 512 bits each) l Encryption algorithm is E(ke , N)(m) = mke mod N, where ke satisfies kekd mod (p− 1)(q − 1) = 1 l AE 4 B 33 OSS E(ke , N) (or just ke) is the public key The decryption algorithm is then D(kd , N)(c) = ckd mod N 15. 23 Silberschatz, Galvin and Gagne © 2005

Asymmetric Encryption Example n For example. make p = 7 and q = 13 Asymmetric Encryption Example n For example. make p = 7 and q = 13 n We then calculate N = 7∗ 13 = 91 and (p− 1)(q− 1) = 72 n We next select ke relatively prime to 72 and< 72, yielding 5 n Finally, we calculate kd such that kekd mod 72 = 1, yielding 29 n We how have our keys l l n Public key, ke, N = 5, 91 Private key, kd , N = 29, 91 Encrypting the message 69 with the public key results in the cyphertext 62 n Cyphertext can be decoded with the private key l AE 4 B 33 OSS Public key can be distributed in cleartext to anyone who wants to communicate with holder of public key 15. 24 Silberschatz, Galvin and Gagne © 2005

Encryption and Decryption using RSA Asymmetric Cryptography AE 4 B 33 OSS 15. 25 Encryption and Decryption using RSA Asymmetric Cryptography AE 4 B 33 OSS 15. 25 Silberschatz, Galvin and Gagne © 2005

Cryptography (Cont. ) n Note symmetric cryptography based on transformations, asymmetric based on mathematical Cryptography (Cont. ) n Note symmetric cryptography based on transformations, asymmetric based on mathematical functions l l AE 4 B 33 OSS Asymmetric much more compute intensive Typically not used for bulk data encryption 15. 26 Silberschatz, Galvin and Gagne © 2005

Authentication n Constraining set of potential senders of a message l l n Complementary Authentication n Constraining set of potential senders of a message l l n Complementary and sometimes redundant to encryption Also can prove message unmodified Algorithm components l A set K of keys l A set M of messages l A set A of authenticators l A function S : K → (M→ A) 4 4 l That is, for each k K, S(k) is a function for generating authenticators from messages Both S and S(k) for any k should be efficiently computable functions A function V : K → (M× A→ {true, false}). That is, for each k K, V(k) is a function for verifying authenticators on messages 4 AE 4 B 33 OSS Both V and V(k) for any k should be efficiently computable functions 15. 27 Silberschatz, Galvin and Gagne © 2005

Authentication (Cont. ) n For a message m, a computer can generate an authenticator Authentication (Cont. ) n For a message m, a computer can generate an authenticator a A such that V(k)(m, a) = true only if it possesses S(k) n Thus, computer holding S(k) can generate authenticators on messages so that any other computer possessing V(k) can verify them n Computer not holding S(k) cannot generate authenticators on messages that can be verified using V(k) n Since authenticators are generally exposed (for example, they are sent on the network with the messages themselves), it must not be feasible to derive S(k) from the authenticators AE 4 B 33 OSS 15. 28 Silberschatz, Galvin and Gagne © 2005

Authentication – Hash Functions n Basis of authentication n Creates small, fixed-size block of Authentication – Hash Functions n Basis of authentication n Creates small, fixed-size block of data (message digest, hash value) from m n Hash Function H must be collision resistant on m l Must be infeasible to find an m’ ≠ m such that H(m) = H(m’) n If H(m) = H(m’), then m = m’ l The message has not been modified n Common message-digest functions include MD 5, which produces a 128 - bit hash, and SHA-1, which outputs a 160 -bit hash AE 4 B 33 OSS 15. 29 Silberschatz, Galvin and Gagne © 2005

Authentication - MAC n Symmetric encryption used in message-authentication code (MAC) authentication algorithm n Authentication - MAC n Symmetric encryption used in message-authentication code (MAC) authentication algorithm n Simple example: l MAC defines S(k)(m) = f (k, H(m)) 4 Where – f is a function that is one-way on its first argument k cannot be derived from f (k, H(m)) 4 Because of the collision resistance in the hash function, reasonably assured no other message could create the same MAC 4 A suitable verification algorithm is V(k)(m, a) ≡ ( f (k, m) = a) 4 Note that k is needed to compute both S(k) and V(k), so anyone able to compute one can compute the other AE 4 B 33 OSS 15. 30 Silberschatz, Galvin and Gagne © 2005

Authentication – Digital Signature n Based on asymmetric keys and digital signature algorithm n Authentication – Digital Signature n Based on asymmetric keys and digital signature algorithm n Authenticators produced are digital signatures n In a digital-signature algorithm, computationally infeasible to derive S(ks ) from V(kv) l l n V is a one-way function Thus, kv is the public key and ks is the private key Consider the RSA digital-signature algorithm l Similar to the RSA encryption algorithm, but the key use is reversed l Digital signature of message S(ks )(m) = H(m)ks mod N l The key ks again is a pair d, N, where N is the product of two large, randomly chosen prime numbers p and q l Verification algorithm is V(kv)(m, a) ≡ (akv mod N = H(m)) 4 AE 4 B 33 OSS Where kv satisfies kvks mod (p − 1)(q − 1) = 1 15. 31 Silberschatz, Galvin and Gagne © 2005

Authentication (Cont. ) n Why authentication if a subset of encryption? l Fewer computations Authentication (Cont. ) n Why authentication if a subset of encryption? l Fewer computations (except for RSA digital signatures) l Authenticator usually shorter than message l Sometimes want authentication but not confidentiality 4 Signed l AE 4 B 33 OSS patches et al Can be basis for non-repudiation 15. 32 Silberschatz, Galvin and Gagne © 2005

Key Distribution n Delivery of symmetric key is huge challenge l Sometimes done out-of-band Key Distribution n Delivery of symmetric key is huge challenge l Sometimes done out-of-band n Asymmetric keys can proliferate – stored on key ring l AE 4 B 33 OSS Even asymmetric key distribution needs care – man-in-the-middle attack 15. 33 Silberschatz, Galvin and Gagne © 2005

Man-in-the-middle Attack on Asymmetric Cryptography AE 4 B 33 OSS 15. 34 Silberschatz, Galvin Man-in-the-middle Attack on Asymmetric Cryptography AE 4 B 33 OSS 15. 34 Silberschatz, Galvin and Gagne © 2005

Digital Certificates n Proof of who or what owns a public key n Public Digital Certificates n Proof of who or what owns a public key n Public key digitally signed a trusted party n Trusted party receives proof of identification from entity and certifies that public key belongs to entity n Certificate authority are trusted party – their public keys included with web browser distributions l AE 4 B 33 OSS They vouch for other authorities via digitally signing their keys, and so on 15. 35 Silberschatz, Galvin and Gagne © 2005

Encryption Example - SSL n Insertion of cryptography at one layer of the ISO Encryption Example - SSL n Insertion of cryptography at one layer of the ISO network model (the n n n AE 4 B 33 OSS transport layer) SSL – Secure Socket Layer (also called TLS) Cryptographic protocol that limits two computers to only exchange messages with each other l Very complicated, with many variations Used between web servers and browsers for secure communication (credit card numbers) The server is verified with a certificate assuring client is talking to correct server Asymmetric cryptography used to establish a secure session key (symmetric encryption) for bulk of communication during session Communication between each computer theb uses symmetric key cryptography 15. 36 Silberschatz, Galvin and Gagne © 2005

User Authentication n Crucial to identify user correctly, as protection systems depend on user User Authentication n Crucial to identify user correctly, as protection systems depend on user ID n User identity most often established through passwords, can be considered a special case of either keys or capabilities l Also can include something user has and /or a user attribute n Passwords must be kept secret l Frequent change of passwords l Use of “non-guessable” passwords l Log all invalid access attempts n Passwords may also either be encrypted or allowed to be used only once AE 4 B 33 OSS 15. 37 Silberschatz, Galvin and Gagne © 2005

Implementing Security Defenses n Defense in depth is most common security theory – multiple Implementing Security Defenses n Defense in depth is most common security theory – multiple layers of security n Security policy describes what is being secured n Vulnerability assessment compares real state of system / network compared to security policy n Intrusion detection endeavors to detect attempted or successful intrusions l Signature-based detection spots known bad patterns l Anomaly detection spots differences from normal behavior 4 Can detect zero-day attacks False-positives and false-negatives a problem n Virus protection n Auditing, accounting, and logging of all or specific system or network activities l AE 4 B 33 OSS 15. 38 Silberschatz, Galvin and Gagne © 2005

Firewalling to Protect Systems and Networks n A network firewall is placed between trusted Firewalling to Protect Systems and Networks n A network firewall is placed between trusted and untrusted hosts The firewall limits network access between these two security domains n Can be tunneled or spoofed l Tunneling allows disallowed protocol to travel within allowed protocol (i. e. telnet inside of HTTP) l Firewall rules typically based on host name or IP address which can be spoofed n Personal firewall is software layer on given host l Can monitor / limit traffic to and from the host l n Application proxy firewall understands application protocol and can control them (i. e. SMTP) n System-call firewall monitors all important system calls and apply rules to them (i. e. this program can execute that system call) AE 4 B 33 OSS 15. 39 Silberschatz, Galvin and Gagne © 2005

Network Security Through Domain Separation Via Firewall AE 4 B 33 OSS 15. 40 Network Security Through Domain Separation Via Firewall AE 4 B 33 OSS 15. 40 Silberschatz, Galvin and Gagne © 2005

Computer Security Classifications n U. S. Department of Defense outlines four divisions of computer Computer Security Classifications n U. S. Department of Defense outlines four divisions of computer security: A, B, C, and D. n D – Minimal security. n C – Provides discretionary protection through auditing. Divided into C 1 and C 2. C 1 identifies cooperating users with the same level of protection. C 2 allows user-level access control. n B – All the properties of C, however each object may have unique sensitivity labels. Divided into B 1, B 2, and B 3. n A – Uses formal design and verification techniques to ensure security. AE 4 B 33 OSS 15. 41 Silberschatz, Galvin and Gagne © 2005

Example: Windows XP n Security is based on user accounts l Each user has Example: Windows XP n Security is based on user accounts l Each user has unique security ID l Login to ID creates security access token 4 Includes security ID for user, for user’s groups, and special privileges 4 Every process gets copy of token 4 System checks token to determine if access allowed or denied n Uses a subject model to ensure access security. A subject tracks and manages permissions for each program that a user runs n Each object in Windows XP has a security attribute defined by a security descriptor l AE 4 B 33 OSS For example, a file has a security descriptor that indicates the access permissions for all users 15. 42 Silberschatz, Galvin and Gagne © 2005

End of Chapter 15 End of Chapter 15