フィッシングを容易にするGoogle Public Service Search

Googleの“新しい”サービスにユーザー名とパスワードを入力するときは用心した方がよさそうだ。開発者Eric Farraroが、GoogleのPublic Search Serviceに潜在的な欠陥 があることを明らかにした。悪意のある(または、いたずら好きな)人物が偽のGoogleログインページを仕込んでGoogleの本当のサービスのユーザー名とパスワードを収集することができるという。

今朝、Ask MetaFilterでGmail Plusという偽の新サービスに関する質問に目が留まった。www.google.com/u/gplusというURLは私には本物のように思えた。カフェインを投入する前だったら、どんなサービスが始まるのか知るために、自分のGoogleユーザー名とパスワードを入力していただろう。しかし、書かれているコメントを読み進めるうち、サインインするのはとんでもないことだとわかった。

結局、このページはFarraroが、GoogleのPublic Service Searchに潜在的な弱点があることを示すために作成したものであった:

このサービスは、大学や非営利団体が自分のWebサイトに‘Google’検索を追加するためのものです。Googleの他のフリーサイト検索との違いは、検索結果ページのヘッダーやフッターをカスタマイズできることです。ヘッダーやフッターのコードが団体のサーバー上で実際にGoogleによってホストされる点が変わっています。

実際、私がこのサイトを見つけたのは、運用中のページにGoogle検索を追加するよう依頼されたときでした。デフォルトの動作で人々が感じていた問題は、初期検索ボックスは同意のもとでカスタマイズできるのに、結果ページに表示される検索ボックスには手を付けられないことでした。なぜ問題かと言えば、人々がラジオボタンにデフォルトの‘WWW’や‘some other domain’ではなく、具体的な名前を付けるよう求めていたからです。ちょっと気になったので、どうすれば切り抜けられるか、あれこれ考えました(利用規約違反のことも頭をよぎったのですが)。そして簡単なJavascriptのアラートを試してみました。思ったとおり、ページを‘プレビュー’すると、スクリプトが実行されました。面白い…

DOMを変更するために私はJavascriptを使い始めました。これで結果ページの検索ボックスを変更できます。次に、別のアイデアを思い付きました。ヘッダーが最初にレンダリングされ、次にGoogleの結果、そしてフッターが表れることがわかったのです。そこで、Google検索の結果をDIVタグ内に入れてカプセル化し、一番下でDIVタグを閉じることにしました。そのすぐ後、フッター内でJavascriptの‘document.getElementById(divID).innerHTML’プロパティを使用し、ここが重要なのですが、Googleの検索結果をすべて非表示にしたのです。こうして、Google.comアドレスでホストされた、白紙のページができることがわかりました。

たいていのフィッシング詐欺は怪しげなURLを持つので、ある程度用心深い人なら簡単に気づくだろう。しかし、Google Public Service Searchの場合、ユーザーはサービスがGoogle自体でホストされているとは思いも寄らない。“u/servicename”というURLは、Public Serviceのことをまだ知らない人にとっては、奇妙なものに見えないのである。

Farraroによれば、彼はこのバグをGoogleセキュリティに通知したが、当面は用心して、u/servicenameという構造を持つGoogleサービスにはGoogleユーザー情報を入力しないことにしているという。

NewsForge.com 原文