OpenSocialアプリ初ハック、45分で発生

次の記事

FTC「ネット広告主よ、自警せよ。さもなくば当局が…」

初のOpenSocialアプリのハックに時間はかからなかった。蓋を明けてみたら、たったの45分である。

ハンドル”theharmonyguy”を名乗る自称“ただのアマチュア”のデベロッパーが「emote」というRockYouのPlaxo用OpenSocialアプリ(詳細はPlaxoブログで)を破ったと宣言した。具体的に何をやったかと言うと、ローンチから45分未満でPlaxoのVP Marketingを務めるJohn McCreaのプロフィールにエモティコンを大量に追加したようなのだ。

McCreaは全部自分で追加したエモティコンだしアカウントにもハックの形跡はない、とメールしてきた。

がしかし、試しに私のPlaxoのアカウントをハックするようtheharmonyguyに頼んでみたところ、彼はこれをものの数分で実行、4個速攻でエモティコン付きメッセージを追加してきた。「マイケル・アーリントンで目がギラギラ」とか、「マイケル・アーリントン最高」とか。上のスクリーンショットでコメント左手にアイコンが見えるが、私が追加したものは一つもない。theharmoneyguyはその後、McCreaのアカウントにも一回エモティコンを追加した。

これ(下)ではMcCreaも否定できないだろう。:


(「McCreaはマイケル・アーリントンの言うことを信じない」3分前に更新、とある)

theharmonyguyはさらに、RockYouのコードに具体的にどんな問題があるのか教えてくれた。面白いコメントのことも。:

あそこには面白いコードがある。アプリはまだ大半の人がライブで見れないようだ。(PlaxoのJohn McCreaはこれをどうしたわけか使っている)。今は“Please wait”というiframeをロードしたっきり、そのまま変わらなくなるし。

でも注目はこのコードのコメントだ。:

// TODO: no error checking – we’re bold…(エラーチェックなし。われわれは大胆なのだ…)
// TODO: figure out why this is necessary???(何故これが必要か、考えてみよう)

あと、コードはPlaxoと「デフォルト」(Orkutらしい)との間を、しょっちゅう行ったり来たりしている。OpenSocialのスクリーンショットのどこかに出ていたと思う名前が、ハードコードされていたりもした。

if (getContainerType() == “orkut”)
{
friendIds[iNumFriends] = “11285577331363942034″;
friendNames[iNumFriends] = “Raymond Chan”;
iNumFriends = iNumFriends + 1;

friendIds[iNumFriends] = “15479081059638046412″;
friendNames[iNumFriends] = “Jia Shen”;
iNumFriends = iNumFriends + 1;
}

theharmonyguyはFacebookのアプリもハックに成功したが(Superpokeアプリなど)、あちらの方がハックは難しいと言っている。:

Facebookアプリはこんなに簡単にはいかない。Facebookアプリ一番の問題点は、みんなのアプリ関連履歴にアクセスできることだ。例えば最近まで僕はどのユーザーのSuperPokeのアクションフィードにもアクセスできた。(どんなユーザーもSuperPokeできたんだけど、Facebookがその問題を修復したかどうかは分からない。最後になるが僕は、SuperPokeアクションなら全部にアクセスできる。こっちはまだ未修復だが、これはどちらかと言うと娯楽用かな) 最後に確かめた時には他にも問題継続中のアプリがあった(例:みんなのGraffiti関連の投稿を閲覧するアプリなど)

しかしFacebookのプラットフォーム構築のやり方だと、プロフィールを書き換えたり、ユーザーに成りすます行為は段違いに難しい。こうした問題は、RockYouの側に認証コードを導入することで簡単に解決するかもしれないが、Facebookと違ってプラットフォームに備わったものではない。Facebookがこれまでやってきたような進め方で物事をセットしていなかったら、僕も今以上にFBでもこういうことが可能だったろう。

そうそう、Facebookアプリはインジェクション攻撃にも弱くて、好きなFBMLを人気アプリのカンバスページに挿入できる。しかし何度も言うけど実際問題なんにもできないのだ。何故ならアプリとインタラクトするには、そのアプリの関連コードが必要なんだが、普通はこれ入手できないからね。グーグルのiframe実装がこれと同じになるかどうかは分からないけど。

もちろんエモティコン変える程度なので悪玉のハックとは言えないが、こんなにたやすくできたところを見ると、グーグルも新プラットフォームの安定性確保までにはやるべき課題が残っていそうだ。ここをおろそかにすると、やがてもっと大きな打撃がやってくるかもしれない。

Update: PlaxoのChief Platform Architec、Joseph Smarrが、ここで紹介したアプリはとりあえずサイトから取り下げたと言っている。

やあ、今このスレッドを見つけたところ。マイケル、情報ありがとう。不具合が起きている、そう見て間違いなさそうだ。良性…つまりRockYouコードが一部でガジェットの“オーナー”と“視聴者(viewer)”の区別ができていない問題という気もするが(これは正常にキープが難しいことも)、警戒するに越したことはない。このガジェットは当面ホワイトリストから外そうと思う。

こちらでは気まぐれなハッカー予備軍に引っ掻き回されぬよう、ホワイトリストの管理には絶えず目を光らせている。プラットフォーム自体まだ仮のものだ。アイロンがけが必要なへそ曲がりの一人や二人、耐える価値充分。実働のOpenSocialコードがそれだけの利益をもたらしてくれることを願ってる。

[原文へ]

(翻訳:satomi)