融合依赖推断与权重优化的Linux内核模糊测试OA
在面向人机物融合场景的泛在操作系统中,内核的稳定性与安全性是支撑多元化应用和异构资源融合的基础。Linux内核作为当前具有代表性的操作系统内核之一,因规模庞大、逻辑复杂而容易产生缺陷,且运行在最高特权级,漏洞一旦被利用,将对泛在计算环境中的系统安全和应用可靠性造成严重威胁。模糊测试作为当前主流的内核漏洞挖掘方法,通常将系统调用序列作为测试用例输入,这些用例可以通过随机生成或在现有序列基础上变异得到。然而,随机组合不仅容易引发状态空间爆炸,还可能导致测试效率和漏洞发现能力难以保障。尽管已有研究尝试提升测试用例的有效性,但在系统调用依赖分析方面仍存在信息不完整、粒度不精细、利用率偏低、开销过高等问题,从而限制了模糊测试的有效性。对此,本文设计了一种融合依赖推断与权重优化的内核模糊测试机制。该方法首先通过静态分析Linux内核的源码,从中识别每个系统调用所涉及的资源和它们的访问特征;随后依据这些信息推导不同系统调用之间可能存在的依赖联系,并以此构造系统调用依赖图。模糊测试过程在该依赖图的指导下进行,以生成更具价值的测试用例。另外,通过收集运行阶段的反馈数据,对依赖图中边的权重不断进行调整,使其逐步反映更精确的调用关系,从而持续推动模糊测试效果的提升。本文基于该方法实现了原型工具SDKernelFuzzing,在4个不同版本的Linux内核上进行实验。与Moonshine相比,本文所提的方法在保持较低额外开销的前提下,能够更加高效地生成数量更丰富、内容更完整的系统调用依赖信息,从而构建出更加全面的依赖图。此外,相较于Syzkaller以及目前的最新相关研究,本文提出的方法在代码覆盖率和漏洞挖掘能力上均展现出明显优势。在相同实验环境下,该方法的平均代码覆盖率比最佳基线方案提升了7.69%,而发现的平均缺陷数量则提升了15.77%。消融实验结果表明,系统调用依赖图中不同的构建策略对模糊测试性能均产生了显著的影响。
张弋;王豫;王林章
计算机软件新技术全国重点实验室,江苏南京210023 南京大学计算机学院,江苏南京210023 软件新技术与产业化协同创新中心,江苏南京210023计算机软件新技术全国重点实验室,江苏南京210023 南京大学计算机学院,江苏南京210023 软件新技术与产业化协同创新中心,江苏南京210023计算机软件新技术全国重点实验室,江苏南京210023 南京大学计算机学院,江苏南京210023 软件新技术与产业化协同创新中心,江苏南京210023
信息技术与安全科学
模糊测试内核Linux依赖关系测试漏洞
《电子学报》 2026 (4)
P.1592-1613,22
教育部基础学科和交叉学科突破计划(No.JYB2025XDXM118)国家重点研发计划(No.2024YFB2505604)国家自然科学基金(No.62232001,No.62172200)。
评论