Secure Channel ------------- Secure Channel は、ユーザーと保護されたオブジェクトの間の、対話型の プログラムです。保護されたオブジェクトは、DENY 、READ 、APPEND などで 保護されており、LIDS はオブジェクトに対してREAD/WRITE のラベルを貼る ことが出来ます。 例を見てみましょう; web HTML オブジェクトは/home/httpd/html に保存されており、DENY で保護 されていて、httpd デーモンはweb サーバーを起動するために、その ドキュメントに対してREAD の権限を与えられています。 lidsadm -A -o /home/httpd/html -j DENY lidsadm -A -s /usr/sbin/httpd -o /home/httpd/html -j READ "webadmin" と名付けられたプログラムがLIDS により、そのドキュメントに対 して、それを使ってhtml ページをアップデートするためにWRITE のラベルを 貼られているとします。 lidsadm -A -s /../webadmin -o /home/httpd/html -j WRITE 我々がここで解決できた、セキュリティ上の問題は 1) Web デーモンでのBuffer Over Flow の阻止 ハッカー(原文ママ)がBOF を用いて攻撃し、シェルを得たとしても、システム 上のなにも見えないでしょう。web デーモン(httpd) に対して"悪い"コードを 挿入してhtml ページを変更しようとしても、httpd はhtml オブジェクトに対 してREAD の権限しか持っていないため、失敗することになります。 webadmin のみが、このページをアップデートする方法ですが、webadmin を、 webdaemon(httpd) が巨大過ぎてCGI が保護できないのに対して、 単純でセキュアで、BOF が起こらないプログラムにすることが出来ます。 侵入者が他のサービスのBOF を用いてシェルを得たとしても、そこからは /home/httpd/html がシステムに存在しないように見えてしまいます!! なぜなら httpd のみが、このディレクトリにアクセスすることが出来、他のプログラムは 出来ないからです。 2) webadmin は任意の認証方法を用い、使用元のアドレスによりアクセス制限 を掛けることが出来ます。同時に、httpd は全世界からアクセスされます。 3) webadmin は異なるユーザーに対し、/home/httpd/html をアップデートす る、異なる権限を与えることが出来ます。 例えば、Paul は/home/httpd/html/paul/ ディレクトリのみをアップデー トでき、Alice は/home/httpd/html/allice/ のみをアップデートできる といったようにです。 これで、LIDS で保護されたシステムを迂回する、secure channel を作成 することが出来ます。 -Xie