# Capability-based Security ## 定義 Capability-based Security(ケイパビリティベースセキュリティ)とは、主体がアクセス可能な資源と操作を、改ざん不可能な権限トークン(capability)として表現し、原則として最小権限を強制するアクセス制御の枠組みである。 capability は通常、ファイルディスクリプタや参照によって表現され、主体が capability を持たない資源にはアクセスできない。これにより、権限昇格や不必要な資源へのアクセスを防ぐ。(Source: [[@2023__APSys__Reducing Attack Surface with Container Transplantation for Lightweight Sandboxing]] §4.3) ## 横断的知見 - **異なる階層での capability の応用**: OSDI'25 の Extension Interface Model([[EIM]])は、アプリケーション拡張に必要なホスト関数・変数・ハードウェアリソースを capability で保護し、拡張マネージャが各拡張入口で許可する最小限のリソースを選択する。APSys ’23 の Container Transplantation は、FreeBSD の Capsicum によりファイルディスクリプタ単位で Linux アプリケーションの資源アクセスを制限する。両者は capability を用いて「必要な資源のみにアクセスさせる」という点で共通するが、EIM はアプリケーション拡張インターフェースの安全性を、Capsicum は OS サンドボックスの細粒度化を目的としている。(Source: [[@2025__OSDI__Extending Applications Safely and Efficiently]], [[@2023__APSys__Reducing Attack Surface with Container Transplantation for Lightweight Sandboxing]]) - **Linux 標準ではない capability 機構の活用**: Capsicum は FreeBSD に標準実装されているが、Linux には同等の機構が標準ではない。Container Transplantation は Linux コンテナを FreeBSD へ移植することで、この capability 機構を Linux バイナリに透過適用しようとする。これは「Linux エコシステムの資産を活かしつつ、Linux にはないセキュリティ機構を利用する」という設計思想を示す。(Source: [[@2023__APSys__Reducing Attack Surface with Container Transplantation for Lightweight Sandboxing]] §4.3) ## 未解決の問い - 未修正の Linux バイナリに対して、どこまで capability 機構を透過適用できるか。libpreopen と Casper でカバーできない動的アクセスパターンは何か。 - Capability-based Security と Linux の seccomp/AppArmor/eBPF LSM などの既存機構を組み合わせた場合、どのような冗長性やギャップが生じるか。 - Capability の付与・委譲・回収を動的に行う際の性能オーバーヘッドと、本番ワークロードへの影響はどの程度か。 ## 関連 - ソース: [[@2023__APSys__Reducing Attack Surface with Container Transplantation for Lightweight Sandboxing]] / [[@2025__OSDI__Extending Applications Safely and Efficiently]] - エンティティ: [[Capsicum]] / [[FreeBSD]] / [[Casper]] / [[libpreopen]] - 概念: [[Container Transplantation]] / [[Extension Interface Model]] / [[コンテナ仮想化]] ## 出典 - [[@2023__APSys__Reducing Attack Surface with Container Transplantation for Lightweight Sandboxing]](§4.3) - [[@2025__OSDI__Extending Applications Safely and Efficiently]](§2, §3)