55AA-003

系统安全

层级
本科生
状态
建设中

提示:本课程仍在持续设计和校准中,页面内容仅供参考,不代表最终教学版本。

教学大纲

课程概览

系统安全关注操作系统、硬件、网络和应用之间的信任边界。课程从攻击面建模开始,覆盖隔离、权限、内核攻击、防御机制、侧信道、沙箱、检测与响应,训练学生在真实系统约束下分析安全机制是否有效。

这是 55AA 本科安全方向的核心课程,也是硬件安全、取证、虚拟化、可信计算和合规自动化等研究生课程的前置基础。

先修要求

  • 操作系统、系统编程和计算机网络基础。
  • 能够阅读 C/C++ 或 Rust 系统代码。
  • 具备基础软件安全知识更佳。

学习目标

  • 识别系统信任边界、攻击面和权限路径。
  • 解释隔离、访问控制、内存保护和审计机制。
  • 复现实验级系统攻击并分析前提条件。
  • 评估系统防御的覆盖范围、成本和绕过方式。
  • 完成一份可复现的系统安全实验报告。

教学组织

  • 每周 2 次课堂:一次讲授核心概念,一次用于实验、论文讨论或项目评审。
  • 课程按 16 周推进,每周都有可检查的作业、实验或项目里程碑。
  • 强调可复现材料:代码、配置、数据、实验日志和报告需要能被助教或同学复查。

周计划

第 2 周

系统安全模型与攻击面实验与评审

为一个 Linux 服务建立资产和攻击面图。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

第 4 周

权限、身份和访问控制实验与评审

比较 DAC、MAC、capability 和 sandbox 策略。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

第 6 周

内存保护与漏洞利用缓解实验与评审

实验 ASLR、NX、canary 和 CFI 的边界。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

第 8 周

内核攻击与驱动安全实验与评审

审计一个小型内核模块或驱动样例。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

第 10 周

隔离、容器与沙箱实验与评审

配置容器隔离并测试逃逸前提。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

第 12 周

侧信道与微架构安全实验与评审

复现实验级缓存侧信道并讨论缓解。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

第 14 周

检测、日志与响应实验与评审

设计主机侧检测规则和事件时间线。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

第 16 周

系统安全评估与报告实验与评审

提交最终攻击链、防御评估和复现材料。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

考核方式

个人作业

概念题、阅读题、设计题和小型编程或实验任务。

25%
实验与项目

系统威胁模型、攻击或绕过实验、防御评估和复现材料。

40%
课堂参与与评审

参与讨论、演示、代码或论文评审,以及同伴反馈。

10%
期末报告与答辩

提交可复现材料、技术报告和演示,说明方法、结果、限制与后续工作。

25%

课程项目

项目要求学生选择一个系统组件,完成威胁建模、攻击或绕过实验、防御评估和复现实验包。鼓励对象包括容器、内核接口、浏览器沙箱、身份服务和系统监控组件。

课程政策

  • 允许使用 AI 工具,但所有生成代码、实验记录和设计建议必须经过学生本人审查,并在报告中说明使用方式。
  • 严禁提交不能解释的代码、证明、配置或实验结果;答辩时每名成员都需要解释自己负责部分的设计、测试和取舍。
  • 迟交会影响迭代评分,但课程更看重可复现、可审计和可维护的结果,而不是临时堆砌。

参考课程