The schedule will change as the course progresses, in part based on student interests. If you are particularly interested in some topic not covered here, send an email to the instructor (

Monday Tuesday Wednesday Thursday Friday
Aug 17: Logistics and Overview
LEC 1: Course Logistics and Overview
Aug 18 Aug 19: Background
LEC 2: Introduction to CPS and IoT Security
Aug 20 Aug 21
Aug 24: IoT Devices
LEC 3: IoT Security & Privacy: Overview
Reading: All Things Considered: An Analysis of IoT Devices on Home Networks [Security'19]
Presentation 1: Chung Hwan Kim
Aug 25 Aug 26: IoT Devices
LEC 4: IoT Security & Privacy: Protocols and Services I
Reading: SoK: Security Evaluation of Home-Based IoT Deployments [S&P'19]
Presentation 2: Bradley Olbrey
Aug 27 Aug 28
Aug 31: IoT Platforms
LEC 5: IoT Security & Privacy: Protocols and Services II
Reading: Charting the Attack Surface of Trigger-Action IoT Platforms [CCS'19]
Presentation 3: Bradley Olbrey
Sep 1 Sep 2: IoT Platforms
LEC 6: Program Analysis I
Reading: Burglars' IoT Paradise: Understanding and Mitigating Security Risks of General Messaging Protocols on IoT Clouds [S&P'20]
Presentation 4: Swamynathan Singaravelu
Sep 3 Sep 4
Sep 7
Labor Day
Sep 8 Sep 9: Industrial Control Systems
LEC 7: Program Analysis II
Reading: Towards Automated Safety Vetting of PLC Code in Real-World Plants [S&P'19]
Presentation 5: Samantha Gant
Sep 10 Sep 11
Sep 14: Drones
LEC 8: Introduction to Control Systems
Reading: SAVIOR: Securing Autonomous Vehicles with Robust Physical Invariants [Security'20]
Presentation 6: Anthony Dinh
Sep 15 Sep 16: Drones
LEC 9: Drones
Reading: Cyber-Physical Inconsistency Vulnerability Identification for Safety Checks in Robotic Vehicles [CCS'20]
Presentation 7: Swamynathan Singaravelu
Sep 17 Sep 18
Sep 21: Drones
LEC 10: Fuzzing
Reading: From Control Model to Program: Investigating Robotic Aerial Vehicle Accidents with Mayday [Security'20]
Presentation 8: Shuo Li
Sep 22 Sep 23: Brainstorming Day
DUE: Project Brainstorming Presentation (5-10min)
Sep 25 Sep 26
Sep 28: Automotive
LEC 11: LLVM Analysis
Reading: I Know Where You Parked Last Summer: Automated Reverse Engineering and Privacy Analysis of Modern Cars [S&P'20]
Presentation 9: Samantha Gant
Sep 29 Sep 30: Automotive
DUE: Project Team Formation (1-2 per team)
LEC 12: Pin Analysis and Instrumentation
Reading: Plug-N-Pwned: Comprehensive Vulnerability Analysis of OBD-II Dongles as A New Over-the-Air Attack Surface in Automotive IoT [Security'20]
Presentation 10: Shuo Li
Oct 1 Oct 2
Oct 5: Self-Driving Cars
Reading: Towards Robust LiDAR-based Perception in Autonomous Driving: General Black-box Adversarial Sensor Attack and Countermeasures [Security'20]
Presentation 11: Shuo Li
Oct 6
Project Meetings with Instructor (here)
Oct 7: Self-Driving Cars
Reading: DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars [ICSE'18]
Presentation 12: Anthony Dinh
Oct 8
Project Meetings with Instructor (here)
Oct 9
Oct 12: Sensor Attacks
LEC 13: Automotive
Reading: SoK: A Minimalist Approach to Formalizing Analog Sensor Security [S&P'20]
Presentation 13: Chang Zhu
Oct 13 Oct 14: Proposal Day
DUE: Project Proposal Presentation (10min)
Oct 15 Oct 16
Oct 19: Side Channels
DUE: Project Proposal Peer Evaluation
LEC 14: Self-Driving Cars
Reading: Butterfly Attack: Adversarial Manipulation of Temporal Properties of Cyber-Physical Systems [RTSS'19]
Presentation 14: Swamynathan Singaravelu
Oct 20 Oct 21: Side Channels
LEC 15: Symbolic Execution
Reading: Stealthy Tracking of Autonomous Vehicles with Cache Side Channels [Security'20]
Presentation 15: Samantha Gant
Oct 22 Oct 23
Oct 26: CPS/IoT Fuzzing
LEC 16: ARM Cortex-M Architecture I
Reading: Program-Aware Fuzzing for MQTT Applications [ISSTA'20]
Presentation 16: Anthony Dinh
Oct 27 Oct 28: CPS/IoT Fuzzing
LEC 17: ARM Cortex-M Architecture II
Reading: RVFuzzer: Finding Input Validation Bugs in Robotic Vehicles through Control-Guided Testing [Security'19]
Presentation 17: Bradley Olbrey
Oct 29 Oct 30
Nov 2: Hardware Emulation
Reading: HALucinator: Firmware Re-hosting Through Abstraction Layer Emulation [Security'20]
Presentation 18: Chang Zhu
Nov 3 Nov 4: Hardware Emulation
Reading: P2IM: Scalable and Hardware-independent Firmware Testing via Automatic Peripheral Interface Modeling [Security'20]
Presentation 19: Michael Smith
Nov 5 Nov 6
Nov 9: Memory Safety
LEC 19: Trusted Computing I
Reading: µRAI: Securing Embedded Sytems with Return Address Integrity [NDSS'20]
Presentation 20: Chang Zhu
Nov 10 Nov 11: Memory Safety
LEC 20: Trusted Computing II
Reading: uXOM: Efficient eXecute-Only Memory on ARM Cortex-M [Security'19]
Presentation 21: Michael Smith
Nov 12
Project Meetings with Instructor (here)
Nov 13
Nov 16: Trusted Computing
LEC 21: Advanced Fuzzing
Reading: PARTEMU: Enabling Dynamic Analysis of Real-World TrustZone Software Using Emulation [Security'20]
Presentation 22: Michael Smith
Nov 17 Nov 18
Class Cancelled (No Class)
Nov 19 Nov 20
Nov 23: Demo Day
DUE: Project Demo & Presentation
Nov 24 Nov 25
Last Day of Classes (No Class)
Nov 26
Thanksgiving Day
Nov 27
Black Friday
Nov 30
Dec 1
Dec 2
Final Exam Period (No Exam)
Dec 3
Final Exam Period (No Exam)
Dec 4
Final Exam Period (No Exam)
Dec 7
Final Exam Period (No Exam)
Dec 8
DUE: Final Project Submission
Final Exam Period (No Exam)
Dec 9
Dec 10
Dec 11