Agentic Vulnerability Reasoning on Windows COM Binaries
本文介绍了 SLYP,这是一个端到端的智能体流水线,能够自主发现 Windows COM 二进制文件中的竞态条件漏洞并生成经验证的概念验证代码,成功在生产服务中识别出 28 个此前未知的漏洞,获得 14 万美元的奖金,同时显著优于现有的静态分析器和编码智能体。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一个巨大的高安全银行金库(即Windows 操作系统),其中最敏感的操作由一支精英、超能力的警卫团队(即COM 服务)处理。这些警卫拥有整座建筑的总钥匙。然而,有一个陷阱:数百名普通员工(已认证用户)被允许走到警卫桌前,要求他们执行任务。
问题在于,当两名员工试图在同一时刻与警卫交谈时,这些警卫有时会感到困惑。如果警卫没有严格的“一次一人”规则,他们可能会掉落钥匙、删除手中持有的文件,或者不小心将总钥匙交给错误的人。在计算机术语中,这被称为竞态条件,它允许普通用户窃取“超级警卫”的权限,这一过程被称为权限提升。
问题:寻找漏洞
多年来,安全专家尝试使用两种主要方法来发现这些漏洞:
- 模糊测试器(The Hammer,锤子):这就像向金库大门投掷成千上万个随机球,看看是否有一个能将其击破。它擅长发现大漏洞,但极不擅长发现那些微小的、特定的时序漏洞,即两人在完全相同的毫秒内交谈的情况。
- 静态分析器(The Map Reader,地图阅读者):该工具通过阅读金库的蓝图来查找潜在问题。但由于这些 Windows 服务的蓝图往往潦草地写在餐巾纸上(即没有清晰标签的编译代码),地图阅读者会感到困惑,遗漏真实危险,并在没有危险时大喊“危险!”(误报)。
解决方案:Slyp(侦探特工)
本文作者构建了一个名为Slyp的新系统。将 Slyp 想象成既不是锤子也不是地图阅读者,而是一名配备特殊工具包的超级智能侦探特工。
Slyp 使用一个“大脑”(大型语言模型),它非常擅长阅读混乱的代码并理解其含义,即使标签缺失。但仅有一个大脑是不够的;它还需要双手来接触证据。
Slyp 的三种特殊工具:
- 二进制探索器(The Flashlight,手电筒):该工具将光线照进黑暗、混乱的代码中,将乱码翻译成可读的句子,并确定警卫用于进入房间的哪些“虚拟”门。
- COM 检查器(The ID Badge Scanner,ID 徽章扫描仪):该工具检查官方注册表,以确切了解如何呼叫警卫、他们的名称是什么以及他们拥有哪些权限。这就像拥有每个警卫的确切电话号码和秘密握手代码。
- 动态调试器(The Crash Test Dummy,碰撞测试假人):这是最重要的工具。Slyp 不只是猜测,而是编写一个小型测试程序,在真实警卫身上运行它,并观察发生的情况。如果警卫绊倒并摔倒(崩溃),Slyp 会接住坠落,记录确切的发生方式,并撰写报告。
工作原理:侦探的循环
Slyp 并非只猜测一次。它在一个循环中工作:
- 思考:侦探大脑查看代码并说:“我认为如果两个人同时请求一个文件,警卫可能会掉落它。”
- 行动:它使用工具检查代码,找到确切的“掉落”点,并编写一个测试脚本来尝试使其发生。
- 观察:它运行测试。警卫崩溃了吗?
- 没有? 侦探说:“好吧,我的时机不对。让我用略有不同的脚本再试一次。”
- 是的? 侦探说:“抓到了!”并撰写一份带有证据的正式报告。
结果:破纪录的搜寻
本文在最佳现有工具和人类专家面前测试了 Slyp:
- 基准测试:在 20 个已知问题点的测试集中,Slyp 以97.3% 的准确率发现了问题。最好的“地图阅读者”(静态分析器)仅获得约30%。最好的“锤子”(模糊测试器)和标准编码机器人则卡住或错过了大部分问题。
- 现实世界搜寻:作者在真实、活跃的 Windows 服务上部署了 Slyp。它发现了28 个全新的、前所未见的漏洞(零日漏洞)。
- 微软安全团队确认了全部 28 个漏洞。
- 他们分配了16 个官方 CVE(安全警报编号)。
- 作者因发现这些漏洞获得了140,000 美元的奖金。
为什么这很重要
本文声称,Slyp 是第一个能够仅凭自身从“查看混乱代码”到“通过实际崩溃证明漏洞存在”的系统,无需人工帮助编写测试代码。
这就像拥有一名侦探,他不仅能在一间黑暗的房间里发现一块松动的地板,还能跳上去证明它会断裂,并将断裂的碎片作为证据交给你。这使得发现这些棘手、基于时序的安全漏洞比以往任何时候都更快、更可靠。
简而言之:Slyp 是一个拥有特殊工具包的人工智能侦探,能够发现 Windows 软件中隐藏的时序陷阱,通过破坏它们来证明其危险性,并向当局报告,而无需原始源代码。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。