Twitter絡みで、「IDとパスワードを預けて、ユーザが直接Twitterにアクセスする代わりにデータを取得したり更新したりする」といったサービスがどんどん広がってる。
ケータイから更新したいニーズはかなり多く、パスワードを預ける代わりにそれを実現してくれるサービスを便利と感じる人は多い。そしてそういう話がブログやTwitter上でどんどん紹介されて、それを使った人がまた便利と感じて他人に紹介して...。
こういうサービスが存在することも、そのサービスを使うことも、どんなリスクがあるか理解してるなら別にいいと思う。問題なのは、リスクを説明せずに(または無茶苦茶な説明をして)紹介する人がいるということ。
外部にパスワードを預けるのが危険なら、自分の管理下にあるサーバにインストールして自分だけが使うタイプなら大丈夫なのか。
秘密の自分専用URLにアクセスするようなものだと、ReferrerでそのURLが漏れる危険性を考えなければいけない。情報を画面に表示するだけであれば、秘密のURLにする必要はない(もともと公開情報なので)。URLを秘密にする必要があるのは、その画面から投稿ができてしまう場合だ。
Twitterに投稿することができる画面で、URLが秘密だとしたら、その画面には他サイトへのリンクは貼ってはいけない。言い換えると、他サイトへのリンクを貼る可能性がある画面は、Twitterに投稿できる機能を持ってはいけない。
簡単に言うと、参照画面と投稿画面は別な画面にして、投稿画面のURLは秘密にしようね、ということ。まあ参照画面からどこにも一切リンクを貼らないってのもアリなのかも知れないけど。ただ、現在のところ、そんな感じの作りにはなってないっぽい。
結局、一番いいのは認証をかけることか。ちゃんとした認証がかけられるなら、問題はないと思う。
XSSだけはかなりやばい。
それさえ無ければ、割と大丈夫かも知れない。ただ、そのプログラム自体が悪意を持って作られているとしたら、たぶん一番危険。
Twitter側に期待できることを考えてみた。
投稿専用パスワードは、名前は「パスワード」じゃない方がいいかも。GTalk連携の設定で最初に送信する文字列みたいなやつのイメージ。とっても便利な気がするけど、ややこしいと言われたら何も言い返せない。それに、以下のなりすましの問題は防げない。
「Twitterは情報をあんまり持ってないからリスクが少なく、パスワードを預けても問題ない」ってのは大いにわかるんだけど、なりすましの危険性についても考える必要がある。
例えば会社としてTwitterアカウントを取って、ニュースリリースを出したりする使い方があるらしい。当然、パスワードや秘密の投稿画面URLを奪われて、なりすまされてデタラメなニュースリリースを出されたら困る。
また、発言に影響力のある人になりすませば、ちょっとしたフィッシングはいくらでもできそうだ。
もっと言えば、なりすましたことで新たに得られる情報だってあるだろう。
他にもいろいろパスワードを預けることの危険性はあるし、危険じゃない場合もたくさんある。やはり、利用者がそれぞれ自分でリスクを評価して利用するかしないかを決めたい(評価できない人は、やめといた方がいいとしか言えない)。
だからね、やっぱり、こういう危険性を持ったものを安易に紹介するなということが言いたい。あるある大事典や白インゲン豆で懲りないのか。