Network Protocol Analysis and Verification
- Level
- Graduate
- 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
Network Protocol Analysis and Verification combines protocol engineering, formal modeling, and security analysis. Topics include state machines, protocol reverse engineering, fuzzing, model checking, symbolic protocol analysis, and implementation conformance testing.
This is a graduate topic course after networking, applied cryptography, and program analysis.
Prerequisites
- Computer networking and applied-cryptography fundamentals.
- Understanding of state machines, logic, and basic program analysis.
- Ability to write test harnesses or protocol scripts.
Learning Outcomes
- Extract protocol state machines from specifications and traces.
- Write protocol parsing, fuzzing, and conformance tools.
- Verify key properties with model checking or symbolic tools.
- Identify authentication, replay, downgrade, and state-confusion issues.
- Translate verification results into engineering fixes.
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
Protocol specs, state machines, and threat models
Draw a state machine and security goals for a protocol.
Protocol specs, state machines, and threat models: lab and review
Draw a state machine and security goals for a protocol. Complete the paired lab, record issues, and explain design tradeoffs in class review.
Tracing, parsing, and protocol reverse engineering
Implement a parser and annotate field semantics.
Tracing, parsing, and protocol reverse engineering: lab and review
Implement a parser and annotate field semantics. Complete the paired lab, record issues, and explain design tradeoffs in class review.
Protocol fuzzing
Build a stateful fuzzing harness.
Protocol fuzzing: lab and review
Build a stateful fuzzing harness. Complete the paired lab, record issues, and explain design tradeoffs in class review.
Model-checking fundamentals
Model a handshake or retransmission behavior.
Model-checking fundamentals: lab and review
Model a handshake or retransmission behavior. Complete the paired lab, record issues, and explain design tradeoffs in class review.
Authentication protocols and symbolic analysis
Verify authentication, secrecy, or freshness properties.
Authentication protocols and symbolic analysis: lab and review
Verify authentication, secrecy, or freshness properties. Complete the paired lab, record issues, and explain design tradeoffs in class review.
Conformance and differential testing
Compare boundary behavior of two implementations.
Conformance and differential testing: lab and review
Compare boundary behavior of two implementations. Complete the paired lab, record issues, and explain design tradeoffs in class review.
Downgrade, replay, and state confusion
Reproduce or design a protocol-state flaw.
Downgrade, replay, and state confusion: lab and review
Reproduce or design a protocol-state flaw. Complete the paired lab, record issues, and explain design tradeoffs in class review.
Protocol verification report
Submit models, testing tools, and fix recommendations.
Protocol verification report: lab and review
Submit models, testing tools, and fix recommendations. 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.
Protocol models, testing tools, verification results, and fix recommendations.
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
Projects choose a real or teaching protocol and complete state-machine modeling, testing tools, property verification, and security evaluation.
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
China 985 Universities
- 中国科学技术大学信息网络协议基础
- 南京大学COSEC 课程信息
- 浙江大学网络空间安全研究中心研究生课程
- 清华大学网络科学与网络空间研究院研究生课程