本次分享论文为:Large Language Model guided Protocol Fuzzing
基本信息
原文作者:Ruijie Meng, Martin Mirchev, Marcel Böhme, Abhik Roychoudhury
作者单位:新加坡国立大学,MPI-SP,莫纳什大学
关键词:大语言模型,协议模糊测试,网络安全
开源代码:
https://github.com/ChatAFLndss/ChatAFL
论文要点
1.开发了一种新的协议模糊测试方法,通过整合大语言模型,利用这些模型对协议深入的理解来生成测试用例;
2.创建并演示了一个原型工具ChatAFL,该工具证明了本方法在具体网络协议测试中的有效性;
3.与其他技术(例如AFLNET和NSFUZZ)相比,该方法在提高状态和代码覆盖率方面取得显著进步,并且能够发现更多之前未知的漏洞。
引言
本文探讨了开发自动化漏洞识别工具对于网络协议实现的必要性及其重要性。研究者认为,虽然协议实现在软件系统中极易遭受攻击,但由于缺少机器可解析的规范,自动化产生有效测试用例面临挑战。该研究通过应用预训练的大语言模型(例如ChatGPT)来抽取协议的机器可解析信息,从而指导模糊测试流程,以提升测试效率和成效。
背景知识
本节讨论了协议模糊测试的基本原理、面临的挑战及大语言模型(LLM)应对这些挑战的潜力。通过与LLM系统互动,借助其理解和生成自然语言的能力,可以提升模糊测试的覆盖范围和漏洞发现效率。
论文方法
理论基础:深入探讨了大语言模型的功能,尤其是它们在解析复杂协议规范和产生遵循协议要求的消息方面的能力。
实现方法:
1.语法引导变异:与LLM互动以提取协议消息的机器可解析语法,并以此来引导测试消息的变异;
2.丰富测试种子:利用LLM扩展测试种子消息序列的多样性与有效性;
3.突破测试覆盖率瓶颈:当传统方法无法进一步提升覆盖率时,利用LLM产生能够触发新状态转移的消息。
实验
a.实验设计:
在若干真实世界协议(如RTSP和FTP)上设置实验环境,并将ChatAFL与现有技术进行比较。
b.实验结果:
比较显示,ChatAFL在状态和代码覆盖率上显著优于现有技术(如AFLNET和NSFUZZ),且成功识别了多项先前未知的漏洞。
论文结论
本研究证实,融合大语言模型的协议模糊测试方法显著提升了网络协议安全测试的效率和成效。借助LLM的高级功能,可以更深入地理解和测试协议实现,识别潜在安全漏洞。此外,本方法的成功应用为未来利用AI技术提升软件测试效果提供了宝贵的借鉴。
原文始发于微信公众号(安全极客):【论文速读】| 大语言模型引导的协议模糊测试