ニュース
Yelp(企業・サービス)
Meta / Facebook / フェイスブック(企業・サービス)

YelpのセキュリティホールでFacebookユーザのデータが危機に–'Instant Personalization'はやはりヤバそうだ

次の記事

Yahooは画像を使って検索のマーケットシェアを増加–ただしそのやり方は?

FacebookのInstant Personalizationには不運がまだ足りなかったのか、今夜(米国時間5/10〜11)はこの機能をさらに不安に思わせてしまうようなセキュリティ関連のニュースが飛び込んできた。WebのセキュリティコンサルタントGeorge Deglinが発見した弱点を悪用すると、ユーザが何もしなくても、ほかのサイトからFacebookユーザの名前、メールアドレス、Facebook上で’everyone’で共有されているデータなどを簡単に取り込むことができる。この特定の弱点はつぎあて(パッチ)がされたが、背後にあるセキュリティの問題は残っている。

その弱点に乗じた攻撃は、クロスサイトスクリプティング(XSS)を利用して悪意あるコードをYelpに注入する。通常そのような攻撃はFacebookのユーザにとって広範囲な脅威を意味するものではないが、しかしYelpはご存じのように、Facebookの、疑問視する声も多いInstant Personalizationに適したサイトと思われていた3つのサイトの一つだ。この機能によってYelpは、ユーザが訪れたらすぐに、そのユーザの主なFacebookデータのかなりの部分にアクセスできる。ユーザのログインや、Connectボタンの押し下げなどとは、無関係にだ。でもこの便利さにはリスクが伴う。Instant Personalizationを使っているサイトが攻撃されたら、どんなFacebookユーザでも危険にさらされてしまうのだ。

攻撃の概要は、次のように説明されている:

私が作ったスクリプトの例では、ブラウザ上でYelp.com用に設定されている(Facebookの)クッキーを捕捉し、Facebook APIへのOpen Graph APIリクエストをするために必要なキーを取り出し、そのキーを私のサイトへ送る。私のサイトは、そのユーザの名前やメールアドレスなどなどをリクエストし、それをデータベースに保存する。

つまり、ユーザがその悪意あるサイトを訪ねると、Yelpがアクセスできたそのユーザのデータをただちに取られてしまう。Yelpが自動的にアクセスできたデータは、そのユーザのメールアドレス、名前、プロフィールの写真、現在の位置、フレンドのリスト、ネットワークなど大量だ。うっかり何かをクリックしたらとか、そういうアクションはいっさい関係ない。その悪意あるサイトは、ユーザがYelpに行ったことがなくてもそれができる。なお、ふつうのFacebook Connectのサイトではユーザのメールアドレスへのアクセスには特別の許可が要るが、Yelpは自動的に何もしなくてもアクセスできてしまう。

運良くDeglinは、善人の一人だ。セキュリティホールを指摘されたYelpとFacebookは、Instant Personalizationを1〜2時間遮断して対策を施した。

しかしそれでも、不安がぬぐい去れたわけではない。Instant Personalizationは、わずか3つのサイトでこれまで数週間使われただけだ。そのうちの一つが、早くも問題を起こした。XSSに対する脆弱性はどこにでもあるから、Facebookがもっと多くのサイトでInstant Personalizationを展開すれば同様の攻撃が実際に起こりうる。また、Farmville.comやCNNのようにFacebook Connectのユーザの多いサイトも、同様のセキュリティ問題を抱えやすい。つまりそれは、セキュリティが完璧ではない。

以下は、両社が今回発表した声明文だ:

Yelp:

弊社は弊社のFacebook実装にあるバグの通知をいただきました。弊社はその機能をただちに遮断し、対策を施し、再度復活いたしました。ユーザの情報はいっさい被害にあっておりません。

Facebook:

弊社は本日未明に、YelpのFacebook実装にあるバグの通知を受け、その時点で関連の機能をすべて一時的に遮断し、問題を解明いたしました。Yelpもただちに問題を調査し、実装は今現在復旧して稼働しております。

Facebookには、これ以外にもセキュリティの問題が多い。たとえば、クロスドメインの脆弱性という重大問題や、ユーザのプライベートなチャットが露呈したという問題などだ。

[原文へ]
[米TechCrunch最新記事サムネイル集]

(翻訳:iwatani(a.k.a. hiwa))