Facebookで相手がいつ寝ているのかがわかる秘密のAPIが発見される
by Trish Hamme
SNSに実際の生活に即した内容を詳しく投稿することは、生活リズムや住所がバレてしまうことにつながるので、防犯上の観点からあまりオススメできません。ところが、この点に気をつけていても、Facebookをよく利用している人であれば、どんな生活リズムなのか、いつ寝ているのかということを知られてしまうような方法があることが明らかになりました。
literally words — Graphing when your Facebook friends are awake
https://defaultnamehere.tumblr.com/post/139351766005/graphing-when-your-facebook-friends-are-awake
これはliterally alexを名乗るユーザーが明かしたもの。
Facebookにはユーザーがオンラインかどうかを示す、緑色の小さなドットがあります。特定のユーザーがオンラインかどうかは、この緑色のドットをずっと見張っていれば確認することは不可能ではありません。alex氏が着目したのはここでした。
alex氏はページのソースから、このドットを表示させるために何が動いているのかを確認。掘り進めていった結果、一般公開されていない、秘密のAPIが存在することを突き止めました。
このAPIでは、Facebook上のチャットの活動履歴・モバイル向けのFacebookメッセンジャーアプリでのチャットの活動履歴・Facebookアプリのステータス(オンライン/オフライン/アイドル)・Facebookメッセンジャーのステータスなどが、それぞれUNIX時間のタイムスタンプ付きで記録されていました。
alex氏はPythonでこのAPIをたたき続けるプログラムを書き、データを収集。作業の間に、APIはユーザーが実際にはオンラインであるにも関わらず「オフラインである」という答えを返すことが時々あったそうです。こうして集めたテキストベースのデータを、matplotlibやbokehなどを使ってグラフ化したものが以下の図です。
横軸は時間の経過を示していて、縦軸がログから得たアクティビティを示します。「Awake」「Asleep」は、アクティビティをもとにalex氏は「この人物はここで寝て、ここで起きただろう」と推測したポイント。あくまでサイトやアプリでの活動履歴をもとにしているため、「起きてからFacebookにずっとアクセスしていなかった」という場合には大きく外れてしまうことになりますが、知人に聞いてみたところ、おおむね当たっていたそうです。
なお、上記の図はわざと小さく出力しているもので、alex氏の手元ではこれぐらいの大きさになるとのこと。
これらは、普段からFacebook利用時に送信されているデータを可視化しただけのものなので、意志と技術があれば誰でも同じことをやることが可能。一方で、Facebook自身もユーザーのオンライン管理のために用いているので、今すぐにやめるということは難しそう。
ちなみに、alex氏はログ取得をずっと行っている都合上、Facebookではずっと「オンライン」のステータスになっている模様。alex氏と同様のスクリプトを走らせれば、オンライン状況を攪乱することが可能です。
・関連記事
Facebookに脆弱性を指摘して報奨金を得た技術者の調査が行き過ぎだとFacebookとトラブルに - GIGAZINE
Facebook上の友達がどれ位自分に興味を持っているか数値で表す方法 - GIGAZINE
Facebookが正式にモバイルアプリがバッテリーを無駄遣いしていると認める - GIGAZINE
「Facebookの寿命はあと4年しかない」とアメリカの研究者が予想 - GIGAZINE
・関連コンテンツ