AppArmorからの教訓
AppArmorを見ていると、「単純さ」について考えさせられる。
(AppArmorは、ちょっと単純過ぎるけど)
Simplified Policyは,「Simplified」と言っているけど
本当に単純さを追求しているのだろうか。
AppArmorをみて,Simplified Policyがわかりにくいと感じた点
これをどう解決する?
- 1) globalドメインの廃止?
- 2) デフォルトのポリシは、AppArmor並に軽いポリシに変更
- 3) allow,allowonlyを一つに統一する。
- 4),5) ネタ無し。。。
globalドメイン再考
simplified policyのglobalドメインはイマイチだと改めて思う。
もう少し考え直そう
- 問題点は以下か。
LIDSよりポリシの数が増えがちなので、わかりにくくなってしまった。
- 代替案
AppArmorで見た「include」でいいのではないか。
継承にしてもいいけど、継承よりはincludeのほうが,
普通の人には,馴染みやすいはず。
deny/allowの意味合いを変える必要もある。
deny -> allowの場合 allowで上書きされる
allow -> denyの場合 denyで上書きされる
allow -> allowの場合 orを取る
include書式の実装
seedit-converterにプリプロセッサを追加。
include filename;
というのを見ると,filename部分が、そのまま挿入される。
とりあえず,ネストはサポートしないincludeを実装した。
includeのパスは「-I」で指定する。
実装手法は,apparmorのparserの(parser_include.c)が参考になりました。
さて、globalの本格的廃止を,実験してみなきゃな。