网络协议分析和验证
- 层级
- 研究生
- 状态
- 建设中
提示:本课程仍在持续设计和校准中,页面内容仅供参考,不代表最终教学版本。
教学大纲
课程概览
网络协议分析和验证课程把协议工程、形式化建模和安全分析结合起来。课程覆盖状态机、协议逆向、模糊测试、模型检查、符号协议分析和实现一致性测试。
这是网络、应用密码学和程序分析之后的研究生专题课。
先修要求
- 计算机网络和应用密码学基础。
- 理解状态机、逻辑和基本程序分析。
- 能够编写测试 harness 或协议脚本。
学习目标
- 从规范和流量中抽取协议状态机。
- 编写协议解析、模糊测试和一致性测试工具。
- 用模型检查或符号工具验证关键性质。
- 识别认证、重放、降级和状态混淆问题。
- 把验证结果转化为工程修复建议。
教学组织
- 每周 2 次课堂:一次讲授核心概念,一次用于实验、论文讨论或项目评审。
- 课程按 16 周推进,每周都有可检查的作业、实验或项目里程碑。
- 强调可复现材料:代码、配置、数据、实验日志和报告需要能被助教或同学复查。
周计划
第 1 周
第 2 周
协议规范、状态机和威胁模型实验与评审
为一个协议绘制状态机和安全目标。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 3 周
第 4 周
抓包、解析和协议逆向实验与评审
实现协议解析器并标注字段语义。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 5 周
第 6 周
协议模糊测试实验与评审
构建 stateful fuzzing harness。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 7 周
第 8 周
模型检查基础实验与评审
用模型描述握手或重传行为。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 9 周
第 10 周
认证协议和符号分析实验与评审
验证认证、保密或新鲜性性质。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 11 周
第 12 周
实现一致性和差分测试实验与评审
比较两个实现的边界行为。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 13 周
第 14 周
降级、重放和状态混淆实验与评审
复现或设计一个协议状态漏洞。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 15 周
第 16 周
协议验证报告实验与评审
提交模型、测试工具和修复建议。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
考核方式
个人作业
25%概念题、阅读题、设计题和小型编程或实验任务。
实验与项目
40%协议模型、测试工具、验证结果和修复建议。
课堂参与与评审
10%参与讨论、演示、代码或论文评审,以及同伴反馈。
期末报告与答辩
25%提交可复现材料、技术报告和演示,说明方法、结果、限制与后续工作。
课程项目
项目选择一个真实或教学协议,完成状态机建模、测试工具、性质验证和安全评估。
课程政策
- 允许使用 AI 工具,但所有生成代码、实验记录和设计建议必须经过学生本人审查,并在报告中说明使用方式。
- 严禁提交不能解释的代码、证明、配置或实验结果;答辩时每名成员都需要解释自己负责部分的设计、测试和取舍。
- 迟交会影响迭代评分,但课程更看重可复现、可审计和可维护的结果,而不是临时堆砌。
参考课程
国际名校
中国 985 高校
- 中国科学技术大学信息网络协议基础
- 南京大学COSEC 课程信息
- 浙江大学网络空间安全研究中心研究生课程
- 清华大学网络科学与网络空间研究院研究生课程