FreeBSD Daily Topics
2013年7月8日 dhclient(8)をサンドボックス化
src
- dhclient(8) sandboxing
FreeBSD 10-CURRENTのdhclient(8)がCapsicumを使ってサンドボックス化されたものになりました。この開発はPawel Jakub Dawidek氏がFreeBSD Foundationのスポンサードのもとで実施したものです。
FreeBSDはPOSIX APIと親和性の良い形でケーパビリティの機能を実装しました。この機能は
「Capsicum」 と呼ばれており, ファイルディスクリプタやシステムコールごとに細かく制限をかけることができます。最大の特徴は既存のAPIとの親和性の高さにあり, ほかのOSが実装しているケーパビリティ機能と比較して, コーディング量が圧倒的に少なくて済みます。 ケーパビリティを実装した背景には,
最近のアプリケーションで高いセキュリティを実現するには, 従来の保護ドメインやアクセス制御リスト, またはMACによる規制などが適さないケースが増えているからです。保護ドメインやアクセス制御リストは, ソフトウェアが単一のリソースにアクセスする場合には効果がありますが, ソフトウェアが複数のリソースにアクセスするようなケースでは設定しにくいところがあります。 こうしたソフトウェアの代表格がChromeまたはそれと同じような構造を持ったブラウザです。Chromeは複数のプロセスに分離し,
それぞれが複数のリソースにアクセスします。ChromeではOSが提供しているセキュリティ機能を使って, こうした状態でできるだけ高いセキュリティを実現しようとしていますが, コードはその分複雑で, 隔離も完全には実現できていません。 Capsicumを使ってChromeを実装すると,
コード量が桁違いに減るほか, 求められているセキュリティを実現できます。Capsicumは研究室レベルのセキュリティ機能ではなく, 実際に要求されるタイプの実用的なセキュリティ機能です。 Capsicumのカーネル内部における実装はすでに完了しており,
今後はCapsicumの機能をユーザランドに適用していく段階にあります。Pawel Jakub Dawidek氏の取り組みはこうしたCapsicum適用のひとつです。FreeBSD 10. 0-RELEASEにはこのようにCapsicumを適用したソフトウェアが多く含まれることになる見通しで, セキュリティ的に好ましいバージョンになるものと見られます。
バックナンバー
FreeBSD Daily Topics
- 2013年7月30日 FreeBSD 9.2-BETA2登場
- 2013年7月25日 FreeBSD Xen,PVHVMに対応
- 2013年7月24日 Capsicum対応:hastd(8),tcpdump(1),dhclient(8),rwho(8),rwhod(8),kdump(8)
- 2013年7月23日 マルチスレッド・ページデーモン開発進む
- 2013年7月22日 LLDBデバッガ,ベースシステムへ
- 2013年7月19日 IOMMU(Intel VT-d)サポート開発中
- 2013年7月18日 新しいシステム管理コマンド「bsdconfig」登場
- 2013年7月17日 新しいシステム管理コマンド「sysrc」登場
- 2013年7月10日 FreeBSD 9.2-RELEASE,8月31日公開予定
- 2013年7月8日 dhclient(8)をサンドボックス化