导语:Pwn2Own 2024赛场上,一个名字让全场屏息——Chompie。这位IBM X-Force Red团队的漏洞利用研究员,以一种近乎艺术的方式攻破Windows 11内核,成为该赛事历史上首位获得完整胜利的女性选手。而她最近公开的「Zero to Kernel」漏洞利用开发路线图,正成为安全社区争相研究的学习圣经。
一、从宏观经济研究员到漏洞猎手
Chompie(本名Valentina Palmiotti)是IBM X-Force Red团队的资深漏洞利用研究员。在进入网络安全领域之前,她从事宏观经济研究,用她自己的话说,那是一段”不太顺利”的人生阶段。
“我一直在寻找更适合自己的方向,”Chompie在IBM的专访中回忆道,”我对技术和计算机一直有浓厚的兴趣,成为黑客这个想法在某种意义上对我很有吸引力,虽然当时我对此一无所知。”
机缘巧合下,她发现居住的城市提供网络安全培训营,于是申请并被录取。短短一年半后,她已经站上了Pwn2Own的舞台,并在2024年温哥华站上创造了历史——成为该赛事举办17年来首位获得完整胜利的女性选手。
Chompie发现的漏洞是Windows 11内核中的”不适当引用计数更新”(Improper Update of Reference Count)问题,最终成功实现权限提升。这是她第一次参加Pwn2Own竞赛,一出手就是冠军。

二、SMBGhost:未经认证的远程代码执行
提到Chompie,就不得不提她在漏洞开发领域的代表作——SMBGhost(CVE-2020-0796)漏洞利用代码。
SMBGhost是Windows 10和Windows Server 2019中Server Message Block(SMB)协议的内存损坏漏洞。2020年3月微软发布补丁后数月,安全社区一直无法实现远程代码执行——只能做到拒绝服务和本地权限提升。
然后Chompie出现了。
Chompie开发的利用代码实现了漏洞利用的”黄金标准”:在无需任何认证的情况下,通过网络远程执行任意代码。这一成果震惊了安全社区,因为当时的Windows 10已经部署了近乎完美的地址随机化(ASLR)机制。
她的突破点在于利用了”内存描述符列表”(Memory Descriptor Lists)——一种内核驱动程序用于直接内存访问(DMA)的内存管理对象。这一技术细节表明,真正的顶级漏洞利用研究者不仅需要掌握传统的缓冲区溢出技术,还需要深入理解操作系统的底层内存管理机制。
三、「Zero to Kernel」路线图:六步走通漏洞利用
Chompie参与维护的系统编程路线图(GitHub: ujjwal-kr/system-programming-roadmap)提供了一条从零基础到内核级漏洞利用研究的完整学习路径。这条路线被安全社区称为”Zero to Kernel”。

第一步:前置知识——建立系统级思维
在正式进入漏洞利用领域之前,路线图要求学习者掌握以下核心技能:
系统编程语言:至少精通C语言,并熟悉Rust或C++中的一种。这些语言之所以重要,是因为它们直接映射到底层系统操作,理解指针、内存分配和寄存器操作是后续所有工作的基础。
计算机体系结构:学习ARM和RISC-V架构,理解CPU如何执行指令、如何管理内存、如何处理中断。推荐阅读《计算机体系结构:量化研究方法》和《处理器设计:超标量处理器基础》等经典著作。
汇编语言:这是漏洞利用的”母语”。需要掌握x86/x64汇编,理解寄存器、栈帧、条件跳转和调用约定。路线图推荐的学习资源包括Intel x64手册、Compiler Explorer(用于对比C代码和汇编输出的神器)以及OVP(模拟器)项目。
第二步:编译器原理——理解代码如何变成攻击面
这一阶段的核心任务是理解代码从源码到机器码的转换过程。路线图将这一阶段描述为”构建攻击者视角的关键环节”。
龙书(《编译原理》)是必读书目——尽管它厚得吓人,但Chompie认为,理解词法分析、语法分析和中间代码生成是识别编译器级别漏洞的基础。
实践项目:动手实现一个树遍历解释器(Tree-walk Interpreter),然后尝试构建一个字节码引擎。Chompie特别推荐实现Chip8或NES模拟器,因为模拟器开发涉及虚拟机内部结构、图形编程和硬件模拟——这些都是理解现代软件栈的宝贵经验。
进阶内容:学习LLVM工具链,尝试用Rust或C++实现一个简单的JIT编译器,理解热点检测和动态编译优化。

第三步:用户态漏洞利用——打破防御的艺术
路线图指出,用户态漏洞利用是进入内核世界的跳板。这一阶段涵盖以下核心知识:
基础漏洞类型:栈缓冲区溢出、堆缓冲区溢出、格式化字符串漏洞Use-after-Free等。路线图推荐pwn.college作为最佳学习资源——这个平台从汇编开始,一直延伸到内核利用,覆盖了漏洞利用的完整知识体系。
绕过缓解措施:
- Stack Canary(栈金丝雀):理解栈保护机制如何检测栈溢出,学习如何泄露金丝雀值或利用格式化字符串跳过检测
- ASLR(地址空间布局随机化):学习利用信息泄露、喷射喷射(JOP)和Ret2Libc等技术绕过地址随机化
- DEP/NX(数据执行保护):掌握ROP(返回导向编程)链的构建,绕过不可执行内存保护
CTF实战:完成基础学习后,在pwnable.kr、Exploit Education VMs和OverTheWire等平台进行实战练习。
第四步:内核漏洞利用——跨越Ring 0的边界
内核漏洞利用是整条路线的高潮。Chompie认为,内核利用的本质是”找到从用户态Ring 3到内核Ring 0的跳跃点”。
Linux内核利用基础:hardenedlinux/linux-exploit-development-tutorial提供了从栈/堆利用基础到绕过SMEP、SMAP等内核保护机制的完整教程。
关键保护机制绕过:
- SMEP(Supervisor Mode Execution Prevention):防止内核执行用户态代码。绕过方法包括利用内核ROP或修改CR4寄存器
- SMAP(Supervisor Mode Access Prevention):防止内核访问用户态内存。绕过方法包括利用smap_evasion或内核数据泄露
内核后渗透:获得内核权限后,学习如何实现持久化、隐藏进程和提取凭据。Chompie在Pwn2Own上展示的正是这一阶段的技术——从内核漏洞到完整系统控制。
第五步:恶意软件分析——理解攻击者的武器库
恶意软件分析是漏洞利用研究的延伸。路线图推荐以下学习路径:
基础工具:Ghidra、IDA Pro、x64dbg、Cutter 恶意软件类型:专注学习ransomware、rootkit和bootkit的结构和行为 沙箱分析:学习 Hybrid Analysis、VirusTotal 和 Malware Bazaar 的使用 实战样本:从VX Underground获取真实恶意软件样本进行逆向分析
第六步:浏览器漏洞利用——攻防最前线
浏览器是漏洞利用研究的最大战场。Chompie认为,浏览器漏洞利用需要最全面的知识体系:
浏览器架构:理解V8、JavaScriptCore或SpiderMonkey的内部机制,包括解析、AST、JIT编译和垃圾回收 浏览器漏洞类型:类型混淆、UAF、缓冲区溢出 沙箱逃逸:理解浏览器沙箱的工作原理,学习从渲染进程到系统层的横向移动
四、行业启示:漏洞利用研究的门槛在消失吗?
Chompie的路线图在安全社区引发了一个重要讨论:漏洞利用开发的入门门槛是否正在降低?
从积极的角度看,pwn.college等平台提供了免费的实战环境,GitHub上大量的开源工具和教程降低了学习曲线。Chompie本人在IBM专访中也提到,她希望做更多 mentorship工作,因为”很多人对进入进攻性安全领域感兴趣,但他们不知道从哪里开始。”
但另一方面,漏洞利用的实战难度正在上升。现代操作系统部署的多层安全机制——ASLR、Stack Canary、SMEP、SMAP、CET、Control Flow Integrity——每一个都是一座需要跨越的高山。
“作为从事进攻性安全的人,我最担心的是这场猫鼠游戏,”Chompie在Wiz播客中坦言,”不仅要找到零日漏洞,还要构建绕过各种安全缓解措施的利用代码。这份工作在你找到一个漏洞时才真正开始。”
五、学习建议:如何走通这条路线?
基于Chompie的路线图和她的职业经历,我们总结出以下学习建议:
1. 建立扎实的基础 不要急于求成。编译器原理、汇编语言和计算机体系结构是三块基石,缺少任何一块都会在后续学习中遇到瓶颈。
2. 大量实战练习 CTF平台提供了安全的练习环境。从pwnable.kr的基础题目开始,逐步挑战OverTheWire的advanced题目,最终在HackTheBox上尝试真实环境。
3. 关注最新缓解机制 安全研究是一个动态领域。2024年的漏洞利用可能需要绕过2023年才部署的新机制。关注MITRE ATT&CK、0-day Initiative和各大厂商的安全公告。
4. 加入社区 Chompie在Discord上维护了一个Lang-dev社区。加入类似的安全社区,获取反馈、分享成果、跟踪最新研究动态。
5. 理解防御才能更好地进攻 Chompie在一次访谈中提到,从攻击者的角度深入理解漏洞利用,会对防御侧的检测技术有更清晰的认识。这条路线图的最终目的不是制造攻击,而是培养能够发现和修复漏洞的安全研究者。
六、总结
Chompie的「Zero to Kernel」路线图,为所有希望进入漏洞利用研究领域的人提供了一张清晰的地图。从编译器开发到恶意软件逆向,从用户态漏洞到内核级漏洞利用,这条路线的每一步都建立在前一步的基础之上。
正如Chompie在Pwn2Own上展示的那样,真正的漏洞利用研究需要的不仅是技术深度,还有耐心和创新。而这一切,都从”愿意花时间理解系统如何真正工作”开始。
版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。














暂无评论内容