ACEDECEIVER:初のIOSトロイの木馬

By

Category: Unit 42

Tags: , , , ,

This post is also available in: English (英語)

概要

Palo Alto NetworksのUnit 42は、脱獄(ジェイルブレイク)されていないデバイスに感染した新たなiOSマルウェア ファミリーを発見し、「AceDeceiver」と命名しました。

AceDeceiverが以前のiOSマルウェアと異なっている点は、iOSマルウェアが過去2年間してきたようにエンタープライズ証明書を悪用するのではなく、AceDeceiverはエンタープライズ証明書を使わずに自分自身をインストールするところです。これには、AppleのDRMメカニズムにおける設計の欠陥を悪用しています。AppleがApp StoreからAceDeceiverを削除したにも関わらず、新たな攻撃経路によって引き続き拡散される可能性があります。

AceDeceiverは、初めて目にするタイプのiOSマルウェアです。それは、AppleのDRM保護メカニズム、つまりFairPlayの特定の設計上の欠陥を悪用して、iOSデバイスがジェイルブレイクされているかどうかに関係なく、iOSデバイスに悪意のあるアプリをインストールします。このテクニックは、「FairPlay Man-In-The-Middle (MITM: 中間者)」と呼ばれ、2013年以降、違法コピーされたiOSアプリを配布するために使用されてきましたが、それがマルウェアを拡散させるために使用されているのが検出されたのは今回が初めてです(FairPlay MITM攻撃は、2014年のUSENIX Security Symposiumでも提起されましたが、このテクニックを使用した攻撃は引き続き成功裏に発生しています)。

Appleは、ユーザーに、ユーザーのコンピュータで稼働しているiTunesクライアントを通じて、App StoreからiOSアプリを購入およびダウンロードすることを許可しています。その後、ユーザーはコンピュータを使用してアプリをiOSデバイスにインストールします。iOSデバイスは、アプリが実際に購入されたことを検証するため、インストールされたアプリごとに認証コードを要求します。FairPlay MITM攻撃では、攻撃者はApp Storeからアプリを購入し、認証コードをインターセプトして保存します。その後、iTunesクライアントの動作をシミュレートするPCソフトウェアを開発し、アプリが被害者によって購入されたものとiOSデバイスが確信するように見せかけます。そのため、ユーザーは一切支払いをすることなくアプリをインストールでき、ソフトウェアの作成者はユーザーが気付かないうちに潜在的な悪意のあるアプリをインストールできます。

図1  FairPlay MITM攻撃の手順

AceDeceiverファミリの3種類のiOSアプリは、2015年7月から2016年2月までの間に、公式のApp Storeにアップロードされ、それらはすべて壁紙アプリと称していました。これらのアプリは、アプリが実行されている物理的な地理的地域に基づいて、アプリがその動作を適応させるという、ZergHelperによって使用されているものと同様の方法を使用して、少なくとも7回(それぞれの初回アップロード時、Appleによる追加のレビューが義務付けられているその後の4回のコード更新時)はAppleのコード レビューをうまく回避しました。このケースでは、ユーザーが中国国内にいる場合、AceDeceiverは悪意のある動作を表示するだけですが、それを随時変更するのは攻撃者にとって簡単なことです。Appleは、当社が2016年2月後半にこれら3つのアプリを報告した後、それらをApp Storeから削除しました。ただし、FairPlay MITM攻撃は、かつてApp Storeで入手可能だったこれらのアプリしか必要としないため、攻撃は引き続き実行可能です。攻撃者がAppleからの認証コードのコピーを取得できるかぎり、攻撃によってそれらのアプリを拡散するために、現在のApp Storeでアプリが入手可能である必要はありません。

攻撃を遂行するため、作成者は、FairPlay MITM攻撃を実行するための「爱思助手(Aisi Helper)」と呼ばれるWindowsクライアントを作成しました。Aisi Helperは、システムの再インストール、ジェイルブレイク、システム バックアップ、デバイス管理、システム クリーニングなどのiOSデバイス向けサービスを提供するソフトウェアであると称しています。しかし、それ以外にも、Aisi HelperがインストールされているPCに接続されたあらゆるiOSデバイスに、悪意のあるアプリを密かにインストールします(注目すべきは、感染時に最新のアプリがiOSデバイスにインストールされるだけでなく、3つすべてが同時にインストールされる点です)。これらの悪意のあるiOSアプリは、ユーザーがiOSアプリやゲームをダウンロードするように、作成者によって制御されているサード パーティのアプリ ストアへの接続を提供します。ユーザーはさらに機能を使用するためにApple IDとパスワードの入力が求められ、入力されたこれらの認証情報は、暗号化された後、AceDeceiverのC2サーバにアップロードされます。私たちは、2015年3月の日付のエンタープライズ証明書を持つ、早期バージョンのAceDeceiverも識別しました。

この執筆時点では、AceDeceiverは中国本土内のユーザーのみに影響するかのように見えます。しかし、より大きな問題は、AceDeceiverが、ジェイルブレイクされていないiOSデバイスに感染させるための、もう1つの比較的簡単な手段を証明している点です。結果として、これらの攻撃者によるか、または攻撃テクニックをコピーする他の攻撃者によるかに関係なく、これが世界中のより多くの地域を蝕み始める可能性があります。さらに、次の理由から、新しい攻撃テクニックは、以前の攻撃テクニックより危険です。

  1. エンタープライズ証明書が不要なため、この種のマルウェアはMDMソリューションでは制御できず、それを実行するのに、もはやユーザーによる信頼の確認を必要としません。
  2. パッチが適用されていません。パッチが適用されても、古いバージョンのiOSシステムでは、攻撃が引き続き動作する可能性があります。
  3. これらのアプリがApp Storeから削除されても、攻撃には影響はありません。攻撃者は、悪意のあるアプリを拡散するために、それらを常にApp Storeで入手可能にしておく必要はありません。アプリをいったんApp Storeで入手可能にし、ユーザーにそれぞれのPCへクライアントをインストールさせる必要があるだけです。しかし、ZergHelperとAceDeceiverは、いかに簡単にAppleのコード レビュー プロセスを回避し、悪意のあるアプリをApp Storeに登録できるかを示しています。
  4. 攻撃は、被害者に悪意のあるアプリの手動でのインストールを要求せず、彼らの代わりにそれを実行します。それが、攻撃の成功に影響することなく、いくつかの地域のApp Storeでアプリが入手可能であれば済む理由です。また、このため、AppleまたはiOSの脆弱性を調査しているセキュリティ会社による検出が非常に困難なものとなっています。
  5. 攻撃では、最初にマルウェアによってユーザーのPCを感染させる必要がありますが、その後は、ユーザーが気付かぬうちにバックグランドでiOSデバイスへの感染が完了されます。唯一の兆候は、ユーザーのホーム画面にアイコンとして新しい悪意のあるアプリが現れることです。そのため、ユーザーは、ダウンロードした覚えのない新しいアプリに気付くことがあります。

AceDeceiverの分析から、私たちは、FairPlay MITM攻撃がジェイルブレイクされていないiOSデバイスのもう1つの一般的な攻撃ベクトルになり、引いては、世界中のAppleデバイス ユーザーにとって脅威となると確信しています。Palo Alto Networksは、お客様をAceDeceiverトロイの木馬およびFairPlay MITM攻撃テクニックから保護するために、IPS署名(3891438915)を公開し、URLフィルタリングと脅威防御を更新しました。

このブログの後半では、AceDeceiverの拡散、攻撃、実装の方法について詳しく説明します。また、FairPlay MITM攻撃の動作方法と、AppleのDRMテクノロジのセキュリティ上の欠陥についても解説します。

脅威の時系列

2013年1月:  違法コピーされたiOSアプリを拡散するため、FairPlay MITM攻撃が実世界で使用されました。

2014年8月:  リサーチャーが、第23回USENIX Security SymposiumでFairPlay MITM 攻撃を説明する論文を公開しました。

2015年5月26日: AceDeceiverのエンタープライズ証明書で署名されたiOSアプリに、パスワードを盗む機能が追加されました。これらのアプリは、Aisi Helper Windowsクライアントに埋め込まれました。

2015年7月10日:  AceDeceiverのiOSアプリ「爱思助手」が香港とニュージーランドのApp Storeで入手可能になりました。

2015年7月24日:  Aisi Helper Windowsクライアントが更新され、App StoreバージョンのiOSアプリが埋め込まれました。

2015年11月7日: AceDeceiverのiOSアプリ「AS Wallpaper」が米国のApp Storeで入手可能になりました。

2016年1月30日:  AceDeceiverのiOSアプリ「i4picture」が米国と英国のApp Storeで入手可能になりました。

2016年2月21日:  Palo Alto Networksが、ZergHelperに関するレポートを公開しました。

2016年2月24日:  Palo Alto Networksが、AceDeceiver問題をAppleに報告しました。

2016年2月25日: AceDeceiverアプリが、App Storeから削除されました。

2016年2月26日:  Palo Alto Networksが、AceDeceiver内のFairPlay MITM攻撃問題をAppleに報告しました。

AceDeceiverの背景

AceDeceiverトロイの木馬は、中国、深センを拠点とする会社によって開発された「爱思助手(Aisi Helper)」という名前の製品の中に存在します。また、AceDeceiverのC2サーバは、製品の公式Webサイト、www.i4[.]cnと同じドメイン名を共有しています。トロイの木馬もダウンロードと更新用に、このドメインの第3レベルのURLを使用しました。

図2  Aisi Helperの公式Webサイト
Aisi Helperは、Windowsシステム対応のソフトウェア プログラムで、システムの再インストール、ジェイルブレイク、システム バックアップ、デバイス管理、システム クリーニングなどのiOSデバイス向けサービスを提供すると称しています。中国本土内にいるユーザーのiOSデバイスにインストールされると、デバイスがジェイルブレイクされているかどうかに関係なく、追加のiOSアプリやゲームをインストールするために使用でき、攻撃者によって制御されたサードパーティのアプリ ストアへのアクセスが提供されます。そこで提供されているiOSアプリの大半が違法コピー バージョンのようです。面白いことに、中国のビジネス プロファイリングWebサイトであるITJuziによれば、Aisi Helperは当初2014年1月にリリースされ、その時点では悪意ある機能は示していませんでした。2014年12月時点では、累計ユーザー数は1500万を超え、月あたりのアクティブ ユーザー数は660万を超えていました。2015年までは、悪意ある機能が追加されたようには見えませんでした。
ユーザーがコンピュータから公式Webサイトにアクセスすると、コンピュータ上で実際に稼働しているオペレーティング システムに関係なく、Aisi HelperのPCクライアントのインストールを求めるプロンプトが表示されます。いったんインストールすると、PCクライアントは自動的に最新の悪意あるiOSアプリを、接続されたiOSデバイスにインストールします。ただし、ユーザーがiPhoneまたはiPadからWebサイトにアクセスすると、ブラウザはそのサイトのモバイル バージョン(m.i4[.]cn)にリダイレクトされ、そのiOSクライアントのエンタープライズ証明書で署名されたバージョンが推奨されます。2016年2月に当社が調査した間、公式WebサイトからダウンロードされたすべてのAisi Helper WindowsまたはiOSクライアントにAceDeceiverトロイの木馬が含まれていました。
AceDeceiverの機能について現在私達が把握していることから考えて、Webサイトのlegal announcement(免責事項)は少々疑わしいところがあります。セクション7には、「当社のWebサイトは、ハッカーの攻撃、コンピュータ ウイルスの侵入、またはその他の攻撃の結果として生じた、個人データの漏洩、損失、盗用、改ざんなどには一切の責任を負いません...」と記載されています。

図3  製品は、個人データの漏洩や損失には責任を負わないと主張している

AceDeceiverはApp Storeに何度も登録されている

私たちは、公式なApp Storeに成功裏に登録されたAceDeceiverファミリの3つのiOSアプリを検出しました。最初のアプリは2015年7月10日に公開され、2番目は2015年11月7日に、3番目は2016年1月30日に公開されました。それらはすべて正規の壁紙アプリに見えるように設計され、それぞれApp Store内で異なる名前が付けられ、異なるバンドルIDを持ち、異なる開発者アカウントが使用されています。

図4  App Store内でのAceDeceiverファミリの3番目の悪意あるアプリ
App Store内での名前 バージョン バンドルID リリース日 店舗 開発者
壁纸助手 6.0.x com.aisi.aisiring 2015/07/10 香港、ニュージーランド fangwen huang
AS Wallpaper 7.0.x com.aswallpaper.mito 2015/11/07 米国 Yuzu He
i4picture 7.1.x com.i4.picture 2016/01/30 米国、英国 liu xiaolong
表1  App Storeにおける3つのAceDeceiverアプリに関する情報
通常、Appleは、最初にApp Storeへの登録が申請されたときに、すべてのアプリに対してコード レビューを実施します。リリース後に、開発者が既存のiOSアプリの更新を希望した場合、Appleではより新しいバージョンでもう一度コードレビューを実施することを義務付けています。今まで、App Storeで受諾された後に、これらのアプリはすべて更新されていることがわかっています。つまり、AceDeceiverはAppleのコード レビューを7回もうまく回避したのです。

図5  中国以外のユーザー向けのユーザー インターフェイス
これらのアプリは起動されると、ユーザー インターフェイスの最初の画面を表示する前に、AceDeceiverのC2サーバのURLであるtool.verify.i4[.]cn/toolCheck.xhtmlにアクセスします。URLが「0」を返すと、攻撃者のサード パーティ アプリ ストアのユーザー インターフェイス全体が表示されます。ただし、URLが「1」または「0]以外の何かを返すと、ユーザーには図5に示すような壁紙アプリのインターフェイスが表示されます。

図6  iOSアプリのC2へのアクセスによって、表示されるユーザー インターフェイスが決まる

図7  iOSアプリのC2への初期ビーコン

弊社が2月にこれらのアプリを解析したとき、このC2はデバイスのIPアドレスが中国本土のものである場合に「0」しか返しませんでした。これが、Appleのコード レビューをかわすのにアプリが取った方法の一部でなかったとしても、攻撃者はアプリがレビューを受けている状態にあると知っている場合、常に「1」を返すようサーバを設定することも可能でした。これにより、Appleのレビュー担当者がどこにいても、壁紙アプリのユーザー インターフェイスの中には、いつも何かの美しそうな絵だけがレビュー担当者の目に映ることになります。

位置に関する細工に加え、AceDeceiverは自分が発見されないことを確実なものにするため、さらにもう少し工夫を凝らしました。

第1に、攻撃者は地域選択においてこれらのアプリをApp Storeにサブミットしかしないでおきました。Appleは世界中の155の様々な地域に対してApp Storeサービスを提供しています。通常、ユーザーは地元のApp Storeからダウンロードすることしか選択できず、自分の地域で利用可能でないアプリをインストールすることはできません。前述のZergHelperの作者は155個の地域すべてに対してアプリをサブミットすることにしましたが、AceDeceiverはそうしませんでした。例えば、弊社が調査したとき、第3のアプリ「i4picture」は米国および英国向けのApp Storeでしか利用できませんでした。この配布戦略のため、AceDeceiverの作者はAppleが中国にあるアプリをレビューしないだろうと推測したものと考えられます。また、これによりセキュリティ リサーチャーがアプリを発見する機会が著しく低減しました。それは、このApp Storeからアプリをダウンロードした場合、ユーザーは悪意のある関数が実行されない地域にいるのが一般的だからです。

第2に、IPアドレスに基づいて別々のユーザー インターフェイスを使うのに加え、弊社のテストによれば、AceDeceiverは収集した情報によりデバイスを記憶します。これらのアプリはデバイスのユニークなIDをC2サーバにアップロードします。いずれデバイスが中国国外で使用されると、そのデバイスが後で中国本土のIPアドレスに戻ったとしても、悪意のある機能は相変わらず潜んだままです。

第3に、これらのアプリは状況が変われば名前も変えて現れます。例えば、App StoreのWebページでは「壁纸助手(Wallpaper Helper)」という名前だったのに対してiOSデバイスでは「爱思助手(Aisi Helper)」になるという点で、バージョン6.0.4はZergHelperと同じ手口を使いました。弊社では、IPAファイルのiTunesMetadata.plistを調査して、こうした名前の違いを検出しました。その後、バージョン7.1.2ではアプリの名前はiOSデバイスに対して「爱思助手(Aisi Helper)」となっていて、中国語の短縮形式の設定を使います。一方、その他のデバイスに対してはすべて「i4picture」という名前であるにすぎません。

図8  iOSデバイスおよびApp Storeのページにおける異なる名前

図9  異なる言語を使用しているデバイスにおける異なる名前

FairPlay中間者攻撃

弊社がAceDeceiverを調査しているとき、一番不思議だったのはこのマルウェアのアプリが中国本土向けのApp Storeでは手に入らないのに、その悪意のある機能がこの地域のユーザーしか標的にしていないということでした。これがヒントとなって弊社はこのアプリがFairPlay MITM攻撃のエクスプロイトを行っていることを発見しました。この攻撃により、App Storeを必要としない方法でこれらのアプリがiOS デバイスにインストールされる恐れがあります。

図10  iTunesにおいてコンピュータを認可する

FairPlayはAppleが何年も前に作ったデジタル著作権管理(DRM)技術で、iTunes経由で利用される楽曲およびiPods上で利用される楽曲を保護します。DRMに基づき、Appleユーザーは自分のPCまたはMacにiTunesソフトウェアを介してiOSアプリをダウンロードし、その後、このアプリを自分のコンピュータから自分のデバイスにインストールすることができます。このインストールに先立ち、ユーザーはアプリ購入に使用するのと同じApple IDを使って「コンピュータを認証する」必要があります。Appleは各Apple IDを最大で5台のコンピュータを認証する.のにしか使えないよう制限しています。攻撃者が悪用方法を考え出した対象はこのプロセスでした。

アプリをインストールしている間、認証手続きにおいて重要なステップは、接続済みのiPhoneまたはiPadがafsync.rqファイルおよびafsync.rq.sigファイルをコンピュータに送信すると、そのコンピュータ上のiTunesソフトウェアが正しいafsync.rsファイルおよびafsync.rs.sigファイルを応答としてiOSデバイスに返送しなければならない、ということです。応答として渡されたafsync.rsが正しいときにしかiOSデバイスはアプリをインストールしてDRM保護を復号化することができません。(実際のプロトコルはここでの記述よりも複雑です。議論を進めるために簡略化しました。)

図11  アプリをインストール中の通常の認可手続き

しかし、この手続きには設計上の不備がいくつかあります。

第1に、AppleはiOSアプリ購入に使用したApple IDでコンピュータを認証しなければならないようにしか制限していません。こうしたアプリのインストール先となるiOSデバイスの台数については何の制限もありません。

第2に、Appleはアプリ購入に使用されているApple IDがiOSデバイスで実際に使用されるApple IDとは異なるものであっても許しています。

第3に、DRM保護をするアプリのインストーラー(IPAファイル)は、ダウンロード先のコンピュータがどれであっても、また、アプリ購入に使用されたApple IDがどれであっても、常に同じです。

総じて言えば、FairPlay DRM保護はアプリ自体にしか関係しておらず、それぞれのApple IDおよびそれぞれのiOSデバイスには無関係である、というところにこの問題があります。Appleは、コンピュータの認証、およびコンピュータと問題のデバイスとの間の物理的な接続にAppleのセキュリティが依拠する方法で保護メカニズムを設計しました。

こうした設計上の不備によりFairPlay MITM攻撃が許されてしまいました。このような攻撃では、攻撃者は1台のコンピュータを認証した後、(任意の地域にある)App StoreからiOSアプリを購入することができます。その結果、正しいafsync.rs応答を生成することが可能になる恐れがあります。次に、攻撃者はこのafsync.rsをC2サーバ上にサービスとして導入することができます。こうなると、攻撃者にはPCまたはMac用にクライアント ソフトウェアを作成することが可能です。このクライアント ソフトウェアは、iTunesの機能を装いiOSデバイスと接続してiOSアプリをインストールします。クライアントはiOSデバイスからafsync.rqを受信した場合、C2サーバにこのファイルをアップロードした後、C2サーバから正しいafsync.rsを得てこの応答をiOSデバイスに送信することが可能です。

認証されたコンピュータをC2サーバに導入し、クライアント ソフトウェアを中間のエージェントとして使用することで、攻撃者は購入済みのこのiOSアプリを制限の掛けられていないiOSデバイスに配布することができます。

図12  FairPlay MITM攻撃における認可手続き

Appleが採用した独自のプロトコルやアルゴリズムを理解するには攻撃者がiTunesクライアントのリバース エンジニアリングを行う必要があることを考えると、FairPlay MITM攻撃を実装するのは容易ではありません。そうであっても、2013年1月において、一部のメディアの報道によると、この攻撃は海賊版iOSアプリを配布するのに野放しで使われ続けられていました。2014年8月に、Georgia Institute of TechnologyのTielei Wangたちが“iOSデバイスの大規模感染の実現性について(On the Feasibility of Large-Scale Infections of iOS Devices),”と題する論文を公表し、第 23回 USENIX Security Symposium.でプレゼンテーションを行いました。論文には攻撃の詳細が記述されています。また、この論文ではproof-of-conceptの実験により攻撃が実証されており、この攻撃手法が広範囲にわたってどのように利用され得るかについて評価がされています。

2013年1月の報告から3年、弊社がAceDeceiverを解析していて、Appleがいまだにこの複雑な問題に対処していないでいることに気付きました。そのうえ、現バージョンおよび古いバージョンのiOSデバイスは同じ攻撃からいまだに脆弱である恐れがあります。

AceDeceiverはいかにFairPlay MITM攻撃を利用したか

Aisi Helper Windowsクライアントのバージョン5.38から最新バージョン(6.15)を対象に調査を行ったところ、これらのクライアントのパス「files/i4/60.ipa」に、AceDeceiverのiOS IPAファイルのApp Storeバージョンが含まれていることが判明しました。Aisi Helperの公式Webサイトに掲載されている更新ログによると、バージョン5.38は2015年7月24日にリリースされています。疑わしい3つのiOSアプリのうち、最初のアプリがApp Storeで利用可能になってからわずか14日後のことです。Windowsクライアントにはいくつか別バージョンがありますが、それらにも「files/i4/i4.ipa」が含まれており、AceDeceiver iOSアプリがエンタープライズ証明書によって署名されたことを示しています。

ユーザーがWindowsクライアントをインストールし、iOSデバイスをPCに接続してクライアントを起動すると、FairPlay MITM攻撃を使って、埋め込まれたAceDeceiverアプリがデバイスに自動的にインストールされます。ユーザーに確認は求められません。ユーザー インターフェイスに、進捗バーと、「Installing Aisi Helper... (Aisi Helperをインストールしています...)」というメッセージが表示されますが、処理を停止またはキャンセルするためのオプションは用意されていません。

図13  Aisi Helper Windowsクライアントはトロイの木馬アプリを自動的にインストールする

以下の分析は、Windowsクライアント バージョン6.12に基づいて行いました。インストーラーは、2016年2月24日にhttp://d.app6.i4[.]cn/i4tools/v6/i4tools_v6.12_Setup.exeからダウンロードしたものです。SHA-256の値はad313d8e65e72a790332280701bc2c2d68a12efbeba1b97ce3dde62abbb81c97です。

Windowsクライアントがインストールされると、i4Tools.exeファイル内の関数sub_4A9530がインストールとエクスプロイトの実装を受け持ちます。これは関数sub_4A8CE0を呼び出してIPAファイルをインストールした後、関数authを呼び出してFairPlay MITMを実行します。

関数sub_4A8CE0は、\files\i4\60.ipaに格納されたIPAファイルを読み取って、am_install_appを呼び出します。am_install_app関数はi4m.dllファイルに実装されています。この関数は、com.apple.mobile.installation_proxyサービスと通信して、IPAファイルをiOSデバイスにインストールします。これは非常に古典的な手法です。

図14  IPAファイルをOSデバイスにインストール

続いてsub_4A9530が、同じくi4m.dllに実装された関数authを呼び出します。

図15  C2 URLで関数authを呼び出してFairPlay MITMを実行

関数authはFairPlay MITM攻撃を実装します。接続されたiOSデバイスから/AirFair/sync/afsync.rqを受信し、HTTP POST (関数sub_10005DB0に実装)によってC2サーバauth3.i4[.]cnにファイルを送信します。そしてC2サーバからafsync.rsを受信し、この応答をiOSデバイスの/AirFair/sync/afsync.rsに戻します。

図16  Auth関数がafsync.rqファイルを読み取る

図17  libcurlを介してafsync.rqをC2サーバに送信

図18  afsync.rqファイルの送信トラフィック

図19  afsync.rsをコピーしてiOSに戻す

Apple IDとパスワードの窃盗

ユーザーが中国からAceDeceiverの各iOSアプリにアクセスした場合、アプリは概ねサード パーティ版のアプリケーション ストアのように機能します。なお、AceDeceiverがこのストアで提供しているアプリやゲームもいくつかFairPlay MITM攻撃によってインストールされます。さらにこれらのアプリは、ユーザーが「App Storeから無料アプリを直接インストールし、アプリ内購入を実行してGame Centerにログイン」できるようにするため、Apple IDとパスワードを入力するよう強く推奨してきます。

Apple IDとパスワードを入力するインターフェイスには、“Instructions (説明)”と“Disclaimer (免責事項)”を表示するボタンが用意されています。これらのどのドキュメントでも、パスワードを自社のサーバに送信することは一切なく、暗号化してローカル デバイスに保存するだけであると述べられています。しかし、これは真実ではないと証明できます。注目すべきは「Disclaimer (免責条項)」の最後のセクションの内容で、ユーザーのApple IDに関して異常な動作があってもAisi Helperは一切責任を負わないとも述べられているのです。

図20  アプリのインストールとApple IDの入力を行うiOSアプリのインターフェイス

図21  Apple IDの入力に関する説明と免責条項

私たちは実際、AceDeceiverのすべてのバージョンがApple IDとパスワードをC2サーバにアップロードすることを突き止めました。これらのiOSアプリは、ユーザーがApple IDとパスワードを入力した後、[LoginEntity getLoginAppleId:withPassword:block:]メソッドを呼び出して、インターフェイスからApple IDとパスワードを取得し、[UserInfo initAppleId:WithPassword]を呼び出します。このメソッドで、Apple IDとパスワードが固定キーでRC4アルゴリズムによって暗号化されます。次のように、キーの値自体が極めて興味深いものになっています。

·   bbs.i4.cn/forum.php?mod=viewthread&tid=m&fromuid=n

図22  Apple IDとパスワードがRC4アルゴリズムで暗号化される

暗号化が完了すると、Apple IDとパスワードはBase64エンコードされた後、URLエンコードされます。そして、LoginEntityインスタンスのプロパティappleId_RC4およびpassword_RC4として設定されます。ここで[LoginEntity getLoginInfo]が呼び出されます。このメソッドで、暗号化されたApple IDとパスワードがAceDeceiverのC2サーバにURL「http://buy.app.i4[.]cn」で送り返されます。

図23  暗号化されたApple IDとパスワードがC2サーバに送信される

分析時に、ユーザー名「example@example.com」、パスワード「example123」を使って無効なApple IDユーザー名を入力してみました。すると、次のようなネットワーク トラフィックを通じて、この資格情報がサーバと送受信されていたことがわかりました(サーバの応答がHTTP 200であるため)。

図24  Apple IDとパスワードのアップロード トラフィック

リスクの軽減

AceDeceiverの3つのトロイの木馬アプリはすべて、2016年2月末にAppleによってApp Storeから削除されました。しかしApp Storeから削除されても、Aisi Helper Windowsクライアントは依然として、FairPlay MITM攻撃を使うことでジェイルブレイクされていないiOSデバイスにアプリをインストールすることが可能です。また、古いエンタープライズ証明書で署名されたバージョンのAceDeceiverアプリについてAppleへの報告も行いました。それ以降、悪用された既知のエンタープライズ証明書もすべて無効にされています。

2015年3月以降にAisi HelperのWindowsクライアントまたはiOSアプリをインストールしたユーザーは、該当するソフトウェアとアプリを即刻削除すると同時に、Apple IDとパスワードの変更も行うことを推奨します。併せて、Apple IDの2要素認証を有効にすることもすべてのiOSユーザーに推奨します。

企業の場合は、管理下にあるApple製デバイスに次のBundle IDでiOSアプリがインストールされていないか確認することを推奨します。

  • com.aisi.aisiring
  • com.aswallpaper.mito
  • com.i4.picture

AceDeceiverはエンタープライズ証明書経由でも拡大するため、不明なプロビジョニング プロファイルや異常なプロビジョニング プロファイルがないかどうかも併せて確認することを推奨します。

現在までのところ、悪意のある既知のトラフィックはすべてi4[.]cn以下のサブドメインとの間でやり取りされています。そのため、このドメインのトラフィックがないか確認することで、AceDeceiverのものと思われるトラフィックを特定することもできます。

結論

AceDeceiverは、攻撃者がAppleのセキュリティ対策を回避して、特にジェイルブレイクされていないデバイスに悪意のあるアプリをインストールする方法がほかにもあることを示しています。モバイルは悪意のある攻撃者にとって極めて大きいターゲットです。ここ数年Androidデバイスばかりに注目が集まっていましたが、iOSは幅広い人気があるため、攻撃者がiOSデバイスを攻撃対象にすることが増えています。本稿の執筆時点では、AceDeceiverの標的は中国本土のiOSデバイスに限定されているものの、攻撃者はこの攻撃を容易に世界の他の地域に拡大することができます。そして既に述べたように、攻撃者が悪用する攻撃手法はAppleにとって容易には修正できないものになっていくはずです。

Palo Alto Networksは、AceDeceiverファミリのC2トラフィックをブロックするIPS署名(38915)をリリースしました。関連する各種のC2 URLも、URLフィルタリングおよび脅威防御によって悪意があるものとしてマークされます。Palo Alto NetworksのWildFireは、Aisi HelperのすべてのWindowsクライアントを悪意があるものと認識します。

また、Palo Alto NetworksはFairPlay MITM攻撃に対応する別のIPS署名(38914)もリリースしました。

謝辞

本レポートの作成にあたり、Palo Alto NetworksのJen Miller-OsbornならびにChad Berndtsonから協力を得ました。深く感謝いたします。また、脅威からの顧客の保護に尽力してくれている、Palo Alto NetworksのYi Ren、Tyler Halfpop、Yuchen Zhou、およびRongbo Shaoにも感謝の意を表します。

IOC

Trojan.Win32.AceDeceiver

  • ad313d8e65e72a790332280701bc2c2d68a12efbeba1b97ce3dde62abbb81c97  i4Tools_v6.12_setup.exe
  • 9231166a2114f6b1c2d6cd6a57b5836e919ee5739d8868f07425d3c22697894e  i4Tools.exe
  • 78a2cdade1b0715e4f3f372e86724ee10e241ad8821c6b8caa3e84fd7e78ba7e  i4m.dll

Trojan.iOS.AceDeceiver (App Storeバージョン、FairPlay DRM保護)

  • 5894742146c02ba8af5390c91e4f0d2e5ad6cfaa2b916945ebb4fad633b054e3  601.ipa
  • ba07f252801120b081c45a173fb1a205fea763ed827f05fb9beb5150ae297ccb  60.ipa
  • f7e50fdc4f20f0d25771a694eb3f3643c1842e3b14f06aaa5e8d9dab1c1851e9  60.ipa
  • ca115f8a3751e4c0fc36b001e3c74d3ac167360a4a44fd1b373b25487de05820  60.ipa
  • 3e02b30a6a920a5bdc139270b1e731a4a8d7ab313e9c8d9af9fec611710b4d09  60.ipa
  • 006c539fa6251e1d2142631c52d7c112bf5027335696eacd64794b8cf357d6d5  60.ipa
  • fbc26c14a3ff609332644f5d9702f07ace024961b7aa2c531df2715911b1c57d  bf03_710.ipa

Trojan.iOS.AceDeceiver (App Storeバージョン、FairPlay DRM解除)

  • bc82efce99f149441a2fd730a961a0f7da58dd6c9c3b45597f5571f227a52309  com.i4.picture.ipa
  • ad7cfc29b0a9b6ade878d01084c68d0bbcde699e142652b00132317c04bcf730  aisiweb

Trojan.iOS.AceDeceiver (エンタープライズ証明書による署名バージョン)

  • 0a8e29bd8fe0f5d4d6a8677454b1d01e97478dc4bc3666eaab6bbbf2f2e759bc
  • 1b6cf5abe2bd3d5bb84da8debd5ec563393d30995ce4afc6142dc3381ac69902
  • 352d1af3a5cef417dda688be2dd35c3f59841ea56c393a07f95a0bc5ab576448
  • 5bc7ceb48ca4951997d50425d5b34484505e4444a3e172ab846b2595104b7138
  • 5bebcacfb5c541bd6ba7530aeb2971c20adb1beddb244e4367d40cd87bfc826d
  • 63e3cc1d00abef8ad6c2029e7f9a4831ec4c48682979a7385a940fb73cfc03a6
  • 821f93bae8c067af71626ca84cdc20226df61c4c371e5eb6423d9439c8b8c25d
  • 86b8065d40c24e3702ed848ec28650b074a577f677375c094ed61a2efffce11b
  • 9a4a40625efcc6f4de419db0bec9fbdfdc379918a95fba572ee56cffc13cd074
  • a504d47fdfa630bc1c474cdbdaf0dd82a46a08e5d662ecc1bffc57f3c409690e
  • baa255dd7a0e52edf6e4f3082a6840800898969a3d17f2bcb6a88d0a94c5b795
  • bc5e3be07e65f25479cee7de8615b386c489c1253659ed7ca5526f86f5116374
  • c41e3abd97e16b3d9514583eef613105006d69dffb2231badfd500d29eb113bc
  • d879c6d96463b81e4f2085a565418c99b559a8803ca449442464a2b6cd728d97
  • f6cabdc408e12912c07097c9956ceda2f7033e88c2ca59d7618b9256d3724f5c

C2ドメイン

  • tool.verify.i4[.]cn
  • auth3.i4[.]cn
  • buy.app.i4[.]cn