← 最新论文
💻 computer science

Inferring 1-Minimal Trigger Configurations for Assessing Linux Kernel CVE Triggerability

本文提出了 FCC,一个能够推导出 1-最小且符合构建系统规范的内核配置的框架,用于准确评估生产定制化环境下 Linux 内核 CVE 的可触发性,与现有基准相比,该框架显著提高了配置成功率并减少了候选选项集。

原作者: Tongjie Wei, Peng Zhang, Zhiwen Hu, Xupu Hu, Chen Lyu, Gangyan Zeng

发布于 2026-08-18
📖 1 分钟阅读☕ 轻松阅读

原作者: Tongjie Wei, Peng Zhang, Zhiwen Hu, Xupu Hu, Chen Lyu, Gangyan Zeng

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

在数字世界那庞大且无形的架构中,Linux 内核充当着从超级计算机到我们口袋里的智能手机等各种设备的底层操作系统。它是一个庞大而复杂的软件,负责管理硬件与软件如何进行通信。由于其至关重要,安全研究人员不断寻找被称为“漏洞”的缺陷,这些缺陷可能允许攻击者入侵。当发现一个缺陷时,它会被赋予一个唯一的识别编号,就像产品的序列号一样,并被添加到公共数据库中。然而,仅仅知道特定版本的软件存在缺陷只是成功了一半。对于运行互联网的公司来说,真正的问题在于该缺陷是否能在其特定的机器上被触发。仅仅因为代码中存在缺陷并不意味着它是活跃的;它通常需要开启一组非常特定的、隐藏的设置,才能让该缺陷“苏醒”并造成破坏。

多年来,安全团队一直面临着一个令人沮粉的差距。发现这些缺陷的人通常在一种通用的、全能的环境中进行测试,旨在捕捉尽可能多的错误。但实际使用这些软件的公司运行的是高度定制化的版本,这些版本经过精简和调优,以执行特定的任务,如运行云服务器或管理网络流量。一个在通用测试中容易触发的缺陷,在定制化系统中可能完全是无害的,因为必要的设置从未被开启。相反,一个在通用测试中处于休眠状态的缺陷,可能会在特定的定制设置中变得危险。挑战在于,如何在不通过手动猜测数千种可能选项的情况下,准确找出哪些设置需要处于开启状态才能使特定的缺陷生效。

来自南京理工大学和山东师范大学的研究小组开发了一种新方法来弥补这一差距。他们创建了一个自动系统,充当精准的“翻译官”,能够根据已知的安全缺陷,推导出在特定版本的 Linux 内核上使该缺陷活跃所需的精确且最小的设置集。他们的目标不仅是找到一份设置清单,而是找到依然有效的最小设置列表。他们称之为“最小触发配置”。研究人员希望确保,如果一家公司拥有一套特定的设置,他们可以确定地知道特定的漏洞是否会在其系统上被触发,或者他们当前的配置是否自然地保护了他们。

研究人员构建了一个名为 FCC 的框架来解决这个问题。该过程首先向系统输入有关特定安全缺陷的信息,包括其描述以及任何可以演示如何触发该缺陷的代码。随后,系统会扫描庞大的 Linux 内核文档,以识别哪些设置可能与该缺陷相关。过去,研究人员依赖于设置之间相互依赖关系的静态映射,但这往往会导致生成的列表过长,并包含许多不必要的选项。这个新系统使用了一种更先进的方法,通过阅读漏洞详情,将其直接映射到相关的特定代码和设置上。

该过程的一个关键环节涉及一个经常导致以往尝试失败的步骤。当将一组设置应用于内核时,系统会自动调整它们以确保其有效性。这个被称为“制作旧配置”(making old configuration)的调整过程,可能会在无形中关闭那些依赖于未开启设置的选项。研究人员的系统预见到了这一点。它不仅仅是列出设置,还会主动检查这些设置是否能在自动调整过程中存活下来。如果某个设置被系统关闭了,框架会计算出必须开启哪些其他设置才能使其保持活跃,从而有效地修复列表,直到其稳定并准备好进行构建。

一旦系统拥有了可以构建的稳定设置列表,它就会进入最后也是最严格的阶段:测试。系统利用这些设置构建一个内核版本,在安全、隔离的虚拟环境中启动它,并运行旨在触发该缺陷的代码。如果缺陷被触发,系统便知道设置是正确的。如果没有触发,系统则开始排除法过程。它每次移除一个设置并再次尝试。如果即使没有该设置缺陷仍然触发,则说明该设置是不必要的,并将其丢弃。这个过程持续进行,直到系统得到能够导致缺陷出现的最小设置组。这组最终的设置就是研究人员所说的“一阶极小”(one-minimal)边界,代表了漏洞存在的绝对核心要求。

团队在不同版本的 Linux 内核上,针对 88 个不同的历史安全缺陷测试了他们的方法。他们将结果与现有方法进行了对比,发现有了显著提升。使用旧技术时,能够成功生成能通过自动调整过程的配置的成功率仅约为 62%。而使用他们的新方法,成功率跃升至近 97%。此外,他们生成的设置列表也短得多。平均而言,新方法将所需的设置数量从接近 70 个减少到了仅 15 个,而在最后的测试阶段之后,往往能将其缩减到每个缺陷少于两个设置。这意味着,安全团队不再需要检查数十个潜在开关,只需查看一份非常简短、清晰的列表,即可判断其系统是否面临风险。

研究人员还分析了该过程所需的计算时间和处理能力。他们发现,读取漏洞描述并猜测设置的初始步骤耗时最长,但他们展示了通过在计算机开始工作前过滤掉无关信息,可以显著降低这一成本。最后一步构建和测试内核是最消耗资源的,因为它需要实际运行软件,但这是证明缺陷真实存在的必要步骤。研究表明,尽管过程复杂,但它是可靠的,并且产生的结果既有效又可审计。

这项工作为组织提供了一条明确的路径,使他们无需成为 Linux 内核深层内部机制的专家,也能评估自身风险。通过将关于漏洞的模糊问题转化为具体的、可测试的配置,研究人员为安全团队提供了一个做出更好决策的工具。他们现在可以精确界定系统的哪些部分暴露在特定威胁之下,以及哪些部分由于当前的设置而得到了自然保护。研究结论指出,虽然该方法在拥有特定测试代码时效果最佳,但它提供了一种理解现实世界中漏洞可触发性的稳健方式,超越了简单的版本号,深入到了运行我们数字基础设施的机器的实际配置层面。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →