[论文解读] Survey of Automated Vulnerability Detection and Exploit Generation Techniques in Cyber Reasoning Systems
本文综述了网络推理系统中自动化漏洞检测与利用生成技术,聚焦于在DARPA网络大挑战(CGC)中获胜的系统Mayhem与Mechanical Phish。本文提出未来研究方向包括:通过二进制预处理减少搜索空间;基于CVE的基于知识的利用生成;以及使用深度强化学习进行二进制代码中的漏洞发现。
Software is everywhere, from mission critical systems such as industrial power stations, pacemakers and even household appliances. This growing dependence on technology and the increasing complexity software has serious security implications as it means we are potentially surrounded by software that contain exploitable vulnerabilities. These challenges have made binary analysis an important area of research in computer science and has emphasized the need for building automated analysis systems that can operate at scale, speed and efficacy; all while performing with the skill of a human expert. Though great progress has been made in this area of research, there remains limitations and open challenges to be addressed. Recognizing this need, DARPA sponsored the Cyber Grand Challenge (CGC), a competition to showcase the current state of the art in systems that perform; automated vulnerability detection, exploit generation and software patching. This paper is a survey of the vulnerability detection and exploit generation techniques, underlying technologies and related works of two of the winning systems Mayhem and Mechanical Phish.
研究动机与目标
- 分析并总结DARPA网络大挑战中表现优异的网络推理系统的进攻能力及其底层技术。
- 识别当前自动化二进制分析系统在可扩展性及大型应用程序中搜索空间复杂性方面的局限性。
- 提出改进自动化漏洞检测与利用生成在二进制软件中无须人工干预的新研究方向。
- 通过利用CGC的统一平台与数据集(DECREE OS,挑战二进制文件),解决二进制分析中缺乏标准化基准的问题。
- 探索基于知识的方法与强化学习,从CVE报告中生成利用代码,并从最先进分析工具中学习。
提出的方法
- 分析两个CGC获胜系统——Mayhem与Mechanical Phish,重点研究其在漏洞检测中使用动态符号执行、模糊测试与约束求解的技术。
- 提出一种二进制预处理技术,用于识别软件中漏洞可能存在的‘热点区域’,从而减少分析的搜索空间。
- 引入一种基于知识的系统,从CVE报告中学习利用模式,并在无需访问源代码或二进制代码的情况下生成通用测试用例(即利用代码)。
- 探索将深度强化学习与传统二进制分析相结合,训练AI智能体通过与二进制代码交互来学习发现漏洞。
- 使用路径约束与预约束追踪,引导符号执行聚焦于相关代码路径,提升效率与代码覆盖度。
- 利用CGC的标准化环境(DECREE OS,挑战二进制文件,POV测试)作为评估新分析技术的基准。
实验结果
研究问题
- RQ1自动化网络推理系统如何在无需人工干预的情况下,有效检测并利用二进制软件中的漏洞?
- RQ2Mayhem与Mechanical Phish等高性能系统中,实现高效漏洞检测与利用生成的关键技术组件与架构模式是什么?
- RQ3二进制预处理技术如何减少在大型复杂应用程序中漏洞检测的搜索空间?
- RQ4仅基于CVE报告,基于知识的系统能否生成有效的利用代码,而无需访问源代码或二进制代码?
- RQ5深度强化学习在多大程度上可用于训练AI智能体,自主发现二进制代码中的漏洞?
主要发现
- CGC竞赛建立了一个标准化的基准平台(DECREE OS与挑战二进制文件),实现了对网络推理系统公平且平台无关的评估。
- Mayhem与Mechanical Phish通过使用动态符号执行与先进的模糊测试技术,在自动化漏洞检测与利用生成方面表现出色。
- 评分体系强调二进制补丁与功能正确性,而非单纯的漏洞数量,从而激励实现稳健且安全的补丁,而非仅检测漏洞。
- 当前系统在分析大型复杂的真实世界二进制文件时面临可扩展性限制,主要由于庞大的搜索空间与高昂的计算成本。
- 通过预处理识别二进制文件中的‘热点区域’,可引导分析工具聚焦于高风险区域,缩小分析范围,提升效率。
- 未来系统可利用CVE报告与机器学习技术生成通用利用代码,降低对逆向工程与源代码的依赖。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。