[#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:21311] Re: 大量メモリ消費攻撃に対する対応

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

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

|ただ,$SAFE=4 にしてしまうとインスタンス変数の操作や
|配列操作も一切できなくなってしまいますので,
|ライブラリの実装においてはかなり困ってしまいます.

確かにそのとおりです。

|釈迦に説法ではありますが,例えば
|-------------------------------
|class A
|  @@tbl = []
|  def initialize
|    @@tbl << self
|  end
|end
|-------------------------------
|というようなクラスのオブジェクトは $SAFE=4 では生成できません.

これも認めます。しかし、

|信頼できないプログラムを実行させる際の理想形は,
|secure_load 'untrusted-program.rb' あるいは
|secure_eval "untrusted-script-string" のようにして
|信頼できるマスタースレッドの管理下で安全に実行できること
|ではないかと思います.

という選択をしても同じ問題は起きるのではないでしょうか。
secure_loadの中で上記のコードの実行が要求されたら、それは許
可されるべきでしょうか、禁止されるべきでしょうか。

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

In This Thread