[#37249] ruby 1.8でのCGI#[]の挙動 — 堀川 久 <vzw00011@...>

こんにちは。

14 messages 2003/03/09

[#37283] 両方の式とも常に評価する論理和・論理積 — Shinya Kawaji <kawaji@...>

かわじ、です

17 messages 2003/03/13

[#37324] optparse は使いやすいですか? — 成島 寛則 <narushima@...>

こんにちは。Narushima Hironori と申します。

13 messages 2003/03/15

[#37370] Secure「ではない」script の書き方 — satoru takahashi <hisai@...>

高橋聡@JFプロジェクトで翻訳しています、です

50 messages 2003/03/20
[#37381] Re: Secure「ではない」script の書き方 — satoru takahashi <hisai@...> 2003/03/20

高橋聡です

[#37382] Re: Secure「ではない」script の書き方 — matz@... (Yukihiro Matsumoto) 2003/03/20

まつもと ゆきひろです

[#37405] Re: Secure「ではない」script の書き方 — Taku Nakajima <tnakajima@...> 2003/03/24

[#37407] Re: Secure「ではない」script の書き方 — matz@... (Yukihiro Matsumoto) 2003/03/24

まつもと ゆきひろです

[#37414] Re: Secure「ではない」script の書き方 — Taku Nakajima <tnakajima@...> 2003/03/25

[#37415] Re: Secure「ではない」script の書き方 — matz@... (Yukihiro Matsumoto) 2003/03/25

まつもと ゆきひろです

[#37417] Re: Secure「ではない」script の書き方 — Taku Nakajima <tnakajima@...> 2003/03/25

[#37421] Tmpfile.newがデフォルトで/tmpを利用すること — Tadatoshi Kamimura <kamimura.tadatoshi@...>

上村と申します。はじめまして。

35 messages 2003/03/26
[#37422] Re: Tmpfile.newがデフォルトで/tmpを利用すること — WATANABE Hirofumi <eban@...> 2003/03/26

わたなべです。

[#37467] Re: Tmpfile.newがデフォルトで/tmpを利用すること — Tadatoshi Kamimura <kamimura.tadatoshi@...> 2003/03/31

上村です

[#37468] Re: Tmpfile.newがデフォルトで/tmpを利用すること — "Akinori MUSHA" <knu@...> 2003/03/31

At Mon, 31 Mar 2003 09:51:27 +0900,

[#37470] Re: Tmpfile.newがデフォルトで/tmpを利用すること — Tadatoshi Kamimura <kamimura.tadatoshi@...> 2003/03/31

上村です。

[#37472] Re: Tmpfile.newがデフォルトで/tmpを利用すること — "Akinori MUSHA" <knu@...> 2003/03/31

 なるほど、 $SAFE=1 のところをすっぱり読み飛ばしてました。

[#37479] Re: Tmpfile.new がデフォルトで/tmpを利用すること — siena@... (Siena. / SHINAGAWA, Norihide) 2003/03/31

Siena. です。

[#37480] Re: Tmpfile.new がデフォルトで/tmpを利用すること — siena@... (Siena. / SHINAGAWA, Norihide) 2003/03/31

Siena. です。

[#37483] Re: Tmpfile.newがデフォルトで/tmpを利用すること — nobu.nakada@... 2003/04/01

なかだです。

[#37493] Re: Tmpfile.newがデフォルトで/tmpを利用すること — TAKAISHI Hayato <rio-t@...> 2003/04/02

こんにちは、高石です。

[#37496] Re: Tmpfile.new がデフォルトで/tmpを利用すること — siena@... (Siena. / SHINAGAWA, Norihide) 2003/04/03

Siena. です。

[#37499] Re: Tmpfile.new がデフォルトで/tmpを利用すること — matz@... (Yukihiro Matsumoto) 2003/04/03

まつもと ゆきひろです

[#37500] Re: Tmpfile.new がデフォルトで/tmpを利用すること — "U.Nakamura" <usa@...> 2003/04/03

こんにちは、なかむら(う)です。

[ruby-list:37415] Re: Secure「ではない」script の書き方

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

In message "[ruby-list:37414] Re: Secure「ではない」script の書き方"
    on 03/03/25, Taku Nakajima <tnakajima@brain-tokyo.jp> writes:

|だから、できれば各safelevelについて、抽象的に簡潔に「このレベルの意味
|はこうです」というようなガイドラインのようなものがほしいような気がしま
|す。なんとなく、暗黙のガイドラインがすでにあるような気がするので、でき
|れば、それを明文化していただけるとありがたいです。

あちこちに書いたような気がしますが。まあ、いいや、こうなります。

  0 デフォルト。なにもしない
  1 汚染されたデータによる危険な操作の禁止
  2 プロセス関係の操作の禁止
  3 生成されるオブジェクトが汚染される
  4 信頼できないコードが実行できる

で、レベル2と3については考える必要はないと思いますので、1と4
についてだけもう少し補足しておきます。

レベル1はCGIを想定しています。外部からの入力は基本的に信頼で
きないので、信頼できないデータに基づいて行ってはいけない処理
はみな禁止します。これはそのような引数(おそらくは文字列)の
チェックに SafeStringValue() を使うことで実現できます。

レベル4については、外部から取得したプログラムのような信頼で
きない、誰が書いたかわからないようなプログラムでも実行してよ
いようなことしか許してはいけないレベルです。ですから、

  * グローバル状態の変更
  * 他のオブジェクトやスレッドの状態の取得
  * 汚染されていないオブジェクトの状態の変更

は許されません。

さて、今回のamritaの件ですが、SecurityErrorが発生するという
ことは、Rubyが「テンプレートが信頼できないかもしれない」と判
断したということです。これが「いや、〜という理由で信頼できる」
ということであれば、untaintすれば良いと思います。その理由が
正当なものであれば、別に「私を信頼するならば」というスイッチ
は不要でしょう。むしろ、そんなスイッチは有害無益でしょう。

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

In This Thread