谷歌宣布推出 KataOS 操作系统,目标是为嵌入式设备提供安全系统。
谷歌表示,随着我们发现自己被越来越多的从环境中收集和处理信息的智能设备所包围,需要有一个简单的解决方案来为嵌入式硬件构建可验证的安全系统。如果我们周围的设备无法通过数学证明能够保护数据安全,那么他们收集的个人身份数据,例如人物图像和声音录音,可能会被恶意软件访问,因此推出了 KataOS。
据介绍,KataOS 选择了 seL4 作为微内核,其经过数学证明是安全的,具有保证的机密性、完整性和可用性。通过 seL4 CAmkES 框架,KataOS 还能够提供静态定义和可分析的系统组件。
KataOS 提供了一个可验证的安全平台,保护用户的隐私,因为应用程序在逻辑上不可能违反内核的硬件安全保护,并且系统组件是可验证安全的。
此外,KataOS 几乎完全在 Rust 中实现,该语言消除了所有类型的错误,例如 off-by-one 错误和缓冲区溢出。
IT之家了解到,谷歌 KataOS 的早期版本已在 GitHub 开源,包括大多数 KataOS 核心部件:
- 用于 Rust 的框架(例如 sel4 syscall,它提供 sel4 系统调用 API)
- 用 Rust 编写的备用 rootserver(动态系统范围内存管理所需)
- 可以回收 rootserver 所用内存的 sel4 内核修改
谷歌还与 Antmicro 合作,通过 Renode 为目标硬件实现 GDB 调试和模拟。在内部,KataOS 还能够动态加载和运行在 CAmkES 框架之外构建的第三方应用。目前,Github 上的代码不包含运行这些应用所需的组件,谷歌希望在不久的将来发布这些特性。
为了全面证明安全环境系统,谷歌还为 KataOS 构建了一个名为 Sparrow 的参考实现,它将 KataOS 与安全硬件平台结合起来。因此,除了逻辑安全的操作系统内核之外,Sparrow 还包括一个逻辑安全的信任根,该信任根是在 RISC-V 架构上用 OpenTitan 构建的。然而,对于 KataOS 的初始版本,谷歌的目标是使用 QEMU 模拟运行更标准的 64 位 ARM 平台。