华为开发者提出为提高内存安全性而设计的Linux内核"沙盒模式"

华为开发者提出为提高内存安全性而设计的Linux内核"沙盒模式" 华为公司的 Petr Tesarik 发出了关于新 SandBox 模式的"征求意见"补丁系列。Petr 将 SandBox 模式描述为:"SandBox 模式的最终目标是在仅允许访问预定义地址的内存的环境中执行本地内核代码,因此潜在漏洞无法被利用或不会对内核的其他部分产生影响。该补丁系列将 SandBox 模式的 API 和架构独立的基础架构添加到内核中。它在所有输入和输出数据的 vmalloc() 编辑副本上运行目标函数。由于有了保护页,仅此一项就能防止一些越界访问"。SandBox 模式文档进一步补充道:"沙盒模式(SBM)的主要目标是通过分解内核来减少内核代码中潜在内存安全漏洞的影响。SBM API 允许在隔离的执行环境中运行每个组件。特别是,用作输入和/或输出的内存区域与内核的其他部分隔离,并由保护页包围。在实现了必要的拱形钩子的架构上,沙盒模式利用硬件分页设施和 CPU 权限级别,只强制使用这些预定义的内存区域。有了 arch 支持,SBM 还能从违反保护规定的情况中恢复。这意味着,SBM 会强制终止沙箱,并向调用者返回错误代码(如 ``-EFAULT``),以便继续执行。这种实现方式提供了*强隔离*"。上游内核开发人员对沙箱模式提案的接受程度还有待观察,有兴趣的开发者可以查看RFC 补丁系列,了解有关 Linux 内核刚刚提出的这一新增功能的更多信息。 ... PC版: 手机版:

相关推荐

封面图片

Linux V4L2 VP9 编解码器内核代码将用Rust重写 提高内存安全性

Linux V4L2 VP9 编解码器内核代码将用Rust重写 提高内存安全性 请求注释"代码将 VP9 库代码移植到 Rust 中,并将 RKVDEC 和 Hantro 驱动程序代码转换为使用 Rust 版本。 Fluendo 的 Fluster 测试表明,无论是使用 Rust 还是 C 版本的代码,结果都是一样的。Almeida 对 RFC 补丁发表了如下评论:关于驱动程序,我们在不同场合已经说了很多,我觉得目前的共识是等待。这就是为什么我提出一种不同的方法:将我们的编解码器库移植到 Rust 中。在我看来,这些组件可以从 Rust 中受益匪浅,因为它们实现了复杂的算法,同时还通过 V4L2 控制来处理从用户空间接收的数据。这些算法使用从用户空间接收的数据来索引大量数组,从而受益于 Rust 的内存安全性。关于代码的第一件事是它不包含任何绑定层。这里的 Rust 代码还为 C 驱动程序提供了一个 C API。这个 C API 是由 cbindgen 自动生成的,我已经提供了如何生成的说明。我们甚至可以同时使用 C 库和 Rust 库中的函数,因为 ABI 是相同的。以上内容非常有用,因为这意味着我们可以在必要时逐段转换给定的代码库。C 驱动程序将通过 C API 正常工作,而任何新的 Rust 驱动程序都将受益于本地 Rust 接口。他在补丁封面信中继续补充道:最后,请注意这段代码只是一个概念验证,如果反响良好,我们可以推出一个正式的补丁(包括所有相关内容)"感兴趣的人可以在内核邮件列表中找到这些 RFC 补丁,同时等待其他 Linux 内核上游利益相关者的反馈。 ... PC版: 手机版:

封面图片

微软参与修改措辞与注释 提高Linux内核语言的包容性

微软参与修改措辞与注释 提高Linux内核语言的包容性 本周早些时候,微软的一位工程师为 Linux 内核开发了 Rust 语言改进补丁,而在周末假期结束时,又为 Linux 内核语言开发了更具包容性的补丁。今天,微软Linux工程师Easwar Hariharan发布了一组14个补丁,他负责Azure Linux plumbing、Azure Cobalt等云硅的启用以及虚拟化事务。微软的这一最新非核心业务Linux贡献正在清理代码中的语言,使其更具包容性。特别是根据最新的上游 I2C、SMBus 和 I3C 规范进行调整,以使用适当的术语。大部分代码和代码注释中的术语已从主从调整为控制器和目标站(或客户端)。但即使是这些补丁也会引起一些问题,因为行业规范倾向于使用新的控制器/目标术语,而不是这些新内核补丁中使用的客户端术语。在上游内核开发人员中,显然还没有就如何区分客户端和目标机达成明确的共识。这些补丁清理了近 400 行代码,包括从核心子系统代码到 AMD 和 Intel 图形驱动程序、各种媒体和 FBDEV 驱动程序,以及其他 I2C/I3C/SMBus 代码。您可以在内核邮件列表中找到微软提供的新 Linux 内核包容性语言补丁: protected]/T/ ... PC版: 手机版:

封面图片

提议中的Linux的动态内核堆栈功能补丁可节省大量内存

提议中的Linux的动态内核堆栈功能补丁可节省大量内存 Google一直在使用内核补丁来保持 8K 堆栈,但随着时间的推移,他们需要更大的堆栈大小,这反过来又增加了超大规模部署的内存使用量。为了减少增加的内存使用,Google一直在研究动态内核堆栈,因为许多内核线程都可以容纳在 4K 或 8K 的堆栈中。到目前为止,动态内核堆栈的 RFC 补丁工作进展顺利,已经进行了少量测试,并允许从 4K 扩展到 THREAD_SIZE 限制。Google工程师发现,动态内核堆栈平均可以节省 70% 到 75% 的内核堆栈内存。Pasha Tatashin 发布的早期结果很有希望,但可能取决于工作负载、虚拟化和其他因素:Tatashin 进一步补充说:"一些拥有数百万线程的工作负载可以从这一功能中显著受益。"对节省内核堆栈内存这项工作感兴趣的人,请参阅RFC 补丁系列。 ... PC版: 手机版:

封面图片

华为开发者的补丁将一个内核函数的速度提升了 715 倍

华为开发者的补丁将一个内核函数的速度提升了 715 倍 正在开发中的 Linux 6.2 合并了华为开发者雷镇的一个补丁,将 kallsyms_lookup_name() 的查找速度提高了 715 倍。该函数用于根据名字查找一个符号的地址,能用于查找内核符号表中的任何符号。新的改进将算法复杂度从 O(n) 改进为 O(log(n)),极大地提升了查找速度,只是要多耗费一些内存。Linux 内核社区将此补丁评价为“Linux 的圣诞节礼物”。(注:在 Linux 6.1 LTS 中,华为再次以内核补丁数排名第一。)来源 , 来自:雷锋 频道:@kejiqu 群组:@kejiquchat 投稿:@kejiqubot

封面图片

:一个安全、快速、通用的操作系统内核。 它提供于Linux相同的ABI,可无缝运行Linux应用, 但比Linux更加内存安全和

:一个安全、快速、通用的操作系统内核。 它提供于Linux相同的ABI,可无缝运行Linux应用, 但比Linux更加内存安全和开发者友好。 Asterinas在内存安全性方面远胜Linux。 它使用Rust作为唯一的编程语言, 并将unsafe Rust的使用限制在一个明确定义且最小的可信计算基础(TCB)上。 这种新颖的方法, 被称为框内核架构, 使星绽成为一个更安全、更可靠的内核选择。 而在开发者友好性方面,Asterinas优于Linux。 它赋能内核开发者们使用生产力更高的Rust编程语言;利用一个专为内核开发者设计的工具包(称为OSDK)来简化他们的工作流程;享受MPL所带来的灵活性, 可自由选择开源或闭源他们为Asterinas所开发的内核模块或驱动。

封面图片

Windows 沙盒应用的原理和选择 [by Kostya]

Windows 沙盒应用的原理和选择 [by Kostya] 虽然都能实现隔离资源和风险的目的,但沙盒与虚拟机有不少区别。 虚拟机是通过虚拟化硬件的方式运行的一套完整系统,因此虽然隔离更加彻底,但所占用的系统内存和各类系统资源也比较高,与宿主机之间的文件、硬件设备等交换都相对来说比较麻烦。 相比之下,Sandboxie 和 SHADE Sandbox 等沙盒类应用,均是使用特定的内核驱动来拦截特定进程对系统资源的访问,为其中运行的进程新建一套「平行」的系统资源以供访问。这样,基本可以做到「即开即用」,无需占用太多系统资源即可做到隔离运行环境的效果。 如果你想进一步了解沙盒类应用的原理和推荐选项,欢迎阅读会员文章《Windows 沙盒应用的原理和选择》。

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人