Introduction to Computer Security

Introduction to Computer Security

Meeting times / place:

When: 12:00 pm – 1:15 pm TR

Where: Van Leer C457

Instructor: Dr. Jim Cannady
Office Van Leer TBD (Wells Fargo 920)
Office hours TR 11:00am – noon


Teaching Assistant: Dakshitha Bashettyhalli Anandakumar
Office Klaus 2446
Office hours TBD


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

Text Two: Recommended

Hacking Exposed 7: Network Security Secrets & Solutions (SEVENTH EDITION), by McClure, Scambray, and Kurtz, ISBN 978-0071780285


  • Counter Hack Reloaded, Second Edition, Ed Skoudis, Prentice Hall, ISBN 0-13-148104-5
  • Gray Hat Hacking The Ethical Hackers, Third Edition, Allen Harper, Shon Harris, Jonathan Ness, Chris Eagle, Gideon Lenkey, Terron Williams, ISBN 0-071-74255-7
  • Hands-On Ethical Hacking and Network Defense, Michael Simpson, Thompson, ISBN 0-619-21708-1
  • The Unofficial Guide to Ethical Hacking, Second edition, Ankit Fadia, Thomson Course Technology, ISBN 1-59863-062-8
  • Rootkits, Subverting the Windows Kernel, Greg Hoglund and James Butler, Addison Wesely, ISBN 0-321-20098-5

TCP/IP and Internets in General:

  • IP Fundamentals, by Thomas Maufer ISBN 0-13-975483-0
  • Internet Core Protocols, Eric Hall and Vint Cerf, O’Reilly, ISBN 1-56592-572-6
  • TCP/IP Illustrated The Implementation, Volume 2, Gary R. Wright and Richard W. Stevens, ISBN 978-0201633542

LINUX Internet Implementation:

  • TCP/IP and Linux Protocol Implementation, John Crowcroft and Ian Phillips, Wiley, ISBN 0-471-40882-4
  • Linux IP Stacks Commentary, Coriolis Open Press, By Maxwell, ISBN 1-576-10470-2
  • Linux Core Kernel Commentary, Second Edition, Coriolis Open Press, By Maxwell, ISBN 1-588-80149-7

Internet Programming:

  • The Pocket Guide to TCP/IP Sockets, C Version, Donahoo and Calvert, Morgan Kaufman, ISBN 1-55860-686-6
  • Beginning LINUX Programming, by Neil Matthew and Richard Stones, WROX Press,ISBN 1-874416-68-0
  • UNIX Network Programming Interprocess Communications, Volume 2, SECOND EDITION, Richard Stevens, ISBN 978-0130810816
  • Internetworking with TCP/IP Client-Server Programming and Applications, Volume III, Douglas E. Comer and David L. Stevens, ISBN 978-0130320711

Intrusion Detection:

  • Intrusion Signatures and Analysis, Northcutt, Cooper, Fearnow and Frederick, New Riders, ISBN 0-7357-1063-5
  • Network Intrusion Detection An Analyst’s Handbook, Second Edition, New Riders, ISBN 0-7357-1008-2
Labs 30%
Midterm 1 20%
Midterm 2 20%
Final Exam 30%
Total 100%
Grading Scale
90% – 100% A
80% – 89% B
70% – 79% C
60% – 69% D
< 60% F

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.



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

Contact Information
Teaching Assistant Dakshitha Bashettyhalli Anandakumar
Labs Klaus 2446
Lab Hours Monday 9:00 am – 11:00 am
Tuesday 3:00 – 5:00 pm
Wednesday 10:00 am – 12:00 pm
Thursday 3:00 – 5:00 pm

The laboratory assignments will be on the following subjects:

  • Reconnaissance, Network Mapping, Vulnerability Assessment
  • Password Cracking, Network Sniffing, Man-in-the-Middle Attacks, and Virtual Private Networks
  • Address Spoofing, Denial of Service, Email Spoofing, and VoIP
  • Firewalls
  • Rootkits, Backdoors, and Trojans
  • Buffer Overflow attacks
  • Honeynets
  • Worms and Viruses
  • Web Security
  • Botnets



A tentative schedule of lectures (subject to change) is provided below:

Week 1, August 22/24

Topic(s): Course Overview and Introduction , Ethical Hacking


  • Class: Goodrich (Chapter 1)
  • Lab 1: Reconnaissance, Network Mapping, Vulnerability Assessment
    • S. A. Shaikh, H. Chivers, P. Nobles, J. A. Clark, Hao Chen. Network reconnaissance. Network Security, Volume 2008, Issue 11, 2008. [PDF]
  • Supplemental Material:
    • B. Cheswick. An Evening with Berferd in which a cracker is lured, endured, and studied. Usenix, 1992. [PDF]


Week 2, August 29/31

Topic(s): Network Security – Network Models , Network Security – TCP/IP

  • Network Models
  • Attacks at Multiple Layers and Countermeasures
  • Denial-of-Service Attacks
  • Firewalls
  • Intrusion Detection
  • Wireless Networking Concepts, Attacks, and Countermeasures


  • Class: Goodrich (Chapter 5)
  • Lab 2: Password Cracking, Network Sniffing, Man-in-the-Middle Attacks, and Virtual Private Networks
  • Supplemental Material:
    • D. Goodin. Why passwords have never been weaker and crackers have never been stronger [Site]


Week 3, September 5/7

Topic(s): Network Security – TCP/IP, Networks – DNS


  • Class: Goodrich (Chapters 5, 6)


Week 4, September 12/14

Topic(s): Firewalls


  • Class: Goodrich (Chapters 6)
  • Lab 3: Address Spoofing, Denial of Service, Email Spoofing, and VoIP
  • Supplemental Material:


Week 5, September 19/21

Topic(s): Wireless Networks


  • Class: Goodrich (Chapters 6)
  • Lab 3: Address Spoofing, Denial of Service, Email Spoofing, and VoIP
  • Supplemental Material:


Week 6, September 26/28

Topic(s): Operating Systems Security, File System Security , Application Program Security, Password Characterization



Week 7, October 3/5

Topic(s): Malware

  • Insider Attacks
  • Computer Viruses
  • Malware Attacks
  • Privacy-Invasive Software
  • Countermeasures


  • Class: Goodrich (Chapter 4)
  • Supplemental Material:


Week 8, October 10/12

Topic(s): Malware

  • Insider Attacks
  • Computer Viruses
  • Malware Attacks
  • Privacy-Invasive Software
  • Countermeasures


  • Class: Goodrich (Chapter 4)
  • Lab 6: Buffer Overflow attacks
  • Supplemental Material:


Week 9, October 17/19

Topic(s): Web Security

  • The World Wide Web Overview
  • Attacks on Clients
  • Attacks on Servers


  • Class: Goodrich (Chapter 7)
  • Supplemental Material:


Week 10, October 24

Exam 1


Week 11, October 31/November 2

Topic(s): Cryptography


  • Class: Goodrich (Chapter 8)
  • Lab 7: Honeynets
  • Supplemental Material:


Week 12, November 7/9

Topic(s): Hash Functions

  • Symmetric Cryptography
  • Public-Key Cryptography
  • Cryptographic Hash Functions
  • Digital Signatures


  • Class: Goodrich (Chapter 8)
  • Lab 8: Worms, Viruses, and Wireless


Week 13, November 14/16

Topic(s): Guest Talk: Cryptocurrency

Reading(s): None


Week 14, November 21

Topic(s): Guest Talk: Insider Threats

Reading(s): None


Week 15, November 28

Exam 2

Week 15, November 30

Topic(s): Guest Talk: Software Assurance

Reading(s): None


Week 16, December 5

Topic(s): Wrap up

Reading(s): None

December 8, 2017 11:30am – 2:20pm