CCOM 4089 Systems and Network Security

Syllabus

University of Puerto Rico
Rio Piedras Campus
College of Natural Sciences
Department of Computer Science

Fall 2019

Professor

Field Value
Name Humberto Ortiz-Zuazaga
Office NCL A-159
Laboratory NCL A-158
Telephone 787-764-0000 x88363
email humberto.ortiz@upr.edu
Web page http://ccom.uprrp.edu/~humberto/
Office hours Monday, Wednesday 1:00-2:00PM
or by appointment

Description

In this course, students will learn secure system and network administration techniques. Students will have hands-on system administration experiences with key Internet services, will learn about important security issues related to such services, and will be exposed to techniques and tools to analyze, defend and secure systems and networks.

Credits

  • 3 credits, 3 hr./week

Pre-requisites

  1. CCOM 4088 - Introduction to Cybersecurity
  2. One of:

    • CCOM 4086 - Computer Architecture
    • CCOM 4017 - Operating Systems
    • CCOM 4205 - Computer Networks
  3. Students from SICI can substitute:

    • SICI 4286 - Local Area Networks
    • SICI 4025 - Design and Analysis of Systems

Content

The course will use material developed for MIT's Graduate Computer Systems Security class under a Creative Commons Attribution license. The original course material describes the content as:

Lectures cover threat models, attacks that compromise security, and techniques for achieving security, based on recent research papers. Topics include operating system (OS) security, capabilities, information flow control, language security, network protocols, hardware security, and security in web applications. Assignments include labs that involve implementing and compromising a secure web server and web application, and a group final project.

Objectives

After successfully completing the course students will be able to:

Course Objective Program Outcome
Analyze a computer system, identifying one or more potential security vulnerabilities Creative and analytic ability, and capacity for logical reasoning
Exploit common security vulnerabilities Ability to identify, organize, evaluate, and use information
Understand mitigation techniques implemented in modern computer systems Ability to identify and formulate problems in various real-life situations that can be solved by concepts and computational models and to implement them effectively
Implement changes to a computer system to mitigate security risks Ability to identify and formulate problems in various real-life situations that can be solved by concepts and computational models and to implement them effectively
Assess the risks in a computer system Creative and analytic ability, and capacity for logical reasoning

Course schedule

Class will meet Mondays and Wednesdays from 10:00 to 11:20 AM in CN 114A. In UPR-RP attendance is compulsory.

Alternative Teaching Methods

Certification No. 112 (2014-2015) of the Governing Board defines a classroom course as a course in which 75% or more of the hours of instruction require the physical presence of the students and the teacher in the classroom. This means that 25% of a classroom course could be offered without requiring the physical presence of the students and the teacher in the classroom. If necessary, this course will be able to complete up to 25% of the contact hours (11.25 hours) on a non-face-to-face basis by alternative methods such as: videoconferences, instructional modules, discussion forums and others. If so, the calendar/agenda will be modified to include the topics that will be covered by alternative methods.

Tentative course calendar

Date Topic Chapter Lecture Lab
Aug Intro 0x100 Lec 1 text, video
Assembly, GDB 0x250 - 0x253 Lab 1 (part 1, exercise 1)
Stack overflows 0x300 - 0x321 Lec 4 text, video (skip baggy bounds) Lab 1 (part 1, exercise 2)
Sep Stack exploit 0x480 - 0x482 Lab 1 (part 2, exercise 3)
Shellcode 0x500 - 0x530 Lab 1 (part 2, exercise 4)
Stack hardening 0x6a0 - 0x6c1 Lec 3 text, video (skip baggy bounds) Lab 1 (part 2, exercise 5)
ROP Attacks Introduction to ROP Lab 1 (part 2, exercise 6)
Oct Privilege separation 0x280 - 0x283 Lec 4 text, video Lab 2 (exercise 1, 2, 3)
Web security OWASP 2017 slides Lec 8 text, video Lab 2 (exercise 9, 10, 11)
Securing web services Security in Django Lec 9 text, video
Ur/Web Ur/Web paper Lec 11 video Lab 4
Nov Networking 0x430 - 0x475 and Bellovin paper Lec 12 text, video
RSA Small RSA
RSA Big RSA
HTTPS 0x741 Lec 15 text, video Final Project
Dec Tor paper Lec 19 video
Tahoe filesystem paper
Bitcoin paper
Scuttlebutt paper

Instructional resources

The course will be hosted on the UPR RP Moodle. Register and stay tuned for our polls and forum postings.

The course will use material developed for MIT's Graduate Computer Systems Security class which has lecture notes, videos, lab assignments and quizzes online, as well as links to reference material.

Textbook

We will mostly use the MIT course materials

We will also use the book. Hacking: the Art of Exploitation, 2nd Edition. Jon Erickson. No Starch Press. 2008. ISBN-13: 978-1-59327-144-2

Software

MIT's Lab 1 provides a virtual machine image you will use for the lab assignments. I have tested the image on VirtualBox (OS X and linux) and kvm (on linux). Other students have had trouble with the gdb command on OS X. MIT recommends running in VMWare player or kvm.

Course policies

Be excellent to each other.

Evaluation

Students work will be evaluated on a 100% basis with the standard curve.

  • Participation in course forums (online, classroom), 25% final grade
  • Homework and quizzes, 50% final grade
  • Project, 25% final grade

Reasonable accommodations for students

The University of Puerto Rico (UPR) complies with all federal and state laws and regulations regarding discrimination, including the American with Disabilities Act (ADA) and the Commonwealth of Puerto Rico Law 51. Students who have a disability or condition that may impair their ability to complete assignments or otherwise satisfy course criteria are encouraged to meet with the professor to identify, discuss and document any feasible instructional modifications or accommodations. The student should notify the instructor such disability or condition as soon as such disability or condition is known to the student. The student may also contact the Dean of Student Affair for information and auxiliary aid.

Students with disabilities properly registered with the Office of Affairs for Persons with Disabilities Oficina de Asuntos para la Persona con Impedimento (O.A.P.I.) should notify the professor at the start of the semester. The professor will make reasonable accommodations to support the student, in consultation with OAPI.

Academic integrity

The University of Puerto Rico promotes the highest standards of academic and scientific integrity. Article 6.2 of the UPR Students General Bylaws (Board of Trustees Certification 13, 2009-2010) states that academic dishonesty includes, but is not limited to: fraudulent actions; obtaining grades or academic degrees by false or fraudulent simulations; copying the whole or part of the academic work of another person; plagiarizing totally or partially the work of another person; copying all or part of another person answers to the questions of an oral or written exam by taking or getting someone else to take the exam on his/her behalf; as well as enabling and facilitating another person to perform the aforementioned. Any of these behaviors will be subject to disciplinary action in accordance with the disciplinary procedure laid down in the UPR Students General Bylaws.

Discrimination

The University of Puerto Rico prohibits discrimination based on sex, sexual orientation, and gender identity in any of its forms, including that of sexual harassment. According to the Institutional Policy Against Sexual Harassment at the University of Puerto Rico, Certification Num. 130, 2014-2015 from the Board of Governors, any student subjected to acts constituting sexual harassment, must turn to the Office of the Student Ombudsperson, the Office of the Dean of Students, and/or the Coordinator of the Office of Compliance with Title IX for an orientation and/or a formal complaint.

References

  1. Computer Systems: A Programmer's Perspective, 3rd Edition. Randal E. Bryant and David R. O'Hallaron, Pearson. 2016. ISBN-13: 978-0134092669

  2. Secrets & Lies: Digital Security in a Networked World. Bruce Schneier, John Wiley & Sons . 2000. ISBN 978-0-471-45380-2

  3. Computer Systems Security. MIT. 2019. Available at http://css.csail.mit.edu/6.858/2019/general.html

  4. Mary Micco and Hart Rossman. 2002. Building a cyberwar lab: lessons learned: teaching cybersecurity principles to undergraduates. SIGCSE Bull. 34, 1 (February 2002), 23-27. DOI=https://dx.doi.org/10.1145/563517.563349

  5. Cheung, Ronald S., et al. "Challenge based learning in cybersecurity education."; Proceedings of the 2011 International Conference on Security & Management. Vol. 1. 2011.

  6. Nance, K., Hay, B., Dodge, R., Seazzu, A., & Burd, S. (2009). Virtual laboratory environments: Methodologies for educating cybersecurity researchers. Methodological Innovations Online, 4(3), 3-14. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.452.3587&rep=rep1&type=pdf

  7. Alex Reese. Introduction to Return Oriented Programming, 2013. Available online at http://codearcana.com/posts/2013/05/28/introduction-to-return-oriented-programming-rop.html