Syllabus
University of Puerto Rico
Rio Piedras Campus
College of Natural Sciences
Department of Computer Science
Fall 2020
Professor
Field | Value |
---|---|
Name | Humberto Ortiz-Zuazaga |
Office | NCL A-159 |
Laboratory | NCL A-158 |
Telephone | 787-764-0000 x88363 |
humberto.ortiz@upr.edu | |
Web page | http://ccom.uprrp.edu/~humberto/ |
Office hours | Monday and Tuesday 1:00 - 3:00 PM |
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
- CCOM 4088 - Introduction to Cybersecurity
-
One of:
- CCOM 4086 - Computer Architecture
- CCOM 4017 - Operating Systems
- CCOM 4205 - Computer Networks
-
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 UPR-RP attendance is compulsory. This semester, due to COVID-19, we will be meeting online, not on campus. We will usually meet in Google Meet. The professor will provide the video link for each class to the student's official @upr.edu email address.
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 | 64-bit stack smashing tutorial: Part 2 | Lab 1 (part 2, exercise 6) | ||
Oct | Privilege separation | 0x280 - 0x283, Krohn, Maxwell N. "Building Secure High-Performance Web Services with OKWS." USENIX Annual Technical Conference, General Track. 2004. pdf | Lec 4 text, video | Lab 2 (exercise 1, 2, 3) |
Web security | OWASP 2021 | Lec 8 text, video | Lab 2 (exercise 9, 10, 11) | |
Securing web services | Security in Django | Lec 9 text, video | ||
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 | |||
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
-
Computer Systems: A Programmer's Perspective, 3rd Edition. Randal E. Bryant and David R. O'Hallaron, Pearson. 2016. ISBN-13: 978-0134092669
-
Secrets & Lies: Digital Security in a Networked World. Bruce Schneier, John Wiley & Sons . 2000. ISBN 978-0-471-45380-2
-
Computer Systems Security. MIT. 2019. Available at http://css.csail.mit.edu/6.858/2019/general.html
-
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
-
Cheung, Ronald S., et al. "Challenge based learning in cybersecurity education."; Proceedings of the 2011 International Conference on Security & Management. Vol. 1. 2011.
-
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
-
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