■
デバイスファイルのアクセス制御はどうすべき?
SELinux Symposiumで,デバイスファイルも一緒にしているのはまずいとの指摘。悪意あるデバイスファイル作成されるとまずいとか。
実はデバイスドライバ作ったこと無いので,以下があってるかどうか,
メールかコメント下さい。>詳しい人
- TOMOYO Linuxの論文http://lc.linux.or.jp/paper/lc2005/CP-09.pdf
- ファイルを削除し同じファイル名でデバイスを作るとHDD破壊可能とのこと。
- http://japan.linux.com/kernel/internal24/index.shtml
- ドライバの例
- 考えられる攻撃 1(?)
- (1) HDDにアクセスするドライバを作成
- (2) ドライバをインストール
- (3) mknodで,デバイスファイルを作成(1)のドライバを使えるようにする
- (4) ジエンド
- 考えられる攻撃2(?)
- (1) mknod <自分が書き込めるファイル> c <デフォルトで組み込まれたHDDドライバのメジャー番号> <デフォルトで組み込まれたHDDドライバのマイナー番号>
- (2) (1)で作ったデバイス名を使って,マウント。
- (3) マウント先のファイルを破壊。
- マウントしてもラベルがついてるから大丈夫か?busyでマウントできない?
- 考えられる防御?
それにしても,一つでもパーミッションの見落としがあるとジエンドな可能性があるのが恐ろしい…