CCOM 4995 Systems and Network Security

Draft Syllabus


Field Value
Name Humberto Ortiz-Zuazaga
Office NCL A-150
Laboratory NCL A-158
Telephone 787-764-0000 x7430
Web page
Office hours Monday, Wednesday 8:00-9:30 AM
Tuesday 3:30-5:00 PM
or by appointment


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 analyse, defend and secure systems and networks.


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

    • CCOM 4086 - Computer Architecture
    • CCOM 4017 - Operating Systems
    • CCOM 4205 - Computer Networks


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.


After successfully completing the course students will be able to:

  1. Analyze a computer system, identifying one or more potential security vulnerabilities.
  2. Exploit common security vulnerabilities.
  3. Understand mitigation techniques implemented in modern computer systems.
  4. Implement changes to a computer system to mitigate security risks.
  5. Assess the risks in a computer system.

Course schedule

Class will meet Tuesday and Thursday from 10:00 to 11:20 AM in NCL A-141. In UPR-RP attendance is compulsory.

Tentative course calendar

Date Topic Chapter Lecture Lab
Aug 11 Intro 0x100 Lec 1 text, video
Aug 13 Assembly, GDB 0x250 - 0x253 Lab 1 (part 1, exercise 1)
Aug 18 Stack overflows 0x300 - 0x321 Lec 2 text, video (skip baggy bounds)
Aug 20 Stack exploit 0x480 - 0x482 Lab 1 (part 1, exercise 2)
Aug 25 Shellcode 0x500 - 0x530
Aug 27 Stack hardening 0x6a0 - 0x6c1 Lec 3 text, video (skip baggy bounds) Lab 1 (part 2, exercise 3)
Sep 1 BROP Attack BROP Paper
Sep 3 Privilege separation 0x280 - 0x283 Lec 4 text, video Lab 2 (exercise 1, 2, 3)
Sep 8 Sandboxing
Sep 10 Web security OWASP slides Lec 8 text, video Lab 2 (exercise 9, 10, 11)
Sep 15 Securing web services Security in Django Lec 9 text, video
Sep 17 Ur/Web Ur/Web paper Lec 11 video Lab 4
Sep 22 Networking 0x430 - 0x475 Lec 12 text, video
Sep 24 HTTPS 0x741 Lec 14 text, video Lab 5
Sep 29 Exam 1
Oct 1 Side channel attacks paper Lec 16 text, video Lab 7 (project)
Oct 6 Passwords 0x760 - 0x764 Lec 17 text, video
Oct 8 Private browsing paper Lec 18 text, video
Oct 13 Tor paper Lec 19 videp
Oct 15 Android security paper Lec 20 text, video
Oct 20 TaintDroid paper Lec 21 text, video
Oct 22 Medical devices paper Lec 15 video
Oct 27 Tahoe filesystem paper
Oct 29 Bitcoin paper
Nov 3 Twister paper
Nov 5 IPSEC paper
Nov 10 DNSSEC paper
Nov 12 Secure Multiparty Computation paper
Nov 17 Zero Knowledge Authentication paper
Nov 19 Holiday Descubrimiento de PR
Nov 24 Holiday Thanksgiving
Nov 26 Holiday Thanksgiving
Dec 1 Project presentations
Dec 3 Project presentations

Instructional resources

The course will be hosted on the CCOM 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.


We will mostly use the MIT course materials.

We will also use the book. Hacking: the Art of Exploitation, 2nd Edition. Jon Erickson. No Startch Press. 2008.


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.


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

  • Participation in course forums (online, classroom), 5% final grade
  • Homework and quizzes, 25% final grade
  • Two partial exams, 50% final grade
  • Project, 20% final grade

Reasonable accomodations for students

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 Student Bylaws (Certification JS 13 2009–2010) states that “academic dishonesty includes but is not limited to: fraudulent actions, obtaining grades or academic degrees using false or fraudulent simulations, copying totally or partially academic work from another person, plagiarizing totally or partially the work of another person, copying totally or partially responses from another person to examination questions, making another person to take any test, oral or written examination on his/hers behalf, as well as assisting or facilitating any person to incur in the aforementioned conduct”. Fraudulent conduct refers to “behavior with the intent to defraud, including but not limited to, malicious alteration or falsification of grades, records, identification cards or other official documents of the UPR or any other institution.” Any of these actions shall be subject to disciplinary sanctions in accordance with the disciplinary procedure, as stated in the existing UPR Student Bylaws.

DISCLAIMER: The above statement is an English translation, prepared at the Deanship of Academic Affairs of the Medical Sciences Campus, of certain parts of Article 6.2 of the UPR Student Bylaws “Reglamento General de Estudiantes de la Universidad de Puerto Rico”, (Certificación JS 13 2009-2010). It is in no way intended to be a legal substitute for the original document, written in Spanish.