piyolog

piyokangoの備忘録です。セキュリティの出来事を中心にまとめています。このサイトはGoogle Analyticsを利用しています。

Twitterで意図せずDMが発送される問題を考えてみた。

ここ最近、Twitterを眺めていると「マフィアからDMが届いた!」とつぶやかれる方が数名。何のことかと思っていたのですが、どうやらOAuthを利用したアプリによるDMの強制送付が行われている模様。私には残念ながらDMが届いていないのですが、次のようなDMが届くみたいですね。
http://twitter.com/s_hskz/status/39181121891745793:twitter:detail:left
 
調べてみたところ、このようなDMが強制送付される現象は「MobsterWorld」と呼ばれるマフィアゲームから行われるみたいで、この名前でググるとたくさん出てきます。どうも既に2年以上前に流行ったそうで、これに関連した亜種もいくつか確認されているみたいですね。Twitterが日本で爆発的に普及したのが2010年でもあるため、この手の情報を知らない方がまだまだ多い(または忘れてしまっている)のかもしれません。私もTwitterを始めたのが昨年の5月なので、恥ずかしながら知りませんでした。
既に散々調べつくされたネタでもあるため、ここを見るだけで十分ではないかと思えるぐらい素晴らしいまとめが既にありますので、詳しい内容はまちゅさんの「OAuthを悪用したTwitter DMスパムが登場」を読むと大方何が起きているかわかると思います。
 
一応ここでも振り返ってみますが、Twitterの場合、OAuthを用いた連携アプリを追加する際に次のようなダイアログが出ます。

アプリケーションが、あなたのアカウントへの接続を要求しています。
**社が開発した**というアプリケーションは、Twitter上にあるあなたに関連するデータにアクセスしたり、データーを更新しようとしています。 このアプリケーションは将来、あなたに代わってTwitterにログインする予定です piyokango以外のアカウントと連携したい場合にはログアウト してください

この手のタイプは厄介ですね。Twitterでは上記のエントリーの時と比べて、日本語の記載になったものの、メインに記載されているのは赤文字の内容だけで、具体的に何が出来るという点(例えば今回のようなダイレクトメールがアプリに登録されるだけでフォロワー全員に意図せず送られてしまうなど)は実はその横の青枠のところに特に記載されています。しかし、この画面自体よく見かけるものということもあり、この手のリスクについて詳しくない方は特に考えることなく許可ボタンを押してしまうと思います。
 
連携アプリのリスクについては下のエントリーのように、過去既に警鐘を鳴らされていますが、未だにTwitter側でこの点についての改善(権限の細分化、ユーザー側での設定変更、許可を促す画面のより明示的な変更)が行われていないということはある程度の自己防衛を私たちも考えていかなくてはいけません。

Twitterクライアント・アプリの大半にはDM送受信機能があります。原理的には(「仕組み上は」という意味)アプリ開発者が利用者のDMを盗み見ることは簡単です。倫理的にはそうしないはずですが。これだけ沢山のアプリがあり、その開発者がいるということは、一人くらい悪い奴はいるものです。そういうリスクがあります。

Twitterの連携アプリを「許可する」ボタンのリスク−ZEROBASE Journal
ここを読むと連携なんてもうできなくなるぐらい怖いことが書かれています。
今回のDMは強制的に送付されるという点、まだ動きが目立つ分「いかにも怪しい」なんてことが分かってしまいますが、現在のマルウェアの主流にあるように挙動を利用者には意識させず、水面下で情報収集だけは行っていくようなタイプであった場合、利用者がその事実を気付くのはかなり難しいように思います。
 
ただ、一方ではこういう意見もあります。

ここまでお読みになればおわかりでしょうか?そうです、全て注意文は書かれているのです。「Twitterが全文日本語になっていないじゃないか!」そういわれては元も子もありませんが、英文で意味がわからずえいや!とクリックされてらっしゃる方が多いのではないでしょうか?
(中略)
残念ながら、引っかかってしまった方は腹立たしい思いをされているでしょうが、我々ツイーターの見解ではこれはまだスパムとは言えません。Twitterが用意した正式な手順をふんでいるのですから・・。

 本当はmobsterworldはtwitterスパムじゃない?【完全和訳付き!】 −Tweeter.jp

これが本当にスパムかどうかという考え方もあるのですが、やはり連携アプリ側で注意喚起がない点からも、連携アプリ側に非がないとは言えません。(少なくともDMがすぐに送付されることをうたっていない。)

 
他にもDM強制送付やOAuthに関連した問題点の指摘等定期的に取り上げられています。
TwitterでスパムDM出回る フォロワーに自動でDM送りつけ−ITmedia
MobsterWorldのTwitter上での宣伝に見るOAuthの課題−Nothing ventured, nothing gained.
twitter SPAMのMobsterWorldをクリックするとどうなるのか試してみた−KandaNewsNetwork
TwitterでスパムDMばかりが届く その仕組み−The Days of Divine Crusader
フレンドリーなTwitterフィッシング詐欺DMが伝播中。ご注意を!−オルタナティブ・ブログ
Twitter の OAuth 許可ページがあまりにも酷い => 応急処置−mooz deceives you
Twitterさん、OAuthのアクセス権限の細分化を!−akiyan.com
 

Twitter連携アプリの設定を見直そう

Twitterではどこと連携しているかを一覧形式で確認することが出来る設定画面があります。ただし、ここで出来るのは「設定された連携アプリを確認すること」、そして必要に応じて「連携対象から除外すること」の2つのみであるため、アプリ個別の権限設定を見直すようなことは出来ません。少なくとも現在はアプリ側が要求する権限の設定に納得できない場合は、こちらで変更は出来ないため拒否するしかなく、結果的にその連携機能は利用できないということになります。
上記のように連携許可自体は簡単に出来るため、特に意識せず連携を許可している可能性もあり、たまにこの一覧画面で次のようなアプリがないかを確認してみるとよいと思います。
・過去使っていた、試しに使ってみたなどの現在利用していない連携アプリ
・いつ連携を許可したのか、経緯を思い出せない連携アプリ
連携アプリの許可を取り消す際は、先ほどの画面の「許可を取り消す」をクリックするだけで良いです。連携アプリの許可を取り消しても、また利用する際は連携確認の画面が出てくるだけなので、さしあたって障害になるようなことも起こらないと考えます。ちなみに「許可を取り消す」を押した直後は画面上にその連携アプリは残っており、取り消しを無効にすることもできますが、一度画面更新を行うと次からはその取り消しを行った連携アプリは一覧上からも削除されます。
 

おわりに

何気なく、許可を求める確認画面が出ると脊髄反射のように「許可」ボタンを押してしまっていませんか。
あなたのTwitterに関するいろいろな情報、権限を自由に使って良いという許可を与えているという点を再度しっかり認識する必要があります。新規で開始されたサービスは特にでしょうけども、連携の許可を与えるに際しては、このような問題がないかどうか利用者側も予めネットで検索したり、そのサービスを利用している人に意見を聞くなどして自己防衛を行っていく必要があると思います。
 

追記

昨年行われたTwitter Developer Meetupではこの問題について次のようにコメントがされています。これだけを見る限りでは、少なくともすぐにこの現状が改善されることはなさそうですね。

 ただし、現状では OAuth認証が「全体を Read」「全体を Read/Write」の何れかにしか設定出来ない事については問題として考えているが、「情報ごとに細かく設定出来れば良いのか。どこまで細かく設定するのか。その設定は分かりやすいのか。一般ユーザでも設定の意味が理解され、設定ミスを起こさないか」など検討すべき課題が多数存在するので、 Twitter 社内でも議論と検討を重ねている最中であり「現在の選択肢は『シンプル』というTwitter の強みに則している」という観点からも第一歩としては満足しているということでした。

Twitter「Twitter Developer Meetup」を開催、将来に向けての目標と概要について説明−MACお宝鑑定団 blog(羅針盤)