Network Security (Spring 2016) - CS 6262 & ECE 8813

The objective of this course is l
earn the basics of 
cryptography and its application to network and operating system security. 

At the same time we will explain core concepts around
 network security threats and their countermeasures
discuss current open operational problems in network security and get exposed to academic 
research from this field. 

Prerequisites: Computer Networks (CS 4251/ECE 3600), Operating Systems, and Discrete Mathematics. Programming languages: C and/or python and/or Go.



Basic Information

Instructor: Manos Antonakakis
Office: Klaus 3364  
Email: manos@gatech.edu
Class Location: Instr Center 105
Class Date/Time: Tue/Thu 15:05 - 16:25
Office hours location:  MWF  3:10pm to 4:10pm @Klaus 3364

Teaching assistant: Panagiotis Kintis
Office hours: TBD
Email address: kintis@gatech.edu 
Location: Klaus 3110
Day and time: TBD

Teaching assistant: Chaz Lever
Office hours: TBD
Email address: chazlever@gatech.edu 
Location: Klaus 3110
Day and time: TBD

 
Textbooks
  • Required text book: 
    • Charlie Kaufman, Radia Perlman and Mike Speciner, Network Security - Private Communication in a Public World, 2nd Edition, Prentice Hall, 2002. 
  • Reference text books:
    • J. F. Kurose, K. W. Ross, Computer Networking, A Top-Down Approach Featuring the Internet, Addison-Wesley. 
    • Introduction to Computer Security, Michael T. Goodrich and Roberto Tamassia, Addition Wesley
Course Outline
  • Introduction  
  • Cryptography
  • Network Protocol Security 
  • Malware and Botnets
  • DNS Security
  • Intrusion and Anomaly Detection
  • Privacy
Syllabus

Important Dates: 
  • 01/21/16: In class Quiz 1.
  • 02/04/16: Team Creation and Project Selection Deadline.
  • 02/23/16: Midterm in class exam.
  • 03/08/16: In class project progress update.
  • 03/17/16: In class Quiz 2.
  • 04/14/16: In class Quiz 3.
  • 04/19/16: Project's report, code and presentation due date.
  • 04/19/16 - 04/26/16: Team presentation period. 

Date Topic Session Topic Optional Readings
1/12/16 Overview Course Overview NA
1/14/16 Overview Overview Of Computer Security & Crypto  Goodrich, Chapter 8
1/19/16 Overview Overview Of Computer Security & Crypto  Kurose Chapter 8
1/21/16 Quiz1 In Class  
1/26/16 Cryptography Secret Key Cryptography  Kaufman, Chapter 3
1/28/16 Cryptography Modes of Operation Kaufman, Chapter 4
2/2/16 Cryptography Hashes and Message Digests Kaufman, Chapter 5
2/4/16 Team Creation & Project Selection  
2/9/16 Cryptography Public Key Algorithms Kaufman, Chapter 6
2/11/16 Cryptography Public Key Algorithms Kaufman, Chapter 6
2/16/16 Cryptography Key Distribution and Management Kaufman, Chapter 9
2/18/16 Cryptography Authentication Kaufman, Chapter 10
2/23/16 Midterm In Class Exam  
2/25/16 Network Protocol Security Layers 5-7 Goodrich, Ch. 5 + Papers
3/1/16 Network Protocol Security Layer 4-3 Goodrich, Ch. 5 + Papers
3/3/16 Network Protocol Security Wireless Security Goodrich, Ch. 5 + Papers
3/8/16 Project Update 5&5 minutes update & comments per team
3/10/16 Malware & Botnets Types of Botnets Goodrich, Ch. 4 + Papers
3/15/16 Malware & Botnets Threat Landscape & APT Goodrich, Ch. 4 + Papers
3/17/16 Quiz 2 In Class Exam  
3/22/16 Spring Break  
3/24/16 Spring Break  
3/29/16 Malware & Botnets Underground Economy Papers
3/31/16 DNS Security  Protocol Security Goodrich, Ch. 6 + Papers
4/5/16 Web Security Web Attacks and Defenses Papers
4/7/16 Anomaly Detection Data Mining Systems & Base Rate Fallacy Papers
4/12/16 Privacy  User and Data  
4/14/16 Quiz 3 In Class Exam  
4/19/16 Project Presentations, Demo and Q&A  
4/21/16 Project Presentations, Demo and Q&A  
4/26/16 Project Presentations, Demo and Q&A  




Course Expectations, Requirements and Policies 


All students must follow the academic integrity and Georgia Tech Honor Code described here: http://www.honor.gatech.edu/plugins/content/index.php?id=9

I. Course requirements
  • Three in class quizzes 
  • One midterm exam 
  • One class project with three deliverables: 1) Codebase, 2) Presentation and 3) Technical report shaped as an academic paper.
II. Projects 

Each student is required to complete a mid-size project being part of a larger team. The project description will be given to the teams by the 4th week of the class. If you do not form your own teams, the teams will be assembled by the TAs according to the grade distribution of the first quiz. That is, we will create even teams that will tackle these course-long projects. We anticipate the teams to be between 5 and 8 students. The responsibilities for the team will be to provide a 10 page technical report around their project. 

The codebase needs to be either in C, Python or Go. It also needs to contain clear technical documentation about 1) the environment assumptions, and 2) the execution process. The TAs and I should be able to operate your code without you being in the room. Each team will be assigned a Debian virtual environment that should be used to prototype their project. The (no more than 10 pages) report should include at least 4 sections: 1) A brief (no more than 3 paragraphs) description of the problem and the proposed solution, 2) a background and related work, 3) an overview of the proposed solution to the problem and 4) the results from the experiments. 

The paper, code base for the project and the presentation is due the same day for all teams (04/19/16). In the last two weeks of classes, each team will have to give a 30-45 minute research presentation for their project, a 5 minutes demonstration in class that their codebase actually works, and answer questions from the audience. 

Clearly, this project requires a lot of work. Therefore, mandatory requirements for the project to be successful are: 1) learn to work as part of a team, 2) learn to write code that other people may use, 3) learn to write a technical report, and 4) learn to present your ideas. The grade distribution for the project is as follows: 40% codebase, 30% presentation, and 30% the technical report.  

III. Grading Scale 

There is no curve in this course. However, we may elect to include extra credit assignments at various times during the semester. The grading breakdown is as follows: NOTE: Grading subject to minor changes. 
  • Quizzes 30%
  • Project 30%
  • Midterm 35%.
  • Class participation 5%.

IV. Letter Grades

Letter grades are given according to the following cutoffs with no rounding:
  • 90.0 <= A <= 100 
  • 80.0 <= B < 90.0 
  • 70.0 <= C < 80.0 
  • 60.0 <= D < 70.0 
  • 0 <= F < 60.0
V. Appealing Grades 

You have the right to question your grade on any assignment; but you must initiate discussion about the grade within one week of receiving the grade. All re-grade requests should be sent via email to the TA for your section. In the email, include your T-square id and a clear description of which questions you would like reviewed and why.

Grade issues addressed outside of the requirements listed above will not be considered. Pay attention to your grades. If something doesn't look right, address it immediately! Be sure to follow the guidelines outlined in the "Problem Escalation Policy".

It is your responsibility to ensure that all the grades in T-Square are correct before finals week. After that, the only grade appeal will be about grading your final. 

VII. Problem Escalation Policy 

If you need help and/or have a problem, you should contact the following people in the following order:
(1) Your TA (Kintis)
(2) Your Head TA (Lever)
(3) Your Instructor (via e-mail)

If you are not comfortable talking to your TA about a particular issue, please contact the professor ASAP.

VIII. Excused Absences 

If you must miss an exam for a school-approved reason, it is your responsibility to provide adequate documentation and get approval. If you miss your test / exam period without prior approval or a valid excuse, you may be approved to take a makeup test, but you will be penalized 25% of the maximum test score possible (so the maximum score). ***CAUTION: the preprinted note from the infirmary stating that you visited the infirmary is not sufficient documentation.*** Please contact the Dean of Students with your excuse and they can provide you with the proper documentation. http://www.deanofstudents.gatech.edu/content/4/contact-directions

IX. Open Door Policy 

The instructor maintains an open door policy. You are free to visit me during the posted office hours or, if you prefer a different time, arrange an appointment with me. It is very important to contact me as soon as you feel that you might need to. Problems, unlike fine wines, typically do not to improve with age.

The last day you may drop the class for the Fall 2016 term is March 16th. 


Full Disclosure: Portion of the class policies have been stollen from the syllabus of CS1371, created by Charles E. Phillips.