Meeting Time: Tuesdays and Thursdays from 11am to 12:15 pm
Meeting Location: Fred Brooks Building, lower level, room FB007
The course covers introductory topics in computer security. The goal is to expose students to a broad range of security challenges facing us today. The course examines a wide range of topics in operating systems, software engineering, and network and communications security.
Important: This course is accompanied by a Lab, taught Fridays from 11:15am to 12:30pm in SN011. You must be enrolled in CS535 to attend the Lab. No exceptions. That lab will expose students to hands-on experimentation of concepts discussed in the course. Enrolled students must have their own laptop; we will provide access to virtual machines on our servers.
The modules for the lab will be available on Sakai. The modules will be roughly 50 mins each, but the instructors will stick around until 1pm to assist students where needed. You will be required to read and sign an Ethics and Responsible Practices statement (handed out in class) before proceeding with the labs. Participating in the modules taught in the Lab, and completing the assigned homeworks, will be essential in successfully completing the Course Project for Comp535.
|Fabian Monrose||FB 336||2-3 pm Mondays; 3pm - 5pm Thursdays; (and by appointment)|
|Jan Werner : Lab Instructor||FB 334||3pm - 5pm Tuesdays and Thursdays; (and by appointment); email: firstname.lastname@example.org|
When sending me email about this course, make sure to add the preamble "COMP535:" to the subject line; otherwise, responses will be slower than normal.
Textbook: None require, but the one(s) listed below offer background material helpful for the lectures.
Please note that many of the lectures will be supplemented by my own notes.
For the labs, no textbook is required. We will handout detailed instructions for each module. However, the list of books below are highly recommended if you want to learn more about topics covered in this course and for mastering the labs:
|Course Project (team)||45%||Class participation||10%|
Collaboration on assignments (except where explicitly stated) and exams is strictly forbidden. Remember UNC's Honor code.
|Syllabus (subject to change)|
|A tentative schedule of lectures (subject to change) is provided below. Some of the material that lectures will be based on is provided below. Topics to be covered include:|
|Week 1 :|
Course Overview (Goodrich: Chapter 1)
[Lab: Getting acquainted with our VMs, UNIX essentials, compiling sample C code]
|Week 2,3 :|
User Authentication (Goodrich: Chapter 1, 2)
Tools from Applied Cryptography (Goodrich: Chapter 8)|
[In class discussion]: D. Florencio and C. Herley. Is everything we know about password-stealing wrong? *
Authentication Protocols Part 1: With Low Power Comes Low Security|
[Lab Module: Bluetooth]
[Lab Module: Why crytosystems fail (cryptanalysis, WiFi vulnerabilities & protections), part 2]
System Security (Goodrich: Chapter 3)
[Lab Module: Stack-based overflows, enabling and disabling protections]
|Week 9 ||
Software Security (Goodrich: Chapters 3,4) |
[Lab Module: Debugging without source code; Take-home EXAM]
Web Security (Zalewski: Chapter 9)
[In class discussion]: C. Herley, So Long, and No Thanks for the Externalities: The Rational Rejection of Security Advice by Users.
[Lab Module: Web Exploits, SSL strip]
Authentication Protocols and Authenticated Key Management|
Realtime Protocols for the Internet (Goodrich: Chapter 6)
[Lab Module: Web Exploits & Defenses part 2]
Malicious software (Goodrich: Chapter 4) |
| Week 12:|
Firewalls, Perimeter Security and Network Attacks (Goodrich: Chapter 6,7)
(time permitting) [Lab Module: Firewalls, determining network exposure, defenses]
Written Project Status Update
Privacy and Anonymity on the Internet |
|Week 14:||Course wrap up