Schedule

Topics Resources Schedule &
Assignments
Week 1
(Aug 23, 2019)
Course overview and logistics;
Basics of computer system operation
TPM online tutorial,
Rethinking PID 1
N/A
Week 2
(Aug 30, 2019)
Binary and Process - Basic Concepts

X86 assembly, The ELF file format
Linux x86 Program Start Up,
Program in Memory,
Load-time reloc. of shared libraries

How to read / present academic papers
readelf, objdump,
nm,
GDB, gdbinit,
Online x86 Assembler
Microsoft Detour
Week 3
(Sep 6, 2019)
Memory Corruption Attacks & Defenses

Buffer overflow, Stack buffer overflow
x86 NX support, Stack canaries, ASLR

System call tracing with library interpostion
IDA pro, Ghidra,
Radare2

Quiz: Reverse engineering
binaries
Week 4
(Sep 13, 2019)
Modern Binary Exploits

Shellcode, Return-Oriented Programming (ROP),
ret2libc, Control Flow Integrity
Assignment 0x01:
Binary Exploit 1-0-1
Week 5
(Sep 20, 2019)
Virtualization Basics Project proposal Due
Week 6
(Sep 27, 2019)
Memory, Device, and Network virtualization
Week 7
(Oct 4, 2019)
VM Introspection Assignment 0x01 Due,
Assignment 0x02
Week 8
(Oct 11, 2019)
Static Analysis 1
Week 9
(Oct 18, 2019)
Static Analysis 2
Week 10
(Oct 25, 2019)
Fuzzing and Symbolic Execution Assignment 0x02 Due
Week 11
(Nov 1, 2019)
Attacker techniques Midterm Report
Week 12
(Nov 8, 2019)
Latest security topics 1,
Paper presentation1
Assignment 0x03
Week 13
(Nov 15, 2019)
Latest security topics 2,
Paper presentation 2
Week 14
(Nov 22, 2019)
Latest security topics 3 Assignment 0x03 due
Week 15
(Nov 29, 2019)
No class (Thanksgiving break)
Week 16
(Dec 6, 2019)
Project Presentation Project Final Report
& Presentation

Page last revised on: 2019-09-26