Facebookで写真を勝手に削除できる致命的バグ発見(修整済)―バックアップをお忘れなく

さて読者の皆さんはFacebookに何枚くらい写真を保存しているだろうか? そのうちで安全にバックアップされているのは何枚くらいだろうか?

先ほど明らかになったFacebookのバグは、攻撃者に多少の知識さえあれば、他のユーザーのアルバムを好き勝手に削除できるという致命的なものだった。

幸いなことに、このバグの発見者(インド在住のLaxman Muthiyah)はただちにFacebookに通報した。その結果、バグ通報報奨金として1万2500ドルを得たという。もちろんこのバグが放置されていたら生じたであろうFacebookの大損害に比べれば1万2500ドルは安すぎだが、報奨金システムというのはそういうものでやむを得ない。

いずれにせよFacebookは大急ぎで―正確には2時間ほどでバグを修整した。

Laxmanはバグの詳細をこちらで公開しているが、一言でいえば、Facebookの Graph APIがリクエストの処理にあたってユーザー認証を怠っていたのが原因だった。誰かが他人のアカウントのアルバムを削除するリクエストを送信するとGraph APIは送信者が誰かを確かめず無条件にリクエストを実行してしまう。

攻撃者のアルバム削除リクエストはたとえばこんな感じだ。

Request :-
DELETE /[相手の写真アルバムID] HTTP/1.1
Host : graph.facebook.com
Content-Length: 245
access_token=[Your(Attacker)_Facebook_for_Android_Access_Token]

犠牲者の側からみると、アルバムはある瞬間に突如消えることになる。

あまりにも単純なバグだ。こんなリクエストが通るわけがないと普通思うが、実は通ってしまう。ひどい初歩的なミスだった。

一歩間違えれば大惨事が引き起こされていたところだ。Sophos Securityによれば、Facebookの写真アルバムは単純なシーケンシャルな数値IDで管理されているという。ハッカーが簡単なスクリプトを書いて、適当な数値から始めてIDが順次増加していくようにして削除リクエストを送り続けたら、Facebookが異常に気づく前に大量のアルバムが消去されてしまったことだろう。

注意を喚起しておきたいが、Facebookは決してバックアップドライブではない。今回は助かったが、Facebookのコードに別のエラーがあれば、あなたの写真は煙のように消えかねない。大切な写真は別途安全な場所にバックアップしておこう。

画像: mkhmarketing/Flickr UNDER A CC BY 2.0 LICENSE

[原文へ]

(翻訳:滑川海彦@Facebook Google+


投稿者:

TechCrunch Japan

TechCrunchは2005年にシリコンバレーでスタートし、スタートアップ企業の紹介やインターネットの新しいプロダクトのレビュー、そして業界の重要なニュースを扱うテクノロジーメディアとして成長してきました。現在、米国を始め、欧州、アジア地域のテクノロジー業界の話題をカバーしています。そして、米国では2010年9月に世界的なオンラインメディア企業のAOLの傘下となりその運営が続けられています。 日本では2006年6月から翻訳版となるTechCrunch Japanが産声を上げてスタートしています。その後、日本でのオリジナル記事の投稿やイベントなどを開催しています。なお、TechCrunch Japanも2011年4月1日より米国と同様に米AOLの日本法人AOLオンライン・ジャパンにより運営されています。