fall_2008_final_uncut

advertisement
CS 334: Computer Security (Prof. Szajda)
Exam 2
October 31, 2008
Name:____________________________________________________________
Note: This exam is open book, open note. You are, however, limited to your course papers,
note, tests, etc. Under no circumstances can you be assisted by anyone other than myself.
The Honor Code applies. Your completed test is to be returned to my office by no later
than 5:00pm on Friday, November 7, 2008.
Please keep your answers concise and to the point (though one line answers rarely suffice).
To be clear, when I say “Explain”, that means that a one line answer does not suffice, even if
a one line answer technically “answers” the question. That does not, however, mean I
require a book length answer. It means that you should consider the Other Student Criteria.
Questions 3 and 14 are each worth 8 points. All remaining questions are worth 6 points.
1. (6 points) What is meant by the term “security through obscurity”?
Is this considered to be a good security technique? Be sure to explain your answer.
2. (8 points) Explain the primary differences between public key and symmetric key
cryptography.
Does public key cryptography effectively eliminate the key
management problem? Explain.
3. (6 points) Consider the following classical substitution cipher to be used to encrypt
English language ASCII text. The cipher chooses 26 distinct integers at random, and
assigns one to each letter of the alphabet. The message is then encrypted by mapping
individual letters to their associated integer. Is this cipher secure? Explain why or
why not. If not, explain how an adversary might attempt to break the cipher.
4. (6 points) Consider the following scenario. An adversary is attempting to decrypt a
message encrypted with AES. The adversary has the computational power to perform
(and complete) an exhaustive key search. Is the adversary guaranteed to determine
the key used to decrypt the message? Be sure to explain your answer (and be careful
here).
5. (8 points) Why specifically do we require a structure (such as a Fiestel cipher) for our
ciphers? Be sure to specifically address the question of why we can’t use arbitrary
mappings of, say, n bit strings to n bit strings.
6. (12 points) Explain in some detail (though without going into assembly code or the
like) why buffer overflow attacks are possible, and how they are implemented.
7.
(8 points) You have been approached by a journalist who is asking for your
evaluation (as an expert in computer security) of DRE voting machines. What do
you tell her? Be sure to discuss the goals of an election system and how they are met
(or not, as the case may be) by current state-of-the-art DRE systems.
8. (9 points) Describe in some detail the RSA public-key encryption algorithm. Among
the topics that should be discussed are:
a. The way in which a person chooses a public-private key pair.
b. The way in which a message is encrypted and decrypted.
c. The reason why the scheme is secure.
9. (7 points) Describe in detail the Diffie-Helmann key exchange algorithm.
10. (8 points) In the paper “Why Cryptosystems Fail”, Ross Anderson presents a number
of problems with the way security systems are typically designed, developed,
deployed, and tested. In particular, discuss
a. His assertion that “information security is at heart an engineering problem.
The hardware and software products which are designed to solve it should in
principle be judged in the same way as any other products: by their cost and
effectiveness”.
b. The problems that arise due to integration of multiple security software
packages
c. The inclusion of the “people” factor in the security equation
d. The reasons why the security community lacks the type of useful feedback
system found in the airline industry.
11. (8 points) In the paper “Cryptographic Design Vulnerabilities”, Bruce Schneier
discusses (among other topics) attacks against trust models. In particular, he states
that many of the more interesting attacks that he has launched are “against the
underlying trust model of the system; who or what in the system is trusted, in what
way, and to what extent.” List and discuss at least four examples of how trust issues
can cause the failure of a security system.
12. (6 points) Explain what is meant by the terms integrity, confidentiality,
authentication, availability
13. The authors of a paper that described a security protocol for networked systems
wanted to explain that their scheme assumed that data transmitted between any two
nodes A and B, it arrived unchanged. They wrote: “Attacks that result from
compromises of data in transit are beyond the scope of this paper---we assume that
such data is encrypted.” The reviewers of the paper flagged this sentence, saying that
it did not convey what they authors meant to convey. Explain why.
14. (4 points) What exactly is a man-in-the-middle attack?
15. (6 points) What is meant by the term “security through obscurity”?
Is this considered to be a good security technique? Be sure to explain your answer.
16. (6 points) Explain the primary differences between public key and symmetric key
cryptography.
17. (4 points) Explain the difference between unconditional security and computational
security.
18. (6 points) Consider the following classical substitution cipher to be used to encrypt
English language ASCII text. The cipher chooses 26 integers at random, and assigns
one to each letter of the alphabet. The message is then encrypted by mapping
individual letters to their associated integer. Is this cipher secure? Explain why or
why not. If not, explain how an adversary might attempt to break the cipher.
19. (6 points) Consider the following scenario. An adversary is attempting to decrypt a
message encrypted with DES. The adversary has the computational power to perform
(and complete) an exhaustive search. Are they guaranteed to determine the key used
to decrypt the message? Be sure to explain your answer (and be careful here).
20. (6 points) What exactly is steganography?
disadvantages?
What are its advantages and
21. (6 points) Why specifically do we require a structure (such as a Fiestel cipher) for our
ciphers? Be sure to specifically address the question of why we can’t use arbitrary
mappings of, say, n bit strings to n bit strings.
22. (6 points) What was the main point of Ken Thompson’s paper “Reflections on
Trusting Trust”?
23. (12 points) Explain in some detail (though without going into assembly code of the
like) why buffer overflow attacks are possible, and how they are implemented.
24.
25.
26.
27.
28.
29.
30. (6 points) True or false. The discovery of effective public key cryptographic
algorithms eliminated the need for sophisticated key distribution schemes. Be sure to
explain your answer in some detail.
31. (15 points) Consider the following diagram that illustrates a standard symmetric key
distribution protocol. For each step on the protocol, explain what information is
being transmitted, why this information is necessary, and why this particular step in
the protocol is necessary.
32. (6 points) True or false. Symmetric key encryption is the only tool required for
message integrity, provided that the two communicating parties are the only ones that
know the secret key K. Be sure to explain your answer.
33. (7 points) Consider authentication. Tell me how I would use public key
cryptography to authenticate a message. That is, assuming that the public keys of
parties A and B are well known, describe (or draw a diagram showing how) A can
send a message M to B in such a manner that all of the following are simultaneously
satisfied:
a. B can guarantee the message has not changed in transit
b. B can guarantee the message was sent by A (and not by anyone else).
c. A can guarantee that no one but B can read M.
34. (6 points) Answer the following three hash related questions.
a. What is the difference between a message authentication code and a hash?
b. What does it mean for a hash to have strong collision resistance?
c. What does it mean for a has to have weak collision resistance?
35. (12 points) Explain in detail what a TCP sequence number attack involves. Be sure
to discuss in particular:
a. The TCP three-way handshake initialization protocol that two parties go
through to set up a TCP connection.
b. Why the granularity of the rate of change of the initial sequence number is
more important than the average rate of change.
c. Why is this attack not practical for an intruder targeting one of the Internet
backbone routers?
36. (6 points) What exactly is a TCP source routing attack? Be sure to explain why it
(sometimes) works.
37. The following passage is from a paper we read this semester. The passage concerns
the use of one-time passwords in the login process. Explain what this passage is
saying.
38. (6 points) Firewalls are an effective security tool, but regardless of the specific type
of firewall, they do have limitations. Some, in fact, arguer that they simply don’t
work. During our lectures on firewalls, we discussed four reasons why people feel
this way. List and briefly discuss three of these reasons.
39. (6 points) Explain the “tiny fragment” technique for attacking a firewall.
40. (6 points) Discuss the advantages and disadvantages of packet filter style firewalls.
41. (12 points) Discuss the following intrusion detection issues: In the article “A survey
of Intrusion Detection Techniques”, Teresa Lunt describes several potential
approaches to intrusion detection.
a. The difficulty of determining the structure and content of audit files.
b. The advantages and disadvantages of statistical versus rule based approaches
c. How does a model based approach improve on a rule-based approach?
42. (12 points) Explain what is meant by each of the following four secure system design
principles. For each principle, describe why it is considered good security practice.
a. Fail-safe Defaults
b. Complete Mediation
c. Open Design
d. Psychological Acceptability
43. What are some of the perceived advantages of autonomous agent-based intrusion
detection systems, as compared with non agent-based systems?
44. What exactly is a honeypot? Why are they useful?
45. We discussed four reasons for not counterattacking when intrusions are detected.
Give two of these reasons.
46. Give a short description of each of the following virus related terms:
a. Boot sector infector
b. Executable infector
c. Multipartite virus
d. TSR virus
e. Stealth virus
f. Excrypted virus
g. Polymorphic virus
h. Macro virus
i. Logic bomb
j. Bacteria
47. Give a detailed, though high-level, description of the operation of the Internet worm.
Be sure to answer in particular:
a. The specific programs that the worm exploited.
b. How the worm exploited those programs.
c. How the worm chose target machines to attack.
d. The different phases of worm execution upon identification of a suitable target
machine.
48. What specific properties of a macro virus allow them to spread relatively rapidly?
49. From the standpoint of the adversary, polymorphic viruses are an improvement over
encrypted viruses in that they are more difficult to detect. Why exactly is this? How
is it that polymorphic viruses evade detection?
50. What is meant by the term type-safe as applied to a programming language? How
does strong typing help increase the security of a language?
51. What property of macro viruses make them potentially much more effective from an
attacker's perspective?
52. Explain in some detail how the Internet Worm worked. In particular, your discussion
should include consideration of the particular routines and applications the
vulnerability exploited, as well as the propagation mechanism (including the means
through which potential new targets were chosen and the mechanics of infection).
53. Consider the following quote regarding passwords as a user authentication
mechanism, ``Although secure in theory, human practice often degrades quality of
this means of authentication.'' Discuss in some detail. Be sure to mention the
fundamental conflict between the desire to allow longer passwords and the desire to
implement practical security.
54. You are trying to crack a target's password (which you may assume is at most 10
ASCII characters in length). Discuss your plan of attack including the specific
strategies you will use, the order in which you will use them, and why you will use
them.
55. Consider the diagram below, which provides information on worm propagation rates.
Explain why the curve for the conventional worm propagation rate could be expected
to be is sigmoidal (i.e., has the shape it does). (And to ward off a wrong answer, do
not say that it has this shape because the equation for it gives this shape – the question
is really asking why that equation (which gives this shape) is appropriate. To answer
the question, however, you really need not refer to the equation at all.) Why is it that
Warhol type worms are able to propagate so rapidly? Why is it that virus (as opposed
to worm) propagation rates are relatively difficult to model?
56. Consider the functions shown below, which are intended to generate a 16 byte key.
Explain carefully why this implementation of a random number generator is not
acceptable for use in security protocols.
57. Consider the oblivious transfer protocol detailed in the diagram below. Explain in
some detail why this protocol satisfies the necessary requirements for an oblivious
transfer. (Note: I am not looking for the kind of proof (e.g., using a simulation) that
researchers in this subarea use. Rather, I’m looking for an explanation of why this
protocol does what it is supposed to.)
58. Consider Yao’s garbled circuit design.
a. Explain why Bob can decrypt one and only one line of the garbled truth table
provided by Alice.
b. What aspects of Yao’s protocol makes it impractical for so many real-world
applications?
Download