- 简介操作系统内核中的漏洞可能会影响全球数十亿设备和用户。因此,大量的研究已经专注于内核模糊测试,即自动生成系统调用序列以检测潜在的内核漏洞或漏洞。其中,Syzkaller是最广泛研究的内核模糊测试工具之一,旨在基于预定义的syzlang规范生成有效的系统调用序列,用于定义系统调用、它们的参数以及它们之间的关系。虽然已经有现有的工作试图自动化Syzkaller规范的生成,但这仍然是一项主要手动工作,并且许多重要的系统调用仍然未被发现。本文提出了KernelGPT,这是第一种利用大型语言模型(LLMs)自动推断Syzkaller规范以增强内核模糊测试的方法。我们的基本见解是,LLMs在预训练期间已经看到了大量的内核代码、文档和用例,因此可以自动提取进行有效系统调用所需的必要信息。更具体地说,KernelGPT利用迭代方法自动推断所有必要的规范组件,并进一步利用验证反馈修复/完善初始规范。我们的初步结果表明,KernelGPT可以帮助Syzkaller实现更高的覆盖率,并发现多个以前未知的漏洞。此外,我们还收到了Syzkaller团队的请求,要上游由KernelGPT推断的规范。
- 图表
- 解决问题本论文旨在通过大型语言模型(LLMs)自动推断Syzkaller规范以增强内核模糊测试,解决手动编写规范的问题,并发现潜在的内核漏洞。这是否是一个新问题?
- 关键思路KernelGPT是一种基于迭代方法的自动推断Syzkaller规范的方法,利用预训练的LLMs自动提取必要的信息以生成有效的系统调用序列。KernelGPT还利用验证反馈来修复/优化初始规范。相比于当前领域的研究,该论文的思路有什么新意?
- 其它亮点论文的实验结果表明,KernelGPT可以帮助Syzkaller实现更高的覆盖率,并发现多个以前未知的漏洞。Syzkaller团队还要求将KernelGPT推断的规范上游。值得关注的是,KernelGPT是第一个通过LLMs自动推断Syzkaller规范的方法。
- 相关研究包括手动编写Syzkaller规范的方法以及尝试自动化规范生成的工作,但仍然存在许多重要的系统调用未被发现。
沙发等你来抢
去评论
评论
沙发等你来抢