Midterm 2 exam solutions. Please do not read or discuss these solutions in the exam room while others are still taking the exam.



Similar documents
CS 161 Computer Security Spring 2010 Paxson/Wagner MT2

Content Teaching Academy at James Madison University

Overview. SSL Cryptography Overview CHAPTER 1

Client Server Registration Protocol

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

Using etoken for SSL Web Authentication. SSL V3.0 Overview

Overview of CSS SSL. SSL Cryptography Overview CHAPTER

Security. Contents. S Wireless Personal, Local, Metropolitan, and Wide Area Networks 1

Topics in Network Security

Security. Friends and Enemies. Overview Plaintext Cryptography functions. Secret Key (DES) Symmetric Key

7 Network Security. 7.1 Introduction 7.2 Improving the Security 7.3 Internet Security Framework. 7.5 Absolute Security?

Key Management. CSC 490 Special Topics Computer and Network Security. Dr. Xiao Qin. Auburn University

12/3/08. Security in Wireless LANs and Mobile Networks. Wireless Magnifies Exposure Vulnerability. Mobility Makes it Difficult to Establish Trust

CSC Network Security. User Authentication Basics. Authentication and Identity. What is identity? Authentication: verify a user s identity

Web Payment Security. A discussion of methods providing secure communication on the Internet. Zhao Huang Shahid Kahn

What is Web Security? Motivation

Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu

CS 361S - Network Security and Privacy Spring Homework #1

KEY DISTRIBUTION: PKI and SESSION-KEY EXCHANGE. Mihir Bellare UCSD 1

Lecture Objectives. Lecture 8 Mobile Networks: Security in Wireless LANs and Mobile Networks. Agenda. References

Cornerstones of Security

Savitribai Phule Pune University

Vulnerabilità dei protocolli SSL/TLS

Exam Papers Encryption Project PGP Universal Server Trial Progress Report

Chapter 17. Transport-Level Security

Authentication Application

Security Goals Services

GT 6.0 GSI C Security: Key Concepts

COSC 472 Network Security

CSE/EE 461 Lecture 23

Criteria for web application security check. Version

CS Final Exam

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

CSC474/574 - Information Systems Security: Homework1 Solutions Sketch

SSL A discussion of the Secure Socket Layer

CS5008: Internet Computing

CS 161 Computer Security

Threat Events: Software Attacks (cont.)

Digital Certificates (Public Key Infrastructure) Reshma Afshar Indiana State University

SSL BEST PRACTICES OVERVIEW

Wireless Networks. Welcome to Wireless

Skoot Secure File Transfer

Contents. Identity Assurance (Scott Rea Dartmouth College) IdM Workshop, Brisbane Australia, August 19, 2008

Understanding Digital Certificates and Secure Sockets Layer (SSL)

SSL/TLS: The Ugly Truth

How To Use A College Computer System Safely

Security & Privacy on the WWW. Topic Outline. Information Security. Briefing for CS4173

EXAM questions for the course TTM Information Security May Part 1

True False questions (25 points + 5 points extra credit)

Chapter 10. Cloud Security Mechanisms

INTRODUCTION TO CRYPTOGRAPHY

Compter Networks Chapter 9: Network Security

CS 3251: Computer Networking 1 Security Protocols I

SAMPLE EXAM QUESTIONS MODULE EE5552 NETWORK SECURITY AND ENCRYPTION ECE, SCHOOL OF ENGINEERING AND DESIGN BRUNEL UNIVERSITY UXBRIDGE MIDDLESEX, UK

Chapter 8. Network Security

SECURITY PRACTICES FOR ADVANCED METERING INFRASTRUCTURE Elif Üstündağ Soykan, Seda Demirağ Ersöz , ICSG 2014

The Feasibility and Application of using a Zero-knowledge Protocol Authentication Systems

Authentication in WLAN

Security Guide. BlackBerry Enterprise Service 12. for ios, Android, and Windows Phone. Version 12.0

WEB SECURITY. Oriana Kondakciu Software Engineering 4C03 Project

Chapter 8. Cryptography Symmetric-Key Algorithms. Digital Signatures Management of Public Keys Communication Security Authentication Protocols

BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: Security Note

Princeton University Computer Science COS 432: Information Security (Fall 2013)

Bit Chat: A Peer-to-Peer Instant Messenger

SENSE Security overview 2014

EE 7376: Introduction to Computer Networks. Homework #3: Network Security, , Web, DNS, and Network Management. Maximum Points: 60

ARCHIVED PUBLICATION

CNT4406/5412 Network Security Introduction

CRYPTOGRAPHY IN NETWORK SECURITY

CYBER ATTACKS EXPLAINED: THE MAN IN THE MIDDLE

OPENID AUTHENTICATION SECURITY

Sync Security and Privacy Brief

Chap. 1: Introduction

Computer Networks. Network Security and Ethics. Week 14. College of Information Science and Engineering Ritsumeikan University

Security Technical. Overview. BlackBerry Enterprise Service 10. BlackBerry Device Service Solution Version: 10.2

Chapter 10. Network Security

Our Key Security Features Are:

SecureCom Mobile s mission is to help people keep their private communication private.

ITSC Training Courses Student IT Competence Programme SIIS1 Information Security

Practice Questions. CS161 Computer Security, Fall 2008

You re FREE Guide SSL. (Secure Sockets Layer) webvisions

Internet Programming. Security

Reparing HTTP authentication for Web security

Soran University Faculty of Science and Engineering Computer Science Department Information Security Module Specification

Is your data safe out there? -A white Paper on Online Security

The Misuse of RC4 in Microsoft Word and Excel

Midterm. Name: Andrew user id:

Managing and Securing Computer Networks. Guy Leduc. Chapter 4: Securing TCP. connections. connections. Chapter goals: security in practice:

Analyzing the Security Schemes of Various Cloud Storage Services

Security (WEP, WPA\WPA2) 19/05/2009. Giulio Rossetti Unipi

CS558. Network Security. Boston University, Computer Science. Midterm Spring 2014.

How To Encrypt Data With Encryption

Principles of Network Security

TLS and SRTP for Skype Connect. Technical Datasheet

Network Security Web Security and SSL/TLS. Angelos Keromytis Columbia University

Part I. Universität Klagenfurt - IWAS Multimedia Kommunikation (VK) M. Euchner; Mai Siemens AG 2001, ICN M NT

Transcription:

CS 161 Computer Security Spring 2010 Paxson/Wagner MT2 Solns Midterm 2 exam solutions Please do not read or discuss these solutions in the exam room while others are still taking the exam. CS 161, Spring 2010, MT2 Solns 1

Problem 1. [True or false] (14 points) (a) TRUE or FLSE: If lice has a message to send to Bob and she wants to encrypt the message using asymmetric cryptography so that no one other than Bob can read it, she does so by using Bob s public key. (b) TRUE or FLSE: SSL and TLS provide essentially the same end-to-end security properties. (c) TRUE or FLSE : Properly used, a MC provides both confidentiality and integrity. (d) TRUE or FLSE : DNSSEC uses SSL between different name servers to certify that the results of DNS queries match those that the name servers are authorized to provide. (e) TRUE or FLSE: In the United States, if a company posts a privacy policy on their web site and fails to comply with it, they can be prosecuted for false advertising. (f) TRUE or FLSE : n attraction of public key cryptography is that, if implemented properly, the algorithms generally run much faster than those for symmetric key cryptography. (g) TRUE or FLSE : Memory protection, as found in a typical operating system, prevents malicious code running in kernel mode from writing to application-owned pages. Problem 2. [Multiple choice] (18 points) (a) TLS uses the following cryptographic techniques: (i) symmetric-key cryptography. (ii) Symmetric-key cryptography. (iii) Cryptographic hash functions. (iv) PKI certificates. (v) Nonces. (vi) None of the above. (b) Which of the following properties must a cryptographic hash function provide? (i) Key revocation. (ii) Collision resistance. (iii) deterministic mapping from input to output. (iv) One-to-one mapping of input to output. (v) Difficulty of finding an input that matches a given hash. (vi) None of the above. (c) What risks arise when using the same key to encrypt both directions of a communication channel, that aren t present if using different keys for the different directions? (i) Message tampering by flipping bits in the ciphertext. (ii) Reflection attacks. (iii) Hash collisions. (iv) Eavesdropping attacks. (v) Denial-of-service. (vi) None of the above. CS 161, Spring 2010, MT2 Solns 2

(d) s we saw in class, WEP is vulnerable to active attacks that allow an active attacker to flip bits in the ciphertext and thereby cause unauthorized modifications to the message received by the recipient. What would be the best defense against this kind of attack? (i) Use a different key for each direction and for each wireless device. (ii) Protect the ciphertext using a MC. (iii) Encrypt using ES in Cipher Block Chaining (CBC) mode. (iv) Encrypt using ES in Electronic Code Book (ECB) mode. (v) Prepend a random 32-bit nonce to the packet before applying the CRC and encrypting it. Problem 3. [Terminology] (14 points) 1. The security goal of ensuring that a communication arrives at the recipient in a form identical to what the sender transmitted. nswer: Message integrity. 2. widely used, standardized symmetric key encryption algorithm. nswer: ES. 3. way of checking whether the private key matching the public key in a certificate has been compromised and so the certificate should no longer be accepted. nswer: Revocation list. 4. symmetric-key algorithm for ensuring that a message has not been tampered with. nswer: MC. 5. The amount of uncertainty that an attacker faces when trying to guess an unseen value. nswer: Entropy. 6. n approach by which users can build up a degree of confidence in a public key s validity without requiring a trusted root of authority. nswer: Web-of-trust. 7. n algorithm for digitally signing data with a private key such that anyone with possession of the corresponding public key can verify the signature. nswer: RS. 8. signed statement by a trusted authority that a given public key indeed belongs to a given party. nswer: Certificate. 9. value used in symmetric key cryptography to ensure that a new session that transmits the same text as a previous session does not result in identical ciphertext. nswer: IV. (Nonce is also acceptable.) 10. way of constructing a stream cipher, given a block cipher. nswer: Counter mode. 11. The notion that the security of a well-designed cryptography algorithm should not rely upon the secrecy of the algorithm itself but only on the secret keys it uses. nswer: Kirchoff s principle. 12. widely used, standardized cryptographic hash function. nswer: SH256. 13. Unix operating system mechanism that enables a program to execute with the privileges of a different user identity rather than the identity of the user who invoked the progam. nswer: Setuid. 14. trusted third party who provides a way for one party to learn the public key of another party. Web browsers have a list of these trusted third parties, to support communication using HTTPS. nswer: Certificate authority. CS 161, Spring 2010, MT2 Solns 3

Problem 4. [Cryptography] (15 points) (a) SuperMail wants every email to be authenticated and protected from modification or tampering while it is transit from the sender to the receiver. Suppose lice is sending an email M to Bob. Given SuperMail s design constraints, which of the following options would be a secure way to protect the authenticity and integrity of her email? (i) lice s software should encrypt M under Bob s public key. In other words, lice s software should send E KB (M) to Bob. Comment: Encryption does not provide authenticity/integrity. nyone can send such a ciphertext. (ii) lice s software should send M along with a digital signature on M using lice s private key. In other words, lice should send M,Sign K 1(M). (iii) lice s software should choose a new symmetric key k for this email, send an encryption of k under Bob s public key, and also send an encryption of M under k using a stream cipher such as RC4. In other words, lice should send E KB (k),m RC4(k). Comment: Encryption does not provide authenticity/integrity. nyone can send such a ciphertext. lso, it s vulnerable to message modification (flip bits in the second part of the packet). (iv) lice s software should choose a new symmetric key k for this email, send an encryption of k under Bob s public key, and also send an encryption of M under k using ES in CBC mode. In other words, lice should send E KB (k),es-cbc-encrypt k (M). Comment: Encryption does not provide authenticity/integrity. nyone can send such a ciphertext. lso, it is vulnerable to message modification: modifying the last 128 bits of the packet disrupts only the last 128 bits of the message that Bob receives, and Bob won t detect that the message was tampered with. This violates the message integrity goal. (v) lice s software should choose a new symmetric key k for this email. Then it should send four pieces of information: the message M, a MC on M under the key k, an encryption of k under Bob s public key, and a digital signature on k using lice s private key. In other words, lice should send M,MC k (M),E KB (k),sign K 1(k). Comment: Once Bob receives one such message, he can send forged messages to Carol and make Carol think lice sent them. For instance, Bob can send M,MC k (M ),E KC (k),sign K 1(k) to Carol, and Carol will accept this thinking it came from lice. lso, the signature on k might reveal the value of k. Digital signature schemes are not guaranteed to provide confidentiality protection for the message that was signed. (In some signature schemes, the signature reveals the message that was signed; in others, it does not. Both possibilities are allowed by the definition of security for digital signatures.) Consequently, a man-in-the-middle might be able to recover k from Sign K 1 will be valid (using his knowledge of k). (k) and then modify M and recompute a new MC that (b) Let M be a confidential email that lice wants to send to Bob, K B be Bob s encryption public key, and K 1 be lice s private key for signing. Which of the following options would be the best choice for protecting confidential emails? (i) Send E KB (M),Sign K 1(K B ). Comment: This does not provide message integrity/authentication. man-in-the-middle can change E KB (M) to E KB (M ). CS 161, Spring 2010, MT2 Solns 4

(ii) Send E KB (M),Sign K 1(M). Comment: May fail to provide message confidentiality, since Sign K 1(M) might reveal M. lso, if lice sends the same message twice, the signature will be the same both times (in some signature schemes, at least), which might be an undesirable violation of confidentiality. (iii) Send E KB (M),Sign K 1(E KB (M)). (iv) Send E KB (k),sign K 1(E KB (k)),e k (M) where k is a new symmetric key chosen for this email and E k represents encryption under k with a symmetric-key encryption algorithm. Comment: Does not provide message integrity/authentication. For instance, if the symmetric-key encryption algorithm chosen is a stream cipher, then an attacker can flip bits in E k (M). (lso, it might be vulnerable to reaction attacks where a man-in-the-middle attacker modifies E k (M) and then observes Bob s reaction, to try to learn something about M.) (v) Send E KB (k),sign K 1(E KB (k)),e k (M),MC k (M) where k is a new symmetric key chosen for this email, E k represents encryption under k with a symmetric-key encryption algorithm, and MC k represents a message authentication code (MC) using key k. Comment: Might not provide message confidentiality. Depending upon the MC algorithm chosen, the MC k (M) might reveal partial (or complete) information about M. lso, using the same key k for both encryption and MCing is poor practice. Problem 5. [Local system security and privacy] (21 points) (a) Suppose you are concerned that your browser has malicious code running within it, though you are confident that your operating system has not been compromised. You type www.twitter.com into your browser s address bar to take you to the Twitter site. re there steps you could take (which could involve additional effort on your part) to check whether your browser sent any information to www. twitter.com via cookies as part of that request? (i) Yes. (ii) No. Justification 1: You can run a sniffer (e.g., Wireshark) to observe the network traffic actually sent by your browser, and check whether it contains any cookies. Justification 2: You could configure your browser to route your all HTTP requests through a web proxy you ve written that checks whether the request includes any cookies. (b) Now consider a slightly modified situation where you are confident that your browser has not been tampered with, but you are concerned that your operating system may have been compromised. You type https://secrets.cs.berkeley.edu into the browser s address bar, and your browser establishes a TLS connection to https://secrets.cs.berkeley.edu. That web server responds with a Web form for you to type in your username and password, and your browser sends back your answers via TLS. Can malware running inside the operating system extract your username and password? (i) Yes. (ii) No. Justification 1: The malware could read all your keystrokes before it passes them on to the browser. Justification 2: The malware could read the username and password out of your browser s address space. Justification 3: The malware could act as a man-in-the-middle, so you are actually communicating with the attacker. The attacker would have to provide a bogus certificate, but the malware could prevent CS 161, Spring 2010, MT2 Solns 5

detection of the attack by tampering with the results of file read syscalls for the file where the browser stores trusted certificates. (c) Suppose now that you are confident that both your browser and your operating system have not been tampered with, but you believe a user-level process that runs as user daemon has been infected and is running malware. Permissions on your system allow user daemon to read your files (which includes the browser executable) but not to write them. You are confident that your OS correctly implements these permissions and provides process-level isolation and memory protection. However, user daemon is allowed by the operating system to sniff packets received or sent by your system s network interface card. ssume that your browser is free of bugs. You again make a TLS connection to https://secrets.cs.berkeley.edu. Can the malware running as user daemon extract your username and password? (i) Yes. (ii) No. Justification 1: The username and password will be encrypted, so the malware can t read them by sniffing network packets. Justification 2: TLS provides end-to-end security, so the malware can t use the sniffing interface to recover the password for the same reason that an eavesdropper can t. Problem 6. [n alternate authentication scheme] (18 points) (a) CCURTE or INCCURTE: The Gingerbread scheme provides better security against phishing than password-based authentication: in the Gingerbread scheme, since users don t know their own secret authenticator U, users can t be easily fooled into typing their authenticator into a phishing web site. (b) CCURTE or INCCURTE : The Gingerbread scheme has a serious security flaw: since every web site can read all cookies stored in the browser, if the user visits a malicious third-party web site, the malicious web site could learn the user s authenticator U and then impersonate the user and access the user s bank account. Comment: Third-party web sites cannot read cookies set by www.bankobytes.com; the browser s same-origin policy prevents that. (c) CCURTE or INCCURTE : The Gingerbread scheme has a serious security flaw: it can be easily broken by an attacker who simply tries to connect to the bank s web server many times, trying a different guess at U each time. Comment: There are 2 128 possible values for U, all equally likely, so an attacker will have to try all of them (or, on average, at least around half of them). If an attacker can make 1000 requests per second, it would take the attacker about 2 118 seconds to try all possible 128-bit values. 2 118 seconds is about 2 93 years. This attack is unlikely to succeed within our lifetime, to say the least. (d) CCURTE or INCCURTE: One shortcoming of the Gingerbread scheme is that if the user leaves their computer logged in, then others who have physical access to the user s computer (e.g., the user s family members or the user s roommates) can impersonate the user and obtain access to the user s bank account. Comment: In practice, a bank might deal with this by requiring users to authenticate with both a password and a Gingerbread cookie. The password can be stolen by phishers, but that s OK; phishers won t be able to steal the authenticator. The authenticator can be misused by roommates and family CS 161, Spring 2010, MT2 Solns 6

(e) members, but that s OK; they probably won t be able to guess the user s password, and we might not be terribly worried about people mounting a phishing attack against their own roommate. CCURTE or INCCURTE: One feature of the Gingerbread scheme is that if the user wants to visit their bank website, but forgets to use the bookmark and types in http://www.bankobytes.com into the browser address bar, then this mistake will not compromise the user s security. From the standpoint of security, this is a good human factors engineering, because it means that this kind of user error does not cause a serious security breach. Comment: If the user types in http://www.bankobytes.com, the user will get an error page, and the cookie will not be transmitted. Thus, the Gingerbread scheme fails safe in this situation. lso, if the user mis-types the bank address and types in, say, http://www.bnkobytes.com, we re still OK, even if that other site is controlled by an attacker (a malicious typo squatter). The authenticator is stored in a secure cookie, so it will not be sent over any HTTP connection and thus will not be revealed to the attacker in this example. (f) CCURTE or INCCURTE: potential security risk in the Gingerbread scheme is that, if Gingerbread s scheme is widely adopted by many banks, attackers might start trying to attack the process by which users initially sign up for online banking, instead of trying to steal the user s password. Comment: This is indeed a risk. similar issue is that banks will probably need some way to handle situations where users clear all their cookies, install a new browser, or buy a new computer. Banks might provide a special sign-up protocol so the user can register their browser in these situations; but this creates an opportunity for phishers to set up a phishing site that tries to mimic the special sign-up protocol. (g) CCURTE or INCCURTE : potential privacy risk in the Gingerbread scheme is that, if Gingerbread s scheme is widely adopted by many banks, advertising networks could use the cookie set by the bank to track users as they browse third-party web sites, without the consent of the user or the user s bank. Comment: The same-origin policy will not allow third-party web sites or advertising sites to read or receive the cookie set by http://www.bankobytes.com, so they cannot use this cookie to track users (without the cooperation of BankOBytes). (h) CCURTE or INCCURTE : The only benefit of using HTTPS connections (instead of HTTP) in the Gingerbread scheme is ensuring that the user s browser is talking to the correct bank and not an imposter. Comment: It also prevents eavesdroppers from learning the authenticator. (i) CCURTE or INCCURTE: If the bank preferred to minimize the amount of data that needs to be stored on the bank web server, there is an alternative that is also secure but needs less state on the bank web server: instead of making U a random 128-bit value, the bank could form U as the concatenation of the user s account number N U and a MC on the account number under some key k stored on the bank web server. In other words, in the alternate scheme, the bank web server stores a single key k (never revealed to anyone and the same for all users), and when a user signs up for online banking, the bank sets a cookie containing U = (N U,MC k (N U )) on the user s browser. This alternative is also secure and avoids the need to store the association (N U, U ) on the bank server. Comment: This is basically the SYN cookie idea, applied to this context. CS 161, Spring 2010, MT2 Solns 7