需要结构化输入的现实世界程序通常有一个格式解析阶段来控制更深的程序空间。基于突变的方法和生成方法都无法提供有效且可扩展的解决方案。事实证明,用大量自然语言语料库预先训练的大型语言模型(LLM)对于理解隐式格式语法和生成格式一致的输入是有效的。在本文中,提出了 ChatFuzz,一种由生成式 AI 增强的灰盒模糊器。更具体地说,我们在模糊器的种子池中选择一个种子,并提示 ChatGPT 生成模型进行变化,这些变化更有可能符合格式,因此具有高质量。我们进行了大量的实验来探索发挥生成 LLM 模型力量的最佳实践。实验结果表明,在三个经过充分测试的基准测试中,我们的方法在 12 个目标程序上比 SOTA 灰盒模糊器 (AFL++) 提高了 12.77% 的边缘覆盖率。对于漏洞检测,对于具有显式语法规则的程序,\sys 能够执行类似于或优于 AFL++ 的操作,但对于具有非平凡语法的程序则不然 ...
随着区块链平台呈指数级增长,正在部署数百万行智能合约代码来管理广泛的数字资产。然而,该关键任务代码中的漏洞已导致严重的利用和资产损失。因此,对智能合约进行彻底的自动化安全分析势在必行。本文介绍了 LLM4Fuzz,通过利用大型语言模型 (LLM) 智能地指导模糊测试活动并确定其优先级,从而优化自动化智能合约安全分析。虽然传统的模糊测试在探索广阔的状态空间时效率低下,但 LLM4Fuzz 使用 LLM 将模糊测试器引导至更容易触发漏洞的高价值代码区域和输入序列。此外,LLM4Fuzz 可以利用 LLM 根据用户定义的不变量来指导模糊器,从而减少盲目探索开销。对现实世界 DeFi 项目的 LLM4Fuzz 评估显示,与基线模糊测试相比,在效率、覆盖范围和漏洞检测方面取得了显着的进步。 LLM4Fuzz 还发现了五个严重漏洞,可能导致超过 24.7 万美元的损失 ...
状态机对于增强协议分析以识别漏洞至关重要。然而,由于复杂的代码语法和语义,从网络协议实现推断状态机具有挑战性。传统的动态分析方法往往因覆盖范围有限而错过关键状态转换,而静态分析则面临路径爆炸问题。为了克服这些挑战,我们引入了一种利用大型语言模型 (LLM) 的新型状态机推理方法,称为 ProtocolGPT。该方法采用检索增强生成技术,利用协议实现中的特定知识来增强预训练模型。通过有效的提示工程,我们准确地识别和推断状态机。据我们所知,我们的方法代表了第一个利用协议实现源代码的状态机推理。我们对六种协议实现的评估表明,我们的方法达到了 90% 以上的精度,比基线高出 30% 以上。此外,与基线方法相比,将我们的方法与协议模糊测试相集成,覆盖率提高了 20% 以上,并发现了两个 0day 漏洞 ...