为提高Linux内核的内存安全性而提出的“沙盒模式”

2024年 2月 14日 64.4k 0


虽然已经有关于允许Linux内核中的Rust编程语言在一定程度上利用其内存安全潜力的工作正在进行中,但今天上午发出了一项建议,为Linux内核提供一个新的“沙盒模式”,以也增加内核中C代码的内存安全性。

华为的Petr Tesarik发布了关于新沙盒模式的“征求意见”补丁系列。Petr将沙箱模式描述为:

沙盒模式的最终目标是在只允许对预定义地址进行内存访问的环境中执行本机内核代码,因此无法利用潜在漏洞,或者不会对内核的其余部分产生影响。

本补丁系列将沙盒模式的API和独立于Arch的基础设施添加到内核中。它在所有输入和输出数据的vMalloc()副本上运行目标函数。这本身就阻止了一些越界访问,这要归功于保护页。

沙盒模式文档进一步增加了:

“沙盒模式(SBM)的主要目标是通过分解内核来减少内核代码中潜在的内存安全错误的影响。SBM API允许在隔离的执行环境中运行每个组件。尤其是,用作输入和/或输出的内存区与内核的其余部分隔离,并由保护页包围。没有拱形挂钩,这个公共基础提供*弱隔离*。

在实现必要的ARCH挂钩的体系结构上,沙盒模式利用硬件分页功能和CPU特权级别强制仅使用这些预定义的内存区。有了拱形支撑,SBM还可以从保护违规中恢复过来。这意味着SBM会强制终止沙盒,并向调用方返回错误码(如``-EFAULT``),以便继续执行。这样的实现提供了*强大的隔离*。“

看看上游内核开发人员如何接受这个沙盒模式提议将是一件很有趣的事情。有兴趣的人可以看到RFC补丁系列 for more information on this just-proposed addition to the Linux kernel.

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论