CSC 583 Advanced Topics in Computer Security

2024-Spring Course Website

Instructor: Si Chen

Course Logo

Course Description

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.

Expected Background

No prerequisite for graduate students, although sufficient security background is expected. For accelerated undergraduate students, please make sure you completed CSC 302 or check with the instructor.

Textbook

No Textbook

Reference book:

  1. Randal E. Bryant, Davie Richard O'Hallaron, Computer Systems: A Programmer's Perspective, 3rd Edition, ISBN 978-0134092669
  2. Wenliang Du, Computer Security: A Hands-on Approach, ISBN 978-1548367947

Presentation Rubric (total 15%)

Content (8%)

  • Accuracy: All content throughout the presentation is accurate, and there are no factual errors.
  • Relevance: The presentation covers the assigned topic comprehensively and relevantly.

Presentation (5%)

  • Organization: The presentation is well-structured, with a clear introduction, body, and conclusion.
  • Technical clarity: Technical terms are well-defined and explained in a clear and concise manner.
  • Depth: The presentation demonstrates substance and depth, going beyond superficial explanations.

Q&A Session (1%)

  • Knowledge: The student demonstrates full knowledge of the topic, answering questions confidently and accurately.

Peer Engagement (1%)

  • Preparation: The student has prepared questions for other groups and shows a proactive engagement in the learning process.

Course Content

# Date Topic Slides Supporting Materials
L1 Jan 23, 2024 Introduction Ch01.pdf
L2 Jan 23, 2024 IA-32 Register, Byte Ordering Ch02.pdf
  • LittleEndian.cpp
  • LittleEndian.exe
  • Windows XP Environment Disclaimer
  • VirtualBox
  • [Video]
  • L2 Review Jan 30, 2024 IA-32 Register, Byte Ordering, X86 ASM (Online Review) Ch02.pdf
  • [Video]
  • L3 Feb 06, 2024 X86 Assembly & Stack Ch03.pdf
  • abexcm1-voiees.exe
  • [Video]
  • L4 Feb 06, 2024 Stack & Stack Frame Ch04.pdf
  • Stack.exe
  • StackFrame.exe
  • [Video]
  • Lab 1
    (10 points)
    Feb 13, 2024 Lab1: Stack, Stack Frame & CrackMe
    lab1.pdf
  • lab1.exe
  • A reversing tutorial for newbies by lena151 part10.avi
  • L5 Feb 20, 2024 Stack Frame & Calling Convention Ch05.pdf
  • StackFrame.exe
  • StackFrame.cpp
  • stdcall.exe
  • cdecl.exe
  • L6 Feb 20, 2024 System Call & Shellcode & Stack Overflow Ch06.pdf
  • helloworld.asm
  • hello.asm
  • test.c
  • buffer.c
  • buffer2.c
  • overflow.c
  • attack.py
  • overflow2.c
  • attack2.py
  • How to connect to BadgerCTF
  • L7, 8 Feb 27, 2024 - Mar 05, 2024 CVE-2006-3439 Ch07.pdf
    CVE-2006-3439 Static Analysis Report
  • CVE-2006-3439.zip
  • CVE-2006-3439_PoC.zip
  • IDA Freeware
  • Windows XP Environment Disclaimer
  • CVE-2006-3439_afterPatch.zip
  • L9, L10 Mar 19, 26 2024 CVE-2008-4250 Ch09.pdf
  • CVE-2008-4250.zippassword:infected
  • Conficker.rarpassword:infected
  • CVE-2008-4250 Static Analysis Report
  • L11 Mar 26, 2024 PE Structure Ch11.pdf
  • notepad_xp.zip
  • [Video]
  • [Video]
  • L12 Apr 02, 2024 CVE-2008-4250 (2) Ch12.pdf
  • Conficker.rarpassword:infected
  • ms08_067_SMB.pcapngpassword:infected
  • L13 Apr 02, 2024 Stealth process ch13.pdf
  • StealthProcess1.zip password:infected
  • stealth.cpp
  • Lab 2
    (10 points)
    Apr 02, 2024 Lab2: Analyzing Buffer Overflow Vulnerability in NETAPI32.DLL
    lab2.pdf
  • CVE-2006-3439_afterPatch.zip
  • CVE-2006-3439 Static Analysis Report
  • IDA Freeware
  • Windows XP Environment Disclaimer
  • L14 Apr 09, 2024 Kernel Rootkit ch14.pdf
  • SSDTHook.zip password:infected
  • Lab 3
    (10 points)
    Apr 16, 2024 Lab3: Analyzing Buffer Overflow Vulnerability CVE-2008-4250 in NETAPI32.DLL
    lab3.pdf
  • CVE-2008-4250.zip
  • CVE-2008-4250 Static Analysis Report
  • IDA Freeware
  • Windows XP Environment Disclaimer
  • L15 Apr 16, 2024 Volatility and Stuxnet
    Online Asynchronous
    ch15.pdf
  • [Video]
  • Final Project
    (30 points)
    Apr 16, 2024 Final Project
    FinalProject.pdf
  • stuxnet.vmem
  • L16 Apr 16, 2024 Web Security
    Online Asynchronous
    ch16.pdf
  • [Video]