Investigate the use of the Java VM as the platform for supporting wrappers. I don't know whether this is doable at all (or we would have to find some other interpreted platform that is not as complicated as Java). I do believe that there has been some work at getting the JVM to run inside the Linux kernel.
Implement a wrapper for logging activities on a linux box (e.g., login, attempt to open files, etc.). How difficult is this? How efficient is it? How much data does it generate?
Can we apply Proof Carrying Code to Wrappers?
Explore the design and implementation of graphical passwords for PCs as opposed to just handhelds.
Assess the security of computer systems in our department (or CE if we can get their permission) both from the inside (i.e., from a departmental account) and from the outside (i.e., from a home machine). If you choose to do this, we need to get permission BEFORE you do anything.
Look at the Security Architecture in the Post-PC World paper by Jason Hill. Suppose you have a smart card with a key and the ability to do some encryption and decryption. What other hardware support would you need in order to do what they do without requiring the use of a handheld. For example, you would need a secure channel from the encryption unit to the display to be able to display sensitive information without having some other malicious running software to intercept your information. How can you design a secure service on an insecure platform (e.g., public kiosk) using this hardware support?
Investigate available tools for intrusion detection. How do they work? How might we be able to improve them.
Right now, tunneling X through ssh seems to perform terribly. Measure the performance of this tunneling, project into the future to see whether this will remain a performance problem, and is there anything we can do to improve this performance?
Study the BGP routing protocol and think about potential vulnerabilities. How might these vulnerabilities be fixed?
Are there any issues in mobile computing and security?