This course aims to provide a comprehensive understanding of the context and foundational principles of security research and practice. We will begin by exploring key questions such as the reasons for the success or failure of certain security technologies, how to measure security and assess risk, and the economics of security. Additionally, we will gain an understanding of an attacker's mindset by studying various recent attacks. These questions and studies will serve as a foundation for the course, and will help students develop a well-rounded view of security research.
Building on this foundation, we will delve into state-of-the-art research and current activities in various areas of computer security, including software security, web security, security and privacy issues in cloud computing, mobile devices and networks, and IoT devices and systems. We will discuss how to define and address security research questions in these settings, and explore new threats emerging from platforms and applications such as AR and VR, cloud and mobile platforms, and IoT and Blockchain systems. The course will also cover various analysis techniques and tools for vulnerability discovery and threat analysis, as well as approaches for building in better security in these platforms and applications.
This course is ideal for students who are interested in learning about current research activities and conducting research projects in computer security. The course will provide students with a comprehensive understanding of the field, and enable them to make informed decisions about their own research projects.
| # | Date | Topic | Slides | Supporting Materials |
|---|---|---|---|---|
| L1 | Jan 23, 2024 | Introduction | Ch01.pdf | |
| L2 | Jan 23, 2024 | IA-32 Register, Byte Ordering | Ch02.pdf |
|
| L2 Review | Jan 30, 2024 | IA-32 Register, Byte Ordering, X86 ASM (Online Review) | Ch02.pdf |
|
| L3 | Feb 06, 2024 | X86 Assembly & Stack | Ch03.pdf |
|
| L4 | Feb 06, 2024 | Stack & Stack Frame | Ch04.pdf |
|
| Lab 1 (10 points) |
Feb 13, 2024 |
Lab1: Stack, Stack Frame & CrackMe
Due on: 03/05/2024 23:59:59
|
lab1.pdf |
|
| L5 | Feb 20, 2024 | Stack Frame & Calling Convention | Ch05.pdf |
|
| L6 | Feb 20, 2024 | System Call & Shellcode & Stack Overflow | Ch06.pdf |
|
| L7, 8 | Feb 27, 2024 - Mar 05, 2024 | CVE-2006-3439 | Ch07.pdf CVE-2006-3439 Static Analysis Report |
|
| L9, L10 | Mar 19, 26 2024 | CVE-2008-4250 | Ch09.pdf |
|
| L11 | Mar 26, 2024 | PE Structure | Ch11.pdf |
|
| L12 | Apr 02, 2024 | CVE-2008-4250 (2) | Ch12.pdf |
|
| L13 | Apr 02, 2024 | Stealth process | ch13.pdf |
|
| Lab 2 (10 points) |
Apr 02, 2024 |
Lab2: Analyzing Buffer Overflow Vulnerability in NETAPI32.DLL
Due on: 04/16/2024 23:59:59
|
lab2.pdf |
|
| L14 | Apr 09, 2024 | Kernel Rootkit | ch14.pdf |
|
| Lab 3 (10 points) |
Apr 16, 2024 |
Lab3: Analyzing Buffer Overflow Vulnerability CVE-2008-4250 in NETAPI32.DLL
Due on: 05/10/2024 23:59:59
|
lab3.pdf |
|
| L15 | Apr 16, 2024 | Volatility and Stuxnet Online Asynchronous |
ch15.pdf | |
| Final Project (30 points) |
Apr 16, 2024 | Final Project
Due on: 05/10/2024 23:59:59
|
FinalProject.pdf |
|
| L16 | Apr 16, 2024 | Web Security Online Asynchronous |
ch16.pdf | |