Masque Attack」:iOSにおける重大な脆弱性-すべてのiOSアプリが情報漏えい元になる可能性について-

本コンテンツは、2014年11月10日(米国時間)にFireEye, Inc.のブログにて公開された内容の翻訳です。 本内容は予告なく更新されている可能性があることをご了承ください。

米国カリフォルニア州ミルピタス発

2014年7月にFireEyeのモバイルセキュリティ調査チームは、エンタープライズおよびAdHocプロビジョニングでインストールされたiOSアプリによって、App Store経由でインストールされた別の正規アプリが不正アプリに置き替わる可能性があることを発見しました。この脆弱性は、両方のアプリが同一のバンドル識別子を使用している場合に発生します。この脆弱性が悪用された場合、ユーザーが思わずインストールしてしまいそうな任意の名前(“New Flappy Bird”等)が付けられた組織内(=InHouse)アプリのインストールが促され、インストールしてしまった後に端末内にある別の正規アプリが不正なアプリに置き替えられてしまう可能性があります。Mobile Safariなど、iOSのプリインストール・アプリを除く、すべてのアプリが置き換えられる可能性があります。この脆弱性は、バンドル識別子が同一のアプリに対し、iOSが証明書の一致を強制していないことが原因です。私たちは、iOS 7.1.1/7.1.2/8.0/8.1/8.1.1ベータ版のいわゆる脱獄(=Jailbreak)版の端末と、非脱獄版の端末の両方で、こうした脆弱性を確認しました。さらに、今回の脆弱性は無線ネットワーク経由とUSB経由のアプリダウンロードの両方で悪用されうることを確認しています。私たちはこの攻撃を、「Masque Attack(マスク攻撃)」と命名するとともに、実際の攻撃を模した以下のデモ動画を作成しました。

※マスク攻撃のデモ動画:http://youtu.be/3VEQ-bJUhPw

アップル社に対しては、7月26日付けで今回の脆弱性を通知しています。11月7日に、インストール済みのiOSアプリに感染し、悪意のあるiOSアプリを自動生成、加えてOS X経由でUSBで繋がれたiOS端末を攻撃するWireLurkerマルウェアが発見されたのは記憶に新しいところですが、私たちは、このWireLurkerについて検証した結果、これがMasque Attackの一部を悪用し、USB経由でiOSデバイスへの攻撃を開始したことを特定しました。脅威としては、Masque AttackはWireLurkerよりもより大きなものになる可能性があります。さらに、Masque Attackはインターネット経由で銀行アプリや電子メール・アプリなど、さまざまな正規アプリを攻撃者のマルウェアに置き換えることができます。つまり、同一のUIを持つマルウェアを使用し、正規の銀行アプリを置き替えることができれば、ユーザーの銀行関連の証明書を盗み出すことが可能となります。驚くべきことに、正規アプリが置き換えられた時点で、ローカルデータを削除することなく、不正アプリのアクセスを許すこともできてしまいます。こうしたデータの内容には、電子メールのキャッシュやログインのトークンも含まれる可能性があり、マルウェアはこれを悪用することで、ユーザーのアカウントに直接ログインできます。

私たちは、この問題が拡散しつつあることを示す証拠を特定しています。セキュリティ・ベンダーに見つかっていない既存の攻撃であることも考えられるため、このような状況下では、今回の問題を広く周知することが急務であると考えています。このほか、iOSユーザーが自身でできる対策についても以下に共有します。

セキュリティへの影響

Masque Attackを悪用することで、攻撃者はターゲットを釣るための偽りの名称(“New Flappy Bird”等)を使って、攻撃対象にアプリをインストールするよう誘導できます。そして、iOSシステムは、バンドル識別子が同じ正規アプリとこれを置き換えてしまいます。Masque Attackは、アップル社自身のプラットフォーム・アプリ(Mobile Safari等)を置き換えることはできませんが、App Store経由でインストールしたアプリは置き換えることができます。Masque Attackがもたらす被害は以下の通りです。

1.    攻撃者は、正規アプリのログイン・インターフェイスを模倣することで、攻撃対象のログイン証明書を盗み出す可能性があります。FireEyeでは、複数の電子メール・アプリや銀行アプリでこれを確認しており、マルウェアは正規のアプリと同一のUIを使用することで、ユーザーが本物のログイン証明書にアクセスするよう仕向け、情報をリモートサーバーに送信します。

2.    私たちは、正規アプリが置き換えられた後のマルウェアのローカル・ディレクトリに残っているローカルデータのキャッシュなどに、正規アプリのディレクトリ下にあるデータがあったことも確認しています。マルウェアは、これらの機密情報を盗み出すことができます。電子メール・アプリによるこうした攻撃の場合、マルウェアが重要な電子メールのローカルキャッシュを盗み出し、リモートサーバーにアップロードできることも確認しています。

3.    同一のバンドル識別子を使用していることから、MDMインターフェイスでは、正規アプリとマルウェアの区別がつきません。現時点では、各アプリについて証明証情報を入手するMDM APIは存在しません。そのため、MDMがこうした攻撃を検知することは困難です。

4.    「Virus Bulletin 2014」開催に合わせて発行されたFireEyeのホワイトペーパー「Apple without a shell - iOS under targeted attack」に記載されていますが、エンタープライズ・プロビジョニング・プロファイルを用いて配信されるアプリ(私たちがEnPublicアプリと呼ぶもの)は、アップル社の検証プロセスを経ていません。そのため、攻撃者はiOSのプライベートAPIを悪用し、バックグラウンド・モニタリング(CVE-2014-1276)といった強力な攻撃を仕掛けることや、iCloudのUIを模倣して、ユーザーのApple IDとパスワードを盗み出すことが可能です。

5.    攻撃者は、Masque Attackを悪用して通常のアプリのサンドボックスを迂回するとともに、Panguチームが使用しているような、iOSの既知の脆弱性を攻撃してルート権限を得ることも可能です。

具体例

検証実験の1つでは、バンドル識別子が「com.google.Gmail」、タイトルが「New Flappy Bird」の組織内アプリを使用しました。アプリの署名には、エンタープライズ証明書を使用しました。このアプリをWebサイト経由でインストールすると、iPhone上の正規のGmailアプリが置き換えられました。

figure-1-masque-attack

図1は、このプロセスを示しています。図1の(a)、(b)では、iPhone上にインストールされた、22通の未読メールがある正規のGmailアプリがあります。図1の(c)は、「New Flappy Bird」というタイトルの組織内アプリをWebサイトからインストールするよう誘導されている様子を示しています。注目すべき点として、「New Flappy Bird」はアプリのタイトルであり、攻撃者はアプリを作成する際に任意に設定できますが、このアプリのバンドル識別子には「com.google.Gmail」が付けられています。

図1の(d)は、攻撃対象が「Install」をクリックした後の様子で、インストール中に組織内アプリが正規のGmailアプリに置き換わっているところを示しています。図1の(e)は、組織内アプリによって正規のGmailアプリが置き換えられた様子です。インストール後に、ユーザーが新しいGmailアプリを開くと、これまでとほとんど変わらないUIに自動的にログインします。違いとして、上部の小さなテキストボックスに「yes, you are pwned(=はい、あなたの負け)」と書かれていますが、これは攻撃の存在をわかりやすくするため、私たちがデザインしたものです。実際の攻撃者は、これほど親切ではありません。一方、図2に示す通り、前からあった正規のGmailアプリのローカルキャッシュは「sqlite3」データベース内でクリアテキストとして保存され、リモートサーバーに送信されます。

注目すべき点として、Masque Attackは端末をコンピュータに接続する必要はなく、完全に無線ネットワーク経由で発生することです。

 

figure-2masque-attack

対策

iOSユーザーは、以下の3つのステップによってMasque Attackから自らを保護できます。

1.    アップル社の公式App Storeやユーザー自身の所属団体以外の、第三者のソースからのアプリをインストールしない。

2.    アプリが表示するポップアップのメッセージがなんであれ、図1の(c)のような、サードパーティのWebページから表示されるポップアップ上の「Install」をクリックしない。ポップアップは攻撃者が工夫をこらして作成しているため、ついクリックしたくなるものです。

3.    アプリを開いた時に、iOSによって図3のような「信頼できないアプリ開発者」のアラートが表示された場合、「Don’t Trust(信頼しない)」をクリックし、アプリを直ちにアンインストールする。

figure-3-masque-attack


Masque Attackによるアプリがインストールされているかどうかを調べるには、iOS 7ユーザーの場合、Masque Attackの提供する潜在的なマルウェアの署名IDを示すものとして、iOS端末にインストールされたエンタープライズ・プロビジョニング・プロファイルを確認するという手段があります。「プロビジョニングプロファイル」は、「設定」 → 「一般」 → 「プロファイル」から確認できます。疑わしいプロビジョニングプロファイルがあれば、iOS 7ユーザーはこれを自社のセキュリティ部門に報告してください。プロビジョニングプロファイルを削除することで、特定のプロファイルを使用するエンタープライズ署名アプリの実行は回避されます。しかし、iOS 8端末の場合、端末にインストール済みのプロビジョニングプロファイルは表示されないため、アプリのインストール時には最新の注意を払う必要があります。

私たちは、今回の脆弱性を7月にアップル社に告知しました。アップル社による既存の標準的な保護対策やインターフェイスのすべてがこうした攻撃を防げるわけでないので、エンタープライズ・ユーザーを今回のような高度な攻撃から保護できるよう、アップル社に対してはセキュリティ対策の専門企業各社による強力なインターフェイスを提供するよう依頼中です。

■FireEyeについて

FireEye®は、次世代のサイバー攻撃から、世界中の民間企業や官公庁をリアルタイムで防御するために専用設計された、仮想マシンベースのセキュリティ・プラットフォームを発明した企業です。高度なサイバー攻撃は、次世代ファイアウォールやIPS、アンチウイルス、各種ゲートウェイなど、シグネチャベースのセキュリティ対策を容易にすり抜けてしまいます。FireEye®脅威対策プラットフォーム™は、攻撃ライフサイクル全体で、モバイル、Web、電子メール、ファイル・システムといった主要な攻撃経路にわたり、シグネチャを利用しないリアルタイムでダイナミックな脅威防御策を組織へ提供します。FireEyeプラットフォームの核となる仮想実行エンジンは、Dynamic Threat Intelligenceによって補完されており、サイバー攻撃をリアルタイムに検出・防御することができます。FireEyeのソリューションは、世界67か国以上の2,700を超える組織に導入されており、Fortune 500企業の157社以上で利用されています。

FireEyeウェブサイト: http://www.fireeye.co.jp

FireEyeプラットフォームについて: http://www.fireeye.com/jp/ja/products-and-solutions/

 

【報道関係の方からのお問い合せ先】

ファイア・アイ広報事務局

(ホフマンジャパン株式会社内)

担当: 青木 /田中

TEL: 03-5159-5750  FAX: 03-5159-2166

Email: FireEye_PR@hoffman.com

 

# # #

FireEyeはFireEye, Inc.の登録商標です。その他すべてのブランド、製品、またはサービスの名前は、それぞれ該当する所有者の商標またはサービスマークである可能性があります