このエントリでは、ケーパビリティを使ったリソース保護機構である「Capsicum」を紹介します。Capsicumは、まもなく正式リリースされるFreeBSD 9に搭載される予定です。
Capsicumとは?
タネンバウムの「モダンオペレーティングシステム」では、オペレーティングシステムのリソース保護機構について、以下の3つを紹介しています。- 保護ドメイン
- アクセス制御リスト
- ケーパビリティ
Capsicumとは、そのようなケーパビリティを使ったリソース保護機構を一般的なUNIXに導入しようというプロジェクトです。
Capsicumによるメリット
オペレーティングシステムのリソース保護機構については、DAC(Discretionary Access Control)やMAC(Mandatory Access Control)が広く使われていますが、これらは、1つのアプリケーションが様々な形式のリソースを扱う場合のリソース保護に向いたようには設計されていません。ここでいう様々な形式のリソースとは、たとえば、ウェブブラウザの場合、画像、動画、Flash、JavaScriptなどといったデータです。信用を受けたリソース元ではない可能性もあります。そのような様々な形式のリソースを扱う局面おいてデータを保護するために、ウェブブラウザのChromiumでは、プロセスを複数に分けることでコンパートメント化を実現しています。ところが、この方法をとる場合、プラットフォームによってプロセス周りの仕様が変わるため、プログラマがそれぞれの環境に合わせてそれなりの量のコードを書いて実装しなければならないという問題があります。
この問題への解決策として、一般的なUNIXにケーパビリティを使ったリソース保護機構を補完的に導入しようというものが、Capsicumです。たとえば、Chromiumへのテスト実装では、わずか100行のコード追加で、コンパートメント化を実現できたといいます。
Capsicumは、FreeBSD 9に導入される予定です。12月9日にFreeBSD-9.0 RC3が公開されたので、来年の早いうちには正式リリースされるでしょう。
--
0 件のコメント:
コメントを投稿