none
意図しないリダイレクトについて RRS feed

  • 質問

  • asp.netで開発していいます。

    セキュリティ診断を受け、意図しないリダイレクトについてのチェック項目について指摘を受けました。

    意図しないリダイレクト対策はあるのでしょうか?

    Web上で検索したのですが、対策としては探し出せませんでした。

    どなたかご教授お願い致します。

    2011年8月9日 0:36

回答

  • yukimaiさんの作られたものの中に、どのようなリダイレクトが存在するのか、それを知っているのはyukimaiさん自身であり、他に知っている人はいません。

    どのようなリダイレクト処理をしたのか提示していただけなければ、それが「意図しないリダイレクト」なのかどうか他の人は判断することもできませんし、もしそのリダイレクトを回避する実装方法があったとしても提案することもできません。
    もしくは第三者が「それは意図した、必要なリダイレクトです」と根拠なく言ったら、それでセキュリティチェックはパスされるのですか?

    何を質問したいのか、どのような回答を望んでいるのか、ご自身で把握していますか?

    • 回答としてマーク 山本春海 2011年8月26日 5:09
    2011年8月9日 1:03
  • なによりもまず、 xxxx.jp ドメインには所有者がいます。もしかして yukimai さんの所有されているドメインなのですか? もしアドレス例として挙げたのであれば、所有者に迷惑ですので勝手に使用すべきではありません。このような場合、exmaple.jpを使うことになっています

    次にリダイレクト前のアドレスが http://localhost/ となっていますが、localhost、つまりコンピューター内部でのセキュリティチェックについての質問なのですか?
    localhost → example.jp のリダイレクトと、example1.jp → example2.jp のリダイレクトでは考慮すべきセキュリティの観点が異なります。

    本題ですが、localhost → example.jp へのリダイレクトと表現されましたが、ASP.NET上でどのようなコードを書かれたのでしょうか? その内容がわからないと判断できません。

    • 回答としてマーク 山本春海 2011年8月26日 5:09
    2011年8月9日 2:02
  • 「意図しないリダイレクト」なんて名称からして、総務省等が公共分野等に行っている診断ではないかと推測します。

    ここでいう意図しないリダイレクト処理とは、

    ユーザの操作なしにユーザエージェントを異なるURLへ移動する行為

    に対するもので、この際に使用される URL に外部からのパラメータを使用している場合に、そのパラメータに指定された別のサイトへ移動してしまう脆弱性がある場合を指しています。多くの場合は、HTTP/200 の返答や META タグや JavaScript 等による自動遷移があげられます。

    これは、サイトデザイン全体にかかることなので、ASP.NET に特有の解決策はありませんが、典型的な例としては Response.Redirect() を呼び出している場合に、Redirect() に与える URL パラメータが外部から入力されたものである場合があげられます。(総務省の診断だとクエリパラメータが例示された書類が届きますが、その値が URL のクエリにあるかどうかは厳密には関係ありません)

     ※ イントラなので外部から指摘があったわけではなさそうですね。LASDEC のツール類でのチェックかもしれませんが、まあ上記のようなかんじで、サイトデザイン全体を確認する必要があります。

    > クロスサイトフォージェリー対策のような事がされていれば、意図しないリダイレクト対策になるんでしょうか?

    概ねそうなのですが、XSRF とは攻撃元サイトと攻撃先サイトの関係が逆になります。XSRF の対策がなされているというのは防御的な面での対応ですが、「意図しないリダイレクト」は、Web サイトの脆弱性によって、XSRF の攻撃者になってしまわないための対策です。

    • 回答としてマーク 山本春海 2011年8月26日 5:09
    2011年8月9日 3:57

すべての返信

  • yukimaiさんの作られたものの中に、どのようなリダイレクトが存在するのか、それを知っているのはyukimaiさん自身であり、他に知っている人はいません。

    どのようなリダイレクト処理をしたのか提示していただけなければ、それが「意図しないリダイレクト」なのかどうか他の人は判断することもできませんし、もしそのリダイレクトを回避する実装方法があったとしても提案することもできません。
    もしくは第三者が「それは意図した、必要なリダイレクトです」と根拠なく言ったら、それでセキュリティチェックはパスされるのですか?

    何を質問したいのか、どのような回答を望んでいるのか、ご自身で把握していますか?

    • 回答としてマーク 山本春海 2011年8月26日 5:09
    2011年8月9日 1:03
  • 返信ありがとうございます

    スキル不足で申し訳ありません。

    例えば
    http://localhost/XXXXX/XXXXXX.aspx?FORM_ID=%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%9e%e3%82%b9%e3%82%bf%e3%83%a1%e3%83%b3%e3%83%86

    の場合?以降にURL を別ドメインのもの(http://www.xxxx.jp/)に変更
    してリクエストした場合に遷移したら意図しないリダイレクトになるのでしょうか?

    http://localhost/XXXXX/XXXXXX.aspx?FORM_ID=%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%9e%e3%82%b9%e3%82%bf%e3%83%a1%e3%83%b3%e3%83%86

    http://www.xxxx.jp/に変更して遷移したら意図しないリダイレクトになるのでしょうか?

    ご教授お願い致します。

    2011年8月9日 1:39
  • なによりもまず、 xxxx.jp ドメインには所有者がいます。もしかして yukimai さんの所有されているドメインなのですか? もしアドレス例として挙げたのであれば、所有者に迷惑ですので勝手に使用すべきではありません。このような場合、exmaple.jpを使うことになっています

    次にリダイレクト前のアドレスが http://localhost/ となっていますが、localhost、つまりコンピューター内部でのセキュリティチェックについての質問なのですか?
    localhost → example.jp のリダイレクトと、example1.jp → example2.jp のリダイレクトでは考慮すべきセキュリティの観点が異なります。

    本題ですが、localhost → example.jp へのリダイレクトと表現されましたが、ASP.NET上でどのようなコードを書かれたのでしょうか? その内容がわからないと判断できません。

    • 回答としてマーク 山本春海 2011年8月26日 5:09
    2011年8月9日 2:02
  • 開発しているシステムは、イントラネット環境を利用シーンとして考えています。

    また、単一アプリケーションです。

    localhost→サーバマシン名の事です。

    クロスサイトフォージェリー対策のような事がされていれば、意図しないリダイレクト対策になるんでしょうか?

     

    2011年8月9日 3:03
  • 「意図しないリダイレクト」なんて名称からして、総務省等が公共分野等に行っている診断ではないかと推測します。

    ここでいう意図しないリダイレクト処理とは、

    ユーザの操作なしにユーザエージェントを異なるURLへ移動する行為

    に対するもので、この際に使用される URL に外部からのパラメータを使用している場合に、そのパラメータに指定された別のサイトへ移動してしまう脆弱性がある場合を指しています。多くの場合は、HTTP/200 の返答や META タグや JavaScript 等による自動遷移があげられます。

    これは、サイトデザイン全体にかかることなので、ASP.NET に特有の解決策はありませんが、典型的な例としては Response.Redirect() を呼び出している場合に、Redirect() に与える URL パラメータが外部から入力されたものである場合があげられます。(総務省の診断だとクエリパラメータが例示された書類が届きますが、その値が URL のクエリにあるかどうかは厳密には関係ありません)

     ※ イントラなので外部から指摘があったわけではなさそうですね。LASDEC のツール類でのチェックかもしれませんが、まあ上記のようなかんじで、サイトデザイン全体を確認する必要があります。

    > クロスサイトフォージェリー対策のような事がされていれば、意図しないリダイレクト対策になるんでしょうか?

    概ねそうなのですが、XSRF とは攻撃元サイトと攻撃先サイトの関係が逆になります。XSRF の対策がなされているというのは防御的な面での対応ですが、「意図しないリダイレクト」は、Web サイトの脆弱性によって、XSRF の攻撃者になってしまわないための対策です。

    • 回答としてマーク 山本春海 2011年8月26日 5:09
    2011年8月9日 3:57
  • 本件は、localhost→サーバマシン名へのリダイレクトについての質問ということですか? あえて誤解を与える表現を好んで使用されているようにも受け取れますが…。

    質問内容が不十分なので、足りない部分を確認しているのに答えられないようですし、質問することが目的であり、回答を必要としているわけではないのでしょうか?

    クロスサイトフォージェリー対策のような事がされていれば、意図しないリダイレクト対策になるんでしょうか?
    意図しないリダイレクトには複数種類がありますので、クロスサイトフォージェリー対策??だけでよいとは言えません。また、スキル不足を自覚されているとは思いますが、何をもって「対策をできた」と判断されるつもりなのでしょうか? これは別スレッドでも「暗号化されているかどうか、それを確認スキルはお持ちですか?」と質問しましたけど…。
    2011年8月9日 8:29
  • 返信ありがとうございます

    まったくのスキル不足で申し訳ありません

    現状、セキュリティについての対策として、セション管理、暗号化通信などは対策はできていませんが、暗号化、セション管理の対策方法は

    分かっていますが、意図しないリダイレクトについては、まったく情報不足で、どんな事をすると意図しないリダイレクトとなるのかが

    理解できていませんので、そのあたりを含めてご教授お願いしたいところなのです。

    2011年8月9日 9:08