Google・Facebook・Yahoo!などの2段階認証を突破する方法が判明
アカウントの不正アクセスのリスクを軽減するため、GoogleやFacobook、Yahoo!などのサービスは2段階認証と呼ばれるシステムを導入しています。2段階認証とは、アカウントにログインする際にアカウント名とパスワード以外に、登録したデバイスに送信された認証コードを入力するように設定できる機能で、堅牢なセキュリティを誇る……はずなのですが、オーストラリア在住の男性がこの2段階認証を思わぬ方法で突破し、その詳細を公開しました。
How I bypassed 2-Factor-Authentication on Google, Facebook, Yahoo, LinkedIn, and many others.
http://www.shubh.am/how-i-bypassed-2-factor-authentication-on-google-yahoo-linkedin-and-many-others/
「総当たり攻撃を行なったり、2段階認証用のトークンをどうにかして盗んだりするなど、2段階認証の突破方法は多岐にわたりますが、そのほとんどがすでに対策されている」と語るのは、セキュリティ研究者のShubham Shahさん。Shahさんは、2段階認証には確実に突破されてしまう弱点として、認証で使用されることがあるボイスメールを挙げました。
2段階認証では、ログイン時にアカウント名とパスワードを入力し、さらに登録されているデバイスに認証コードが送信され、ユーザーはその認証コードをログインするのに入力する必要があります。通常認証コードはショートメッセージやボイスメールで受け取るのですが、Shahさんが発見した方法はボイスメールで送信された認証コードを盗み出すというもの。
By Tony Webster
Shahさんが見つけた2段階認証突破方法を実行するには「ターゲットのアカウント名とパスワード」「2段階認証に登録された携帯電話の番号」「発信者電話番号偽装サービス」「キャリアのボイスメール用の電話番号」の4つが必要になります。発信者電話番号偽装サービスとは、SpoofCardといったネットサービスのことで、有料ですが登録しておけば電話をかけるときに相手のデバイスに偽の番号を表示させられるというものです。
上記の4つを準備したら2段階認証の突破スタート。まずは、ターゲットの2段階認証設定されたアカウントにログイン。アカウント名とパスワードを入力すると、2段階認証用の認証コードをショートメールで送信するか、電話で送信するかなどのオプションが表示されます。この間に2段階認証に登録されたターゲットの携帯電話に電話をかけ、ターゲットの携帯電話が着信中であることを確認したら、「電話で認証コードを送る」を選択して実行。すると、ターゲットの携帯電話が通話中のため、認証コードはターゲットのボイスメールに保存される、というわけです。
By Jonas Seaman
ボイスメールに認証コードが保存されたら、後は発信者電話番号偽装サービスを利用して認証コードを聞き出すだけ。SpoofCardなどのサービスから「+610411000321」に「ターゲットの電話番号」を表示させるように電話をかければOK。これでターゲットの認証コードが録音されたボイスメールにアクセスして、無事ゲットできてしまいます。ここで「+610411000321」となっているのはShahさんが試したキャリアの場合で、これは固定電話から発信しても繋がらない番号ですが、ユーザーが海外からボイスメールを確認できるように用意されている専用の番号。
ただし、上述の方法が通じるのはターゲットの携帯電話回線が下記の画像の左側にある「Live Connected」「dodo」などだったときで、「Telstra」「Vodafone」と契約している場合は難しいとのこと。Shahさんはオーストラリア国内でしか試していませんが、ボイスメールから認証コードを抜き取る方法は、イギリスの「3」「EE」と契約した携帯電話でも可能だそうです。一方アメリカでは、ボイスメールを聞くときに暗証番号の入力を求められることがあるので、難しいとのこと。
Shahさんが発信者電話番号偽装サービスを使って認証コードを盗み出す方法を試したところ、Google・Facebook・Yahoo!・LinkedInで成功。その後、各サービスのセキュリティチームに2段階認証に脆弱性があることを知らせると、FacebookとLinkedInはすぐに「電話による認証コードの送信」を中止しましたが、GoogleとYahoo!は放置されているままとのことです。
セキュリティ研究者のShahさんは、オーストラリア国内のキャリアだけでなく「海外のキャリアはユーザーがボイスメールを聞く際に暗証番号を入力する必要があるように設定しているかどうか」の情報を集めていて、オーストラリア国外のキャリアの一部の「偽造電話番号発信サービスからボイスメールにアクセスする際の電話番号」のリストを公開して、情報を募っています。公開されているリストの中には日本のNTTドコモが含まれていました。
Shahさんは「今回の脆弱性は2段階認証を設定しているサービスよりも、暗証番号なしでボイスメールを聞けるようにしているキャリアに問題がある」と指摘しています。日本でもLINE電話を使えば、発信者電話番号を偽装できることが判明し、LINEがセキュリティアップデートを2014年4月28日に行なっていますが、「解約済みの電話番号で発信できてしまう」現象が確認されたばかりです。Shahさんが発見した方法も発信者電話番号偽装が大きな鍵を握っており、こうした脆弱性に対するネットサービスやキャリアの抜本的な対策が求められるところです。
・関連記事
無料でGmailなどの2段階認証を誰でも簡単にオフラインで実行できるアプリ「Authy」 - GIGAZINE
iPhone 5sの指紋認証「TouchID」を突破する方法が判明 - GIGAZINE
無線LANのWPA/WPA2-PSKを総当たりで突破する「Pyrit」の実際の解析速度と自衛手段について - GIGAZINE
KindleのDRMセキュリティを突破するレゴ製マシンを大学教授が製作 - GIGAZINE
無線LANを2分~5分で解読して突破、メールやツイートなどの書き込みを盗聴する「FinIntrusion Kit」 - GIGAZINE
・関連コンテンツ