Security Qualifier Exam

Fall 2003

Instructions:  Please answer any 6 out of the 7 questions.  Give detailed answers to the questions mentioning all the assumptions you are making and be comprehensive in your answers.

1. Comment on advantages and disadvantages on using the following algorithms when designing protocols for sensor networks.
a) DES
b) 3-DES
c) AES
   Can you suggest other algorithms, or combination of algorithms that would be more appropriate for sensor network? Please, clearly state any assumption you make.


2. Assume the following protocol that is to be used for authentication of Alice (A) to Bob (B).
a) Alice and Bob share IV and K; both secrets.
b) Alice uses the following algorithm for authentication:
    If First Time authenticate:
            set old_value = IV;
            seq_number = Random;

    Authenticate( ){
        Token = old_value XOR seq_number;
        seq_number = seq_number + K;
        old_value = seq_number * K;
        Send Token to Bob;
    }
c) Bob uses the following algorithm for verification:
    If First Time authenticate:
            set old_value = IV;

    Verify(){
        Receive Token from Alice;
        If( First Time ){    
            seq_number = Token XOR old_value;
            seq_number = seq_number + K;
            old_value = seq_number * K;
            Verification = OK;
            exit();
        }
        If( seq_number == Token XOR old_value )
            seq_number = seq_number + K;
            old_value = seq_number * K;
            Verification = OK;
            exit();
        }
        Verification = FALSE;
    }

    Analyze the protocol above. Are there values of K that makes the protocol good, or bad? Modify the protocol to improve it. Clearly state what your improvements accomplish and the strengths and weaknesses of the resulting protocol.                


3. It is well accepted that the least-privilege principle is a good idea but common operating systems do not provide adequate support to enforce it. As hardware resources increase, one idea is the "virtualization" of physical resources across a number of isolated subsystems where a user can execute applications that require different privileges. For example, one system can support web and email applications while another one can support applications that manipulate sensitive data that is stored locally. Clearly, hardware support and operating system functionality must be provided to ensure that isolated systems do not impact each other even when one is compromised. A graduate student, when hearing this idea, claimed that a simpler solution is to implement and enforce the Chinese Wall security policy. If an application has accessed certain files (e.g., pertaining to email or web), it should not access files in conflicting classes (e.g., sensitive files).

Discuss the viability of both of these approaches for ensuring that in a certain execution context or a session, a user is able to access only those resources that are needed by the application that are running. Comment how each may be implemented and discuss how the desired isolation requirements are met by such implementations. If both approaches are viable, compare the advantages and disadvantages of each.


4. The Hydra system used capabilities to solve a number of well known protection problems. One of them was the "mutual suspicion" problem. Describe what this problem is and explain how it is solved by Hydra.

Hydra was not a success partly because due to the slow hardware it ran on, its performance was poor. However, now with faster hardware, perhaps it may be viable to run it on modern processors and provide adequate performance. Given that most interesting applications now run on multiple machines, we want to solve the security/protection problems in such environments. In case of the mutual suspicion problem, an application may call a utility that runs at a remote machine. Can
Hydra's capability based solution be extended to such a distributed environment by running Hydra on both the machines where the application and the utility run. Discuss how capabilities can be created, propagated and used to enforce access in this environment if you think such a solution is feasible. Otherwise, explain why this will not work.


5. What is the "safety problem"? Is it decidable? Sketch a proof.


6. Let M be a plaintext message, and K = 111...111 be a DES encryption key consisting of all 1's. Show that if C=K{M} then M=K{C}, so encryption (using the DES algorithm) twice with this key returns the plaintext. What are the other DES keys that have the same property?


7. When constructing an anomaly detection model for a program, we can use static or dynamic analysis. Discuss the advantages and disadvantages of each of the approaches. Propose ways to integrate the two approaches. Give examples when appropriate.