夏休みの宿題

私は8/11〜8/20までが夏休み。

今年の夏休みはヒキコモってPostgreSQLのハックを行う予定。

最終的にはSE-Xwindowのように、PostgreSQLの内部でSELinuxのラベル情報を利用したアクセス制御を行うようにするまで持っていきたい。最近、システムカタログを拡張したりゴニョゴニョやっていたのは、この辺を目標にしていたというのがある。

とりあえず、夏休みにやっておきたいことTODOリスト
1.表(Table)・列(Column)・行(Row)のそれぞれがセキュリティコンテキストを持てるようにすること。行に関しては、既にシステムカタログの拡張という形で可能にしてある。あとは、これを表・列にも拡張しなければならない。
2.SQLクエリを受け取った時に、権限の無い表や列に対するアクセスをPermission Deniedで拒否するようにする。

実装としては、〜8/20でここまでできれば御の字かな。

もう一つ重要な作業としては、対SELinuxコミュニティということで、database制御のためのアクセスベクターの追加や、その際に要求される挙動についてコメントを求めておくこと。これが3番目。
実装が十分に進んだ後に、根本的なところで反対されたら目も当てられないので、先にRequest for Commentsを出しておく必要があると思う。

今のところ考えているのは、以下の権限を加えること。
select, insert, update, delete : DMLに対応する権限
create, alter, drop : DDLに対応する権限
relabelto, relabelfrom : ラベル付けの変更

他にもgrantとか必要そうなものはあるけども、これが根本的な設計思想の変更を要求するとは思えないから、まずはこの辺を叩き台にして議論を呼びかけてみるかな…。