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
System security models and attack surfaces
Build an asset and attack-surface map for a Linux service.
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.
Privilege, identity, and access control
Compare DAC, MAC, capability, and sandbox policies.
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.
Memory protection and exploit mitigations
Experiment with ASLR, NX, canaries, and CFI boundaries.
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.
Kernel attacks and driver security
Audit a small kernel module or driver sample.
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.
Isolation, containers, and sandboxes
Configure container isolation and test escape preconditions.
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.
Side channels and microarchitectural security
Reproduce a lab cache side channel and discuss mitigations.
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.
Detection, logging, and response
Design host detection rules and an event timeline.
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.
System security evaluation and reporting
Submit the final attack chain, defense evaluation, and reproducibility package.
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
Concept questions, reading responses, design tasks, and small programming or lab exercises.
System threat models, attack or bypass experiments, defense evaluation, and reproducibility packages.
Participation in discussions, demos, code or paper reviews, and peer feedback.
Submit reproducible artifacts, a technical report, and a demo explaining methods, results, limitations, and future work.
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
International
- CMU15-793: Secure Computer Systems
- CornellCS 5430: System Security
- ETH ZurichSystem Security
- Georgia TechCS 6264: Information Security Lab—System and Network Defenses
- MIT6.858 Computer Systems Security
- PrincetonCOS 432/ECE 432: Information Security
- StanfordCS 155: Computer and Network Security
- UC BerkeleyCS 161: Computer Security
- UIUCCS 461/ECE 422: Introduction to Computer Security
- University of WashingtonCSE 484: Computer Security
China 985 Universities
- 上海交通大学网络空间安全学院本科生课程
- 中国科学技术大学系统安全与软件安全
- 华中科技大学网络空间安全学院
- 南京大学系统安全与二进制代码分析
- 哈尔滨工业大学网络空间安全学院课程体系
- 武汉大学信息安全专业课程
- 浙江大学Network Security
- 清华大学网络与系统安全研究生课程
- 西安交通大学网络空间安全学院