Facebookのメッセージは送信者を自由に偽装して送れることが判明

これちょっとマズいんじゃないかなあ。

Kampa! の人である佐田さんが見つけて教えてくれたんだけど、
Facebook のメッセージは割と簡単に他人になりすまして送れるみたい。

以下、すべて送信者と受信者の自発的な協力を得て試してみた結果です。

起きること

Facebook ではユーザーに @facebook.com のメールアドレスが与えられています。
個人ページが www.facebook.com/namaewo の人なら
namaewo@facebook.com という具合に。

そのアドレス宛にメールを送ると、
アドレスの所有者に Facebook 上のメッセージとして届きますね。

この時、そのメールの送信元メールアドレスが
別の Facebook ユーザーによって登録されているアドレスであった場合
Facebook では、そのユーザーから送られたメッセージとして扱われます。

電子メールの From は仕様上、
送信者が自由に名乗ることができますね。

ということで、例えば次のような場合

  • A さんの Facebook ID は namaewo である
  • B さんの Facebook ログイン用メールアドレスは hoge@example.com である

まったく関係のない C さんが
hoge@example.comFrom にして
namaewo@facebook.com 宛にメールを送れば
B さんになりすまして
A さん宛に Facebook メッセージを送ることができます。

こんな具合に。

これ、送信元のアドレスとは全く関係のないサーバ経由で送ったものです。
要するに送信元を偽装して送られたメールです。
それが Facebook メッセージとして相手に届いている。

誰かが Facebook に登録しているメールアドレスを知っていれば、
その人になりすましてメッセージを送れちゃいますね。

一応確認はできるけど

右のメールアイコンにマウスカーソルを重ねると

一応、メールで送られたことは確認できます。

普通に Facebook のチャット機能から送ったものはこうなるので

そこに注目すれば両者が違うということだけはわかりますね。

でも普通いちいちそんなとこ見ないし、
もし見たとしてもメール経由で正当に送られたものとの区別はつきません。
「ああメールで送ったんだなあ」と思うだけで
偽装を疑う人なんてあまりいないんじゃないかなあ。

具体的な動作

手元で確認した限りでは、次のようになっていました。

  • ログイン用のアドレスだろうが、その他の連絡先用アドレスだろうが、その人からのメッセージとして表示される。
  • 上記アドレスが公開されていても非公開でも同じく動作する。
  • Facebook の設定画面からメールアドレスを削除しても、同じやりとりのスレッドに引き続き表示される。ただしアイコンはメールのシンボルになり、送信者名はメールアドレスになる。
  • 上記のようにしても、iPhone アプリなどから見た場合は送信者名がメールアドレスではなく空白になる。
  • 送られたメッセージは送信者その人からのものとして扱われるので、両者が友達などである場合は「その他」ではなく通常のメッセージボックスに入る。
  • Gmail アドレスを送信元とした場合はメールの印の横に警告アイコンが出て

    そこにマウスカーソルをあわせると 送信者「*****@gmail.com」を確認できません と表示される。

また、メールアドレスを連絡先として
自発的に登録したことがないユーザーであっても
ログインに使うメールアドレスなら同じことができるようでした。

要するに

Facebook に預けてあるメールアドレスを他人に知られると
自分になりすましてメッセージを送信される危険があります。

さらに困ったことに

送信はされても、自分の Facebook のメッセージボックスには
その送信記録は残りません。
だから送られても気づくことができない。

メッセージを受け取った人がそれに返信をした場合、
その返信は送信元のメールアドレスにメールとして送られるので
それを見れば発見することはできるかもしれませんが。

思いつく対策

Facebook のプライバシー設定などでは
これを防ぐ方法がわからなかったので、
もしうまい方法をご存じだったら教えてください。

とりあえずできることとして

  • Facebook の登録用メールアドレスは、誰にも知られていないものを使うか、それ用のものを新規に発行して使う
  • Facebook には追加のメールアドレスを登録しない
  • 既に登録してしまっている場合は、削除や変更を行う
    (すでに本人と関連づけられているスレッドには表示されるけど、アイコンは別のものになるので危険度が少しだけ減る)

ぐらいでしょうか。

すでに登録済みのものについては
あくまで「しないよりマシ」であって
根本的な対策にはならないけど。

もう Facebook でやりとりするときは
毎回合い言葉を唱え合うことにしようかなあ。

まさに自分がそうなってた

うっかり他人から知られる可能性のあるアドレスで登録してた。
最低限の対策はすぐにとったけど、こわいなあこれ。
知らないところで勝手に誰かを傷つけたりしてたらどうしよう。

ともかく知らなかったらずっとその状態だったと思うので
教えてくれた佐田さんには感謝です。

あ、佐田さんといえば
手数料無料で15円からカンパを募ったり送ったりできる
ソーシャルカンパサービス Kampa! というサービスをやっている人ですね。

へー、おもしろいサービスだなーこれ。

追記

「これ電子メールのなりすまし問題と同じことじゃないの」
というご意見をいただきました。

そう思います。
電子メールで送信元の偽装が可能であることに起因する問題ですよねこれ。

ただ、この件にはメールより悩ましい問題がありそうです。

個々の利用者の感覚に関する問題としては

  • Facebook はある程度囲われた場所たと思っていたのに、外からの差し込み口があった
  • 知人のものとして認識しているアイコンも一緒に表示されるから、ぱっと見で本人だと思いやすい
  • そのメッセージがメールから送られたものであるということに気づきにくい

というあたりもあるんだけど、
最大の問題点は

  • 通常の電子メールと違って、手元ではヘッダ情報等を確認することができない

ということじゃないでしょうか。

Facebook 側で対応してくれない限り、
技術的に送信者の偽装を検出するための情報がなさそうです。
なのでメールみたいにスパムフィルタが作れない。

ただ Facebook がメールの送信元ドメイン認証でもして
認証をとおらないものは「その他」などのフォルダに自動で振り分けたりすると、
今度は「送られたメッセージに気づいてなかった!何てことしてくれるの!」
という別の悩みにつながってしまうかもしれない。

もうこの件については
メール経由での Facebook メッセージ受信を廃止してくれるのが
一番いいような気がするんだけどな。

そう思うのは単に自分が普段この機能を使ってないからでしょうか。

参考資料

サングラス偽装型CMOSカラーカメラ
サングラス偽装型CMOSカラーカメラ

関連エントリ

  • このエントリーをはてなブックマークに追加