2011-08-17
mixi足あと廃止に寄せて
|mixiが6年以上に渡って放置してきた足あと機能を使って訪問者の個人特定が可能な脆弱性を修正した。簡単に説明するとmixi以外のサイトからでもユーザーに気付かれずに、その人のmixiアカウントを特定するということが出来たが、出来なくなった。(正確にはユーザーが気付いたとしても特定された後)
アダルトサイトが訪問者のmixiアカウント収集したり、ワンクリック詐欺サイトがmixiアカウント特定して追い込みかけたり、知らない人からメッセージ送られてきてURL開いたらmixiアカウント特定されてたり、そういうことが今まで出来ていたのが出来なくなった。
過去にもいろんな人が言及してるし、すでに終わった議論だと思ってる人もいるだろう。世間一般にどれぐらい認知されていたのかはよく分からないが、少なくとも技術者やセキュリティ研究者の間ではよく知られている問題だった。
- http://internet.kill.jp/wiki/index.php?%B5%BB%BD%D1%2Fmixi%C2%AD%A4%A2%A4%C8%A5%ED%A5%B0%CC%E4%C2%EA%A4%DE%A4%C8%A4%E1%A5%B5%A5%A4%A5%C8
- http://www.fladdict.net/blog-jp/archives/2005/12/mixi.php
- http://d.hatena.ne.jp/yaneurao/20060202#p1
- http://hxxk.jp/2006/02/03/0007
- http://twitter.com/#!/lumin/status/77772103918690305
twitterに書いて結構RTとかされたんだけど、多分周知が十分ではない気がする
「訪問履歴が残る」という部分については今でも検証できるので、キャプチャを取っておいた
自分はこの修正を全面的にではないが支持している。が、足あと機能の復活を求める署名運動などが始まって色々面白いことになってて、あー、この人達は足あと機能の存在に何の疑問も持ってこなかったのかー平和だなーと思っていたのだけど、色々見過ごせないことが多くなってきたのでブログに書く次第です。
何のためにこんなことを書いているのか
足あと機能の廃止によってセキュリティが低下したとする主張を見過ごすことが出来ないためです。
典型的にはこういったものです
すべての足あとが表示されないのはセキュリティ上不安
新しい『先週の訪問者』では、「友人」「友人の友人」「mixi同級生」「同僚ネットワーク」 しか表示されない。
つまり、全く関係ない垢の他人や第三者は一切表示されなくなります。
これでは、何らかの悪意を持つ誰かが「ログイン時間のチェック」を繰り返すなどのストーカー行為を繰り返していても対処ができくなる。
また、誰が日記を読みにきたかもわからない。
・反対派の会員の間には、リアルタイムでの足あと表示がなくなることにより
「ストーカー対策やプライバシー保護などに関して、 セキュリティの低下では
ないか?」と心配する意見も出ているようですが、御社としてはどのようにお考
えでしょうか?
自分の情報を誰が参照したのか分かるようにする、という方式のセキュリティも勿論あるだろうし、それについて否定をしているわけではない。しかし、足あと機能が存在することによって生じてきたセキュリティやプライバシー上の問題について十分な理解のないままで「セキュリティが低下した」という主張を通すのは無理がある。ストーカー行為を問題だとするならば、ストーカーが足あと機能を使ってあなたのmixiアカウントを特定するといったことも出来た。そのユーザーに関する全てのページで足あとが付くわけでも無かったし、例えばマイミク一覧を表示するlist_friend.plなんかは足あとが付かないしマイミクの増減監視して交際関係にあった誰と誰が別れただとか特定するネットストーカーの話なんてのは、皆さんよくご存知のとおりですね。足あと機能を監視カメラに例えている人がいたが、その監視カメラはそもそも写らないこともあってぶっ壊れていたし、取り外してmixiの外に設置することが出来た。
アカウント特定されて何か問題あるの?
外部サイトからアカウントを特定される問題について述べたときに「どうせ漏れるのは公開情報なので問題が無い」という主張をする人が(たまに)居るのだけど、それは問題を軽視している。もちろん秘密の情報を読み取られる方が、深刻な脆弱性ということになるけれど、あなたが匿名でいることを選択したときに(自分が誰であるのかをまだ教えていないときに)相手にとって自分が誰であるのかということは「非公開情報」だ。
ログインしたままで居ると他のサイトからでも情報を取得できる(他のサイトに入力した情報が読み取られる)ということが、脆弱性ではなく「そういうものだ」と受け入れられてしまってはいけない。それは、インターネットにおけるサービス全般の信用を損ねてしまうからだ。(ただし、現実的な問題として、この手の脆弱性は多くのサイトにあるので、ユーザーが適宜ブラウザのシークレットモードを使うなどして自衛したほうがいい)
外部サイトで把握している既存のidと関連付けられたり、収集したidが売り渡されたり、交換されたりする行為が行われていてもユーザーが気付くことが出来ず、技術的・法的に十分な抑止力がない。ついでに、mixiがソーシャルアプリのサードパーティに対して生のユーザーidを渡さないようにするという変更方針を出してることも参考にすべきで、足あと機能を通じて訪問者のidを気軽に取得できるという状況を放置したままで、こういった変更を行っても片手落ちということになる(優先順序おかしいとツッコミが入るだろう) http://developer.mixi.co.jp/news/news_apps/16239/
mixiは足あとを使ったトラッキングについて知っていたのか?
勿論知ってる。6年前から知ってる。笠原社長も知っている。知っていたが対策をしてこなかった。
- http://b.hatena.ne.jp/kusigahama/20060203#bookmark-1329065
- http://yagi.xrea.jp/2005/12/mixilogfull.png
また、方法は違うけれどFacebookにおいても同様の問題、訪問者のアカウントを意図せずに取得可能である(実名登録してれば実名がわかる)という文章を書いてFacebook日本法人の社長に送りつける際にmixiのCTOを伝言係に使った(前回の日記参照)。その際に「mixiにも関係のあることだと思います」と言付けしたので、そういった行動がmixiの判断に何らかの影響を与えた可能性がありますが17000人に恨まれるのはゴメンだ。
悪用されないように対策すればいいだけじゃないの?
外部サイトに埋め込まれた場合には足あとを付けないという対策は出来ます。簡単にいえばmixiのページを表示した後に、追加で足あとを記録するための画像をロードするなりスクリプトを実行するようにすれば可能です。そういった変更を加えることで意図せずに足あとを付ける、というケースを防ぐことが出来ますが、その場合には(ブラウザ内で行われる足あと記録のための処理をブロックすることで)足あとを付けずに訪問することも可能になります。足あと機能を監視カメラの類だと思っている人からすれば、訪問しても足あとを残さない抜け穴を作ることになります。
「悪用されないように脆弱性だけ修正することはできないの?」か、と言われれば「大幅な仕様変更を加えない限り、不完全な対策しか出来ない」 http://twitter.com/#!/bulkneets/status/103836004267458560
なぜ5年も6年も放置されてた問題を今直す必要があるのか?
UIエンジニア的観点から言うと、イイネボタンが読んだことを伝える機能の代替手段として十分に機能するだろうという算段が整ったからでしょう。そして一部のユーザーの反発を買っているが、いつものことで仕方ないと思ってるんでしょう。提示された代案が今よりマシではないと認識されることで「難しいことは分からないけど、悪用する人がいなければいいだけでしょ、良いから元に戻して!!」という感情的な反対運動に押しつぶされてしまうことを危惧しています。大変ですね。
セキュリティリサーチャー的な観点から言うと「CSRF脆弱性を放置したままログイン状態で外部サイトを訪問することを前提とした機能を開発すること自体が誤り」かつ「ブラウザがサードパーティCookieの送信をデフォルトでブロックするような流れにもなってない」ので、今、修正しないといけない。ブラウザが外部リソースをロードする際に「個人を特定しないように無個性化・匿名化してリクエストする」というのが、もしも一般的になっていたとすれば、mixi側でこの問題を解決する必要はなかった。(あくまで外部サイト埋め込みの場合は。バレても良い前提でmixiのURLを踏ませる場合には対策にならない)
もう少しくだけた言い方で書くと「それはmixiの仕様なので使い終わったらログアウトしてください」という言い訳が、もはや通用しなくなった。mixi自身が外部のWebサイトに対する埋込みのイイネボタンなどを提供するようになり、mixiにログインしっぱなしでネットサーフィンしてくれないと外部サイトとの連携機能の魅力が無くなってしまうからだ。こういった状況で「mixiにログインしたまま外部サイトを訪問すると意図せずにmixiアカウントを特定されるリスクがありますよ」と周知させないでいるのは、ユーザーに対する不義理であるだろう。
それから単純に5年6年前と比べてmixiのユーザーが増えた(訪問者がmixiにログインしている確率が高くなった)ので悪用されるリスクが高くなったというのもあるだろう。
こんな記事書いてるお前はmixiと何らかの関わりがあるのか?
親しいエンジニアが何人かいます。memcachedのデバッグ手伝ったらレッドブルが一箱送られて来たり、関連サービスの脆弱性を指摘したら茶菓子とコーヒーが送られてきたことがあるし、守秘義務に反しない程度の範囲で内情とか裏側についての情報交換をすることもある。お世話になっております、ありがとうございます、しかし俺はmixiに脆弱性があったということを大々的に広めようとしているわけですから、蜂の巣をつつくな余計なことを言うなと思われているでしょう。どうせ炎上するならそっちの方がマシだ!!!この件については何も聞いてないし俺の独断で勝手にやってる。
mixiやコミュニティに望んでいること
足あと機能に存在していた問題点について理解した上で、もう一度足あと機能が必要なものかどうか考えなおして欲しい。少なくとも「他人の足あとがリアルタイム」で表示されるのは、プライバシー・セキュリティ上の問題が大きいものだということを理解した上で議論して欲しい。
に書いてあるけど、自分は「友人はリアルタイムに反映でもいいんじゃねーの」という考えで、セキュリティ上の問題がある形で復活するようなことが無ければどうでもいい。
蛇足だけれど、足あと機能の復活を望んで署名をしているのは本当に一般ユーザーだけなのだろうか?「赤の他人の足あとも表示して欲しい」という点に重きをおいた主張をするのは、もしかすると「足あとspam行為によるアクセス稼ぎ」や「強制足あとによるid収集や名寄せ行為」によって、利益を得ていた側の人達が紛れていて扇動をしているのではないか、という邪推をしてしまう(特定の人物がそうだと言っているわけではないが、署名の水増し程度なら簡単にできる)
長文乙、終わり。
購入: 10人 クリック: 208回
- 4152 http://b.hatena.ne.jp/
- 2771 http://m.mixi.jp/bridge.pl?&url=http://d.hatena.ne.jp/mala/20110817/1313579812
- 1640 http://www.facebook.com/l.php?u=http://d.hatena.ne.jp/mala/20110817/1313579812&h=nAQBcUVxEAQD2T1zYuX-gyxW78CfoKEpt6GKlg9767uDbpw
- 1410 http://b.hatena.ne.jp/hotentry
- 1392 http://gigazine.net/news/20110818_headline/
- 1332 http://mixi.jp/recent_voice.pl?from=home_gadget
- 1288 http://www.ig.gmodules.com/gadgets/ifr?exp_rpc_js=1&exp_track_js=1&url=http://www.hatena.ne.jp/tools/gadget/bookmark/bookmark_gadget.xml&container=ig&view=default&lang=ja&country=JP&sanitize=0&v=9407c5c3e3fc71e6&parent=http://www.google.co.j
- 1134 http://m.mixi.jp/bridge.pl?guid=ON&url=http://d.hatena.ne.jp/mala/20110817/1313579812
- 1074 http://pipes.yahoo.com/pipes/pipe.info?_id=7ed2910a6358c42a7305fae463b19704
- 828 http://twipple.jp/
不具合があるのであれば直すだけです。
違いますか?
反対運動着をされている方々を馬鹿にされてますよね。
貴殿のような人に馬鹿にされたくはありません。
同じ技術者として不愉快な記事です。
他人の日記にはじめてコメントするとき、けっこう勇気がいるものです。
しかし幾度となく訪問したことがある人の日記なら気軽に書き込めます。
その人のところに自分の足跡があるはずで、その人もまた、自分の所を踏み返してくれているのを確認できるからです。
互いに相手を認識した上で「はじめまして」という挨拶から知り合いになるのです。
いわば
足跡を残してくれた人=顔見知り
という位置づけになり、実際にコメントした時点から「お知り合い」という位置づけにたとえたらわかり良いかと。
足跡機能がなければ、何度も訪問しているのに相手に認識されず(当然踏み返してくることもない)、
「いきなりコメント」「いきなりメッセージ」となってしまいます。
実生活でも、面識のない人から話しかけられるのと顔は知っている、という程度の人から話しかけられるのとでは
ずいぶんと違うものです。文字をメインとしたコミュニケーションではなおさらではないかと思います。
足跡機能は人と人のつながりの「きっかけになる」という点でとても有効だったと思いますし、
ネット上のアカウントなどよりもずっと大切な「人間の心」にかかわる問題だと思います。
んじゃぁ皆は何で起こってるかというと何の前触れもなくいきなり変更した事なんだよ。
でもって正しい変更の理由を書き誠実な対応で会員を【納得させていれば】
こんな拗れることはなかったって事だよ。
圧倒的な正論を前にして、私の見識の浅はかさに頭が上がらぬ思いです。
人間の感情が理解できぬ無能なサイボーグ、ホモ・サピエンスの括りから外れた冷血非情な殺人マシンで本当に申し訳ありません。
マジレスすると
1. 起きようが起きまいが関係なく、日本のケータイのインターネットはプライバシーに配慮されていません
この記事で書かれているのは、多くのユーザーがログインしっぱなしになっているサービスのidを外部サイトから特定できるという問題です。ケータイの世界には関係ないよね、と、ろくに知識もないのに適当なことを無責任に言いふらして平然としているバカが何人か居るのを観測していますが、無関係というわけではありません。
そもそも日本のケータイのインターネットは、ユーザーが明示的に設定をオフにしない限り契約者固有IDがどのサイトからも取れるという状況ですので、この記事で書かれているような問題と同種のリスクがあるということを前提知識として持っておかないと話が通じません。ある程度テクニカルな知識がある人を対象に書いている個人のブログですから、読者がそのような問題があるということをある程度知っているであろうということを前提として書いています。さて本来ならば、こういったことを一般ユーザーにもわかりやすく掻い摘んで説明するのはガジェット通信やらJ-CASTやらITMediaやらCNET Japanなりがすべきことだと思いますが、アイツらは揃いも揃ってバカばかり、PV狙いの炎上上等ろくに取材もしないで人民を惑わすデマやFUDも平気で書くゲス共か、企業の言いなりでプレスリリース垂れ流すだけの能なし共です。本当にメディアの風上にも置けないバカどもですね。
ケータイから強制的に足あとを付けることができようと出来まいと、契約者固有IDを通じて特定のユーザーを識別したり、他の名簿を持っていれば照合することで訪問者の詳細なプロフィールや趣味趣向を紐付けることが可能になっています。なぜmixiはこのような脆弱性を放置してきたのだという論調を取るのであれば、docomo AU Softbankも同様に責め立てられてしかるべきです。
つまりmixiにログインしっぱなしにしていることでPCでのインターネットの世界におけるプライバシーレベルが日本独自のケータイインターネットの世界並に落ちてしまうという問題です。mixiの公開プロフィールをセットで取れる、という意味ではPC + mixi強制足あとの方がリスクが大きいです。ログアウトしたりサードパーティCookieを無効化することでユーザーが自衛することが出来る、という点ではPCの方がリスクが低いです。
2. 実際にケータイからmixi idを取得することが出来たかどうか
検証してもらいました。ケータイからでも強制的に足あとを付けることが可能だった可能性が高い、です。
http://twitter.com/#!/iwmr/status/109486748404428800
http://twitter.com/#!/iwmr/status/109490682535739392
このことから推測できるのは、
- 簡単ログインを有効にしていて、ログイン状態が維持されている間は、携帯からでも強制的に他人に足跡を付けることが出来たでしょう
- ただし、アクセスパターンやリファラを使って不審な場合は足あとが付かないような対策が取られていた可能性はあります(PC版も同様)
-- このような対策方法は不完全で抜け穴がありますし、最初の数人は確実にmixiのidを特定できます
- 足あと機能の変更と共にリスクが減少したのでログインページを挟まないような変更を加えた可能性もあります
悪意のあるサイトが一度、契約者固有IDとmixi idの紐付けに成功してしまえば、それ以降はmixiのURLをページ内に埋め込む必要はありません。契約者固有IDを使って半永続的に「どのmixiユーザーが訪問したのか」をトラッキングし続けることが可能になります。
簡単ログイン有効時におけるmixi側でのセッションの有効期限がどれぐらいの長さであるのかは使っていないので知りません。このあたりの挙動は実際にケータイでmixiを使っていた人のほうが詳しいのではないでしょうか、自分はいわゆるガラケーを持っていないので知りません。
以上です