メモ

電話を利用してInstagram・Google・Microsoftからお金をむしり取る方法

by Linh Nguyen

プレミアムナンバーという電話サービスは、ある電話番号の通話料を通常よりも高く設定することで、通話が行われた際、電話番号の保有者に料金が支払われるようになるという、情報料代理徴収サービスのようなシステムを採用しています。SNSの中にはアカウントと電話番号をひもづけるために「SNS運営元からユーザーに電話がかかってくる」ことがありますが、プレミアムナンバーを利用することで、このひもづけ作業を通してお金を得ることができると判明しました。

How I Could Steal Money from Instagram, Google and Microsoft – Arne Swinnen's Security Blog
https://www.arneswinnen.net/2016/07/how-i-could-steal-money-from-instagram-google-and-microsoft/

例えばInstagramではアカウントと電話番号をひもづける際、まず自分の電話番号を認証画面に入力します。


すると、入力した電話番号のSMS宛に、Instagramから以下のようなコードが送られてきます。


通常、このコードの番号を認証場面に入力すればひもづけは完了するのですが、コードを受け取っていない場合などのために、「入力した電話番号に電話がかけられる」というオプションあり、これを選択すると……


こんな感じでInstagram側から電話がかかってくることになります。


通話時間は17秒。レートリミットされているのでリクエストは30秒に1回しか送れませんが、利用する電話番号に制限はないため、プレミアムナンバーを利用することは可能です。

例えば1分間に0.06ポンド(約8.4円)を発生させる「Eurocall24」を利用すると、Burp Intruderというツールを利用し、作業を自動化して30秒ごとに計61回のリクエストを送ったところ、1.04ポンド(約145円)をゲットできたとのこと。この計算だと、1日で48ポンド(約6730円)、1カ月で1440ポンド(約20万円)、1年で17280ポンド(約242万円)を稼ぐことができます。アカウントを100個用意すれば、1年あたりの稼ぎは172万8000ポンド(約2億4000万円)にまで膨らむ計算です。


Arne SwinnenさんがFacebookに上記の内容を報告したところ、最初は「想定の範囲内で、セキュリティ上の脆弱性とは考えていません」「リスクは許容範囲内」という返答だったそうですが、「100のアカウントを作って作業を自動化できる」ということを伝えたところ、最終的にはバグとして受理され、2000ドル(約21万円)の報奨金と、慈善団体への4000ドル(約42万円)の寄付を得たそうです。

一方、Googleの場合は電話番号を登録する際に「SMSにコードを送る」「電話をかける」の選択肢を選べるようになっています。この時、プレミアムナンバーは利用可能ですが、コードの入力を6回間違えると電話番号はブロックされます。


Eurocall24は電話のSIPサーバーへの転送をサポートしており、ユーザーはSIPクライアント経由で電話内容を聞くことが可能なので、音声認識を利用してコードを入力し、アカウントにログインするまでの仕組みを自動化すれば、Instagramの時と同様のことを行えるわけです。


しかし、Swinnenさんが実験してみたところ、Googleは「ログインに成功したかどうか」ということを判定しておらず、「ログイン施行した」という事実があればブロックされないことが判明。つまり、音声認識の部分は省略し、「電話がかかってきたらそのアカウントにログインを試みる」という作業を自動化するだけでよかったとのこと。


電話は1時間10回までに制限されており、1回あたりの通話は35秒。この計算でいくと、1日で12ユーロ(約1400円)、1カ月で360ユーロ(約4万2000円)、1年で4320ユーロ(約50万7000円)を稼げることになります。

Facebookと同様、Googleに上記の内容を報告すると、返答は「対策を講じるが、この手法を完全に封じるのは不可能」「Googleは損失をこうむるがユーザーセキュリティの方が重要なため、報奨金は支払われませんが、殿堂入りリストに掲載します」というものでした。

Microsoftの場合はOffice 365体験版の登録で「Microsoftがユーザーに電話をかける」という作業が存在します。プレミアムナンバーを利用できますが、登録に7回失敗すると電話番号はブロックされます。


しかし、このブロックを回避できる方法を発見。登録する電話番号の頭に最大18個の0をつけても、正常な番号として認証されるので……


0を追加することで以下の数式の回数のブロック回避が可能。オリジナルの番号を加えると計172通りの番号が可能になります。


また、電話番号の末尾に最大4つのランダムな数字をつけても電話番号として登録できます。


そのため、1つのプレミアムナンバーで、0を使ったブロック回避に加えて、以下の数式の回数のブロック回避が可能です。


1回の通話時間は約23秒なので、20秒として上記の計算を行うと、プレミアムナンバー1つあたりの1分間の稼ぎは66万8882ユーロ(約7800万円)になります。さらに、Microsoftでは同じプレミアムナンバーに向けて同時に電話を行うことが可能なので、このことを利用して自動化を行えば攻撃者はさらなるお金を得ることになります。

なお、Microsoftは上記の内容を報告を対策を講じると共に、報奨金として500ドル(約5万3000円)をSwinnenさんに支払ったそうです。

この記事のタイトルとURLをコピーする

・関連記事
ウィザード級ハッカーが「バグハンター」として稼ぎつつGoogleやFacebookの個人情報漏洩を防ぎ続ける実態とは? - GIGAZINE

ATMから無制限にお金を引き出す恐るべき強盗マルウェアが出現 - GIGAZINE

「脆弱性を探すためにコードを読むな」とOracleの最高セキュリティ責任者がブログを投稿後に速攻で削除 - GIGAZINE

「iOS 9」のバグを見つけたら1億円超の報奨金がもらえる企画が開催中 - GIGAZINE

スマホの最大の脆弱性は「指紋認証」にあるという指摘 - GIGAZINE

in メモ, Posted by darkhorse_log

You can read the machine translated English article here.