2009年8月2日

Is OAuth safe?: OAuthは安全か?

Twitter では、 API を利用して Twitter のアカウントにアクセスする外部サービスがたくさんあります。例えば、 Twitter ではできない写真の投稿を可能にする TwitPic などが有名ですね。

こういった外部サービスは Twitter 社とは何の関係もないのですが、Twitter やユーザーにとっては Twitter の機能を拡張し、外部サービス側では Twitter の人気にあやかることができるという共存共栄の関係にあります。

外部サービスが Twitter のアカウントにアクセスするには、そのサービスで Twitter の ID とパスワードを入力する方法と、 OAuth を使う方法があります。このブログでは、より安全な OAuth の利用をすすめています。

では本当に OAuth は安全なのでしょうか。少なくとも Twitter のパスワードを外部に渡さないという点では安全です。もし Twitter のパスワードを入力する外部サービスが悪意あるサイトだった場合、 Twitter のパスワードを変更されてアカウントを乗っ取られる可能性がありますし、そうでなくても他のユーザー名とパスワードを預けるタイプの外部サービスは全部アクセスできることになります。

そのようになった場合、アカウントを乗っ取られる前に Twitter のパスワードを変更すればいいのですが、当然連携するすべてのサービスでパスワードの入力をやり直す必要があります。非常に手間がかかりますし、これが原因で定期的なパスワードの変更がやりにくくなります。

OAuth の場合は、たとえ外部サービスに悪意があっても Twitter にログインしてそのサービスの認証だけを解除すれば他の OAuth を使った外部サービスには影響がありません。

今回、 OAuth を使った外部サービスで、 Twitter のコンタクトリストを悪用してスパム DM を送るというケースがありました。今回のケースでは、 "has sent you a FREE GIFT" で始まる DM が送られてきて、そこにあるリンクをクリックして Twitter の OAuth 認証画面で認証を許可すると、そこから Twitter の API にアクセスしてコンタクトに同じ内容の DM を送りつけるというものでした。

間違えてクリックしてしまった人は、 Twitter の設定画面 (http://twitter.com/account/connections)から、悪意ある外部アプリケーションの認証を取り消してください。

以前も同様にサービスを利用すると勝手に全コンタクトに勧誘 DM を送るというものがあったと思いますが、この手の迷惑行為はやめてほしいですね。

OAuth はパスワードを外部に預けなくてもいいから安全といっても、安全なのはそれだけです。外部サービスに悪意があれば、そこから Twitter の API にアクセスできることには変わりはありません。外部サービスを利用するときは十分注意して利用しましょう。

4 件のコメント:

匿名 さんのコメント...

こんばんは。たまたまtypo発見しましたのでご連絡です。

>最初のTiwtter

修正されましたらこのコメントはどうぞ削除ください。では。

Hit さんのコメント...

ご指摘ありがとうございます。さっそく修正しておきました。

Yoshinori_K さんのコメント...

タイムリーな情報で助かりました。
ああいう DM が来たら、要注意ですね。

Hit さんのコメント...

ウイルス入りメールの類は怪しい人からではなくウイルスに感染した友人知人からくるのが一番危険ですから注意が必要ですね。