55AA-003

System Security

Level
Undergraduate
Status
Under development

Note: this course is still being designed and calibrated; the page content is for reference and does not represent the final teaching version.

Syllabus

Course Overview

System Security studies trust boundaries across operating systems, hardware, networks, and applications. Starting from attack-surface modeling, the course covers isolation, privilege, kernel attacks, defenses, side channels, sandboxing, detection, and response, training students to evaluate mechanisms under real system constraints.

This is the core undergraduate security course and the prerequisite base for graduate courses in hardware security, forensics, virtualization, trusted computing, and compliance automation.

Prerequisites

  • Operating systems, systems programming, and networking fundamentals.
  • Ability to read C/C++ or Rust systems code.
  • Basic software security background is helpful.

Learning Outcomes

  • Identify trust boundaries, attack surfaces, and privilege paths.
  • Explain isolation, access control, memory protection, and auditing mechanisms.
  • Reproduce lab-scale system attacks and analyze preconditions.
  • Evaluate coverage, cost, and bypasses of system defenses.
  • Produce a reproducible system-security lab report.

Course Format

  • Two meetings per week: one for core concepts and one for labs, paper discussion, or project review.
  • The course proceeds over 16 weeks, each with a checkable assignment, lab, or project milestone.
  • Reproducibility is required: code, configuration, data, lab logs, and reports must be reviewable by staff or peers.

Weekly Plan

Week 2

System security models and attack surfaces: lab and review

Build an asset and attack-surface map for a Linux service. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Week 4

Privilege, identity, and access control: lab and review

Compare DAC, MAC, capability, and sandbox policies. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Week 6

Memory protection and exploit mitigations: lab and review

Experiment with ASLR, NX, canaries, and CFI boundaries. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Week 8

Kernel attacks and driver security: lab and review

Audit a small kernel module or driver sample. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Week 10

Isolation, containers, and sandboxes: lab and review

Configure container isolation and test escape preconditions. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Week 12

Side channels and microarchitectural security: lab and review

Reproduce a lab cache side channel and discuss mitigations. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Week 14

Detection, logging, and response: lab and review

Design host detection rules and an event timeline. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Week 15

System security evaluation and reporting

Submit the final attack chain, defense evaluation, and reproducibility package.

Week 16

System security evaluation and reporting: lab and review

Submit the final attack chain, defense evaluation, and reproducibility package. Complete the paired lab, record issues, and explain design tradeoffs in class review.

Assessment

Individual assignments

Concept questions, reading responses, design tasks, and small programming or lab exercises.

25%
Labs and project

System threat models, attack or bypass experiments, defense evaluation, and reproducibility packages.

40%
Participation and review

Participation in discussions, demos, code or paper reviews, and peer feedback.

10%
Final report and defense

Submit reproducible artifacts, a technical report, and a demo explaining methods, results, limitations, and future work.

25%

Course Project

Students choose a system component and complete threat modeling, attack or bypass experiments, defense evaluation, and a reproducibility package. Suggested targets include containers, kernel interfaces, browser sandboxes, identity services, and system monitoring components.

Policies

  • AI tools are allowed, but generated code, lab notes, and design suggestions must be reviewed by the student and disclosed in the report.
  • Students may not submit code, proofs, configuration, or experimental results they cannot explain; each member must defend their own design, tests, and tradeoffs.
  • Late work affects iteration grades, but the course values reproducible, auditable, and maintainable results over last-minute accumulation.

Reference Courses