微软开源 LiteBox:一款专注于安全性的库操作系统

微软开源 LiteBox:一款专注于安全性的库操作系统

Hacker News 摘要

原标题:Microsoft open-sources LiteBox, a security-focused library OS

微软开源的 LiteBox 是一个专注于安全性的库操作系统(Library OS),它同时支持内核模式和用户模式下的执行。该项目主要由 Rust 语言编写,旨在通过极大地精简与宿主系统的接口,来显著缩小受攻击面。

核心定位与设计理念

LiteBox 作为一个沙盒库操作系统,其设计的核心在于提供一种灵活的连接方式,将“北向”的垫片(Shims)与“南向”的平台(Platforms)结合起来。

北向接口:当 LiteBox 被提供一个南向平台接口时,它会暴露一个深受 nixrustix 启发的 Rust 风格北向接口。

南北配对:这种设计允许开发者轻松地在不同的北向和南向组件之间建立连接,从而适配多种复杂的使用场景。

主要应用场景

LiteBox 支持广泛的用途,包括但不限于以下几种:

• 在 Windows 操作系统上运行未经修改的 Linux 程序。

• 在 Linux 系统上为 Linux 应用程序提供沙盒隔离环境。

• 在 SEV SNP(安全加密虚拟化)技术之上运行程序。

• 在 Linux 系统上运行 OP-TEE 程序。

• 在 LVBS 环境下运行程序。

项目现状与开发进度

该项目目前处于活跃的演进和改进阶段。微软官方提醒用户,在迈向稳定版本的过程中,LiteBox 的部分 API 和接口可能会发生变化。虽然鼓励开发者进行探索和实验,但如果需要长期的稳定性,建议等待正式稳定版发布,或者准备好随着项目的更新而调整代码。

仓库结构与组件细节

仓库包含了多个功能模块和平台适配组件:

核心组件litebox 文件夹包含核心逻辑,近期更新增加了对文件打开操作中 O_APPEND 标志的支持。

平台适配:提供了针对 Linux 内核(litebox_platform_linux_kernel)、Linux 用户态(litebox_platform_linux_userland)、Windows 用户态(litebox_platform_windows_userland)以及 LVBS 等平台的实现。

运行器与工具:包含针对 SNP、OP-TEE 等环境的运行器(Runner),以及系统调用重写器(litebox_syscall_rewriter)和审计工具(litebox_rtld_audit)。

开发与调试:项目中还包含用于性能测试的 dev_bench、用于 raw 指针安全消除的测试工具,以及锁追踪可视化工具等。

技术规格与社区统计

编程语言构成:Rust 占据了绝对主导地位,比例高达 95.7%。其他少量代码包括 C(1.5%)、JavaScript(1.4%)、CSS(0.4%)、汇编语言(0.4%)和 Python(0.3%)。

开源协议:项目采用 MIT 许可证。

社区活跃度:截至目前,该仓库已获得 504 个星标(Stars)和 24 次分叉(Forks)。共有 10 位贡献者参与了代码开发,累计提交次数达到 527 次。

依赖管理:项目使用 Rust 稳定版工具链进行构建,并在近期从 nightly 版本迁移到了 stable 版本以提高稳定性。

文件清单说明

仓库根目录下包含了完善的说明文件,包括:

README.md:项目基础介绍与演进说明。

CONTRIBUTING.md:贡献指南。

CODE_OF_CONDUCT.md:行为准则。

SECURITY.md:安全政策。

LICENSE:MIT 许可证全文。

NOTICE.txt:关于第三方组件及其许可证的声明。


原文:https://github.com/microsoft/litebox

评论:https://news.ycombinator.com/item?id=46913793

Report Page