该论文提出了一种名为FUZZNG的新型内核模糊测试方法,旨在解决现有操作系统模糊测试工具(如Syzkaller)依赖手动编写的系统调用接口描述(语法规则)的扩展性问题。Syzkaller需要为每个内核接口提供精确且详细的语法描述,这限制了其可扩展性,并且手动创建这些描述非常耗时。FUZZNG利用内核设计的基本特性(例如系统调用编号和文件描述符)来重塑和简化模糊器的输入空间,从而无需复杂的系统调用接口描述即可工作。具体来说,FUZZNG只需要一个小的配置文件,包含要探索的文件列表和系统调用编号,即可开始测试。作者在Linux内核上实现了FUZZNG,并在10个已有Syzkaller详细描述的Linux组件上进行了测试。实验结果表明,FUZZNG平均达到了Syzkaller覆盖率的102.5%,并且发现了9个新漏洞,其中5个位于Syzkaller已经模糊测试多年的组件中。此外,FUZZNG的配置文件大小仅为Syzkaller手动编写语法的1.7%以下,且不需要初始种子输入或专家指导。该工作为内核模糊测试提供了一种更轻量级、更易扩展的方法,尤其适用于快速评估新内核组件或接口的安全性。
💡 推荐理由: 传统内核模糊测试依赖大量手动工作,FUZZNG通过消除对系统调用描述的需求,大幅降低了测试门槛,提高了可扩展性。对于安全团队,这意味着可以更快速地覆盖内核新接口,发现潜在漏洞。
🎯 建议动作: 研究跟进