## 概要
Jail は [[FreeBSD]] のプロセス隔離機能である。(Source: [[@2023__APSys__Reducing Attack Surface with Container Transplantation for Lightweight Sandboxing]] §4)
## 本論文での役割
APSys ’23 の Container Transplantation プロトタイプは、FreeBSD 13.1-RELEASE 上で [[Linuxulator]] と Jail を組み合わせて Linux コンテナを実行した。Jail はプロセス隔離を提供する。Linux の namespace と Jail はプロセス ID・ユーザ隔離の扱いが異なる。Linux namespace は PID1 からプロセス ID を割り当てるのに対し、Jail はホストと隔離環境を通じて連続的に PID を割り当てる(コンテナでは PID1 が init ではなくアプリケーションプロセスとなるため動作に影響しない)。また Linux namespace は UID/GID を内外で異なる値にマッピングするのに対し、Jail は同一 OS 内で重複しうるため、Sandbox 内で UID/GID を管理し重複を防ぐ必要がある。性能評価では Linuxulator with Jail は runC に対してシステムコールオーバーヘッドが 22% 悪化に抑えられ、gVisor(96% 悪化)より軽量であった。(Source: [[@2023__APSys__Reducing Attack Surface with Container Transplantation for Lightweight Sandboxing]] §4.2, §5.2)
## 関連
- ソース: [[@2023__APSys__Reducing Attack Surface with Container Transplantation for Lightweight Sandboxing]]
- エンティティ: [[FreeBSD]] / [[Linuxulator]]