Capsicumは、 UNIXおよび類似システム向けのケイパビリティベースセキュリティの実装です。USENIXセキュリティシンポジウム2010で発表されたこのシステムは、 FreeBSD 9.0リリース以降、 FreeBSDに組み込まれています。また、カーネルパッチの形でDragonflyBSDにも適応されています。[ 1 ]技術的な詳細は、Robert Watsonの博士論文[ 2 ]に記載されています。
このシステムは、通常の権限を非常に小さな単位に分割することで動作します。プロセスがCapsicumモードに入ると、制御ユーザーに通常関連付けられているすべての権限を失います。ただし、ファイル記述子の形で既に保持している「ケーパビリティ」は除きます。プロセスはUnixソケット経由でケーパビリティを受け取ることもできます。これらのファイル記述子は、ファイルシステムへのアクセスだけでなく、ネットワークソケットなどの他のデバイスへのアクセスも制御します。フラグは、読み取りや書き込みなどのよりきめ細かいアクセス制御にも使用されます。[ 3 ]
クラウドABI
CloudABIは、Capsicumをベースにしたアプリケーションバイナリインターフェースです。Capsicumのパーミッションモデルはそのままに、プロセス(システムコール、Cライブラリなど)実行のための簡素化された環境を再設計することで、同じ命令セットアーキテクチャ上でABIをサポートするあらゆるプラットフォームにプログラムを移植可能にしています。CloudABIが提供するインターフェースは、ケイパビリティベースのセキュリティで動作しない部分を除けば、ほぼPOSIXに準拠しています。2020年3月現在、CloudABIはFreeBSDにネイティブに統合されており、Capsicumベースのパッチまたは非セキュアなシステムコールエミュレータを使用することで、他のシステムでも実行可能です。[ 4 ] [ 5 ]
2020年10月現在、CloudABIは関心の低さから廃止され、 WebAssembly System Interfaceが採用されています。 [ 4 ]
参考文献
- ^ 「Capsicum: UNIXの実用的な機能」ケンブリッジコンピュータ研究所。 2020年4月8日閲覧。
- ^ Watson, Robert NM (2012). 「オペレーティングシステムのセキュリティ拡張性に対する新たなアプローチ」 . Cambridge Computer Laboratory . doi : 10.48456/tr-818 . 2024年4月1日閲覧。
- ^ Edge, Jake (2012年2月22日). 「Capsicum: UNIXの実用的な機能」 . lwn.net .
- ^ a b "NuxiNL/cloudabi" .ヌシ。 2020年3月30日。
- ^ Brown, Neil (2016年2月10日). 「CloudABI」 . lwn.net .