The course comprises of four main modules apart from a module on preliminaries.
- Module 0: Preliminaries on Computer Architecture and Operating systems, especially Processor, Caches, DRAM, and Virtual memory systems
(Depends on the dynamics of the class)
- Module 1: Confidentiality
(i) Side-channel and covert-channel attacks (transient and non-transient) at different levels of memory hierarchy, virtual meomry systems, and the processor
(ii) attack mitigation techniques: Changes to Linux Kernel and underlying microarchitecture
(iii) Trade-off between system performance and security
- Module 2: Integrity and availability
(i) Row Hammer and RamBleed kind of attacks, DOS attacks at the processor and memory hierarchy
(iii) Attack mitigation techniques at the different layers of the computing stack
- Module 3: Interesting topics
(i) Reverse engineering memory systems
(ii) Interface between secure memory system, secure processor, and secure OS.
(iii) Intel SGX, ARM Trustzone, ORAMs
(iv) Security issues in NVMs, Side/covert channel attacks stealing neural networks