COMP8703
Vulnerability Research and Exploit Mitigation
- Credit
- 6 units
- Catalogue year
- 2027
- Recorded offerings
- First Semester
Course information
Historically, major defensive security techniques for software systems were developed as a response to the emergence of classes of exploitation techniques. The aims of such defensive techniques are usually not about preventing software developers from writing insecure code, but rather, they are aimed at preventing bugs in software to be exploited by attackers to compromise their targets. Vulnerability Research and Exploit Mitigation examines important exploit mitigation techniques deployed in modern software systems through an adversarial lens: software vulnerabilities are explored in depth, through how they can be discovered and exploited, in order to understand the mechanisms behind the exploit mitigation techniques. The course covers topics ranging from common patterns in software vulnerabilities, such as stack-based buffer overflow, format string vulnerabilities, and heap-based vulnerabilities; exploitation techniques such as code injection, code obfuscation, return-oriented-programming; techniques for vulnerability discovery, such as program binaries reverse engineering, fuzzing and symbolic execution; and mitigation techniques such as memory protection mechanisms, input sanitization, and control flow integrity protection. The course features hands-on lectures and labs to analyse software vulnerabilities, both in the source code and in program binaries, to develop proof-of-concept exploits, and to design and implement appropriate mitigation techniques against exploitation. Students will learn state-of-the-art vulnerability research and exploitation tools and techniques, and apply their knowledge on case studies involving real-world software systems.
Requisite and Incompatibility
To enrol in this course, you must be enrolled in the Master of Computing (Advanced) and have completed COMP6034 or COMP3704. Incompatible with COMP3703 and COMP4703.
Learning Outcomes
Upon successful completion, students will have the knowledge and skills to:
Demonstrate a thorough understanding of common sources of vulnerabilities in software.
Demonstrate a thorough understanding in exploitation techniques against software vulnerabilities and defensive techniques against these exploitations.
Demonstrate proficiency in software reverse engineering.
Demonstrate proficiency in vulnerability discovery processes, from both source code and binary.
Apply vulnerability discovery techniques to analyse vulnerabilities in real-world software, and design and implement appropriate mitigation techniques.
Saved ANU Programs & Courses information, 2027. Future offerings are indicative. Checks use the saved requirements and your fictional academic record.
Saved requirements encoded for automatic checks. See your requirement checks for what can be decided.
Course library: sources, offering dates and related entries
Read the full published course information ↗
Who reviews permission requests?
Dr Tomas Weller is the fictional reviewer assigned to COMP8703 in this prototype. The selected course determines where a request goes.
Make this part of your semester
Sign in to check your fictional academic record, save this offering, and request permission if needed.
Sign in