ECS 235 Projects

Introduction

Goal Research projects are a major requirement of this course. You will do original research on a problem of interest in computer security to advance the state of the art. Be ambitious! Aim for publishable results in prestigious security conferences, such as:

Teams You will form a group of 2-3 people. Although I will not categorically rule out solo teams, I expect that working in groups will allow you to tackle more substantial research issues. You may use the class mailing list to find project partners, or I may help you find a partner.

Topics I will evaluate projects on the quality of their research in computer security. I expect that most projects will fall into one of two categories:

Your project topic should be relevant to computer security in some way, but I will interpret this requirement broadly. I encourage you to be creative in identifying valuable problems. You are welcome to tie your project with your current research or with your project in another class.

Please come to talk to me about your project ideas. Here are some example topics to give you a feeling of potential projects. Although you are welcome to choose from these topics, you are in no way limited to them.

Schedule

Project proposals, due Friday, 10/21. Choose your project topic and discuss it with me. Form your project team. Set up a web page with the name of your project, team members, and your proposal. Your proposal should briefly describe the problem, the related work, your approach, the expected results, and your schedule. Email me the title and URL of your project and your team members using the following template:

<p><a href="http://www.imdb.com/title/tt0103064/">Terminator 2: Judgment Day</a> Arnold Schwarzenegger, Linda Hamilton, and Edward Furlong</p>

Midterm report, due Friday, 11/18. Your report should define the problem, your approach, your progress, and your plan for the rest of the project.

Poster session, Thursday, 12/8, 9-10:30am, 1065 Kemper. You will present a poster of your project to your classmates as well as other faculty and students, including possibly your advisor.

Project report, due Friday, 12/16. Write a conference-style paper describing the problem, your approach, your results, the merits and shortcomings of your approach compared to the past work on the problem. Discuss how to improve your approach or future work on the problem.

Example project topics

Here are some examples of project topics. Although you are welcome to choose from these topics if they interest you, you are in no way restricted to the.

Software security

New attacks People have devised ingenious ways to attack systems, such as:

Can you find new security weaknesses in any widely-deployed system?

Malware defense Improve the state of the art malware defense.

Virtual machines for security Recently, software has become available to implement a virtual machine for modern operating systems (e.g., Windows). This seems to provide a powerful mechanism for executing dangerous actions in an isolated environment. Does this idea work, and if so, how can we best take advantage of virtual machine techniques? Can we evaluate the security of, say, the VMWare virtual machine against malicious attempst to harm the host OS? Or, is there any better way to structure the the virtual machine implementation to isolate the security-critical functionality and thereby make the TCB simpler and easier-to-verify?

Security auditing Audit a widely-used and under-scrutinized open-source package that is security-critical. Report on your experiences and lessons. How would you re-structure/re-implement the system to make it more robust? What tools would have made your auditing task easier? How effective are existing tools?

Defenses against phishing Phishing is a social as much as technical problem. Still, are there any technical defenses or deterrents one might be able to deploy?

Enforcing resource bounds on malicious code Can we use proof-carrying code techniques to ensure that malicious code never exceeds a fixed resource bound? For instance, we might insist that it terminate within a given number of clock cycles; we could insert checks to a global timer whereever we cannot prove a satisfactory upper bound on the running time of the program, and omit the checks in regions (e.g., acyclic control-flow graphs) where we can verify statically that the time bound will not be exceeded.

Verifiable distributed computation The Internet is a vast resource of idle machines; we might like to harness these spare CPU cycles by offloading our lengthy computations to other computers. But in any such distributed setting, how do we know that the result that comes back is the correct one we wanted? Careful engineering combined with some recently-proposed cryptographic techniques might go a long way here in solving some cases of interest.

Security of peer-to-peer systems Peer-to-peer systems (e.g., Gnutella, Kazaa) have been a hot topic recently. You might study the security challenges inherent in peer-to-peer systems, either by proposing techniques for building secure peer-to-peer systems, or by analyzing an existing peer-to-peer system.

Formal modelling of security systems Build a formal model of some aspect of a security system, and rigorously evaluate its properties. For instance, you might look at the state machine associated with a TCP/IP stack, and model how the various network events can affect the state. You could build a formal model of actual behavior by working from the OS source code or by exhaustively testing the possibilities. Then you might build a formal model of intended behavior -- e.g., by working from the RFC, or by formalizing that there should be no LAND attacks (for instance) -- and you would check whether the specification matches the verification. Or, you might build a second model from a second operating system, compare where their behavior differs, and study whether this has any consequences for how to write portable security code. Such models might also be useful for intrusion detection as well.

Student projects

An Information Interface between the Security-Enhanced Minos Architecture and the DACODA Malcode Analyzer to Replay Attacks Offline
[Poster] Daniela Alvim Seabra de Oliveira

Isolated Web Browsing.
[Poster] James Shearer, Daniel Zinn, and Conny Franke

A Distributed Honeypot Network
[Poster] Jarom Nelson and Casey Deccio

Virtual Machine Detection
[Poster] Juan Lang and Anna Tikhonova

Exploring the Properties and Preconditions of Signal-based Race Conditions
[Poster] Yelena Frid, William Orvis

Secure Reputation Scheme in Peer 2 Peer Systems
[Poster] Behrooz Khorashadi, Lerone Banks

Breaking Polaris
[Poster]Erik Staab

Usability Analysis of Authentication Protocols in Wireless Networks
[Poster] Ashima Gupta and Debalina Ghosh

Formal Modelling of Election Integrity
[Poster] Ananya Das, Yuan Niu, Till Stegers

Evaluating the Current State of Multimedia Messaging Service Implementation
[Poster] Radmilo Racic, Denys Ma

Security Issues in Peer-to-Peer Systems
[Poster] Wei Wang, Dragos Andrei, and Huan Song

Securing Bittorrent Networks
[Poster] Andre Nash

Ensuring the Integrity of VM Operations
[Poster] Jason Li


Hao Chen  <hchen AT cs.ucdavis.edu>
Last modified October 13, 2005.
Valid XHTML 1.1! Valid CSS!