Course Summary

The course covers introductory topics in computer security. The goal is to expose students to fundamental security primitives and to a broad range of current security challenges. The course provides a hands-on approach to examining a wide range of topics in operating systems, software engineering, and network and communications security.

Students will work with various tools and techniques used by hackers to compromise computer systems or otherwise interfere with normal operations. The purpose of the class is NOT to teach you how to be a hacker, but rather to teach you the approaches used by hackers so you can better defend against them. Students work in groups of two to complete assigned labs. It is OK to talk to others and help each other in the lab. Students will be graded based upon exams and completion of assigned labs.

Lab Rule:You will NEVER take any programs from the lab on any writable media/memory devices, nor will you ever connect any of the lab machines to any production wired or wireless network machines or laptop devices. This is to prevent the spread of any of our malicious programs and techniques. You are encouraged to bring code into the lab to experiment with.

Policy on Commenting Software:
Fully commenting code, even code that you were given as a starting point is mandatory. This is one of the instructor’s pet peeves. You must fully comment all code you turn in and must include comments to explain all of the code you turn in. (Even those parts of the code you did not write but were given as a starting point). You must include in the comments an explanation of what the purpose of the code is, the date the code was originally written, the date the code was last modified, your lab team member names and your group number must be in the comments. The last date modified must be correct and in the comments.

Policy on Handouts:
The handouts and lecture notes for 4894 can be downloaded within 24 hours of the end of the relevant lecture from the class web page (this document), which is password protected. Handouts with proprietary or copyrighted material will be put on the protected page and should not be made publicly available by students.

Prerequisites: ECE3076 or ECE3600 or ECE 4110 or CS3251; some previous C Programming (or Java) experience would be beneficial

There is one required textbook and one recommended textbook. We cover lots of really good material and no one textbook has it all. These are excellent references and will serve you well in future jobs or research projects. We will also occasionally review conference and journal publications.

Text One: Required

Introduction to Computer Security, by Goodrich and Tamassia, ISBN: 978-0321512949

Responsibility for Material:
Students are responsible for all material in assigned sections of texts, even if not explicitly covered in lecture. Students are also responsible for all material covered in lecture.

Exams, Makeup Exams, and Incompletes:
All exams are closed book. As a rule, makeup exams will be offered at the discretion of the professor and only for scheduled absences that are requested in writing at least one week in advance. Medical emergencies are the only exception to this rule and in case of such an emergency, the student must contact the professor as soon as possible to discuss the makeup. Incomplete grades will be given only in extraordinary circumstances.

Late Turn-in and Re-grading:
Labs can be turned in two days after the due date and will be subject to a 20% penalty. The grade for the lab will be zero after this window. Exams will not be considered for re-grading later than the next class period after they are returned. Re-grading requests should be submitted in writing with a specific explanation of the possible grading error. Photocopies of completed exams will be made by the instructor prior to returning them.

Academic Honesty:
Although students are encouraged strongly to communicate with each other to assist in learning the course material, all students are expected to complete course work individually (unless instructed otherwise), following all instructions stated in conjunction with exams and assignments. All conduct in this course will be governed by the Georgia Tech honor code. Additionally, it is expected that students will respect their peers and the instructor such that no one takes unfair advantage of any other person associated with the course. Any suspected cases of academic dishonesty will be reported to the Dean of Students for further action.

Labs

The laboratory is in the Klaus building, room 2446. It will be manned by the teaching assistant based on the schedule below.