何百万ものアプリが単一のセキュリティハッキングに対してどのように脆弱であるか
今年のBlackHatEuropeセキュリティ会議で、中国香港大学の2人の研究者が、Androidアプリに影響を与えるエクスプロイトが、10億を超えるインストール済みアプリケーションを攻撃に対して脆弱なままにする可能性があることを示した研究を発表しました。
このエクスプロイトは、OAuth2.0認証標準のモバイル実装の中間者攻撃に依存しています。これは非常に技術的に聞こえますが、実際にはどういう意味で、データは安全ですか?
OAuthとは何ですか?
OAuthは、多くのウェブサイトやアプリで使用されているオープンスタンダードであり、多くのOAuthプロバイダーの1つからのアカウントを使用して、サードパーティのアプリやウェブサイトにログインできます。最も一般的でよく知られている例のいくつかは、Google、Facebook、Twitterです。
シングルサインオン(SSO)ボタンを使用すると、アカウント情報へのアクセスを許可できます。 Facebookボタンをクリックすると、サードパーティのアプリまたはWebサイトがアクセストークンを探し、Facebook情報へのアクセスを許可します。
このトークンが見つからない場合は、Facebookアカウントへのサードパーティのアクセスを許可するように求められます。これを承認すると、Facebookはサードパーティからアクセストークンを要求するメッセージを受信します。
Facebookはトークンで応答し、指定した情報へのアクセスをサードパーティに許可します。たとえば、基本的なプロフィール情報と友達リストへのアクセスを許可しますが、写真へのアクセスは許可しません。サードパーティがトークンを受け取り、Facebookの資格情報を使用してログインできるようにします。その後、トークンの有効期限が切れない限り、承認した情報にアクセスできます。
これは素晴らしいシステムのようです。覚えるパスワードを減らし、すでに持っているアカウントで簡単にログインして情報を確認する必要があります。 SSOボタンは、新しいパスワードの作成や、新しいアカウントの承認に時間がかかる可能性があるモバイルでさらに役立ちます。
問題は何ですか?
最新のOAuthフレームワークであるOAuth2.0は、2012年10月にリリースされたものであり、モバイルアプリ向けには設計されていません。これにより、多くのアプリ開発者は、安全に実行する方法についてのガイダンスなしに、独自にOAuthを実装する必要があります。
WebサイトのOAuthは、サードパーティとSSOプロバイダーのサーバー間の直接通信を使用しますが、モバイルアプリはこの直接通信方法を使用しません。代わりに、モバイルアプリはデバイスを介して相互に通信します。
WebサイトでOAuthを使用する場合、Facebookはアクセストークンと認証情報をサードパーティのサーバーに直接配信します。この情報は、ユーザーがログインしたり、個人データにアクセスしたりする前に検証できます。
研究者は、Androidアプリケーションの大部分がこの検証を見逃していることを発見しました。代わりに、FacebookのサーバーはアクセストークンをFacebookアプリに送信します。その後、アクセストークンはサードパーティのアプリに配信されます。サードパーティのアプリを使用すると、Facebookのサーバーでユーザー情報が正当であることを確認しなくても、ログインできるようになります。
攻撃者は自分自身としてログインし、OAuthトークンリクエストをトリガーする可能性があります。 Facebookがトークンを承認すると、FacebookのサーバーとFacebookアプリの間に自分自身を挿入できます。攻撃者は、トークンのユーザーIDを被害者のIDに変更する可能性があります。ユーザー名は通常、公開されている情報でもあるため、攻撃者にとっての障壁はほとんどありません。ユーザーIDが変更されると(ただし、承認は引き続き付与されます)、サードパーティのアプリは被害者のアカウントでログインします。
このタイプのエクスプロイトは、man-in-the-middle(MitM)攻撃として知られています。これは、攻撃者がデータを傍受して変更できる場所ですが、両者は互いに直接通信していると信じています。
これはあなたにどのような影響を与えますか?
攻撃者がアプリをだまして自分があなたであると信じ込ませることができる場合、ハッカーはそのサービスに保存されているすべての情報にアクセスできるようになります。研究者は、さまざまな種類のアプリで公開する可能性のある情報の一部をリストした以下の表を作成しました。
一部の種類の情報は、他の種類よりも被害が少ないです。あなたはあなたのすべての旅行計画よりもあなたのニュースの読書履歴を公開すること、またはあなたの名前でプライベートメッセージを送受信する能力について心配する可能性が低いです。これは、私たちが定期的にサードパーティに委託している情報の種類と、その誤用の結果を思い起こさせるものです。
心配する必要がありますか?
研究者は、Google PlayストアでSSOをサポートする600の最も人気のあるアプリの41.21%がMitM攻撃に対して脆弱であることを発見しました。これにより、世界中の何十億ものユーザーがこの種の攻撃にさらされる可能性があります。チームはAndroidで調査を実施しましたが、iOSでも複製できると考えています。これにより、2つの最大のモバイルオペレーティングシステム上の何百万ものアプリがこの攻撃に対して脆弱になる可能性があります。
執筆時点では、OAuth 2.0仕様を開発したインターネット技術特別調査委員会(IETF)からの公式声明はありません。研究者は影響を受けるアプリに名前を付けることを拒否したため、モバイルアプリでSSOを使用する場合は注意が必要です。
銀色の裏地があります。 研究者たちはすでにGoogleやFacebook、その他のSSOプロバイダーにエクスプロイトについて警告しています。さらに、影響を受けるサードパーティの開発者と協力して問題を解決しています。
今何ができますか?
修正が進行中である可能性がありますが、たくさんがあります 更新される影響を受けるアプリの数。これには時間がかかる可能性があるため、当面はSSOを使用しないことをお勧めします。代わりに、新しいアカウントを登録するときは、忘れない強力なパスワードを作成してください。それか、パスワードマネージャーを使用して手間のかかる作業を行ってください。
時々、独自のセキュリティチェックを実施することをお勧めします。グーグルは彼らの検査を実行するためにクラウドストレージであなたに報酬を与えることさえします。これは、SSOアカウントで許可を与えたアプリを確認するのに理想的な時期です。これは、非常に大量の非常に個人的な情報を保存しているFacebookのようなサイトでは特に重要です。
シングルサインオンから離れる時が来たと思いますか?最良のログイン方法は何だと思いますか?このエクスプロイトの影響を受けましたか?以下のコメントでお知らせください!
-
Android Nはどの程度安全ですか?
Android、セキュリティ、Androidのアップデートについては、Make Tech Easierで詳しく説明しています。この記事では、これら3つのトピックを1つにまとめています。 Android Nは、Androidファミリーツリーに追加された最新の製品であり、Androidのセキュリティ違反に対応して、セキュリティと機能を大幅に強化します。 Androidにもランサムウェアやその他の脅威が存在する 最近ランサムウェアについて取り上げましたが、その記事で触れなかったのは、Androidにもランサムウェアの脅威が存在するということです。悪意のあるモバイル広告を使用して、このエクスプ
-
Facebookメッセンジャーで暗号化をオンにする方法
昨年だけでも、Yahooのデータが侵害されました。KrebsonSecurityはDDoS攻撃に直面し、DNSサービスプロバイダーのDynは史上最大のDDoS攻撃に見舞われました。昨年(2016年)の7月、Facebookは消費者のセキュリティを確保するための新しいメッセージ暗号化システムを約束し、10月にはこの約束が守られました。この記事では、FacebookMessengerで暗号化をオンにする方法を紹介します。 この暗号化方式を有効にするのは難しいように聞こえるかもしれませんが、実際には驚くほど簡単です。何よりもまず、このセキュリティ機能を利用できるように、Messenger