« またNHKニュースでウィルスPEAR AUTHのSQLインジェクション »

15 comments

Comment from: Yasuo Ohgaki [Member] Email · http://www.ohgaki.net/
HTTP Response Splittingの時にフレームワーク開発者が感じていたであろう感覚を感じてしまう日ですね。

多分、フレームワークの開発者は

「おい、おい。それアプリで見る(適切に前処理する)のが当り前だろう」

と思っていたに違いありません。

ところで、この問題の原因のIEのバグは直っていると思っていたら違ったのですね。情報収集が足りませんでした... サイトによってはCSRFも問題ですが、情報が見れてしまうだけでも大問題なサイトも多数と思います。そういったサイトは「IEは使わないでください」と警告するしか方法がありません。困った、困った...
# CSSファイルのように見えなければOKらしいので、HTML
# がファイルCSSのように見えるサイトは要注意です。
# 詳しくはブログ中のリンク先を参照してください。

修正:あまり適切でないコメント部分を削除しました。
2006/04/02 @ 17:32
Comment from: HN [Visitor]
訴えるもなにも、こんなことで司法もちだす人いますか? そんなこと考えるまでもない。常識で考えろ。といいたいところなんですが、ギャクか皮肉か、めんどくさなくなったのかわかりませんが、www.jumperz.net で公開されていた文章もやめちゃいましたしね。どうなってるんでしょ。
2006/04/03 @ 07:09
Comment from: Yasuo Ohgaki [Member] Email · http://www.ohgaki.net/
一般論として、思っているより名誉毀損で訴えるのは簡単で「間違っている」「エンジニアとして素質を疑う」等と書くと快く思わない人の中には訴えてしまうがでる可能性もある(訴えられてしまう余地を与えてしまう)かも、思ったまでです。なんとなく間違っているリストも増えていきそうな感じでしたし。
# 私はそんなに素質のあるエンジニアと思っていないので
# 気になりません。と言うかこういう事を言われて「訴え
# てやる」と思うようであればセキュリティ対策本は書き
# ませんね。セキュリティの話は所詮「揚げ足の取り合い」
# ですから。

とにかく、ページの内容を削除する必要はないと思います。リスクが気になるようであれば書き方を多少修正する程度でリスクは無くなると思います。本当にこれくらいの事で訴訟になったりしたら有用な情報を書く方が減ってしまって困ります。ただし、コンピュータのリスク管理と同じで自分の文章や行動のリスク管理も行わないと万が一、という事もあり得えないとは言えません。それを少しだけ指摘したかったのですがやりすぎたようです。

CSRFにだけ焦点を絞ってしまったのであんな感じになったのだと思いますが、情報自体が掲載されないのは残念です。
2006/04/03 @ 08:52
Comment from: Yasuo Ohgaki [Member] Email · http://www.ohgaki.net/
ところで簡単に名誉毀損で訴えることが可能でも言いがかりような訴えをすると逆に名誉毀損返しを受けてしまいます。安くて簡単だからといって気軽にするような事ではありません。念のため。

2006/04/03 @ 09:46
Comment from: あらいしゅんいち [Visitor] · http://www.moodindigo.org/blog/
いったいなにがあったのですか?
内容をみていないのでわかりませんが、技術的文章への批判にたいして刑事責任で脅しをかけるというのは尋常ではないようにおもいます。
よほどひどいことを書かれたのでしょうか?

技術的な議論が萎縮しないよう、どのような経緯であったのかを明らかにしていただけないものでしょうか?
2006/04/03 @ 17:14
Comment from: Yasuo Ohgaki [Member] Email · http://www.ohgaki.net/
「セッションIDをフォームに埋め込むCSRF対策は技術者として素質を疑う」とか「バグを前提としていないCSRF対策を間違った対策」とする旨の記述があったのですが、これは人によっては誹謗中傷と取られかねない危ない書き方だな、と思ってコメントに書いたら私の書き方がまずかった、という話です。
# フォローのつもりの安易に名誉毀損で訴えないように、というコメントもまずかったかも知れませんね

具体的には、セキュリティ対策では人を含むデバイスを正当な理由で信頼する事が必用になります。問題になっているケースで言うと、ブラウザはサイトAからサイトBのページが参照できてはならない仕様でなければなりません。セキュリティ対策としてサイトに表示されたページは機密情報であるとする前提条件がなければなりません。この前提条件は正当な物であると考えられます。正当でないとするとWebアプリケーションには機密性を必用する情報を表示してはならない事になります。
# ページ情報が機密として扱われる為には適切なHTTPヘッダに
# よるキャッシュ制御またはTLS/SSLが必用ですが説明を省略し
# ました。

ページを記載された方は「他のサイトのページは機密情報である」とするWebブラウザの前提条件が守られなかった結果として問題が発生しているにも関わらず「セッションIDをフォームに埋め込むCSRF対策は技術者として素質を疑う」とか「バグを前提としていないCSRF対策を間違った対策」とする旨の記述をされていました。この記述の仕方が危ないなと思った部分です。セキュリティ関係で仕事をしている方には不当な理由で「素質を疑う」とか書かれると仕事に差し障りが.... 名誉回復に.... となるようなことも(本当にあるとは思っていませんが)想定できると思った次第です。

ちょうどインターネット上で年間2万件以上の名誉毀損を含む人権などの侵害があると認知されていると言う情報を聞いた後だったので「2万件とは多く、自分も気を付けないとならない」と考えていました。それで最初のコメントになった、という事です。

お騒がせして申し訳ありません。
2006/04/03 @ 17:38
Comment from: Yasuo Ohgaki [Member] Email · http://www.ohgaki.net/
slash.jpからのリファラがあったので読んで見ましたが、/.Jでもこの問題の本質を理解されずに書かれたコメントも結構ありますね。問題がわかりづらいのかも知れませんね。

コメントの書き方を気を付けないとやはり「脅し」と取られる方も多いようですね。ウンチクのつもりだったのですけど(汗
2006/04/03 @ 18:18
ちなみに XST と IE のバグは無関係ですよね。
XST(XSS+TRACEメソッド)によって、HTTPリクエスト・ヘッダが取れるかどうかは、IEのバグではないでしょう。
2006/04/03 @ 19:10
Comment from: Yasuo Ohgaki [Member] Email · http://www.ohgaki.net/
XSTのXSをXSSと解釈し、XSs+Trace=XSTと考えて、同じサイトのXSS脆弱性とTraceメソッド使用してクレデンシャルが漏洩してしまう場合だけを考えると無関係といえますが、XSTは元々はクロスサイトでのトレースメソッド問題の名前です。

私の知る限りでは、XSTの語源は「Cross Site Tracing」という名称のホワイトペーパーにあります。(正式名称は調べてください。直ぐ見つかります)このホワイトペーパーにも記述されているように古いIEのXmlHttpRequestは「外部のサイト」にもリクエストが送信できました。この外部のサイトにリクエストが送信できたバグがCSSXSSに似ていると思います。

XSTについて「Webアプリセキュリティ対策入門」にも同じような説明を入れています。安易な追加機能(XmlHttpRequest)、Webサーバに通常不必要な機能(TRACEメソッド)をデフォルトで有効化して失敗した例として、それから比較的最近プロキシを使った場合のリスク(プロキシがTRACEメソッドに応答するかもしれない)も指摘されており同じ脆弱性が形を変えて再び問題となる例として、紹介しています。

XmlHttpRequestが外部サイトへリクエストを送信できなくなっている現状ではXSS脆弱性がないとXmlHttpRequest使った攻撃は出来ません。XST=XSs+Traceとする定義でも構わないとは思いますが紛らわしいのでお勧めできる定義ではないですね。既に一般化していますか?
2006/04/04 @ 01:23
Comment from: Yasuo Ohgaki [Member] Email · http://www.ohgaki.net/
XSTネタとしてついでにもう一つ。プロキシがTRACEメソッドを応答するかもしれない、としたアドバイザリにはMSXMLのXmlHttpRequestからTRACEメソッドが削除された旨に記述がありました。しかし、そこにも問題があり、結局TRACEメソッドが削除したつもりでも、TRACEメソッドが使えてしまう状態だったようです。アドバイザリを読めば詳しく解説してあります。

この「削除(修正)したつもり」という部分もCSSXSSの問題に似ていると思います。

MSはパッチを作る場合に完全に修正するより、既存コードへの影響を最小限にする方針でパッチ作成をしているように思えます。インストールベースを考えると妥当と言える方針とは思いますが、修正したつもり、でも完全でない、というパターンは非常に多いですね。


2006/04/04 @ 09:36
ふむふむ。やはりそうでしたか。
思想、視点の違いだとは思いますが、私自身はWebアプリ開発者がWebブラウザのバグ(仕様ではなくてバグ)に付き合うのは優先度として低いのではないかと考えてます。
というのは、過去、Webブラウザのバグとして他のWebサイト上のScriptへCookieが漏洩するというバグ(これはIEからOperaからMozzilaまで幅広く出回りましたが)に対処して、Cookie保存式セッション管理を止めたという話はほとんど聞かないからです。
(それ以前に考慮すべきセキュリティが山のようにうずたかく積まれていますし、結局"「バグのない」Webブラウザのみ対応"としてしまえばいいですし)[なのでWebAppliの開発者の方々の多くはブラウザのセキュリティは責任範囲外だとおもっているのではないでしょうか]
一方でIEのバグというXSTというのがWebブラウザの仕様であるということであれば、XSS+Traceというテーマ以上に(バグは最新版で対処されますが仕様であれば永遠にそのままであるという理由で)尋常ならざるセキュリティ問題(仕様そのものがセキュリティ問題)となるでしょう。
と思いました。

(ブログのコメントはいろいろな意味で書きにくいですね)
2006/04/05 @ 22:12
Comment from: NULL [Visitor]
確かに告訴状を提出して受理されれば捜査義務が発生します。
しかし告訴状を受理する義務はありません。

なので民間人が告訴状をだしても受理されることは滅多にありません。
あしからず。
2006/04/05 @ 22:15
TRACEで内部情報を取得するということについては可能です。
セキュリティ監査の仕事で何度も内部情報を取得してます。"Cross-site" ではないですが。
しかし、リバースプロキシな環境はWebという非常に大きな集合の中でも稀な部類のような気がします。また監査報告書の中でも(SQLインジェクションなどとの比較して)大きな問題としては考えていませんよ。
traceroute可能で、大騒ぎしませんよね。
2006/04/05 @ 22:21
Comment from: あらいしゅんいち [Visitor] · http://www.moodindigo.org/blog/
ご回答ありがとうございます。なるほど、あまり深い意味はなかったのですね。先方との誤解が解けるといいですね。では。
2006/04/06 @ 12:06
Comment from: Yasuo Ohgaki [Member] Email · http://www.ohgaki.net/
確かに告訴状を提出して受理されれば捜査義務が発生します。しかし告訴状を受理する義務はありません。

なるほど。そうするとやはり民事が一番手っ取り速いと言う事なのですね。捜査するのも税金ですから無駄に使われても困ります。妥当な仕組みと思います。

そこでふと気になったのですが、捜査する、しないを警察(検察?)が判断するとなると色々な問題が考えられると思います。公正な判断となるように考えられてるとは思いますが、どのような基準なのかは興味があります。

2006/04/07 @ 09:57

Leave a comment


Your email address will not be revealed on this site.

Your URL will be displayed.
PoorExcellent
(Line breaks become <br />)
(Name, email & website)
(Allow users to contact you through a message form (your email will not be revealed.)