跳至主要内容

不止是沙箱:聊聊微軟剛開源的 LiteBox 與它背後的 Library OS 復興

· 閱讀時間約 7 分鐘
w0x7ce
MySelf

发布于 2026-02-06 23:21:00(微信公众号导出记录)。

本文来自公众号后台的“导出文章内容”功能。博客正文由导出长图进行本地 OCR 转写,并保留原始排版图用于逐段核对。

原文链接:查看原文

OCR 转写有效文字约 2955 字;代码、流程图和版式以文末原始排版图为准。

正文(本地 OCR 转写)

OS復興 we×7ce EI V1ajero 2826年2月6日 23:21 中国台湾 寡在前面:就在前雨天(2825/2/4),微款Linux 安全负真人James Norris低剥 宣饰了一回新專案-LiteBox. Uke Repost James Morris Fciowng 2r - Eried James Moris m Folkgs rem Microssf Resesrch (Weidong Cul oens) just releesed Linux 0S Security & 0$ Uitebox - ′A seourty-focused Ibrary O5'. This was deveiopec in Archileclure oolatoration wih the Linux Virtuefzatios Baed Security(LVBS) bmiscA suy

0. 02

2 com 号jero Like 刚看到道個新關時,以為又是一個類似Docker的容器工具,但仔细扒了扒程式碼和 Phoron1x的报增,现事情没那塞量。它用Rust离了一“微核心」,道扯上了楼 密計算和LVBS。爽西到底是微款的炫技之作,遗是真的能改我們跑股務的方式? 今天我們脱鞋那些生硬的通稿,开黎者的角度来拆解一下这個專案,

為什我們需要又一個隔離方案? 就實适,现在跑服不就那整螺?裸機太危验,VH 太重,Docker 共用内核婕不萄微底(尤 其是多租户環填)。 我們真正想要的其囊是一個「看起来像Linux,但比Linux更醒、更安全的票西。就 是LiteBox惩做的事。它不只是一因沙箱,更像是一因*「可随身描带的作紫系统核心** (Portable Secure Kernel)。 微道次的思路很有趣:既然LinuxKernel攻面太大,那我們乾不要Kernel了,或 者,把Kernel 的功能成一個Lib,塞進你的 App 狸。這就是所竭的L1brary OS. Std Shi1n Featureful Unix-y North Incerface LiteBox South Interface Mtntsat Platforn W1ndon pue1

扒架橘看本質:North與South LiteBox的程式碼程运雨個概念無處不在,其實理解起来很直,就是「對上;和「對下」

1.給App的「安慰劑(NorthInterface)

你的Linux 程式(比如编好的nginx或python)其實很婚氣,魁了 syscall 就 活不了。LiteBox 的 North Shin 就是负賣哄這些 App 的。

  • 它搁截了所有 SystemCalls。

  • App联一句我要個:。Shim就规好动,。然後稀去内部感理。完全不经通宿主

的 Linux Kernel,

  • 重黏是:你不需要重新编膝程式碼!这對於能不能推肩用来太期键了。

2.給宿主的「投名默(SouthInterface)

這是我景得显精彩的部分。LiteBox 不挑食,它定薪了一個Platform Trait(類似介 面)。只要你能给我一埋记想體、一個CPU線程,我就能路。这意味著LiteBox是一复 「寄居蟹:,它的可以是:

  • Windows 进程:你在 Windows 上路L1nux 程式,不塞要敏勐庵大的 WSL2 VM。

  • AMDSEV-SNP:直接跑在加密記值雌神,速需庭商的管理负都看不到你的資料。

  • LVBS(Linux VBS):这是微款的大祺,利用 Hyper-V的VTL1高權限瑞境来监控

VTLe 的Linux,把安全级剧拉满。 圆解一下 我仍在谊程Ltelox安全语 修的 Lhux.App 以态在手叫内桥

Litelox 姨心 (Rust) 能梯官(5hm) 中精资源 管家(05 通预) 其能哲质 (South lsterface)

Lirux 瘦昌 阿里置/Azure 想密虚斑慢

動手玩:这玩意兒怎用? 满遍磨多架,不如跑一行Code 實在。这乘西现在遗没有像apt-get那磨成熟,但對龄 Rust開發者来,已經可以玩起来了。 場景:我想在Windows上跑個Linux命令行工具 假設你编疆好了Litebox_runner(运是官方给的一图CLI 工具)。 就像用 Docker 一核,但敏酰品毫秒级的 5 litebox_runner -- ./my_linux_tool Hello from LiteBox! 可以播取蕴案系统,把它雪轻量级VM用

  • rootfs 拦定一個tar包作根目

  • -enable-network 图敏内键的细路堆叠

S litebox_runner \

  • -rootfs /alpine_fs,tar \

  • enable-netuork \

  • -/bin/sh

這背後没起Hyper-VVM,没起WSL,就是一個普通的WindowsProcess,但裡面跑的是 真正的LinuxELF二進制檔。 給開發者:把它整合進你的Rust專案 如果你想做一個類似AwSLambda的功能,想用户上傅代碼亚安全執行,LiteBox簡直是 神器。 1//偽代碼:展示如何把LiteBox當作一個Library用 use litebox::LiteBox; fn main(){ //1.備檔案系統(可以是記憶體裡的,也可以是唯tar包) let fs = LinuxShimBuilder::default_fs(in_mem_fs, tar_ro_fs); //2.初始化Shim(這就是你的微型OS) let shim = LinuxShimBuilder::new().set_fs(fs).build(); 10 11 //3.载入用户的程式(二進制檔) 12 //這裡完全可以是不可信的第三方程式 shim.load_program(platform.init_task(), "/bin/bad_user_app", args, 13 14 15 //4.執行! 16 //就算它在裡面rm-rf/,也只是删了記憶體裡的虚凝檔案 17 shim.run()?; 18}

硬核技術細節:網路是怎通的? 你可能會問:「如果不上報給HostKernel,那網路封包怎磨出去?」 這理LiteBox用了一個很極客的方案:它内建了一個用Rust寫的使用者態網路堆叠 (user-space network stack),u smoltcp。 L.當你的App呼叫connect()時,LiteBox没有把它轉HostOS。

2.LiteBox自己在記憶體裡完成了TCP三向交握。

3.真正發出去的,是加密過的RawPacket(原始封包)。

對HostOS來,它只看到一堆看不懂的二進制流進進出出。這意味著什?意味著即使 ) 在機密計算場景下簡直是殺手級特性。 總結:微软這波在圖什? 它解决了LibraryOS過去最大的痛點—相容性。以前的Unikernel需要你用特殊的語言 重寫App,但LiteBox 镶你直接跑現有的Linux Binary。 它適合?

  • 做安全的:搞機密計算、搞沙箱隔離的,對要看。

  • 做雲平台的:如果你想搞Serverless,嫌FirecrackerVM還是太重,LiteBox是

一個極佳的替代方向。

  • Rust迷:看看微怎用Rust寫OS,程式碼品質很高,值得學習。

原始排版图

不止是沙箱:聊聊微軟剛開源的 LiteBox 與它背後的 Library OS 復興:微信公众号导出原始排版图