Introduction to Computer Security (ECE4894) - Fall 2017

Meeting times / place:

When: 9:35 pm - 10:55 pm TR

Where: Van Leer C340


Instructor: Dr. Raheem Beyah
Office Klaus 2308
Office hours TR 11:00am - noon
Email

Teaching Assistant: Paul Wilson
Email
Lab Information

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 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

Security:

TCP/IP and Internets in General:

LINUX Internet Implementation:

Internet Programming:

Intrusion Detection:


Grading
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 Paul Wilson
Email
Labs Klaus 2446
Lab Hours Monday 11:00 am - 2:00 pm
Tuesday 10:00 am - noon
Wednesday 11:00 am - 2:00 pm
Thursday 10:00 am - noon

The laboratory assignments will be on the following subjects:

Link to class Piazza site:

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

Week 1, Jan 9

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

Reading(s):

[Lab 1: Reconnaissance, Network Mapping, Vulnerability Assessment] - - Assigned: January 12th, Due: January 21st

Week 2, Jan 16

Topic(s): Network Security - Network Models , Network Security - TCPIP

Reading(s):

[Lab 2: Password Cracking, Network Sniffing, Man-in-the-Middle Attacks, and Virtual Private Networks] - - Assigned: January 21st, Due: January 30th

Week 3, Jan 23

Topic(s): Network Security - TCPIP,Networks - DNS

Reading(s):

Week 4, Jan 30

Topic(s): Firewalls,Wireless Networks

Reading(s):

[Lab 3: Address Spoofing, Denial of Service, Email Spoofing, and VoIP] - - Assigned: Januaray 30th, Due: February 8th

Week 5, Feb 6

Topic(s): Operating Systems Concepts,Operating Systems Security

Reading(s):

[Lab 4: Firewalls] - - Assigned: February 8th, Due: February 17th

Week 6, Feb 13

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

Reading(s):

[Lab 5: Rootkits, Backdoors, and Trojans] - - Assigned: February 17th, Due: February 26th

Week 7, Feb 20

Topic(s): Malware

Reading(s):

Week 8, Feb 27

Topic(s): Malware

Reading(s):

[Lab 6: Buffer Overflow attacks] - - Assigned: February 26th, Due: March 7th

Tuesday, February 28th

Exam 1 [Sample Exam]

Week 9, Mar 6

Topic(s): Web Security

Reading(s):

Week 10, Mar 13

Topic(s): Cryptography

Reading(s):

[Lab 7: Honeynets] - - Assigned: March 7th, Due: March 16th

Week 11, Mar 27

Topic(s): Hash Functions

Reading(s):

[Lab 8: Worms, Viruses, and Wireless] - - Assigned: March 16th, Due: April 3rd

Week 12, Apr 3

Topic(s): Physical Security , Device Identification

Reading(s):

[Lab 9: Web Security] - - Assigned: April 3rd, Due: April 12th

Week 13, Apr 10

Topic(s): Secure Storage

Reading(s):

[Lab 10: Botnets] - - Assigned: April 12th, Due: April 21st

Week 14, Apr 17

Topic(s): Privacy

Reading(s):

Thursday, Apr 20th (Week 14)

Exam 2 [Sample Exam]

Week 15, Apr 25

Topic(s): Usable Security, Invited Talks, Course wrap up - Makeup

Reading(s):

Tuesday, May 2nd

FINAL EXAM (2:50pm - 5:40pm)