TEXT/YUBASCRIPT

Web開発とか生物学とかTwitterとかの話題を適当に書いてる

「Twitterのアカウントが乗っ取られた!パスワードが盗まれたんだ!」←違います

先日、「フレンドランキング」というTwitterアプリを使ったユーザーが、特定のアカウントを勝手にフォローさせられるという事件がありました。

こういう事件が起きるたびに、よく「パスワードを変更したほうがいい」とアドバイスする人がいるのですが、これは対策として間違っています。なぜならTwitterアプリを経由した乗っ取り被害においては、

  • アカウントを乗っ取るのにパスワードは必要ない
  • パスワードを変更しても、アカウントの乗っ取られは解消されない
からです。つまり全くのムダです。(もちろんセキュリティ的には、パスワード自体は定期的に変更すべきですが)

基本的には、このようなアプリを通じてTwitterパスワードを盗むことはかなり無理です。 パスワードを盗むためには、直接Twitterのサーバーに攻撃を仕掛けるとか (以前そんな事件がありましたね)、 Webページを改ざんしてユーザーのキーボード操作をキャプチャするとか (JINSのクレジットカード流出事件がその例) の、相当にエクストリームな技術を必要とします。

「でもアカウントが乗っ取られたってことは、パスワードが盗まれたってことじゃないの?」と思うかもしれませんが、実は「アカウントが乗っ取られる」事と「パスワードが盗まれる」ことは全く被害のレベルが違います

これを理解するために、まずTwitterアプリの仕組みを説明しましょう。実はTwitterのアプリは、公式と非公式で全然仕組みが違います。


【図解】公式アプリとそうでないアプリの、ツイートの仕組みの違い

公式アプリ(Web、Twitter for iOS、Twitter for Android等)は、ユーザーにパスワードの入力を要求し、そのパスワードがTwitterサーバーに保存されているものと一致することを確認してログインさせます。

一方、公式でないアプリの場合、ユーザーのパスワードではなく、ユーザーの「認証」を要求します。この認証がもらえたアプリは、Twitterサーバーから「ツイートのための鍵」(パスワードとは別物)がもらえます。この鍵を使えば、アプリからツイートが送信できるようになります。この仕組みをOAuth認証といいます。


おなじみのアプリの認証画面。「連携アプリを認証」ボタンを押せば、ユーザーの「ツイート用の鍵」がアプリ開発者に送信される。

Twitterがこのような「二度手間」とも言える方法をとっているのは、Twitterアプリの開発者は、往々にしてどこの馬の骨ともわからぬ人間だからです。 中には24時間に36回ぐらい「働きたくないよー」と言ってるクズの大学院生もいます。 そんな人にAmazonやiTunesと共用にしているパスワードを教えてしまう訳にはいきませんね。 だから「ツイートのための鍵」(正式にはアクセストークンと言います)を別途作製して、アプリ開発者にはそれを教えているのです。

つまり「アプリを認証したら、アカウントが乗っ取られた」というのは、この「ツイート用の鍵」をもらった開発者(またはその鍵を横から盗み出した誰か)が悪さをしたということで、パスワードが盗まれた訳ではありません。

こういう場合、落ち着いてTwitterの公式Webに飛び、「設定」「アプリ連携」から該当アプリを選んで「許可を取り消す」ボタンを押しましょう。これで「ツイート用の鍵」を無効化できます。

まとめ
  • アカウントが乗っ取られたのは、パスワードを奪われたのではなく、そのアプリ用に発行された「ツイート用の鍵」を悪用されただけ
  • アプリ連携を取り消せば「ツイート用の鍵」を無効化できる
  • パスワードを変えても意味ない

またアプリ開発者に悪意がない場合でも、この「ツイート用の鍵」を横から盗まれるという事件が以前に発生しています。しかも攻撃対象がTweetDeck、HootSuite、ShootingStar等の非常にユーザーの多いアプリだったため、かなり大規模な騒ぎとなりました。

このような観点から、アプリ開発者も以下のことに気を使ったほうがいいと思います。

預かったツイート用の鍵を、本来の目的以外に使わない
「なるほど四時じゃねーの」というアプリの作者が、集めたユーザーの鍵を使って特定のツイートをふぁぼらせるという事件が以前あり、問題となりました。
不必要な権限は要求しない
「ユーザーのツイートを解析」するアプリは多くありますが、結果を自動ツイートする機能をつけるために「Read & Write」の権限を要求しているものが多いです。しかし、この機能をつけたせいで「日頃の行いおみくじ」というアプリがスパムだと勘違いされて騒ぎになりました。自動ツイート機能は避け、公式のツイートボタンを使ったほうが無難でしょう。
そもそも認証を要求しない
whotwi - グラフィカルTwitter分析のように、通常利用にはアカウント認証を要求せず、鍵垢を解析するなどの時のみに認証を要求するような仕様にすることで、鍵の管理リスクを軽減させられます。

以上です。用法・用量を守って楽しいTwitterライフを送りましょう。

関連記事