Hardware Security and Side-Channels

COMP 590 – 184 – Spring 2026

Instructor: Andrew Kwong
Contact: andrew@cs.unc.edu
Class Meetings: Tuesday/Thursday 2:00-3:15PM, Wilson Hall-Rm 0128
Office Hours Thursday 4:00-5:00PM, FB340
Syllabus

The goal of this course is to prepare students for a world where hardware vulnerabilities can leak secrets to software-only attackers. Students will learn how to conduct and defend against state-of-the-art side-channel attacks on real hardware through a combination of both lectures and completing lab programming assignments. This course will practically demonstrate the pitfalls of widely adopted modern hardware design decisions, and will prepare students to design hardware and software resilient against such attacks.

Course Structure

Grades will be based upon the following:

Lab Assignments (80%)

Students will complete programming-oriented lab assignments that are designed to guide them towards carrying out real-world attacks on hardware. There will be 5 to 6 in total, focused on providing students with an opportunity to put theory into practice.

Final Exam (20%)

Students will sit for a final exam that will test their understanding of the course’s high level concepts, both from the lab assignments and the lectures.

Acknowledgements

This course is based upon MIT's 6.5950 course. Much thanks to Mengjia Yan and her course staff for their hard work on starting this!

Schedule

Week 1

Thursday, January 8
Introduction

Week 2

Tuesday, January 13

Thursday, January 15
Slides: Caches
—Recommended reading:

Week 3

Tuesday, January 20
Slides: Cache Attacks
— Recommended reading:

Thursday, January 22

Week 4

Tuesday, January 27

Thursday, January 29

Week 5

Tuesday, February 3

Thursday, February 5

Week 6

Tuesday, February 10

Thursday, February 12

Week 7

Tuesday, February 17

Thursday, February 19

Week 8

Tuesday, February 24

Thursday, February 26

Week 9

Tuesday, March 3

Thursday, March 5

Week 10

Tuesday, March 10

Thursday, March 12

Week 11

Tuesday, March 17

Spring Break. No Class.

Thursday, March 19

Spring Break. No Class.

Week 12

Tuesday, March 24

Thursday, March 26

Week 13

Tuesday, March 31

Thursday, April 2

Well-being day. No Class.

Week 14

Tuesday, April 7

Thursday, April 9

Week 15

Tuesday, April 14

Thursday, April 16

Week 16

Tuesday, April 21

Thursday, April 23