ITmedia NEWS > ネットの話題 >

「OAuth」とは 日本のユーザー襲った“Twitterスパム”の正体(1/2 ページ)

» 2009年08月10日 09時14分 公開
[秋田真宏(akiyan.com),ITmedia]

 ユーザーのアカウントを踏み台にし、スパムDM(ダイレクトメッセージ)を大量にまき散らす――Twitterで8月1日ごろに出回った「MobsterWorld」のスパムDMは、「OAuth」(オースまたはオーオース)を悪用したものだった。

 OAuthとは、自分のアカウントへのアクセスを、ID・パスワードを渡さずに第三者のサービスから利用できるようにするプロトコルだ。これによってTwitterは、第三者が開発した外部サービスと緊密に連携(マッシュアップ)できる一方で、今回のような事態が起きるリスクもはらんでいる(TwitterでスパムDM出回る フォロワーに自動でDM送りつけ)。

MobsterWorldのスパムDMとは

画像 ITmedia Newsのアカウントに届いたスパム

 スパムDMには、「MobsterWorld」に招待するという内容が英文で書かれており、URLが付いていた。URLをクリックするとMobsterWorldのトップページにアクセス。さらにボタンをクリックすると、Twitterサイト内の確認画面が表示される。

 確認画面では、「MobsterWorldのアプリが、あなたのアカウントと接続しようとしています。データの読み込みと更新を許可しますか」という英文と、「拒否する」「Allow」ボタンを表示。Allowを押せばゲームへの参加が完了し、スパムの送信も始まる。

 スパムDMは、MobsterWorldのサーバからTwitterのAPIを通して送信されたが、送信元アカウントはユーザー自身だ。いわばユーザーのアカウントが乗っ取られ、スパム送信の踏み台に使われたことになる。それを可能にしたのがOAuthだ。

MobsterWorldとは

画像 MobsterWorldトップページ

 MobsterWorldは、ユーザーはマフィアの1人となってお金を増やすゲーム。ほかのユーザーを敵として戦いを挑み、勝利すれば資金や経験値が得られる。ためた資金を使って武器を買い、攻撃力を高めたりできる。ゲームはTwitterのアカウントと連携しており、ゲーム上での行動がTwitter上でつぶやきとして発言される。


OAuthとは アカウントへのアクセス権を安全に渡せる仕組み

 Twitterはこの3月からOAuthを導入。ユーザーのアカウントのほぼすべての機能を、ID・パスワードを渡さずに、第三者のサービスから利用できるようにした。

 アカウントへのアクセスを提供するだけなら、IDとパスワードを渡すだけでもいい。実際、TwitterのAPIを使ったサービスで、IDとパスワードを入力して利用するものは多い。

 ただ、外部サービスにIDとパスワードを渡すとセキュリティ面で不安がある上、パスワードを変更した際に再入力が必要になるなど、手間もかかり不便だ。

 OAuthなら、ID・パスワードは送られず、アカウントへのアクセス権だけが渡される。サービスごとにアクセス権が発行されるため、ユーザーはサービスごとに利用を取り消すこともできる。アカウントが持つすべての権限を第三者に渡すこともできるし、アクセスできる機能の範囲を限定することも可能だ。

 Twitterの場合は現在「access(読み込み)」「update(更新)」の2種類の権限がある。accessは、自分のタイムライン上の発言や、フォローされているユーザー、DM、設定などを読み込める権限。updateは、設定の書き換えや、つぶやきの送信、「@」を使った他ユーザーへの返信、DM送信もできる権限だ。

 今回のスパムDMでは、MobsterWorldがOAuthによってaccess、update両方の権限を求めており、ユーザーは「Allow」ボタンを押すことで、それを認可したことになる。これによってMobsterWorldはユーザーのアカウントを通してDMを自由に送れる状態になり、スパムDMが送信されたのだ。

 OAuthはもちろん、スパムを送信するために開発されたのではなく、Webサービス同士の連携・マッシュアップに非常に便利なプロトコルだ。例えば、Flickrに画像を投稿すると、Twitterに自動でリンクが送られる仕組みや、Twitterアカウントでsmart.fmにログインするといったサービスも、OAuthを使って実現されている。

 Twitter以外の人気サービスでも採用されており、例えば「Googleカレンダー」では、OAuth経由で自分のカレンダーデータへのアクセス権を提供し、外部サービスに組み込むことができる。携帯電話からのGoogleカレンダー利用を便利にする「TAKE24/7」などは、OAuthの仕組みを活用したものだ。

OAuthはなぜ生まれたか

 OAuthの誕生は、OpenIDを使ったAPIの認証について、Twitterの技術者などが2006年末ごろに話し合ったことが発端。OpenIDにはユーザーが誰かを識別する「認証」の仕組みはすでにあったが、アカウントへのアクセスを「認可」する仕組みは実現できなかった。

 この問題を解決し、セキュアなAPI認証を実現するため、技術者コミュニティが形成され、GoogleやYahoo!などの大手ITサービス企業の技術者も参加。OAuthの仕様が固まっていき、07年3月、「OAuth Core 1.0」の最終草案をリリースした。


スパムDMはなぜ流行したか

 今回のスパムDMは、日本のユーザーの間でまたたく間に流行した。ITmedia Newsのアカウント(@itmedia_news)にも15通ほど届き、「誠 Biz.ID」のTwitter公式アカウントも踏み台になってしまった

 DMはなぜ流行したのだろうか。理由の1つには、DMが、自分がフォローしているユーザーのアカウントから送られていたことが挙げられる。「親しい友人やネットに詳しい人からのDMだったから」と信頼し、URLをクリックして手続きを進めてしまう人も多かっただろう。

 実は筆者も、ネットに詳しい人からDMを受け取ったため、特別怪しいとは思わなかった。今回、筆者がスパムDMの送信元にならなずに済んだのは、たまたま忙しくてURLをクリックしなかっただけだ。これまでに筆者も、今回と全く同じようにDMで届いた招待メールから、とあるソーシャルゲームを利用したことがある(そのソーシャルゲームでは、MobsterWorldのようにユーザーに断り無くスパムDMを送ったことは確認していない)。

画像 OAuth認可画面

 OAuthの認可手順が手軽だったことも理由だろう。Twitter上での手順は、「Allow」ボタンのクリック1回だけだ。この画面にはこれといった注意文もなく、あまり危険性を感じさせない見た目だったので、より気軽にクリックしてしまったのではないだろうか。

 OAuthの認可の確認画面の文章が英文だったことも、スパム流行の背景にありそうだ。日本版のTwitterはほとんどのインタフェースが日本語化されているが、OAuthの確認画面は「拒否する」というボタン以外は全て英語だ。そのため、英文を読まず(読めず)にアクセス権を渡すことを許可する「Allow」のボタンを押してしまったユーザーは少なくないと思われる。たとえ英文を読んでいたとしても、「あなたのアカウントで、データの読み込みと更新を許可しますか」としか書かれていないため、DMが無断に送信されるとは想像しにくい。

 MobsterWorldが、ユーザーに断りなくDMを送信していたのも問題だ。DMの送信権限自体は、ユーザー自身がOAuthによって認可してしまっているのだが、「自分をフォローしている人全員に招待のDMを送ります」といった注意書きもなく、OAuthを認可するだけで無断でDMが送信されてしまう仕組みだった。

 DMの“無断送信”は、Twitterユーザーが最も気付きにくい機能の1つだ。ユーザーが普段見ているタイムラインにDMは表示されないため、スパムDMが送信されていることに気づくのは、送信履歴を見に行った時だけ。そうでなければ、受け取り手から指摘されるなどしなければ、なかなか気付かない。

 つまり、自分がフォローしている相手から届いたというソーシャル性と、OAuth認可手続きの簡便さ、英語の問題――さまざまな問題が重なって、今回の流行につながったと考えられる。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.