\r\n\r\n

何百万ものアプリケーションが、たった1つのセキュリティハックによってどのように脆弱になるのか。

oauthは、facebookやtwitter、googleのアカウントを使ってサードパーティのアプリケーションやウェブサイトにログインするためのオープンスタンダードであり、ハッキングに対して脆弱である...というものです。

今年のセキュリティカンファレンス「Black Hat Europe」で、香港の中国大学の研究者2名が、Androidアプリに影響する脆弱性を示す研究を発表しました。この研究により、10億以上のインストール済みアプリが攻撃に対して脆弱になる可能性があることがわかりました。

この攻撃は、中間者攻撃のための認証規格oauth 2.0のモバイル実装に依存しています。これはとても専門的に聞こえますが、実際はどうなのでしょうか?あなたのデータは安全でしょうか?

株式会社オーサー(oauth)は何ですか?

OAuthは、多くのウェブサイトやアプリケーションで使用されているオープンスタンダードで、OAuthプロバイダーのいずれかのアカウントを使用してサードパーティのアプリケーションやウェブサイトにログインすることが可能です。最も一般的でよく知られている例としては、Google、Facebook、Twitterなどがあります。

シングルサインオン(SSO)ボタンで、アカウント情報へのアクセス権を付与することができます。Facebookボタンをクリックすると、第三者のアプリケーションやウェブサイトが、お客様のFacebook情報へのアクセスを許可するためのアクセストークンを探します。

このトークンが見つからない場合、第三者がお客様のFacebookアカウントにアクセスすることを許可するよう求められます。お客様がこれを承認すると、Facebookはアクセストークンを要求するメッセージをサードパーティから受け取ります。

Facebookは、あなたが指定した情報へのアクセスを第三者に許可するトークンで応答します。例えば、基本的なプロフィール情報と友達リストへのアクセスを許可し、写真へのアクセスを許可しないなどです。サードパーティはトークンを受け取り、お客様がFacebookの認証情報を使ってログインできるようにします。そして、トークンが失効していない限り、お客様が許可した情報にアクセスすることができます。

これは素晴らしいシステムのようです。パスワードを覚える必要がなく、すでに持っているアカウントで簡単にログインし、情報を確認することができます。新しいパスワードの作成、新しいアカウントの認証に時間がかかるモバイルデバイスでは、SSOボタンがより有効です。

何が問題なのか?

最新のOAuthフレームワークであるOAuth 2.0は2012年10月にリリースされましたが、モバイルアプリケーション向けに設計されたものではありません。そのため、多くのアプリケーション開発者は、OAuthを安全に実装するためのガイダンスがないまま、自らOAuthを実装しなければならない状況にありました。

WebサイトのOAuthでは、第三者とSSOプロバイダーのサーバーとの間で直接通信を行いますが、モバイルアプリケーションでは、この直接通信方式は使用しません。その代わり、モバイルアプリケーションはデバイスを通じて互いに通信します。

WebサイトでOAuthを使用する場合、Facebookはアクセストークンと認証情報をサードパーティのサーバーに直接渡します。この情報は、ユーザーがログインしたり、個人情報にアクセスしたりする前に確認することができます。

その結果、Androidアプリの大部分にこのような認証がないことが判明しました。その代わり、FacebookのサーバーがアクセストークンをFacebookアプリに送ります。アクセストークンは、サードパーティアプリに渡されます。すると、サードパーティーのアプリは、ユーザーの情報が正当なものであることをFacebookのサーバーで確認することなく、ログインできるようになるのです。

攻撃者は自分自身でログインし、OAuthトークンのリクエストを引き起こすことができます。Facebookがトークンを承認すると、FacebookサーバーとFacebookアプリケーションの間に自分自身**を置くことができるようになります。攻撃者は、トークン上のユーザーIDを被害者のものに変更することができます。ユーザー名も通常公開情報であるため、攻撃者にとっての障壁はほとんどありません。ユーザーIDが変更されても、認証が行われていれば、第三者のアプリケーションは被害者のアカウントでログインすることになります。

このような攻撃は、中間者攻撃(MitM)と呼ばれます。これは、お互いが直接通信していると思い込んでいる間に、攻撃者がデータを傍受し、改ざんすることができるというものです。

どのような影響があるのでしょうか?

もし、攻撃者がアプリケーションを騙して自分だと思い込ませることができれば、ハッカーはそのサービスに保存されているすべての情報にアクセスすることができます。研究者たちは、さまざまな種類のアプリケーションで公開される可能性のある情報のいくつかをリストアップし、次の表を作成しました。

ある種の情報は、他の情報よりもダメージが少ない。ニュースの閲覧履歴を晒す心配や、プライベートなメッセージの送受信を代行する可能性は、すべての旅行プランよりも低いと言えます。私たちが第三者に預ける情報の種類と、それを悪用した場合の影響について、改めて思い知らされました。

心配する必要があるのでしょうか?

研究者は、SSOをサポートするgoogleplay shopの最も人気のある600のアプリの41.21%がMitM攻撃に対して脆弱であることを発見しました。これにより、世界中の数十億のユーザーがこのような攻撃にさらされる可能性があります。研究チームはAndroidで研究を行ったが、iOSでも再現可能だと考えている。このため、2大モバイルOS上の何百万ものアプリが攻撃に対して脆弱な状態になる可能性があります。

本稿執筆時点では、OAuth 2.0仕様を策定したIETF(Internet Engineering Task Force)からの正式な声明は出ていない。研究者は、影響を受けるアプリケーションの名前の公表を控えており、モバイルアプリケーションでSSOを使用する場合は、注意が必要です。

光明はある。研究者は、Google、Facebook、その他のSSOプロバイダーに脆弱性を警告しています。さらに、影響を受けるサードパーティーの開発者とともに、この問題の解決に取り組んでいるとのことです。

今、あなたにできることは何ですか?

修正プログラムが準備されているようですが、影響を受けるアプリケーションはまだ多数あり、アップデートが必要な状況です。これは時間がかかるので、当面はSSOを使用しない方がよいでしょう。その代わり、新規にアカウントを登録する際には、忘れないような強力なパスワードを作成してください。また、パスワードマネージャーを使えば、面倒な作業を代わりにやってくれます。

定期的に自分自身でセキュリティチェックを行う習慣をつけるとよいでしょう。Googleは、クラウドストレージで彼らのチェックを実行することで、報酬を得ることもできます。この機会に、SSOアカウントでどのアプリケーションにアクセスを許可しているかを確認するのが理想的です。特に、Facebookのように非常にプライベートな情報を多く保存しているサイトでは、この点が重要です。

シングルサインオンから脱却する時期が来たと思いますか?ログインの方法はどうすればいいと思いますか?この脆弱性の影響を受けていませんか?下のコメント欄で教えてください

写真提供:Marc Bruxelle/Shutterstock

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ