CS294-28 Network Security Projects
General information
Your term project should address a research issue in
network security, interpreted broadly (it need not be a topic discussed
in class). Most projects will fall into one of the following general
categories:
- Analysis. Undertake a substantive analysis/assessment of
security issues for a given network system. For example, to what degree
does Skype expose its users to remote compromise? Preserve their privacy?
Admit misuse of the system to aid in denial-of-service attacks? What
is its trust model? What steps could be taken to strength Skype in
this regard? What can you say about the expected efficacy of those steps?
It needn't be an application nor involve end systems; you can consider
schemes relevant to other layers of the networking stack, or that
concern infrastructure/internal components.
- Measurement. Empirically explore and characterize a network
security issue. For example, under what circumstances and to what degree
do nodes in the Tor anonymizing network alter the content that passes
through them?
- Development. Devise and analyze (or possibly implement)
a new mechanism or technique. For example, this could be a new way to
protect servers from application-level denial-of-service attacks, or
a new detector for some type of malicious activity.
- Test. Take a result in the literature and undertake
a meaningful reproduction of it to assess to what degree you obtain
the same results, and why.
- Attack. Develop a new threat. Assess its efficacy,
countermeasures/defenses, and likely "arms race" evolution.
- Research. Conduct a deep, thoughtful literature survey
of a particular area in network security. Assess the strengths and
weaknesses of the published results in the area, delimit the boundaries of
the state of the art, and frame avenues for future work.
I encourage you to find a topic of interest to you; feel free to be creative
in selecting a project topic. You're welcome to pick a topic that is
connected to your current research, and I'm happy to discuss possible
topics with you in advance.
Preferably you should work in a team of two, though individual projects
are okay too. Team projects will be held to a somewhat higher standard.
If you want to work in a team larger than two, first talk with me about
why this is appropriate and how the work will be divided.
The process
- Write a concise (approximately 1 page)
project proposal that clearly states the problem you will be solving, the
key challenges for new research, and your plan of attack (including
milestones and dates). If there are any special resources you might need,
flag these. Mention any relevant papers of which you are already aware.
The project proposal is due the evening of Wednesday Feb 20.
- Put together a related work writeup. This writeup should
reflect a solid grounding in the literature relevant for your project,
written in a style similar to the related work sections in
the papers we've been reading. For
each item of previous related work, briefly discuss the contributions
of the paper, its relevance to your undertaking, and (if appropriate)
in what ways it differs from your effort.
The related work writeup is due the evening of Friday Mar 21.
- Write up a short status report explaining what work you have
completed, what remains, and any open issues (such as problems you haven't
figured out how to solve or additional resources you require.
The status report writeup is due the evening of Wednesday Apr 16.
- Possible class presentation. I haven't decided yet but am
considering devoting the last one or two class lectures to presentation
and discussion of the projects. If so, these would be on Monday May 12
and possibly also Friday May 9.
Finally, a project report will be due on Wednesday May 14, at noon.
It is possible that I will alter this date a few days, but if so that
will be for the entire class;
no individual exceptions or extensions will be granted.
The final report
You are expected to write a technical paper, in the style
of a conference submission, on the research you have done.
State the problem you're addressing, motivate why it is an
important or interesting problem, present your research
thoroughly and clearly, compare to any related work that
may exist, summarize your research contributions,
and draw whatever conclusions may be appropriate.
There is no page limit (either minimum or maximum),
but reports will be evaluated on
technical content and not on length.
If you are not familiar with writing conference-style papers
in computer science, the following resources
(from David Wagner's CS 261 course)
may help:
Please submit either HTML or PDF, via email attachment.
I generally review papers from hardcopy, so it needs to print clearly and
with sufficiently large text and figures. If you use color figures, mention
that in your cover note so I can send it to an appropriate printer.