EECS 450 Internet Security

Instructor

Yan Chen, Associate Professor
Tech L459, 491-4946. ychen@northwestern.edu

Location and Time

Lectures: Mon and Wed 11am-12:20pm, Tech L160.

Course Description

Cybercrime has exploded over the last decade. In this course, we will start with the overview of Internet security, then focus on security challenges and counter-attack schemes for three emerging and popular areas: mobile (smartphone) security, Web security and Software-Defined Networking (SDN) security.

This course is intended for both CS and CE undergraduates and graduate students.  During the course, we will read and discuss research papers, and identify a list of open research problems, from which the students can choose their class projects.  There will be no exams. Students are encouraged to take 399/499 courses with me, and use the same project for 399/499 and this course.  This course is counted for the project requirement, and the depth areas of system and securitys as well as the breath area of systems for CS major student.

Course Prerequisites

  • Required: EECS 340 or any equivalent computer network introductory courses.
  • Highly recommended: EECS 350, 354, or equivalent intro to computer security course.

Course Materials

Grading

No exams for this class.

  • Class participation 10%
  • Paper reading summary 10%
  • In class paper presentation and debate 25%
  • Project 55%
    1. Proposal and survey 5%
    2. Midterm presentation and report 10%
    3. Weekly report and meeting 10%
    4. Final presentation 10%
    5. Final report 20%

Papers Reading and Presentation

There is no required textbook. All reading will be from papers. Whenever possible, handouts and papers will be placed online on the web page. A schedule of assigned readings is available online.

To ensure lively discussions, you will be required to write a brief summary of the papers you read, to be electronically handed in by at least 24 hours before the class time, via emailing to eecs450-staff@cs.northwestern.edu with the title as "EECS450 paper summary".  For each session, we usually have two papers, one primary paper and a reference paper.  You are expected to read the primary paper in depth and at least to read the abstract and introduction for the reference paper.   These two papers often discuss similar/related subjects in the same topic (e.g., mobile malware).    Your summary can focus on the primary paper, but ideally incorporate both papers for a broader view of this topic.   Your summary should include at least:

  • Paper title and its author(s).
  • Brief one-line summary.
  • A paragraph of the one or two most significant new insight(s) you took away from the paper.
  • A paragraph of the one or two most significant flaw(s) of the paper: maybe an experiment was poorly designed or the main idea had a narrow scope or applicability. Being able to assess weaknesses as well as strengths is an important skill for this course and beyond.
  • A last paragraph where you state the relevance of the ideas today, potential future research suggested by the article, etc.

The presentation should always include both papers.  Instead of giving two separate presentations, we hope you can incoporate both papers and discuss it for a broader view.  For instance, both papers may share the same background, motivation and related work.   So you only need to present them once, and then present other issues listed below separately and should always compare these work.   Each presentation should include at least the following from the papers:

  • Background and motivation: please note that this part is very important to give other students enough background on the problem context.
  • Related work 
Please spend about 30 minutes on these two parts.  Then you can spend another 30 minutes on the primary paper (with the four items below), and 10-15 minutes on the reference paper (you can focus on just the first two items).   Sometimes the reference paper was exactly on the same problem of the major paper, and often serves as the motivation of the primary paper.   In that case, it will be more logical to present the reference paper first and then the primary paper.   The slides should be submitted for comments at least 48 hours before the class time, via emailing to eecs450-staff@cs.northwestern.edu.
  1. Basic problem
  2. Main ideas
  3. Evaluation and results
  4. Open issues

Projects

Projects (done in groups of size 2+) are a critical component of this course. Your goal is to design, build and evaluate interesting systems that address issues, solve problems and exploit techniques from classroom discussions and readings.

Projects must be written up in a term paper and teams will present their results at the end of the course in a mini-conference and write up a report. The list of potential ideas for projects will be posted soon. Feel free to use one, propose something completely different, or refine one of these into your own idea.

Project Deliverables and Deadlines (all due at 11:59pm of the due date)

Proposal -- April 11: 3-4 pages describing the purpose of the project, work to be done and potential load distribution, expected outcome/results, etc. Make sure to describe the context and related work for the proposed project.

Weekly Meeting and Progress Report -- April 14 - May 30: Each team will schedule a weekly meeting (30 minutes) with the instructors. Send us the updated report and highlight the new updated part (except the May 5 week). For each week, we expect updates of 1-2 pages on the project status, initial results, and problems encountered, etc. The report is due 24 hours ahead of the meeting. Please send it to your mentor and the instructor.

Midterm presentation -- May 5: Presentation of your project in progress to the class (20 minutes each group).

Project Presentation -- June 2: The final project presentation should have the following content: 1) briefly state the goal of the project; 2) present the algorithms and results; 3) any remaining work to be finished by the final project report; 4) work division among the group.  The presentation is expected to be 30 minute each, including Q&A.

Final Report -- June 10: The final report is a workshop-level paper describing your work, evaluation, related research, potential avenues to explore, etc. You should incorporate the comments received during the presentation.  At the end of report, there should be an appendix of README which describes 1) where the code is; and 2) how to run the code (including the library and environment needed).

Policies

  • Late policy:
    Since there are many small handin (e.g., paper summary, work-in-progress report) for this course, we do not accept late submissions.
  • Work division:
    I will try to group undergrad and grad students together. While more work is certainly expected for the grad students, undergraduate students should also be responsible for significant portion of the project and each undergrad in the team should do similar amount of work. At the end of the quarter, we will ask each one to submit a brief description on work division of his/her team.