(Required) |
CNIT 126: Practical Malware AnalysisSpring 2026 Sam Bowne
Schedule · Lecture Notes · Projects · Links · Home Page
|
(Optional) |
Catalog DescriptionLearn how to analyze malware, including computer viruses, trojans, and rootkits, using disassemblers, debuggers, static and dynamic analysis, using IDA Pro, OllyDbg and other tools.Advisory: CS 110A or equivalent familiarity with programming Upon successful completion of this course, the student will be able to:
Textbook"Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software", by Michael Sikorski and Andrew Honig; ISBN-10: 1593272901 Buy from AmazonQuizzesThe quizzes are multiple-choice, online, and open-book. However, you may not ask other people to help you during the quizzes. You will need to study the textbook chapter before the lecture covering it, and take the quiz before that class. Each quiz is due 30 min. before class. Each quiz has 5 questions, you have ten minutes to take it, and you can make two attempts. If you take the quiz twice, the higher score counts. Discussion BoardEach CCSF student must contribute to the Discussion Board in Canvas. There are dates listed in the schedule with Discussion assignment due. |
Schedule (may be revised) | ||||
|---|---|---|---|---|
| Note: Chapter Numbers are one too high in the E-Book Chapter 0 is mislabelled as Chapter 1, etc. | ||||
| Date | Quiz | Topic | ||
| Thu 1-15 | 0: Malware Analysis Primer & 1: Basic Static Techniques Demo: PMA 41
| |||
| Thu 1-22 | Quiz: Ch 0-1 Quiz: Ch 2-3 Proj PMA 41 & 101 | 2: Malware Analysis in Virtual Machines & 3: Basic Dynamic Analysis Demos: PMA 101, 105
| ||
| Thu 1-29 | Quiz: Ch 4 Proj PMA 105 Discussion 1 | 4: A Crash Course in x86 Disassembly Demo: PMA 221
| ||
| Fri 1-30 | Last Day to Add Classes | |||
| Thu 2-5 | Quiz: Ch 8 Proj PMA 221 Discussion 2 | 8: Debugging Demos: PMA 102 & 121 & 122
| ||
| Thu 2-12 | Quiz: Ch 9
Proj PMA PMA 102 & 121 & 122 Discussion 3 | 9: OllyDbg Demos: PMA 123 & 401
| ||
| Thu 2-19 | Quiz: Ch 5
Proj PMA 123 & 401 Discussion 4 | 5: IDA Pro Demos: PMA 124 & 126
| ||
| Thu 2-26 | Quiz: Ch 6
Proj PMA 124 & 126 Discussion 5 | 6: Recognizing C Code Constructs in Assembly Demos: PMA 301 (Jasmin) and 303 (IDA Pro)
| ||
| Thu 3-5 | Quiz: Ch 7
Proj PMA 301 Discussion 6 | 7: Analyzing Malicious Windows Programs Demo: PMA 304 (C constructs)
| ||
| Thu 3-12 | No Quiz
No Proj due |
OllyDbg Demos: PMA 402 & 404
| ||
| Thu 3-19 | No Quiz |
DOT NET Demos: PMA 132, ED 330, ED 331
| ||
| Thu 3-26 | No Quiz
Proj PMA 303 & 304 |
Demos: R 10, R 20, ED 301
| ||
| Thu 4-2 | Holiday--No Class | |||
| Thu 4-9 | No Quiz
Proj PMA 402 Discussion 7 | 10: Kernel Debugging with WinDbg WinDbg Demo: PMA 430
| ||
| Thu 4-16 | Quiz: Ch 10
Discussion 8 | Debugging Demos: PMA 431, PMA 432 and Bootkit Demo: PMA 420
| ||
| Thu 4-23 | Quiz: Ch 11
Proj PMA 430 & 431 Discussion 9 | 11: Malware Behavior Demo: H 540
| ||
| Thu 4-30 | No Quiz
Proj PMA 432 due | 12: Covert Malware Launching Demo: PMA PMA 406
| ||
| Thu 5-7 | No Quiz All Extra Credit Due | Last Class: No New Material
| ||
| Wed 5-13 through Wed 5-20 | Final Exam available online throughout the week. You can only take it once. | |||
| All quizzes due 30 min. before class | ||||