Meeting Time: Tuesdays and Thursdays from 11am to 12:15 pm
Meeting Location: Sitterson - SN011
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. This course is accompanied by a distance learning lab that runs certain Fridays from 11am-12:15pm. You must be enrolled in CS535 to attend the Friday sessions (more likely than not, over Zoom) . No exceptions. These labs will leverage infrastructure built specifically for this course, and will expose students to hands-on experimentation of concepts discussed in the lectures. Enrolled students must have their own laptop; we will provide access to virtual machines on our servers. Many of the labs are built around a gamified cybersecurity experience. The modules used during the lab sessions will be available through the Riposte Framework. You will be required to read and digitally sign an Ethics and Responsible Practices statement before proceeding with the labs.
|Fabian Monrose||FB 336||Remote only. TBD (and by appointment)|
|Mac Malone||FB 334||Remote only using CourseCare.TBD; (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.
Community Standards in Our Course and Mask Use.
This semester, while we are still in the midst of a global pandemic, all enrolled students are required to wear a mask covering your mouth and nose at all times in our classroom. This requirement is to protect our educational community — your classmates and me – as we learn together. If you choose not to wear a mask, or wear it improperly, I will ask you to leave immediately, and I will submit a report to the Office of Student Conduct. At that point you will be disenrolled from this course for the protection of our educational community. An exemption to the mask wearing community standard will not typically be considered to be a reasonable accommodation. Individuals with a disability or health condition that prevents them from safely wearing a face mask must seek alternative accommodations through the Accessibility Resources and Service. For additional information, see Carolina Together.
Title IX Resources
Any student who is impacted by discrimination, harassment, interpersonal (relationship) violence, sexual violence, sexual exploitation, or stalking is encouraged to seek resources on campus or in the community. Please contact the Director of Title IX Compliance (Adrienne Allison – Adrienne.email@example.com), Report and Response Coordinators in the Equal Opportunity and Compliance Office (firstname.lastname@example.org), Counseling and Psychological Services (confidential), or the Gender Violence Services Coordinators (email@example.com; confidential) to discuss your specific needs. Additional resources are available at safe.unc.edu.
I value the perspectives of individuals from all backgrounds reflecting the diversity of our students (spanning race, gender identity, national origin, ethnicity, religion, social class, age, sexual orientation, political background, and physical and learning ability). The classroom is meant to be an inclusive space for all students, so please let me know if there is anything I can do to improve that.
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:
Unlike other areas of computer science (e.g., software development), where practitioners can leverage simplifying assumptions to quickly complete a task derived from an external need, cybersecurity practitioners need to be aware of, and repeatedly question, the validity of these simplifying assumptions to either prove the system's security or find exploitable weaknesses. As such, in this specific field, being able to find the right problems to solve is perhaps just as important as being able to solve them. To that end, we will be testing attained skills in the context of challenge-based learning environment built specifically for this course. More specifically, given that each exercise will contain a practical test of knowledge — where the student has to apply the knowledge they learned to solve a problem — we can assess learners at several levels (e.g., whether they can apply learned knowledge in a previously demonstrated way, can apply learned knowledge in contexts not seen before, can independently close any knowledge gaps when completing a task, or even can demonstrate mastery by being able to direct, advise, and teach others). Upon successful completion of the course, students will:
|Midterm (proficiency-based takehome)||20%|
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 class infrastructure + basic UNIX terminal skills]
|Week 2,3 :|
User Authentication (Goodrich: Chapter 1, 2)
Tools from Applied Cryptography (Goodrich: Chapter 8)|
Authentication Protocols Part 1: With Low Power Comes Low Security|
[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]
Web Security (Zalewski: Chapter 9)
[Lab Module: Web Exploits]
Authentication Protocols and Authenticated Key Management|
Realtime Protocols for the Internet (Goodrich: Chapter 6)
[Lab Module: Web Exploits and 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]
|Week 13:||Course wrap up