
その話は聞き飽きた、なんて言ってる場合じゃないね。昨晩(米国時間5/10)本誌は、WebのセキュリティコンサルタントGeorge Deglinが発見したYelpの脆弱性について報じた。悪用されると、ユーザのFacebook上のフレンドリストやメールアドレスなどのデータが盗まれてしまうのだ。その手口は、クロスサイトスクリプティング(XSS)を使って悪質なコードをYelpに注入し、YelpがFacebookの問題多いInstant Personalization機能のパートナーであることを利用してFacebookユーザのデータを取り込む。そのセキュリティホールは早急にパッチされ、実際に被害に遭ったユーザデータは存在しない。
今夜(米国時間5/11)Deglinは、同じくXSSを使ってFacebookユーザのデータを危険にさらすことのできる、第二のセキュリティホールをYelpに発見した。Yelpはこの第二のホールもすでにパッチし、ユーザデータは被害に遭っていないと見ている。Facebookは当面、Yelpの上のInstant Personalizationをoffにして、もうこれ以外の脆弱性はないとYelpが確信するまでonにしない予定だ。
背景
Instant Personalizationは、この機能のパートナーになったサイト(今はYelp、Pandora、MicrosoftのDocs.comの3つ)をFacebookのユーザが訪れると、そのサイトはただちに、そのユーザのFacebook情報にアクセスできる、というもの。従来のFacebook Connectと違ってInstant Personalizationのサイトは、ユーザのログインや’Connect’ボタンのクリックなどのアクションがいっさい不要で、なにしろユーザがサイトを訪ねたらすぐに、そのユーザのデータをそのサイトが黙って勝手に共有してしまえる。だからそういうサイトが攻撃されたら、通常のFacebook Connectのサイトよりも被害が深刻になる可能性がある。
Facebookがこの機能によってYelpに無断のアクセスを許容しているユーザデータは、ユーザの名前、プロフィールの写真、フレンドのリスト、ネットワーク、ファンページ、’everyone’で共有されているそのほかの情報(ステータスアップデートや写真など…ユーザのプライバシー設定次第)である。悪意あるサイトがYelpを攻撃した場合、Facebookのユーザがその悪質サイトを訪れるたびに、そのユーザのFacebookデータが盗まれてしまう。そのユーザがこれまでYelpを一度も訪ねたことがなくても、そういう犯行が可能になる。
なぜこれが問題か
昨晩以降Facebookは、Instant Personalizationでパートナーサイトが勝手に共有してしまうユーザデータの量を切り詰めている。それまでは、YelpはFacebookユーザのメールアドレスにも自動的にアクセスできた。Facebookは、メアドの共有はバグだと言い、今後はYelpからの共有はないと言っている。ユーザのメールアドレスをFacebookが公開してしまうバグや事故がありえるという事実は、ちょっと気持ち悪いが、なにしろ直ったことは確かなようだ。
メールアドレスが除外されたとすると、この種の攻撃でアクセスされる可能性のあるFacebookのデータは、’everyone’で共有されている情報だけだ。これはいずれにしても公開データだが、問題は情報が公開か非公開かではなく、その共有のされ方だ。まったく関係のないサイトが、FacebookのInstant Personalizationからユーザデータにアクセスすること自体、あってはならないことだ。
この種のXSSホールを悪用すると、たとえば広告ネットワークからIFRAMEでやってくる広告が、ひそかに、その広告を見るFacebookユーザのデータを盗むこともありえる。そしてその広告は、ユーザの名前やプロフィールの写真を使って自分をカスタマイズすることもできるだろう。また、ユーザ認証をしないサイトがユーザを、IPアドレスではなく名前や住所で識別できたりするだろう。
ここでYelpいじめをするつもりはない。XSSに対する脆弱性はWebの至る所にあるから、今後はそのほかのFacebookパートナーサイトにも同様の悪用の可能性が生ずるだろう。結局のところ、Facebook自身がいかにセキュリティを強化しても、パートナーサイトの完全なセキュリティは保証できないのだ。
以下は、今夜の問題に関するYelpの声明:
“本日弊社サイト上の第二のXSS脆弱性に関し警告をいただき、弊社はそれをただちにパッチいたしました。このたびも、実際にユーザの情報がアクセスされたという証拠はございません。しかしサイトの監査を徹底的に行う間はFacebookの機能組み込みを一時的に停止し、監査終了とともに復活いたします。”
そして、Facebookの声明:
“弊社はYelpのさらなる脆弱性に関し警告をいただきました。弊社の全ユーザの利益のために、弊社は一時的にYelpにおけるFacebookの機能組み込みを停止いたしました。Yelpは現在、問題の早期解決に努力しています。”
(翻訳:iwatani(a.k.a. hiwa))
