GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找到关于GPT/AIGC/LLM最新的研究论文、博客文章、实用的工具和预设指令(Prompts)。现为了更好地知悉近一周的贡献内容,现总结如下。
Security Papers
1.使用BusyBox进行模糊测试:利用LLM和崩溃重用来挖掘嵌入式错误
简介:本研究针对广泛使用的开源软件BusyBox进行了安全性分析,并发现许多嵌入式产品使用了较旧版本的BusyBox。为此,研究者采用了模糊测试来探测潜在漏洞。研究中提出了两种新技术:一是使用大语言模型(LLM)生成针对性的初始种子,以提高模糊测试的效率;二是在新目标上进行模糊测试前,重用其他相似目标的崩溃数据,以加快测试过程。这些方法有效提高了嵌入式系统中漏洞检测的能力,并有助于改进软件测试的质量。
链接:
https://arxiv.org/abs/2403.03897
2.大语言模型是边缘情况模糊测试器:通过FuzzGPT测试深度学习库
简介:本文介绍了FuzzGPT,这是一种新技术,旨在利用大语言模型(LLMs)生成不寻常的程序以进行模糊测试。与常规LLMs生成的程序不同,FuzzGPT专注于创造能够触发深层漏洞的非常规输入。该技术基于历史错误触发程序中包含宝贵代码片段的假设,通过LLMs的微调和上下文学习能力实现自动化。FuzzGPT特别适用于GPT风格的模型,如Codex和CodeGen,并展示了利用ChatGPT进行有效模糊测试的潜力。在PyTorch和TensorFlow两个深度学习库上的测试结果显示,FuzzGPT在发现未知错误方面显著优于TitanFuzz,共检测出76个错误,其中49个为新发现,包括11个高优先级的错误或安全隐患。
链接:
https://arxiv.org/abs/2304.02014
3.使用生成AI增强灰盒模糊测试
简介:本文介绍了ChatFuzz,一种结合了生成型AI技术的灰盒模糊测试工具。它通过使用ChatGPT生成模型来变异种子输入,有效提高了输入的格式合规性和质量。实验表明,ChatFuzz在12个目标程序上比AFL++提高了12.77%的边缘覆盖率,并且在检测具有明确语法规则的程序中的漏洞方面表现良好,但对于语法复杂的程序效果有限。
链接:
https://arxiv.org/abs/2306.06782
4.使用大语言模型提高编译器转换的翻译验证
简介:本文提出了一个新框架,将大语言模型(LLMs)应用于LLVM编译器转换的验证过程中,弥补了传统形式验证工具的不足。框架首先尝试使用Alive2等正式验证工具进行验证,当遇到无法确认转换合理性的情况时,利用微调后的LLMs进行预测。对于LLMs预测可能存在问题的转换,框架通过模糊测试寻找反例。如果转换被证明是合理或不合理,或者没有找到反例,框架将直接报告结果,避免不必要的额外测试。这一方法在深度学习加速器设计等复杂应用场景中表现出了良好的效果,解决了传统工具难以处理的问题。
链接:
https://arxiv.org/abs/2401.16797
5.LLM4Fuzz:使用大语言模型进行智能合约的引导模糊测试
简介:LLM4Fuzz是一种新型智能合约安全分析工具,它通过大语言模型(LLMs)来增强模糊测试的效率和准确性。该工具能够识别并聚焦于智能合约中更可能存在漏洞的代码区域,以及生成更有可能触发这些漏洞的输入序列。LLM4Fuzz还允许根据用户设定的规则来指导测试,减少无效的探索工作。在对DeFi项目的评估中,LLM4Fuzz在发现效率、代码覆盖率和漏洞检测方面均超越了传统模糊测试方法,并成功识别出可能导致重大资金损失的关键漏洞。
链接:
https://arxiv.org/abs/2401.11108
6.KernelGPT:通过大语言模型增强的内核模糊测试
简介:内核中的漏洞可能对全球设备和用户造成广泛影响,因此内核模糊测试成为了重要的研究领域。Syzkaller 是一种知名的内核模糊测试工具,它通过特定的领域语言 syzlang 来生成系统调用序列。然而,自动化生成这些规范的工作量巨大,许多关键调用仍未被发现。为此,研究者提出了 KernelGPT,这是一种新方法,它利用大语言模型(LLMs)来自动推断 Syzkaller 的规范,从而提高模糊测试的效果。KernelGPT 通过迭代学习和验证反馈来完善规范,初步结果显示它能有效提升覆盖率并发现未知错误。Syzkaller 团队也对 KernelGPT 推断的规范表示了兴趣,并考虑将其纳入官方规范中。
链接:
https://arxiv.org/abs/2401.00563
编辑:Fancy