2011年5月31日

[jsosug:00151] Re:Capability の設計思想について

根津です。

横からで失礼します。

セキュリティ的にリスクを・・・ということで、簡単な反証例があれば
リスクがご理解いただけるのではないかと思ったのですが、

1.例えば、ケーパビリティ変更前が全ケーパビリティがある状態であった。

2.ある一つのケーパビリティだけしか必要としないroot権限で動くプログラム
を他のケーパビリティを落として実行した。
3.プログラムのバグで(例えばバッファオーバーフロー)、外部からの
不正なコードに制御を乗っ取られらたとする。
4.不正なコードが1.で一つに制限したケーパビリティを元の「全ケーパビリ
ティを持つ」状態に戻して、root権限でシステムを乗っ取った。

というようなことが想定されます。
つまり、一度、狭めたケーパビリティというのはこのような穴を生まないように
するためのもので、ある意味、sandbox/Jailやsetuidで一般ユーザ権限で動作
するapacheサーバプロセスのような役割を果たしているということではないで
しょうか。

--
------
根津 研介 日本Sambaユーザ会/NTTデータ先端技術(株)
802.11セキュリティサイト http://www.famm.jp/wireless
Microsoft MVP for Identity & Access - Enterprise Security(Apr 2011-Mar 2012)
https://mvp.support.microsoft.com/profile/Kensuke.Nezu


2011年 5月 31日(火)08:50 に MATSUMOTO Ryosuke さんは書きました:
> 忠鉢様
>
> Capabilityの仕様と概要の情報ありがとうございます。
>
> 今回のメールの意図は、Capabilityに関してもう少し踏み込んだ内容に関して
> だと思っていただくといいかと思います。
>
>>
> Linuxにおけるcapabilityの基本的な考え方は,rootが起動したプログラムを,最低
> 限のcapabilityのみを許して実行させよう,という話だと思います.
>
> 意図としては、Capabilityをセットする際、セットしたいCapability *以外* のCa
> pabilityを
> 落としすことでCapability機能を実現しています。
>
> その *落とした* Capabilityを再度同じプロセスにセットし直せない様な仕様になっ
> ている
> のは、どういうリスクを想定しているのかをお聞きしたいと思っています。
>
> もう少し踏み込みます。
>
> 例えば、あるプロセスにあるCapabilityのみをセットした状態にし、それ以外のCapa
> bilityは
> 落とした状態だとします。「プロセスにセットしてあるCapabilityを一旦落とした後、
> 再度、直
> 前までセットしていたCapability *のみ* をセットし直すことは可能だ」、という
> 仕様を許可
> することは、リスク的にどういったものが考えられるでしょうか?
>
> 2011年5月31日6:03 Shintaro Fujiwara <shintaro.fujiwara@xxxxx>:
>
>> こんにちは、藤原です。
>>
>> secureos.jp が出てこないんですけど。。
>>
>>
>> 2011年5月30日22:28 Yosuke Chubachi <pianobile@xxxxx>:
>> > 忠鉢(@yuzuhara)です.
>> >
>> >> そこで、このような一方向でCapabilityを抜いていく仕様となった原因やリスクとは具
>> >> 体的にどういった内容を想定されての仕様なのでしょうか?
>> >
>> Linuxにおけるcapabilityの基本的な考え方は,rootが起動したプログラムを,最低限のcapabilityのみを許して実行させよう,という話だと思います.
>> > 参考)海外さんの発表in セキュアOS塾
>> >
>> http://www.secureos.jp/index.php?plugin=attach&refer=events%2Fjsosjk02&openfile=20090202-sosjk02-kaigai.pdf
>> >
>> >
>> ざっくり言えば,原因は「本来,特権の一部が必要なプログラムなはずなのに,すべての特権を許可して(つまりrootで)実行していた」になり,リスクは「プログラムを乗っ取る攻撃により,(結果的に)root特権が奪取される可能性」といえると思います.
>> >
>> > linuxのケーパビリティとはどういうもの?という話は,この辺を読むと良いかもしれません.
>> >
>> http://www.symantec.com/connect/articles/introduction-linux-capabilities-and-acls
>> >
>> > 以上です.
>> > 2011年5月30日17:18 MATSUMOTO Ryosuke <matsu1229@xxxxx>:
>> >> 日本セキュアOSユーザ会の皆様
>> >> はじめまして、松本亮介と申します。
>> >>
>> >> Capabilityの設計思想に関してお聞きしたいのですが、Capabilityは権限を落とす方向
>> >> にしか動作しないようになっていると思います。
>> >> 例えば、とあるプロセスにsetuidのみのCapabilityがセットされた上体で、一旦setuid
>> >> のCapabilityを落とすと、再度setuidのCapabilityを与えられないような仕様になってい
>> >> ると理解しています。
>> >> そこで、このような一方向でCapabilityを抜いていく仕様となった原因やリスクとは具
>> >> 体的にどういった内容を想定されての仕様なのでしょうか?
>> >> ご存知の方がいらっしゃいましたら、ご教授下さい。
>> >> -----
>> >> MATSUMOTO Ryosuke < matsu1229 gmail.com >
>> >> _______________________________________________
>> >> Japan secure operating system users group
>> >> users-ml@xxxxx
>> >> http://lists.sourceforge.jp/mailman/listinfo/jsosug-users
>> >>
>> >>
>> >
>> >
>> >
>> > --
>> > 忠鉢 洋輔
>> > Mail:pianobile@xxxxx
>> >
>> > _______________________________________________
>> > Japan secure operating system users group
>> > users-ml@xxxxx
>> > http://lists.sourceforge.jp/mailman/listinfo/jsosug-users
>> >
>>
>>
>>
>> --
>> http://intrajp.no-ip.com/ Home Page
>>
>> _______________________________________________
>> Japan secure operating system users group
>> users-ml@xxxxx
>> http://lists.sourceforge.jp/mailman/listinfo/jsosug-users
>>
> _______________________________________________
> Japan secure operating system users group
> users-ml@xxxxx
> http://lists.sourceforge.jp/mailman/listinfo/jsosug-users
>

_______________________________________________
Japan secure operating system users group
users-ml@xxxxx
http://lists.sourceforge.jp/mailman/listinfo/jsosug-users


投稿者 xml-rpc : 2011年5月31日 15:52
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/104256
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。