良い人に見つけられてよかったです。
あるセキュリティ・リサーチャーが、Facebookでとんでもないバグを発見ました。たった4行のコードで、第三者からFacebook上の写真アルバムを削除できる状態だったんです。マーク・ザッカーバーグCEOの結婚式写真も、赤の他人の高校の卒業アルバムも、公開されているアルバムならすべてです。でも幸い発見者はこれを悪用することなく、Facebookにすぐさま連絡してくれました。
Facebookのセキュリティチームだってユーザーデータの管理には万全を期していると思われますが、どんなに綿密にバグをチェックしたって漏れがないとは限りません。なのでFacebookには報奨システムがあって、重要なバグを見つけてFacebookに連絡した人には、その重要度に見合ったお金が支払われることになってるんです。
で、どんなバグがあったのか具体的に見ていきましょう。セキュリティリサーチャーのLaxman Muthiyahさんは、FacebookのGraph APIをいじっていてふと「自分が知らないところで写真が削除されたらどうだろう?」と思ったそうです。で、そんなことが可能になる方法があるかどうか探し始めたところ、意外と簡単に見つかってしまったんです。何をしたのか、Laxmanさんはこう書いています。
Facebook for mobileのアクセストークンで試すことにした。というのは、モバイルアプリだと全写真アルバムを削除するオプションが見えるし、そっちも同じGraph APIを使っている。だからアルバムIDとFacebook for androidのアクセストークンを使って、試してみた。
ここでちょっと用語を解説します。Facebookのアクセストークンというのは、アプリからユーザープロフィールにアクセスできるようにするための文字列です。たとえばあるゲームにFacebookプロフィールでログインしようとすると、Facebookがそれ固有のアクセストークンを生成しているんです。LaxmanさんはFacebook for Android用のトークンと任意の写真アルバムID(Facebookで写真アルバムとか写真を表示したときにURLに含まれるランダムな数字列)を使ったんです。下のコードの中で"DELETE /"というコマンドの次に入れられている数字列がアルバムIDです。
というわけで、LaxmanさんがFacebookのGraph APIに対し入力したのは、このたった4行のコードでした。
で、Facebookのサーバーから返ってきた返事は、これでした。
これはアルバムが削除されたことを意味します。Laxmanさんは実際この操作をする様子を動画で公開しています。
ほんとにアルバムが消えているのがわかります。でも幸いLaxmanさんはFacebookにすぐこのバグを報告し、2時間以内には修正されたそうです。
Naked Securityのブロガー、Mark Stockleyさんは、Laxmanさんがこの発見を悪用しなかったことを称賛しています。アルバムIDは連続した数字なので、Laxmanさんはボットを作って可能な限りのアルバムを削除し尽くすことも可能だったはずです。またはこの発見をネタにFacebookを脅して、もっと多額の報奨金を手に入れることだってできたかもしれません。
でもLaxmanさんがきちんとFacebookに報告したことで、問題のバグは完全に修正されました。で、彼がFacebookからいくらもらったかというと、1万2500ドル(約148万円)です。それなりに多額ではありますが、このバグが悪用されてた場合にFacebookや我々ユーザーがこうむったであろう損失を考えると、ゼロもうひとつ追加してもおかしくないのかもしれません。
source:7xter via Naked Security
Adam Clark Estes - Gizmodo US[原文]
(miho)