- カーネルモードとユーザーモード実行の両方をサポートするセキュリティ重視のライブラリOSで、ホストインターフェースを最小化して攻撃面を減らすサンドボックス環境を提供
- Rustベースで書かれており、
nixおよびrustixスタイルの上位インターフェースと、多様な下位プラットフォーム間の相互運用をサポート
- 主な活用例: WindowsでLinuxプログラムを実行、Linuxアプリケーションのサンドボックス化、SEV SNPおよびOP-TEE環境での実行、LVBSプラットフォーム対応など
- セキュリティ分離、仮想化、システムインターフェースの最小化を重視した次世代OSアーキテクチャの実験基盤
- Rustベースの安全なシステムコードとカーネル・ユーザーモード統合実行モデルを組み合わせ、セキュリティ研究およびクラウド分離技術の開発に活用可能
LiteBox概要
- LiteBoxはMicrosoftが公開したオープンソースのセキュリティ重視ライブラリOSで、カーネルモードとユーザーモード実行の両方をサポート
- 中核目標はホストとのインターフェースを最小化して攻撃面を減らすこと
- これにより、サンドボックス形式の分離実行環境を実現
- システムはRust言語で記述されており、上位層では
nix/rustixスタイルのインターフェースを提供
- 下位層では多様なプラットフォーム(
Platformインターフェース)を接続し、柔軟に構成可能
主な機能と利用例
- LiteBoxは複数の運用環境間の相互運用を支える構造として設計
- LinuxプログラムをWindowsで実行
- Linux内でのアプリケーションのサンドボックス化
- SEV SNPベースのセキュア実行環境をサポート
- OP-TEEプログラムをLinuxで実行
- LVBSプラットフォームでの実行をサポート
現在の段階とライセンス
- プロジェクトは現在も活発に開発中で、安定版リリース前の段階
- APIとインターフェースは今後変更される可能性あり
- 実験的な利用は可能だが、長期的な安定性を求める環境では注意が必要
- MITライセンス
2件のコメント
Hacker Newsの意見
GitHubページによると、LiteBox はホストインターフェースを最小化して攻撃面を減らす サンドボックス型ライブラリOS とのこと。
Rustスタイルの nix/rustix ベースの「North」インターフェースと、さまざまな「South」プラットフォームを接続できるよう設計されている。
例としては、LinuxプログラムをWindowsで実行する、Linuxアプリをサンドボックス化する、SEV SNP・OP-TEE・LVBS 上で動作させるといった用途がある。
以前から WSL2 は場当たり的な仕組みに見えていて、WSL1 こそが Windows NT の「personality modules」という概念をうまく実装した例だと思っていた。
既存の概念を新しい名前で包み、あたかも革新的に見せる Microsoft の典型例のように思える。
最近の Microsoft の主力OSはあまりに バグだらけ なので、新しく出てくるプロジェクトを信用しづらい。
これを開発しているチームは現代の Windows UX とはまったく関係ないはずだ。
LiteBox のリポジトリには Copilot 関連の設定ファイル が含まれている。
copilot-instructions.md
これは単に明示的に設定を公開しているだけだ。
「Library OS」が何なのか気になった。
つまり、OS の機能がアプリケーションのアドレス空間に統合され、外部インターフェースはハードウェアアクセスやハイパーコールに置き換わる。
Unikernel はこうした方式で動作し、Wine も広い意味では Library OS と見なせる。
たとえば Linux アプリを LiteBox にリンクして SEV-SNP 上で実行したり、OP-TEE TA を Linux 上で動かしたりできる。
重要なのは、数百ある POSIX syscall を監査する代わりに、中間表現のいくつかのプリミティブ演算だけを制御 するよう単純化した点だ。
宇宙人に Library OS とカーネルベースのアプリの違いを説明しろと言われたら、真面目に説明するのが難しいほど微妙な違い だと感じる。
最初は「Library OS」が図書館向けのOSのことかと思った。
Library OS という概念は初耳だったが、説明を聞くと Unikernel に近い。
プログラムはカーネルモード呼び出しなしでハイパーバイザ上で直接動作し、LiteBox は Linux・Windows・BSD のプロセスとしても動かせる。
ただし独自 ABI を使うのか、ホストOSの ABI を使うのかははっきりしない。
説明を見る限り、少し 「vibe-coded」なプロジェクト っぽさもある。
もし Microsoft が LiteBox を通じて WFP コールアウトドライバ を署名なしで書けるようにするなら面白そうだ。
依然としてカーネルモードで動くことにはなるが、macOS の NetworkExtensions より柔軟かもしれない。
設計仕様や 形式検証(formal verification) に基づく開発手順への言及がないのは残念だ。
興味深い試みではあるが、こうしたアプローチがなければ Windows で繰り返されてきた セキュリティ脆弱性 が再び現れる恐れがある。
「Library OS」という概念を初めて聞いたが、gVisor もこれに含まれるのか気になる。
似た構造には見えるが、正確に同じカテゴリなのかはよく分からない。
久しぶりに面白そうなプロジェクトを1つ見つけました