谷歌宣布推出安全操作系统 KataOS,作为他们最新专注于运行环境侧重于机器学习工作负载的嵌入式设备的操作系统。出于将安全性放在首位的宗旨,KataOS 专门使用 Rust 语言开发,并基于 seL4 微内核进行了构建。
通过 seL4 CAmkES 框架,我们还能够提供静态定义和可分析的系统组件。KataOS 提供了一个可验证安全的平台来保护用户的隐私,因为应用程序在逻辑上不可能违反内核的硬件安全保护,并且系统组件是可验证安全的。KataOS 也几乎完全用 Rust 实现,它为软件安全性提供了一个强有力的起点,因为它消除了 entire classes 错误,如 off-by-one errors 和缓冲区溢出。
目前,谷歌已经在 GitHub 开源了大部分 KataOS 核心部分。具体包括用于 Rust 的框架(例如 sel4-sys crate,它提供了 seL4 系统调用 API),一个用 Rust 编写的备用 rootserver(用于动态系统范围的内存管理),以及对 seL4 的内核修改,可以回收 rootserver 使用的内存。
谷歌方面透露,在内部,KataOS 还能够动态加载和运行在 CAmkES 框架之外构建的第三方应用程序。但运行这些应用程序所需的组件暂时还未开源,他们计划或将在不久的未来发布这些功能。
为了完整地证明一个安全的环境系统,谷歌还为 KataOS 构建了一个名为 Sparrow 的参考实现,它将 KataOS 与一个安全的硬件平台相结合。因此,除了逻辑安全的操作系统内核之外;Sparrow 还包括一个逻辑安全的信任根,该信任根是使用 OpenTitan 在 RISC-V 架构上构建的。但是就初始版本而言,其目标是使用 QEMU 在模拟中运行更标准的 64 位 ARM 平台。
公告称,谷歌的目标是开源所有 Sparrow,包括所有硬件和软件设计;现下发布的 KataOS 早期版本只是一个开始。