# Sandbox Tailoring
## 定義
Sandbox Tailoring(サンドボックステーラリング)は、コンテナなどの軽量実行環境に対し、すべてのリソースを同じ強度で隔離する完全統合型サンドボックスではなく、リソースごとにその特性と求められるセキュリティレベルに応じた隔離手法を組み合わせる設計思想である。例えば、攻撃影響が広がりやすいネットワークだけをハードウェア仮想化で強固に隔離し、CPU・メモリ・ファイルシステムなどは既存の軽量手法(メモリセーフバイナリ、TEE、SELinux、Seccomp 等)で保護することで、性能・起動時間・堅牢性のトレードオフをリソース単位で最適化する。(Source: [[@2021__UCC__Concentrated Isolation for Container Networks Toward Application-aware Sandbox Tailoring]] §3)
## 横断的知見
- **「一律強固」ではない隔離の設計空間**: 完全統合型サンドボックス(Kata Containers、gVisor、Firecracker)は堅牢だが、VM 起動やユーザ空間カーネルにより起動時間と性能を大きく犠牲にする。Subaco はネットワークに集中して隔離することで、runC と同等の起動時間(約 1.15 秒)を維持しつつ L2/L3/L4 のパケット偽装攻撃とネットワークリソース攻撃を防御する。(Source: [[@2021__UCC__Concentrated Isolation for Container Networks Toward Application-aware Sandbox Tailoring]] §6)
- **PaaS/FaaS では短命・リアクティブな特性が隔離選択を制約する**: PaaS/FaaS のコンテナはネットワーク要求で起動し、数秒で終了する。このため、完全統合型サンドボックスの長い起動時間は特に許容しにくい。Sandbox Tailoring は、このようなワークロード特性に応じて隔離強度を柔軟に配分する枠組みとなる。(Source: [[@2021__UCC__Concentrated Isolation for Container Networks Toward Application-aware Sandbox Tailoring]] §2.1, §6.2.1)
## 未解決の問い
- Sandbox Tailoring を実現するため、各リソース(CPU・メモリ・ファイルシステム・ネットワーク・デバイス)の隔離強度をどのように定量化するか。
- アプリケーション特性に応じた隔離ポリシーの自動決定(アプリケーション認識)は、どのようなテレメトリやメタデータを使って実現できるか。
- 複数の隔離手法を組み合わせた際の攻撃面の総和を、どう評価・保証するか。
## 関連
- ソース: [[@2021__UCC__Concentrated Isolation for Container Networks Toward Application-aware Sandbox Tailoring]]
- 概念: [[コンテナネットワーク分離]] / [[Para-passthrough Hypervisor]] / [[コンテナ仮想化]] / [[パケットフィルタリング]]
- エンティティ: [[Yuki Nakata]] / [[Katsuya Matsubara]] / [[Ryosuke Matsumoto (SAKURA internet)]]
- 関連 MOC: [[Cloud Container Orchestration]]
## 出典
- [[@2021__UCC__Concentrated Isolation for Container Networks Toward Application-aware Sandbox Tailoring]](§3 Sandbox Tailoring, §6 Evaluation)