Network Security (Fall 2014) - 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
gain hands-on experience with programming techniques for network security problems and finally 
obtain background for original research in network security. Throughout the course we will have 3 or 4 guest lectures from leading industry experts/researchers that deal with various network security problems in daily bases. 

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 3366A  
Email: manos@gatech.edu
Class location: ES&T L1205
Class date/time: MWF 2:05 pm - 2:55 pm
Office hours:  MWF  3:10pm to 4:10pm @Klaus 3366A

Teaching assistant: Yizheng Chen
Office hours: Tuesdays 2:00 - 3:00 pm
Email address: yzchen@gatech.edu
LocationKlaus 3110

Teaching assistant: Panagiotis Kintis
Office hours: Wednesday 12.00-2.00 pm
Email address: kintis@gatech.edu
LocationKlaus 3108
 
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
Syllabus

Note: The time slots for the guest lectures are subject of change according to the availability of the speakers.

Dues: 
  • 10/10/14: Two paragraphs team progress report is due.
  • 11/21/14: Reports, code and presentations are due.


Date Topic Session Topic Readings
08/18/14 Overview Course Overview  
08/20/14 Overview Overview Of Computer Security & Crypto  Goodrich, Chapter 8
08/22/14 Overview Overview Of Computer Security & Crypto  Kurose, Chapter 8
08/25/14 Overview Overview Of Computer Security & Crypto  Kurose Chapter 8
08/27/14 Guest Lecture: Gunter Ollmann CTO at IOActive  
08/29/14 Quiz 1 In Class Exam  
09/01/14   Labor Day  
09/03/14 Cryptography Secret Key Cryptography  Kaufman, Chapter 3
09/05/14 Cryptography Secret Key Cryptography  Kaufman, Chapter 3
09/08/14 Cryptography Modes of Operation Kaufman, Chapter 4
09/10/14 Team Creation & Project Selection    
09/12/14 Cryptography Hashes and Message Digests Kaufman, Chapter 5
09/15/14 Cryptography Hashes and Message Digests Kaufman, Chapter 5
09/17/14 Cryptography Public Key Algorithms Kaufman, Chapter 6
09/19/14 Cryptography Public Key Algorithms Kaufman, Chapter 6
09/22/14 Cryptography Key Distribution and Management Kaufman, Chapter 9
09/24/14 Cryptography Authentication Kaufman, Chapter 10
09/26/14 Cryptography Authentication Kaufman, Chapter 10
09/29/14 Midterm In Class Exam  
10/01/14 Guest Lecture: Brian Foster CTO at Damballa   
10/03/14 Network Protocol Security Layers 5-7 Goodrich, Ch. 5 + Slides
10/06/14 Network Protocol Security Layer 4 Goodrich, Ch. 5 + Slides
10/08/14 Network Protocol Security Layer 3 Goodrich, Ch. 5 + Slides
10/10/14 Network Protocol Security Wireless Security Goodrich, Ch. 5 + Slides
10/13/14   Columbus Day/Fall 2014 Student Recess  
10/15/14 Project Update 5&5 minutes update&comments per team  
10/17/14 Malware & Botnets Types of Botnets Goodrich, Ch. 4 + Papers
10/20/14 Malware & Botnets Threat Landscape Goodrich, Ch. 4 + Papers
10/22/14 Malware & Botnets Underground Economy Papers
10/24/14 Quiz 2 In Class Exam  
10/27/14 Malware & Botnets Advanced and Targeted Attacks Goodrich, Ch. 6 + Papers
10/29/14 Guest Lecture GTISC Summit
10/31/14 DNS Security  Data Collection and Analysis Goodrich, Ch. 6 + Papers
11/03/14 DNS Security  Advance Modeling Techniques Goodrich, Ch. 6 + Papers
11/05/14 Guest Lecture: Tom Schunk V. P. & CISO - Global Communications & Information Security at Emerson  
11/07/14 Web Security Web attacks and defenses Papers
11/10/14 Firewals/IDS/IPS Securing the perimeter Papers
11/12/14 Anomaly Detection Base Rate Fallacy  Papers
11/14/14 Anomaly Detection Data Mining Systems Papers
11/17/14 Quiz 3 In Class Exam  
11/19/14 Course Summary Summary and Open Research Problems  
11/21/14 Project Presentations, Demo and Q&A Team 1 Mandatory attendance
11/24/14 Project Presentations, Demo and Q&A Team 2 Mandatory attendance
11/26/14 Project Presentations, Demo and Q&A Team 3 Mandatory attendance
11/28/14 Thanksgiving Day
12/01/14 Project Presentations, Demo and Q&A Teams 4 & 5 Mandatory attendance
12/03/14 Project Presentations, Demo and Q&A Team 6 Mandatory attendance
12/05/14 Project Presentations, Demo and Q&A Team 7 Mandatory attendance
  



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 in the 4th week of the class. The teams will be assembled 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 (11/21/2014). In the last two weeks of classes, each team will have to give a 30 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
(2) Your Head TA
(3) Your Instructor (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 2014 term is October 10th. 


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