Fall 2016: ECE 8813/CS 8803 Advanced Computer Security

Summary

This course is designed to introduce students to seminal and cutting-edge work in network/system security to prepare them to make research contributions. Students will learn to read, present and critique technical papers and design, develop, and deploy a medium-sized team project.

Contact Information

Link to Papers

Schedule

Grading/Expectations

Grades are almost entirely based on the final project, which is further broken down into five components. Each deliverable will be explained in detail below. Grading is subject to minor changes.

Letter grades are given according to the following cutoffs with no rounding:

Project

Each student is responsible for a final group project. Sample project ideas will be presented in class on August 24, but students may propose their own projects. Ultimately, projects must be approved by me. Students are responsible for forming their own teams of between three and five members. Projects may be written in any language, but some project descriptions may have a suggested language and/or toolkit where appropriate. Projects are designed to potentially be publishable in security workshops or conferences. Virtual machines will be made available to students that need access to sensitive data or simply need computing resources. Project descriptions are now available!

Project plan (5% of project grade)

A two page document describing your team, your proposed approach, your intended deliverables, and a timeline for your deliverables. We will revisit this timeline when progress reports are given. I encourage teams to update their project plan throughout the semester. Not only can this be used to get additional feedback from myself, it will help when writing your final report.

Project progress reports (10% of project grade)

Periodically throughout the semester, each team will give a short, five minute status report to ensure the team is on track and identify any problems or help that you may need. Slides are not mandatory, but are allowed if the team believes they will be helpful.

Code (30% of project grade)

"We reject kings, presidents and voting. We believe in rough consensus and running code." -- Dave Clark

Despite this being academia, I care about systems that work. ALL code should be stored in GT's GitHub in the organization for this class. You must login to GT's GitHub before I can add you to the organization. Version control is a necessity. I would recommend using GitHub's Issues for tracking bugs and assigning work. ALL projects must contain a README.md that clearly explains how to install and run your code.

Extra credit will be given for:

Code that doesn't run, compile, or work properly will not be given a good grade. Do not wait to start designing and implementing your final project.

Final presentation (20% of project grade)

Each team will be responsible for a presentation describing their project's motivation, the team's solution, implementation details, and the results their project generated. Presentations should include potential avenues for future work.

Final report (35% of project grade)

Research results only matter if they are effectively communicated to the community at large. The final report should follow the format (LaTeX preferred, Word allowed), structure and style of a top-tier conference paper in security. Reports must also include a section summarizing the contribution of each group member. GitHub commit history will be cross-referenced. I recommend students contribute material to the final report throughout the semester. If you use LaTeX, working together through version control will be a piece of cake! Proofread your papers please. Unreadable content will be penalized.

Paper presentation

Students will present at least one paper during the regular session. The purpose of this component is to train students how to read and understand a technical document well enough to convey the material to others and simply practice presenting technical work. Students must create the slides themselves, even if the paper has been presented and the slides are publicly available. Content from the paper or presentations may be used as long as they are properly sourced. We do not steal content.

If the class size remains at ~40, presentations will be done in pairs. Students will pick their own partners, but you may contact me if you are having a hard time finding a partner. Additional presentations may be done for extra credit, but only after everyone has presented at least once.

A Google spreadsheet will be made for students to sign up to present papers when the reading list has been finalized.

Reading responses

Students are responsible for reading all of the papers so they are prepared to discuss them in class. To ensure you have something to contribute, each student must submit a hardcopy summary and response for each paper at the beginning of every class. One paragraph for the summary and one paragraph for your response to the paper (strengths, weaknesses, questions). You can view a sample response I wrote years ago for a similarly structured seminar course.

Honor Code

All students must follow the academic integrity and Georgia Tech Honor Code.

Resources