UB CSE 712 Seminar: Microcontroller Systems Security

Spring 2024 1/24/2024 - 5/7/2024; Monday, 5:00 PM - 7:50 PM; Talbrt 111

General Information

Instructor

Dr. Ziming Zhao
E-mail: zimingzh@buffalo.edu
Homepage: https://zzm7000.github.io/
Office: 338B Davis Hall
Office Hours: By Appointment
This is a seminar class with students presentations.

Overview

This seminar course is designed to provide students with a comprehensive understanding of microcontroller systems and their security aspects. Students will delve into the ARM Cortex-M microcontroller and explore relevant research papers on the topic.

The seminar is suitable for students who have strong interest in systems security and intent to pursue a career in the area, e.g., PhD students already working in security or MS students interested in pursuing a PhD or doing research in the field (in the form of independent studies and/or MS Thesis). One of the goals of this seminar is to identify, by the end of the semester, a set of open research problems on which students can work during the next semester, e.g., in the form of independent studies or thesis.

Tentative Schedule

Date Topic Paper Presentations Reading Assignment
Week-1 1/29 Microcontrollers and ARM Cortex-M  N/A  N/A
Week-2 2/5 Arithmetic and Logic Instructions  N/A  N/A
Week-3 2/12  N/A The instructor will be out of town on this day. The class will be delivered online at another time.
Week-4 2/19 Load and Store Instructions; Branch and Conditional Execution  N/A  N/A
Week-5 2/26 Structured Programming and Subroutines  N/A The instructor will be out of town on this day. The class will be delivered online at another time
Week-6 3/4 64-bit data processing  N/A
Week-7 3/11 Interrupts  N/A
Week-8 3/18 Spring Break  N/A
Week-9 3/25 SysTick
Week-10 4/1 Multitasking
Week-11 4/8 General Purpose I/O (GPIO) and General Purpose Timers
Week-12 4/15 Real-time Clock
Week-13 4/22 Direct Memory Access (DMA)
Week-14 4/29 Serial Communication protocols - 1
Week-15 5/6 Serial Communication protocols - 2    

Course Structure

We will discuss several topics in this class. Each lecture may consist of two parts. In the first part, the instructor will discuss some basic knowledge. In the second part, we will discuss 2 papers together.

A list of papers from top security, system or software engineering conferences (IEEE Security and Privacy aka. Oakland, USENIX Security, ACM CCS, NDSS, OSDI, SOSP, PLDI, ICSE, etc.) are provided for presentations under the "Paper Presentations" column. Usualy, we will have 2 presentations each week. Each student will present 2 papers throughout the semester. Only the presenter is required to read the papers, but it is highly recommended that everyone reads all the papers.

Assignments

The course includes the following assignments:

  1. Paper reading. Please first read "How to Read a Paper" by S. Keshav.

  2. Class presentations: Each student will present 2 research papers throughout the semester. To better prepare for the presentation, you are required to do the following:

    1. Email me your answers to the talk preparation questions 3 days before the presentation.
    2. Email me your slides 3 days before the presentation.
    3. You can find a set of recommendations on how to give a good presentation here.

  3. Paper reviews: you will write reviews for 2 papers (you will choose which ones). The template of a review can be download here. You can find a set of recommendations on how to write a good reviews here and some high-level guidelines here.