UniMate AI

COMP4442

软件安全漏洞利用

6 学分难度 超难

课程定位 COMP4442/9442 是 UNSW 计算机专业在‘攻防安全’领域的顶级硬核课。如果普通安全课是在教你如何‘锁门’,这门课则是教你如何像顶级黑客一样‘开锁’。它专注于软件漏洞的发现、验证与利用。它是通往高级安全研究员、红队渗透专家、及二进制漏洞分析师岗位的唯一实战必经之路。它将底层的汇编指令、内存布局与现代漏洞缓解机制(Mitigations)深度博弈,是培养‘实战级安全专家’的魔鬼特训营。 技术栈与学习内容 课程以 Linux 平台下的 x86-64 架构为核心,深度攻克:经典的缓冲区溢出 (Stack Overflow)、Return-oriented Programming (ROP)、格式化字符串漏洞、整数溢出、以及堆溢出 (Heap Exploitation)。此外,课程重点研究现代防御机制的绕过技巧:ASLR (地址空间随机化)、DEP (数据执行保护)、以及 Stack Canaries。学生将学习如何利用 GDB 和 Pwntools 编写精准的漏洞利用脚本(Exploits)。课程强调‘对每一字节内存的极致控制’。 课程结构 10 周极高强度的实验驱动教学。评估体系完全看重实战:包含每周的‘漏洞破解’Lab、两个要求极高难度的 Capture The Flag (CTF) 风格项目(Assignment,涉及破译具有多重防御的二进制程序)、以及一场限时 24 小时的‘远程夺旗’期末大考。该课极其强调‘手敲 Shellcode’的能力。及格意味着你懂安全,拿 HD 意味着你具备了发现零日漏洞 (Zero-day) 的潜力。 适合人群 计算机专业大四、荣誉学位或研究生。必须具备极其扎实的 COMP1521 (系统基础) 和汇编功底。如果你逻辑感极强、享受从崩溃的堆栈中提取控制权的快感,这门课会让你血脉偾张。建议每周投入 30 小时以上,做好‘与十六进制共度周末’的准备。

Course decision

选课先看

先看考核重心、截止节奏和入门要求,再决定这门课是否适合你的学期安排。

考核总权重

100%

3 项考核

最高单项

40%

Final Take-home Exam

期末考试

以官方 outline 为准

Hurdle

1 项

需要单独满足

Deadline map

考核时间线

按截止周排列作业节点;持续考核会保留在下方完整考核结构中。

Week 9

Binary Exploitation Project

35%

独立对一个具有多种防御机制的二进制文件进行全流程分析与利用,获取 Root 权限 Flag。

Week 10

Lab CTF Challenges

25%

涵盖每章典型漏洞的现场破解任务,要求提交有效的 Python 溢出脚本。

Week 11

Final Take-home Exam

40%

24 小时限时任务,要求破解 3 个以上逐渐递增难度的漏洞程序并提交技术分析报告。

Syllabus

每周大纲

默认只展示每周独有的知识重点;节奏、考核、Tutorial 和避坑信息按需展开。

  1. 1

    安全漏洞概论与实验环境

    软件安全三要素,x86-64 寄存器复习,GDB 与 Pwntools 基础操作。

  2. 2

    栈溢出 (Stack Overflows)

    函数调用栈帧解构,覆盖返回地址,编写第一个简单的 Shellcode 注入。

  3. 3

    现代防御机制 (1):DEP 与 ASLR

    NX 位原理,为什么 Shellcode 无法直接执行,ASLR 如何干扰硬编码地址。

  4. 4

    ROP:Return-Oriented Programming

    寻找 Gadgets,构造 ROP 链绕过 DEP,利用 Puts 或 Printf 泄露库地址。

  5. 5

    格式化字符串漏洞

    Printf 底层原理,利用格式说明符实现任意地址读写,绕过 Stack Canaries。

  6. 6

    灵活性周 (Flex Week)

    复习 ROP 链构造逻辑,冲刺第一个二进制破解 Assignment,练习 Libc 数据库匹配。

  7. 7

    堆溢出基础 (Heap Exploitation)

    Glibc 堆分配算法,Chunks 结构,Use-after-free (UAF) 漏洞原理分析。

  8. 8

    高级堆利用技巧

    Tcache 投毒,Unsorted Bin 泄露,Fastbin Dup 攻击实现。

  9. 9

    整数溢出与边界错误

    有符号 vs 无符号溢出,由于逻辑判断失误导致的内存越界访问案例分析。

  10. 10

    综合攻防与全课总结

    内核溢出初步,全学期漏洞图谱闭环大复盘;期末 CTF 指南。

Assessment

考核结构

Lab CTF Challenges

涵盖每章典型漏洞的现场破解任务,要求提交有效的 Python 溢出脚本。

25%

Week 10

Binary Exploitation Project

独立对一个具有多种防御机制的二进制文件进行全流程分析与利用,获取 Root 权限 Flag。

35%

Week 9

Final Take-home ExamHurdle

24 小时限时任务,要求破解 3 个以上逐渐递增难度的漏洞程序并提交技术分析报告。

40%

Week 11

From Seniors

学长留下的

基础信息谁都查得到,真正值钱的是过来人的经验。

学姐说

比你早一年的学长留下的真实经验 —— ChatGPT 给不了。

这门课还没有学长经验,你可以是第一个 —— 注册后在课内分享。

往年考点 / 踩坑

这门课暂无往年考点记录。

毕业生去向(整体)

下面是匠人学院毕业生整体去过的公司分布(来自脱敏校友证言)。这是全平台的总体去向,不代表选这门课的人一定去这些公司。

统计自 317 份脱敏校友证言

Deloitte

6 位校友

岗位:Graduate Program · Graduate Consulting · Platform Engineer · Web developer · Platform engineer

Zerologix

4 位校友

岗位:Frontend Dev · junior frontend developer · Front-end Developer · Full Stack Developer

Servian

4 位校友

岗位:Full-stack Developer · Data Engineer · Consultant

关于这块数据,我们说实话

雇主墙来自脱敏毕业生证言(testimonials)的整体分布,无法关联到具体学员或其所选课程;仅作为毕业生去向的总体社会证明展示。

我们没有"某位学长选了这门课、后来进了哪家公司"这种可查询的个人去向档案 —— 校友证言是脱敏的,无法关联到具体的人或他选过的课。所以这里只给整体分布,不给个人路径,不编。