新生鳩丸掲示板♯

bakera.jp > 新生鳩丸掲示板♯ > 投稿順表示 (135/282)

投稿順表示 (135/282)

[3058] Re: 「サニタイズ言うな?」

名無しさん (2005年7月15日 22時8分)

>>そういう問題ではないのではないかと思います。

>>これまでの話では二番目のものについてはなにも述べていません。

>>「危険な文字列」というものがなぜ「危険」なのかを考えると、話のかみ合わなさの原因が見えそうな気がします。

>

> なんだかよく分からなくなったのですが、例を上げて説明していただけませんか?

たとえば、

>たとえば単引用符(')を検索したケース

このケースでは、単引用符を検索する命令を検索エンジンに与えようとするならば、その検索エンジンの仕様に従って単引用符をエスケープする必要があると思われます。そうしないとその検索エンジンでは単引用符を検索できないからです。

この単引用符が「サニタイズ」の対象なのであれば、例の「サニタイズ」の定義により、「単引用符」は「危険な文字列」である必要があります。

この「単引用符」は危険ですか?危険だとするならば、なぜですか?

[3057] Re: 「サニタイズ言うな?」

ばけら (2005年7月15日 21時49分)

>そういう問題ではないのではないかと思います。

>これまでの話では二番目のものについてはなにも述べていません。

>「危険な文字列」というものがなぜ「危険」なのかを考えると、話のかみ合わなさの原因が見えそうな気がします。

 なんだかよく分からなくなったのですが、例を上げて説明していただけませんか?

[3056] Re: 「サニタイズ言うな?」

名無しさん (2005年7月15日 21時38分)

> うーん、結局はとらえ方の違いなのでしょうか。

>

>・「危険な文字列」というものがそもそも存在しない

>・「危険な文字列」が適切にエスケープされている

>・エスケープ不可能な「危険な文字列」が存在するのでサニタイズが必要

>

> のうち二番目のものについて、サニタイズを目的とした処理ではないとしても結果的にサニタイズされているのであり、サニタイズ処理であると言って良い、というのが私の見方です。

> が、それはサニタイズではない、とするいう見方も可能だということですね。

そういう問題ではないのではないかと思います。

これまでの話では二番目のものについてはなにも述べていません。

「危険な文字列」というものがなぜ「危険」なのかを考えると、話のかみ合わなさの原因が見えそうな気がします。

蛇足かとは思いますが、先の定義は「鳩丸ぐろっさり (用語集)」からの引用です。

[3055] Re: 「サニタイズ言うな?」

ばけら (2005年7月15日 21時16分)

>高木さんが思っているサニタイズのイメージは「本来は必要ないがセキュリティ上の問題を解決するためだけに仕方なく入れる処理」というものだと思います。

 あ、なるほど。そう考えるとしっくり来ますね。

 私の中の「サニタイズ」の定義には「本来は必要ない」という部分が無かったので、そこが食い違っていたのでしょう。

[3054] Re: 「サニタイズ言うな?」

ばけら (2005年7月15日 21時8分)

>このことから、「危険な文字列」というものがない以上、本来的な意味でする特定の文字のエスケープはサニタイズに該当しない、として論理的に問題ないように思われますが、いかがでしょうか。

 うーん、結局はとらえ方の違いなのでしょうか。

・「危険な文字列」というものがそもそも存在しない

・「危険な文字列」が適切にエスケープされている

・エスケープ不可能な「危険な文字列」が存在するのでサニタイズが必要

 のうち二番目のものについて、サニタイズを目的とした処理ではないとしても結果的にサニタイズされているのであり、サニタイズ処理であると言って良い、というのが私の見方です。

 が、それはサニタイズではない、とするいう見方も可能だということですね。

[3053] Re: 「サニタイズ言うな?」

りゅう (2005年7月15日 20時58分)

私は『サニタイズって言うな』キャンペーンに激しく同意というか、以前から同じことを思っていましたが、皆さんそうでもないんでしょうか。

高木さんが思っているサニタイズのイメージは「本来は必要ないがセキュリティ上の問題を解決するためだけに仕方なく入れる処理」というものだと思います。というか私がそういうイメージを持っています。

XSSや各種インジェクション系などの脆弱性の原因となる特殊文字のエスケープし忘れというのは、つまるところバグです。セキュリティ上の問題とかいう前にまず正常に動作していないわけです。これらの問題が起こらないようにする処理は正常に動作させるために必要だから入れるのであり、セキュリティ上の問題のためだけに入れるものではありません。なのでこの処理のことを『サニタイズって言うな』と思うわけです。

正常に動作させるために必要な特殊文字のエスケープや除去処理のことをサニタイズと呼ばないとすれば、ほとんどのWebアプリではサニタイズは必要ないと言えるのではないでしょうか。

[3052] Re: 「サニタイズ言うな?」

名無しさん (2005年7月15日 19時28分)

>>その感覚でいうと、

>>> 問題が起きる文字列をエスケープして処理する

>>というのはサニタイズには該当しないのではないかと思います。

>

>「サニタイズ」という観点からするとそれはサニタイズになっているのですが、そもそもそれは「サニタイズ」という観点から求められるべき事柄ではなくて、普通に行われているべきことだろう、という話……ですよね。

サニタイズの定義を

>プログラミングの用語としては、危険な文字列を含む「汚染された」入力から危険な文字を取り除き、無害化することを指します。

のようにしたならば、

>それが正しくできていれば、「悪意ある入力」というものは基本的にはその意図どおりの効力を持った状態では存在できなくなります。入力データに命令を紛れ込ませることはできなくなるからです。

このことから、「危険な文字列」というものがない以上、本来的な意味でする特定の文字のエスケープはサニタイズに該当しない、として論理的に問題ないように思われますが、いかがでしょうか。

>「サニタイズ」という観点から求められるべき事柄ではなくて、普通に行われているべきことだろう

このこと自体はそのとおりでしょう。

しかし、

>「サニタイズ」という観点からするとそれはサニタイズになっているのですが

上の論理で言えば、ここにいう「サニタイズ」は先の定義で述べられているものや、「必要性は本来ないはず」(高木さん)の「サニタイズ」とは別のものになっているように思われます。

[3051] Re: 「サニタイズ言うな?」

ばけら (2005年7月15日 14時51分)

>ちなみにそのサイト、一般的にはかなり信頼されているので、迷惑的な使い方をされると信用に傷がつくのではないかと思います。いちおう教えてあげた方がよいでしょうか?

 それはなんとも言いがたいです。

 どちらかというと、直接お知らせするよりも IPA に届け出る方がおすすめです。脆弱性なのかどうかという点も含めて判断してくれますし、無用な面倒に巻き込まれたりしませんので。

 ただ、様式に沿って届出を書くのはちょっと面倒くさいですが……。

[3050] Re: 「サニタイズ言うな?」

ばけら (2005年7月15日 14時35分)

>その感覚でいうと、

>> 問題が起きる文字列をエスケープして処理する

>というのはサニタイズには該当しないのではないかと思います。

「サニタイズ」という観点からするとそれはサニタイズになっているのですが、そもそもそれは「サニタイズ」という観点から求められるべき事柄ではなくて、普通に行われているべきことだろう、という話……ですよね。

[3049] Re: 「サニタイズ言うな?」

かんな (2005年7月15日 14時13分)

>任意の内容を任意のメールアドレスに送れるのであれば、「メールの第三者中継」が可能ということになります。

パラメータにそれっぽいキーワードがたくさん含まれていたので、きっとそうだろうと思っていましたが、実際は任意の内容を送信できるわけではないようです。(じゃあ、何のためにあんなに怪しいパラメータが含まれていたのか謎すぎますが……)

いろいろ試してみると、そのサイトのドメインを含むURLしか送信できないようになっていました(ほっ)。ただ、そのサイトはリダイレクタを提供しているので、そのサイト内のページと見せかけつつ、全く別のページにリダイレクトするURLを送信させることができました。

ちなみにそのサイト、一般的にはかなり信頼されているので、迷惑的な使い方をされると信用に傷がつくのではないかと思います。いちおう教えてあげた方がよいでしょうか?

[3048] Re: 「サニタイズ言うな?」

名無しさん (2005年7月15日 13時24分)

高木さんの言う「適切にプログラムを記述す」るというのは、データや命令等について、情報としてのメタレベルを適切に判断し、それらをそれぞれのメタレベルに合わせて適切に扱う、ということではないでしょうか。

それが正しくできていれば、「悪意ある入力」というものは基本的にはその意図どおりの効力を持った状態では存在できなくなります。入力データに命令を紛れ込ませることはできなくなるからです。そうであれば、「消毒」としてのサニタイズは必要ないはずです。

その感覚でいうと、

> 問題が起きる文字列をエスケープして処理する

というのはサニタイズには該当しないのではないかと思います。

[3047] Re: 「サニタイズ言うな?」

ばけら (2005年7月15日 12時49分)

>例えば"このサイトのURLを携帯に送信する"というフォームがあって、パラメータを改竄するとそのサイトのURLじゃないものを送信できるようになっていた場合、脆弱性になりますか?なるとしたらどういう分類になりますか?

 任意の内容を任意のメールアドレスに送れるのであれば、「メールの第三者中継」が可能ということになります。IPA に届け出ると脆弱性として処理されるはずです。

# しかし、改めて vuln2005q1.pdf をみたら、第三者中継って3件しか処理されてないんですね。意外に脆弱性と思われていないのかも。

[3046] Re: 「サニタイズ言うな?」

くろいの (2005年7月15日 11時36分)

やあ、それは任意のメールアドレスに任意の文章やデータを送れる上に送信者が自分の情報をけっこう秘匿できますね。スパムやフィッシングメールの送信に使うもよし、ウイルスを送りつけるもよし。特定の人物に嫌がらせのメールを延々と送りつけてもそのWEBアプリまでしかとりあえずはたどれません。

OPENなsmtpサーバより性質が悪い。

黒い夢が広がっちゃうなあ。

そのまま「任意の内容を送信できる脆弱性」と呼ぶしかないのでは。

送信内容が固定でなければ脆弱性は残ったまま。

[3045] Re: 「サニタイズ言うな?」

かんな (2005年7月15日 10時6分)

パラメータ改竄の話なのですが、どこまでできれば脆弱性と呼べるのでしょうか?

例えば"このサイトのURLを携帯に送信する"というフォームがあって、パラメータを改竄するとそのサイトのURLじゃないものを送信できるようになっていた場合、脆弱性になりますか?なるとしたらどういう分類になりますか?

教えて君になっていてごめんなさい;

[3044] Re: 「パートナーシップガイドライン改定」

ばけら (2005年7月12日 13時43分)

>記事のタイトルでは改定なのに、本文が改訂なのが微妙に気になります【謎】。

 意味的にはどちらでも通じるのですが、改訂に統一しておきました。

[3043] Re: 「パートナーシップガイドライン改定」

えむけい (2005年7月11日 22時22分)

記事のタイトルでは改定なのに、本文が改訂なのが微妙に気になります【謎】。

[3042] Re: 「不正アクセスではない!?」

ばけら (2005年7月11日 17時55分)

>実は1台のマシンにIISとSQL Serverあたりをぶちこんで、MDか何かでデータ移動して手動で配置しとった、とかかも?と邪推しちゃうわけですが。

 いちおう、

 によると「約60台のサーバ群からなるシステム」だったようです。

 何かしら CMS のようなものがあるのだろうと思うのですが、逆に「外部から FTP でファイルを転送しない」= FTP によるアクセス制御機能が無い、ということで訴追できない可能性は有るのかもしれません。

[3041] Re: 「不正アクセスではない!?」

苗牟 (2005年7月9日 13時49分)

実は1台のマシンにIISとSQL Serverあたりをぶちこんで、MDか何かでデータ移動して手動で配置しとった、とかかも?と邪推しちゃうわけですが。

Webページからアップロードにしろ、これだったにしろ、素敵な管理体制ですねぇ。

[3040] Re: 「不正アクセスではない!?」

ばけら (2005年7月8日 12時51分)

>まさか、ディレクトリのファイル一覧からクリックして辿りつけるところにデータが置いてあったなんてことはないでしょうね。

 さすがにそれは無いと思いたいですけれど……。

 報道によると SQL インジェクションらしいですが、詳細が公開されていないのでなんともいえないですね。

[3039] Re: 「不正アクセスではない!?」

ばけら (2005年7月8日 12時49分)

>ftpを使ってなくてブラウザでアップロードしてたんじゃないですか【投げやり】。

 あー、なるほど、それはあるかもしれません。

 さすがにあの規模になると、手でつくったコンテンツを FTP で転送なんてことはしていないでしょうから、FTPのポートが開いていなかった可能性は高いと思います。

最近の日記

関わった本など