Information Security Spring 2004
Qualifier Exam
1. The Trusted Computing Group (TCG) characterizes a trusted computer
as one where the platform is able to control what software can be
loaded and executed on it. Obviously, this means that you cannot run
whatever application you like on your own computer! One the other hand,
if services demand TCG-compliant clients, you will not be able to
access such services unless you choose to be TCG-compliant. One idea is
to be TCG-compliant on demand. Thus, if the client node interacts with
a service that needs such compliance, it boots in a manner that is
consistent with the TCG requirements. At a later time, when
interactions with the service are completed, the system can reboot to
run any software it desires.
Is this idea for building a more flexible trusted platform
technologically feasible? If yes, what are the challenges that must be
overcome? Otherwise, explain why this approach will not work.
2. The Bell & La Padula model for mandatory access control (MAC)
addresses confidentiality in a multi-level system by developing when
reads and writes can be allowed based on labels associated with
subjects and documents. On the other hand, Biba used a similar model
when data integrity is important. Clearly, there are many documents
that contain information which has both confidentiality and integrity
requirements. Is it possible to integrate these two models so both
confidentiality and integrity can be addressed in a unified manner?
What are the rules for allowing reads and writes and how are labels
associated with documents? Comment on the usefulness of such a model?
3. Assume that you have to choose a public key cryptographic algorithm
to be used by embedded devices.
a) What algorithm you would choose? Why? Now assume that your only
choices are El Gamal over elliptic curves or RSA (traditional, over
finite fields: what means do not use elliptic curves at all).
b) Discuss the pros and cons of each of the algorithms.
c) Discuss short and long term impact of each one.
d) Specify which one you chose and why. Now assume that the embedded
device has a math coprocessor with three 1100 bits hardware registers
and optimized to do modular exponentiation.
e) Discuss how this changes your answer "b", "c", and/or "d" above.
4. Assume that you have to design a cryptographic protocol for a
(oversimplified) command and control center of battlefields. Many
decisions have to be taken in real time and information is shared among
data sources/consumers of different clearance levels. State your
assumptions (simplifications) and design a cryptographic protocol to
keep information flowing without compromising your security model (for
security model you can either choose a classical one like Bell Lapadula
or make yours, as long as you define it for me). Well define the
algorithms used and key management that allows you to have different
security levels of data being distributed to consumers with different
clearances. State what are the reasons for your decisions, considering
the possible (hardware) limitations of data sources/consumers.
5. Suppose you were able to observe ciphertext that you knew had been
encrypted in CBC mode, and you saw that two ciphertext blocks, say C2
and C5, were equal. Why would this leak information?
6. As encryption conceals the contents of network messages, the ability
of intrusion detection systems to read those packets decreases. Some
have speculated that all intrusion detection will become host-based
once all network packets have been encrypted. Do you agree? Justify
your answer. In particular, if you agree, explain why no information of
value can be gleaned from the network; if you disagree, describe
information of interest to intrusion detection.
7. A program is written to compute the sum of integers from 1 to 10.
The programmer writes the program so that it computes the sum of the
numbers from k to n. A team of security specialists scrutinizes the
code. The team certifies that this program properly sets k to 1 and n
to 10; therefore, the program is certified as being properly restricted
in that it always operates in precisely the range 1 to 10. List
different ways that this program can be sabotaged so that during
execution it computes a different sum, such as 3 to 20. One means of
limiting the effect of an untrusted program is confinement: controlling
what processes have access to the untrusted program and what access the
program has to other processes and data. Explain how confinement would
apply to the above program that computes the sum of integers 1 to 10.
8. Suppose there is a scan-based Internet worm. Describe how you can
detect it on your local area network. Suppose the worm is polymorphic,
discuss how it can evade a signature-based intrusion detection system.
Can you design a “smart” worm that can evade even an anomaly detection
system? Would it be possible to implement and spread such a “smart”
worm? Is there any defense against it?
9. The context of this question is the IP traceback paper by Savage et
al. (in ACM Sigcomm 2000). Like in the paper, we assume that to
reconstruct an attack path, we need to know the IP addresses of all the
routers on the path. We also assume that the victim knows nothing
about the topology of the network. Suppose somehow every router
in the Internet knows how many hops a packet has traversed (since it
left the source) so far and how many hops it has yet to traverse to
reach the destination. Can you design a better packet marking
scheme, in terms of the (smaller) expected number of packets needed for
path reconstruction, that utilizes the aforementioned knowledge?
Can you design an optimal scheme and prove its optimality (the second
part is a bonus question)? Can you speculate how can a router
possibly obtain the aforementioned knowledge (distance from source and
distance to destination)?