[#21338] $SAFE=4 での autoload — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

21 messages 2003/09/04
[#21346] Re: $SAFE=4 での autoload — nobu.nakada@... 2003/09/04

なかだです。

[#21359] Re: $SAFE=4 での autoload — Hidetoshi NAGAI <nagai@...> 2003/09/05

永井@知能.九工大です.

[#21419] Makefile.inのlex.c — Kazuhiro NISHIYAMA <zn@...>

西山和広です。

15 messages 2003/09/28

[ruby-dev:21306] Re: 大量メモリ消費攻撃に対する対応

From: matz@... (Yukihiro Matsumoto)
Date: 2003-09-03 02:45:02 UTC
List: ruby-dev #21306
まつもと ゆきひろです

In message "[ruby-dev:21288] Re: 大量メモリ消費攻撃に対する対応"
    on 03/08/29, Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> writes:

|>   * $SAFE=4ではmalloc(3)の失敗に対してNoMemoryErrorを発生さ
|>     せ、そのスレッドを終了させる。
|
|「信用できないスクリプトは $SAFE=4 で」というのは
|確かに本来はそうあるべきなのだとは思うのですが,
|外部から持ちこんだスクリプトを丸々 $SAFE=4 で実行しようとした場合,
|制約が厳しすぎて何もできないのと同意ですので,
|$SAFE=3 での実行を考えていました.
|
|# 例えば現在の Ruby/Tk は $SAFE=4 では全く動かせません.

$SAFE=3というのは「$SAFE=4にいたる中間の状態」程度の意味で実
用になるかは検証されていません。特に信頼できないプログラムに
対しては。$SAFE=4でも動く回避策はないか模索するべきではない
でしょうか。

memory attackに対するもっとマシな防御策が欲しいということは
変わりませんけどね。

|malloc に失敗する状態まで確保させてしまうのは危険に感じます.
|その状態ですとすでにシステム負荷は非常に大きくなってしまっている
|と思いますので,そうなる前になんとか食い止めたいところですね.

同感です。

|実は「制約値を自動的に」というのはあまり考えていませんでした.
|信頼できるスレッド (メインスレッド) から信頼できないスレッドを
|起動する際に適当に制約を与えるというようなことを思っていました.
|えいやぁでサンプル的な値を決めておいて,後は任せるというのでは
|だめですかね.(^_^;

メモリの上限とは必要量というのは環境によって相当異なるのを無
視してよいのかというと私にはよくわかりません。「ないよりはマ
シ」という主張は理解できますが。

In message "[ruby-dev:21289] Re: 大量メモリ消費攻撃に対する対応"
    on 03/08/29, Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> writes:

|上の状態でメインスレッドはメモリ制約なしに動いてますから,
|「スレッド(信頼できるスレッド;メインスレッドに限る?)は,
|自らの制約値までは他のスレッドの制約値を緩めることができる」
|として,信頼できるスレッドからのメッセージに応じて利用者が
|許可を出せるようにするというのは難しいですかね?

「自らの制約値までは他のスレッドの制約値を緩めることができる」
というのは分かりますし、ありえる解だと思うのですが、「信頼で
きるスレッドからのメッセージに応じて利用者が許可を出せるよう
にする」というのは具体的にどういうことかイメージがつかめませ
んでした。

				まつもと ゆきひろ /:|)

In This Thread