
はてなブックマークの新しい登録ブックマークレットは危険 33
ストーリー by hayakawa
気をつけないと…… 部門より
気をつけないと…… 部門より
aac 曰く、
最近はGoogleへの激しい攻撃を行っている高木先生が、今度は最近リニューアルされたばかりのはてなブックマークに噛みついている。「新はてなブックマークの登録ブックマークレットは使ってはいけない」という記事だ。
新しいはてなブックマークの登録ブックマークレットは、ブックマークレットを実行したWebページ内にウィンドウのようなものを表示し、そこで登録が行えるようになっている。問題となるのは、はてなにログインしていない状態でこのブックマークレットを起動した場合だ。この場合、Webページ内の疑似ウィンドウにログインフォームが表示されるのだが、この疑似ウィンドウ内に表示されたログインフォームが本当にはてなのログインウィンドウなのかどうか、簡単には確認できない。そのため、ニセのログインフォームを表示させ、はてなのアカウント情報を盗もうとする悪意のあるサイトが登場することも考えられる。
この指摘に対してはてながどう対処するかが気になるところだが、個人的にはページ内に勝手に疑似ウィンドウを出すのは迷惑このうえないので、このブックマークレットは早々に改善して欲しいところである。
オフトピだが (スコア:5, すばらしい洞察)
子供じゃないんだからこういう書き方やめなさいよ。ウィキペディアじゃあるまいし内輪だけで面白がるサイトじゃないでしょう。そうしたいのかもしれないけどさ。
Re: (スコア:0)
やたら叩いてる人を見かけるんですが。
Re: (スコア:0)
Re: (スコア:0)
スラドの内輪的話なんだからいいんじゃないの?
ログイン (スコア:4, 参考になる)
> naoya bookmark2 ログインのところは修正しますね。後半についてはもう少し考えます。 2008/11/26
とのことです。
Re:ログイン (スコア:1)
Re: (スコア:0)
Re:ログイン (スコア:1)
部門名 (スコア:3, おもしろおかしい)
高木先生に叩かれないように、という意味に聞こえて仕方が無いw
#それだけなのでAC
Re: (スコア:0)
はてなはそういうインターフェースにするべきではない、というのはいいのだが… (スコア:2, 興味深い)
「かっこいいデザイン」は無条件に信頼されやすい、という傾向があるとするならば、
『本物よりも偽者の方が信頼されやすい』
という困った状態を作り上げてしまうだけではないかと…
# 擬似ウィンドウのバーに「嘘のURLを表示する」ぐらいはやるでしょうし…
.
じゃぁ、どうすればいいのか、という意見は思いつきません。
なにしろ偽者というのは大まかに3種類あって、
もちろん、それぞれ「どうやってユーザーを騙すか」は違うわけですが…こうなると、「見てくれ」でどうにかするのは無理じゃないかと…
fjの教祖様
Re:はてなはそういうインターフェースにするべきではない、というのはいいのだが…(オフトピ:-10) (スコア:2, すばらしい洞察)
・マフラーと手袋の色が違う。
・リベットとジャバラ関節。
・悪役顔。
Re: (スコア:0)
なんで読まずにテキトーなこと書くんかね。
Re: (スコア:0)
うわー、なんかものすごい危険な大発明しちゃってませんか?
ブラウザごとにそれぞれの標準スキンそっくりの嘘URL表示することだってできちゃいそう。
Re:はてなはそういうインターフェースにするべきではない、というのはいいのだが… (スコア:1)
擬似ウィンドウを「本物のポップアップウィンドウのように見せかける」事が可能(もちろん、ブラウザ画面の外には動かせませんが)なのはもちろん、
「本物の画面の上に、フレーム無しの擬似ウィンドウを開く事で、一見普通の入力ボックスに見えるのに実は偽装」
な状態だって作れるはずですが…
# 確か、そういうデモってもうあったと思うんだが…
なので、高木先生が「はてなのインターフェースは駄目」というのはその通りですが、じゃぁ直したら偽装されない/されにくいのかといわれると…全然そうは思えないです。
ましてや、「本物よりも本物らしい」という騙し方がある事を考えるとね。
# 「ログインの際にかっこよく専用ウィンドウが出るのは、きっと本物だからだよ。」
fjの教祖様
Re: (スコア:0)
その時アドレスバーのURLは攻撃者サイトなのだから、偽装になってませんが??
(本物サイトの上にフレーム無しの疑似ウィンドウを出すことは不可能ですし。)
Re:はてなはそういうインターフェースにするべきではない、というのはいいのだが… (スコア:1)
.jsファイルをのっとるだけでいいのだから、URLは攻撃者サイトになりませんが?
なんかものすごく攻撃方法を都合のよいものに限定していませんか?
fjの教祖様
Re:はてなはそういうインターフェースにするべきではない、というのはいいのだが… (スコア:3, すばらしい洞察)
もしそうだとすると、仰る通りユーザの被害を防ぐことは難しいかもしれません。
ですが、そもそも「安全なWebサイト利用の鉄則」 [aist.go.jp]やブログでの啓蒙など高木さんの一連の活動において防ごうとしている被害は、大雑把に言うと「本物サイトだから安全、と思っていたら実は偽サイトだった」ことに起因する被害であって、「本物サイトだから安全、と思っていたら実は本物サイトなのに安全じゃなかった」ことに起因する被害はサポートの範囲外というか、別途対処すべきことというスタンス、と私は理解しています。
参考までに前述の「安全なWebサイト利用の鉄則」のFAQ [aist.go.jp]の一部を引用しておきます。(強調は引用者)
Re: (スコア:0)
そんなことは不可能ですよ。
いい加減なことを言う前に、実際にやってみたらいいでしょう。
Re:はてなはそういうインターフェースにするべきではない、というのはいいのだが… (スコア:1)
あなたの主張が正しいなら、擬似ウィンドウも安全です。
擬似ウィンドウが危険なのは「何らかの方法で、擬似ウィンドウが表示している情報」が『はてなが意図している情報』と異なっている場合に限定されます。これは大雑把に3箇所しか攻撃ポイントはありません。
1) URLは正しいが、擬似ウィンドウが表示したい情報を提供しているサーバが実ははてなではない。
しかし、URLまでは javascript が作り出しているわけですから、問題があるとすればその先のセッションしかありえない。
これは典型的な Man in the Middle 攻撃になる。しかし、この場合そもそも擬似ウィンドウを表示している元のページ
が .js ファイルをダウンロードするときにも同じ攻撃を仕掛ける事ができる。
DHCP/DNSの段階で攻撃されているのか、どこで攻撃されているのかは多様性がありすぎるので省略。
2)擬似ウィンドウが表示するべきURLがすりかえられている
これは典型的に .js ファイルが書き換えられた後だ、と言うことに過ぎません。
3) ブラウザが嘘をついている
これはもう手の施しようが無い(ポップアップウィンドウだろうが、アドレスバーの確認だろうが、プロパティ確認だろうが
うそをつけてしまう)
上記の3箇所のどこも攻撃せず、サーバ側も攻撃せずに、擬似ウィンドウを別のサイトに接続させる方法は今の所ないはずです。
高木先生は、1, 2 あるいはいまだ発見されていない4番目の攻撃を食らったときに、擬似ウィンドウだと表示しているデータの発信源がユーザからは簡単にはわからない(故に攻撃された事に気がつきにくい)のが悪い、と言っているのです。
fjの教祖様
Re: (スコア:0)
私の主張は正しく、疑似ウィンドウは安全です。あなたは根拠なく不安なだけです。あなた個人が不安がるのは勝手ですが、あなたがの発言が無根拠に他の一般の人たちを不安がらせ、「アドレスバーを見ても駄目なんだ」とリテラシーを下げるようなことは、有害です。
Re: (スコア:0)
ブックマークされようとしているサイトの持ち主にはそれが可能です。JSには自分と同じドメインに属する物しか操作できないという制限が設けられていますが、件のブックマークレットはブックマークしようとしているサイトを改竄して疑似ダイアログを追加するため、そのサイトの持ち主はいくらでもその疑似ダイアログを操作することができます。多くの場合、そのサイトははてなが作った物でもユーザーが作った物でもないでしょう。よって、第三者によって改竄されてしまう可能性があるため、これは脆弱性になります。
通常のXSS攻撃はサイトに穴を見つけてスクリプトを注入して攻撃対象を操作する訳ですが、この逆XSS攻撃とでも言うようなこれは攻撃対象が攻撃者のサイトに注入されてきます。攻撃者にとってはカモがネギ背負ってやってくるような状態なわけで、安全でないというレベルではなく、はっきりと危険です。
ニセのログインフォーム (スコア:0)
Re:ニセのログインフォーム (スコア:4, すばらしい洞察)
> ユーザの心得は、「いかなる場合でも、入力の直前にブラウザウィンドウのガワ部分
> (「chrome領域」と呼ばれる)のアドレスバーを確認する」という単純なルールでよい。
(ここまでが既存のニセログインフォームへの対策)
で、このルールに従って今回のブックマークレットを使うと、
大抵(アドレスバーのサーバへ)パスワードを投げてはいけない状態になるはずだから、
このブックマークレット(のこのログイン要求機能)が存在する意味がないし、存在しないほうがいい。
ド素人が作ったものならともかく、プロが作って配布するようなものではないだろう
…という話だと思うんですけど、どうですかね?
Re:ニセのログインフォーム (スコア:1, 参考になる)
それより何より、本物の(アドレスバーが出る)ウィンドウなら確認のしようはあるという話です。
わかるかな。
一方Operaは(激しくオフトピ) (スコア:2, 参考になる)
Operaはポップアップウインドウでも、ウインドウ内の一部をクリックするだけでアドレスバーが表示できたりします。
(黄色くなっている箇所をクリックってOpera持っている人じゃないと分かりづらいよね?)
#Opera信者なのでID
Re: (スコア:0)
Re:一方Operaは(激しくオフトピ) (スコア:2, 興味深い)
Operaはアドレスバーを非表示にしたブラウザウィンドウでも簡単にアドレスバーを出すことはできますが、高木氏のページにも書かれているようにこのブックマークレットのウィンドウはブラウザウィンドウではなく「ページ内JavaScriptウィンドウ」です。
中身はフレームとして表示しているようなので右クリックの「フレーム」メニューで別タブとして開けば確認できますが、高木氏のページで解説されているようにOperaでなくても可能。
つまりこの件に関しては、Operaだろうが他のブラウザだろうが条件は同じです。
#ブラウザウィンドウの非表示アドレスをワンクリックで表示できるのは、かなり便利なんだけどね。
うじゃうじゃ
Re: (スコア:0)
何かポップアップウィンドウのアドレスバーを表示できることがOperaの優位性であるかのように語られていますが、高木さんも言及しておらるように、IE7とFirefox3ではクリックどころか何もしなくてもアドレスバーは常に表示されています。
IEの場合イントラネットゾーンではアドレスバーを隠すことも可能なようですが。
Re: (スコア:0)
公開鍵認証対応してほし。
ちゃんと読め (スコア:0)
が問題なんでしょ?
認証システムを使っている全てのサービスがこんなことやってるの?