1.8 Exercises
1. Distinguish between vulnerability, threat, and control.
2. Theft usually results in some kind of harm. For example, if someone steals
your car, you may suffer financial loss, inconvenience (by losing your mode of
transportation), and emotional upset (because of invasion of your personal
property and space). List three kinds of harm a company might experience from
theft of computer equipment.
3. List at least three kinds of harm a company could experience from electronic
espionage or unauthorized viewing of confidential company materials.
4. List at least three kinds of damage a company could suffer when the integrity
of a program or company data is compromised.
5. List at least three kinds of harm a company could encounter from loss of
service, that is, failure of availability. List the product or capability to which
access is lost, and explain how this loss hurts the company.
6. Describe a situation in which you have experienced harm as a consequence of
a failure of computer security. Was the failure malicious or not? Did the attack
target you specifically or was it general and you were the unfortunate victim?
7. Describe two examples of vulnerabilities in automobiles for which auto
manufacturers have instituted controls. Tell why you think these controls are
effective, somewhat effective, or ineffective.
8. One control against accidental software deletion is to save all old versions of
a program. Of course, this control is prohibitively expensive in terms of cost of
storage. Suggest a less costly control against accidental software deletion. Is
your control effective against all possible causes of software deletion? If not,
what threats does it not cover?
9. On your personal computer, who can install programs? Who can change
operating system data? Who can replace portions of the operating system? Can
any of these actions be performed remotely?
10. Suppose a program to print paychecks secretly leaks a list of names of employees
earning more than a certain amount each month. What controls could be instituted to
limit the vulnerability of this leakage?
11. Preserving confidentiality, integrity, and availability of data is a restatement of the
concern over interruption, interception, modification, and fabrication. How do the
first three concepts relate to the last four? That is, is any of the four equivalent to one
or more of the three? Is one of the three encompassed by one or more of the four?
12. Do you think attempting to break in to (that is, obtain access to or use of) a
computing system without authorization should be illegal? Why or why not?
13. Describe an example (other than the ones mentioned in this chapter) of data
whose confidentiality has a short timeliness, say, a day or less. Describe an example
of data whose confidentiality has a timeliness of more than a year.
14. Do you currently use any computer security control measures? If so, what?
Against what attacks are you trying to protect?
15. Describe an example in which absolute denial of service to a user (that is, the user
gets no response from the computer) is a serious problem to that user. Describe
another example where 10 percent denial of service to a user (that is, the user’s
computation progresses, but at a rate 10 percent slower than normal) is a serious
problem to that user. Could access by unauthorized people to a computing system
result in a 10 percent denial of service to the legitimate users? How?
16. When you say that software is of high quality, what do you mean? How does
security fit in your definition of quality? For example, can an application be insecure
and still be “good”?
17. Developers often think of software quality in terms of faults and failures. Faults
are problems (for example, loops that never terminate or misplaced commas in
statements) that developers can see by looking at the code. Failures are problems,
such as a system crash or the invocation of the wrong function, that are visible to the
user. Thus, faults can exist in programs but never become failures, because the
conditions under which a fault becomes a failure are never reached. How do software
vulnerabilities fit into this scheme of faults and failures? Is every fault a
vulnerability? Is every vulnerability a fault?
18. Consider a program to display on your website your city’s current time and
temperature. Who might want to attack your program? What types of harm might
they want to cause? What kinds of vulnerabilities might they exploit to cause harm?
19. Consider a program that allows consumers to order products from the web. Who
might want to attack the program? What types of harm might they want to cause?
What kinds of vulnerabilities might they exploit to cause harm?
20. Consider a program to accept and tabulate votes in an election. Who might want
to attack the program? What types of harm might they want to cause? What kinds of
vulnerabilities might they exploit to cause harm?
21. Consider a program that allows a surgeon in one city to assist in an operation on a
patient in another city via an Internet connection. Who might want to attack the
program? What types of harm might they want to cause? What kinds of
vulnerabilities might they exploit to cause harm?
1. Describe each of the following four kinds of access control mechanisms in
terms of (a) ease of determining authorized access during execution, (b) ease of
adding access for a new subject, (c) ease of deleting access by a subject, and (d)
ease of creating a new object to which all subjects by default have access.
• per-subject access control list (that is, one list for each subject tells
all the objects to which that subject has access)
• per-object access control list (that is, one list for each object tells all
the subjects who have access to that object)
• access control matrix
• capability
2. Suppose a per-subject access control list is used. Deleting an object in such a
system is inconvenient because all changes must be made to the control lists of
all subjects who did have access to the object. Suggest an alternative, less costly
means of handling deletion.
3. File access control relates largely to the secrecy dimension of security. What
is the relationship between an access control matrix and the integrity of the
objects to which access is being controlled?
4. One feature of a capability-based protection system is the ability of one
process to transfer a copy of a capability to another process. Describe a situation
in which one process should be able to transfer a capability to another.
5. Suggest an efficient scheme for maintaining a per-user protection scheme.
That is, the system maintains one directory per user, and that directory lists all
the objects to which the user is allowed access. Your design should address the
needs of a system with 1000 users, of whom no more than 20 are active at any
time. Each user has an average of 200 permitted objects; there are 50,000 total
objects in the system.
6. Calculate the timing of password-guessing attacks:
(a) If passwords are three uppercase alphabetic characters long, how much
time would it take to determine a particular password, assuming that testing
an individual password requires 5 seconds? How much time if testing
requires 0.001 seconds?
(b) Argue for a particular amount of time as the starting point for “secure.”
That is, suppose an attacker plans to use a brute-force attack to determine a
password. For what value of x (the total amount of time to try as many
passwords as necessary) would the attacker find this attack prohibitively
long?
(c) If the cutoff between “insecure” and “secure” were x amount of time,
how long would a secure password have to be? State and justify your
assumptions regarding the character set from which the password is
selected and the amount of time required to test a single password.
7. Design a protocol by which two mutually suspicious parties can authenticate
each other. Your protocol should be usable the first time these parties try to
authenticate each other.
8. List three reasons people might be reluctant to use biometrics for
authentication. Can you think of ways to counter those objections?
9. False positive and false negative rates can be adjusted, and they are often
complementary: Lowering one raises the other. List two situations in which false
negatives are significantly more serious than false positives.
10. In a typical office, biometric authentication might be used to control access to
employees and registered visitors only. We know the system will have some false
negatives, some employees falsely denied access, so we need a human override,
someone who can examine the employee and allow access in spite of the failed
authentication. Thus, we need a human guard at the door to handle problems, as well
as the authentication device; without biometrics we would have had just the guard.
Consequently, we have the same number of personnel with or without biometrics,
plus we have the added cost to acquire and maintain the biometrics system. Explain
the security advantage in this situation that justifies the extra expense.
11. Outline the design of an authentication scheme that “learns.” The authentication
scheme would start with certain primitive information about a user, such as name and
password. As the use of the computing system continued, the authentication system
would gather such information as commonly used programming languages; dates,
times, and lengths of computing sessions; and use of distinctive resources. The
authentication challenges would become more individualized as the system learned
more information about the user.
• Your design should include a list of many pieces of information
about a user that the system could collect. It is permissible for the
system to ask an authenticated user for certain additional information,
such as a favorite book, to use in subsequent challenges.
• Your design should also consider the problem of presenting and
validating these challenges: Does the would-be user answer a truefalse
or a multiple-choice question? Does the system interpret natural
language prose?
12. How are passwords stored on your personal computer?
13. Describe a situation in which a weak but easy-to-use password may be adequate.
14. List three authentication questions (but not the answers) your credit card
company could ask to authenticate you over the phone. Your questions should be
ones to which an imposter could not readily obtain the answers. How difficult would
it be for you to provide the correct answer (for example, you would have to look
something up or you would have to do a quick arithmetical calculation)?
15. If you forget your password for a website and you click [Forgot my password],
sometimes the company sends you a new password by email but sometimes it sends
you your old password by email. Compare these two cases in terms of vulnerability
of the website owner.
16. Defeating authentication follows the method–opportunity–motive paradigm
described in Chapter 1. Discuss how these three factors apply to an attack on
authentication.
17. Suggest a source of some very long unpredictable numbers. Your source must be
something that both the sender and receiver can readily access but that is not obvious
to outsiders and not transmitted directly from sender to receiver.
18. What are the risks of having the United States government select a cryptosystem
for widespread commercial use (both inside and outside the United States). How
could users from outside the United States overcome some or all of these risks?
19. If the useful life of DES was about 20 years (1977–1999), how long do you
predict the useful life of AES will be? Justify your answer.
20. Humans are said to be the weakest link in any security system. Give an example
for each of the following:
(a) a situation in which human failure could lead to a compromise of
encrypted data
(b) a situation in which human failure could lead to a compromise of
identification and authentication
(c) a situation in which human failure could lead to a compromise of access
control
21. Why do cryptologists recommend changing the encryption key from time to
time? Is it the same reason security experts recommend changing a password from
time to time? How can one determine how frequently to change keys or passwords?
22. Explain why hash collisions occur. That is, why must there always be two
different plaintexts that have the same hash value?
23. What property of a hash function means that collisions are not a security
problem? That is, why can an attacker not capitalize on collisions and change the
underlying plaintext to another form whose value collides with the hash value of the
original plaintext?
24. Does a PKI perform encryption? Explain your answer.
25. Does a PKI use symmetric or asymmetric encryption? Explain your answer.
26. Should a PKI be supported on a firewall (meaning that the certificates would be
stored on the firewall and the firewall would distribute certificates on demand)?
Explain your answer.
27. Why does a PKI need a means to cancel or invalidate certificates? Why is it not
sufficient for the PKI to stop distributing a certificate after it becomes invalid?
28. Some people think the certificate authority for a PKI should be the government,
but others think certificate authorities should be private entities, such as banks,
corporations, or schools. What are the advantages and disadvantages of each
approach?
29. If you live in country A and receive a certificate signed by a government
certificate authority in country B, what conditions would cause you to trust that
signature as authentic?
30. A certificate contains an identity, a public key, and signatures attesting that the
public key belongs to the identity. Other fields that may be present include the
organization (for example, university, company, or government) to which that
identity belongs and perhaps suborganizations (college, department, program, branch,
office). What security purpose do these other fields serve, if any? Explain your
answer.