1,400万台のAndroid搭載デバイスに感染し、そのうちの約800万台をroot化したモバイル・マルウェアをチェック・ポイントの研究者が特定しました。背後にいるハッカー・グループは、不正な広告の掲載により2か月間で約150万ドルもの利益を得ています。

モバイルの脅威を専門とするチェック・ポイントの研究者が「CopyCat」と名付けたこのマルウェアは、まったく新しい手法で広告収入を発生させ、盗み取ります。CopyCatは主に東南アジアで猛威を振るいましたが、アメリカでも28万人以上のAndroidユーザに感染が拡がりました。

CopyCatは豊富な機能を持つ高度なマルウェアであり、デバイスのroot化、長期的に活動する基盤の確立、Android OSでアプリの起動を担当するデーモン「Zygote」へのコードの挿入が可能です。Zygoteの改変により、CopyCatはデバイス上のあらゆる活動を制御できるようになります。

チェック・ポイントの研究者がこのマルウェアの存在を初めて認識したのは、SandBlast Mobileを導入している企業のデバイスが攻撃を受けた時点です。チェック・ポイントではCopyCatのC&Cサーバから情報を取得し、内部の仕組みの全面的なリバース・エンジニアリングを実施しました。詳しい内容は包括的な技術レポートで確認してください。

CopyCatの攻撃キャンペーンのピークは、2016年4月から5月にかけての期間です。このマルウェアを埋め込んで再パッケージ化された人気アプリが、サードパーティのアプリストアからダウンロードされて拡散したか、フィッシング詐欺によって拡がったと研究者は見ています。CopyCatがGoogleの公式アプリストア「Google Play」で配信されたという証拠はありません。

2017年3月、チェック・ポイントはCopyCatの脅威と活動の内容について、Googleに情報を提供しました。Googleによると、同社はこの攻撃の抑え込みに既に成功し、現在の感染デバイス数はピーク時を大幅に下回っているとのことです。ただし、CopyCatに感染したデバイスは現在もこのマルウェアの影響を受けている可能性があります。

CopyCatの振る舞い

CopyCatは全世界で1,400万台のデバイスに感染し、800万台をroot化した大規模な攻撃キャンペーンであり、研究者は前例のない成功率と評しています。また、チェック・ポイントの研究者は、このマルウェアでハッカー・グループが手にした金額を150万ドルと見積もっています。

CopyCatの調査レポート

CopyCatはチェック・ポイントが過去に発見したマルウェア(GooliganDressCodeSkinnerなど)と同じように、最先端の技術を駆使してさまざまな広告詐欺を行います。感染に成功したCopyCatはまずデバイスをroot化し、攻撃側でそのデバイスを完全にコントロールできるようにします。この時点でユーザはあらゆる攻撃に対して無防備な状態になります。

CopyCatは続いてアプリ起動プロセスのZygoteにコードを挿入します。この結果、攻撃者はリファラIDを独自のIDに置換し、アプリのインストール用のクレジット・カード情報を入手して、不正な利益を得られるようになります。また、CopyCatはZygoteを悪用して不正な広告を表示しますが、経緯が隠されるため、ユーザはその広告がなぜ画面に表示されるのか容易には把握することができません。さらにCopyCatは別個のモジュールを使い、不正なアプリをデバイスに直接インストールします。このような活動により、CopyCatに感染したデバイスが多ければ、その分だけ作成者に莫大な利益がもたらされるようになります。

アドウェアの問題点

広告業界を狙って利益をかすめとろうとするマルウェアが非常に多く、技術的なアプローチも巧妙に進化している事実は、アドウェアを使った攻撃キャンペーンがいかに収益性が高いかを物語っています。しかし、ユーザや企業などにとっては、次に示すような深刻な脅威になっています。

  • 機密情報の窃取Gooliganなどの一部のアドウェアは被害者の機密情報を盗み取る。この情報は第三者に売り渡される場合がある
  • デバイスのroot化またはJailbreak – アドウェアはデバイスのroot化またはJailbreakを行うことが多く、AndroidやiOSに組み込まれているセキュリティ機構が破壊される。そうなると、被害者のデバイスは最低レベルのハッキングにも対処できない
  • 攻撃手法の変化 – アドウェア攻撃キャンペーンの背後にいる犯罪者は、攻撃の手法を変えることがある。root化またはJailbreakしたデバイスにさまざまな種類のマルウェアを拡散する場合もあれば、それらのデバイスを使ってDoS攻撃を仕掛ける場合もある
  • ハッカー・コミュニティでのコード共有 – アドウェアの開発者が生み出した高度な機能を、マルウェアの開発者がさらに大きな犯罪に利用するケースがある(機密文書「Vault 7」の流出事件など)

企業にも影響が広がるアドウェア

以上の理由により、CopyCatなどのアドウェアは個人に限らず企業にもリスクをもたらします。企業ネットワークに接続されているモバイル・デバイスのセキュリティを突破できれば、攻撃側はその企業のネットワーク全体に侵入して、機密データにアクセスすることが可能になります。モバイル・デバイスはノート・パソコンと同様、ネットワークのエンドポイントであり、同じレベルの保護対策が必要です。機密情報にアクセス可能な認証情報を盗み出すアドウェアや、デバイスをroot化して脆弱な状態を作り出すアドウェアは、企業ネットワークへの進入を狙っている攻撃者がまさに探し求めているツールなのです。

CopyCatの張本人は誰か?

意外なことに、いくつかのアドウェア・ファミリは広告業界に関わる企業が開発したものです。HummingBadやYiSpecterは中国の広告会社Yingmobが開発したアドウェアで、最新のマルウェアのJudyも韓国のアプリ開発企業Kiniwiniによって開発されました。CopyCatの攻撃キャンペーンの背後に誰が潜んでいるのか現時点では不明ですが、中国に拠点を置く広告ネットワークMobiSummerとの関連が確認されています。ただし、関連があるからといって、このマルウェアの開発者であるとは限りません。MobiSummerのコードやインフラを、攻撃者が無断で利用している可能性もあります。

関連性の1つは、CopyCatの活動とMobiSummerの一部の活動を支えている共通のサーバです。また、CopyCatの一部のコードにはMobiSummerの署名があり、このマルウェアが利用しているリモート・サービスの一部も同社が作成したものです。CopyCatが中国製のデバイスを標的としていない事実も、開発者が中国人であり、現地当局の調査を避けたいと考えていることを示唆しています。これはマルウェアの世界では一般的なリスク回避策です。

どのような影響が?

チェック・ポイントの研究者は2016年4月から5月にかけて活動していたC&Cサーバの1つを調査し、感染した1,400万台以上のデバイスの情報を記録しました。root化されていたのは全体の54%に当たる約800万台に上ります。また、感染したデバイスの26%(約380万台)で不正な広告が表示され、30%(約440万台)はGoogle Playからアプリをインストールする際に入力するクレジット・カード情報の詐取に使われていました。C&Cサーバは感染したデバイスについて、ブランド、モデル、OSのバージョン、国名などの情報を収集し、保存もしていました。チェック・ポイントの研究者はCopyCatをコントロールしているC&Cサーバは他にもあると信じ、感染したデバイスの実数は現在の推定値よりはるかに多いのではないかと考えています。

組織での対策 | 個人での対策

攻撃者がCopyCatを利用して得た収益は150万ドルを超えると推定され、そのほとんどが2か月の間に獲得されています。このマルウェアにより約1億回も広告が表示され、発生した収益はおよそ12万ドルに上ります。チェック・ポイントで測定できるのは、不正なアプリのインストールでクレジット・カード情報が要求されたデバイスの数であり、カード情報が要求された実際の回数は測定できないため、今回の調査ではそうした要求はデバイスあたり1回のみという仮定で計算を行っています。この控えめな仮定でも、カード情報の詐取から攻撃者が獲得した推定収益は66万ドルを超えます。最大の収益源はCopyCatによって行われた490万回の不正なアプリのインストールで、73万5,000ドル以上の収益が発生しています。

CopyCatの振る舞い

デバイスにインストールされたCopyCatはデバイスが再起動されるまで待機状態になるため、アプリのインストールと不正な活動が結び付くことはありません。デバイスが再起動すると、CopyCatはAmazonが提供するWebストレージ・サービスのS3バケットから「アップグレード」パックをダウンロードします。このパックには6つの一般的な脆弱性が含まれ、マルウェアはそれらを利用してデバイスのroot化を試みます。root化が成功すると、CopyCatはデバイスのシステム・ディレクトリに別のコンポーネントをインストールし(これにはroot権限が必要)、持続的に活動可能な環境を確立して、削除を回避します。

次にCopyCatは、すべてのAndroidアプリの起動プロセス「Zygote」にコードを挿入します。ZygoteはAndroid OSやアプリの起点となる常駐プロセスとして実行されるため、Zygoteにコードを直接挿入すると、CopyCatは動作中のすべてのアプリに影響を及ぼすことができます。このテクニックを初めて導入したのは金融系マルウェアのTriadaですが、CopyCatは実際の利用が確認された最初のアドウェアとなりました。

Zygoteプロセスのハッキングに成功したCopyCatはsystem_serverプロセスに侵入し、PhoneManager、PackageManager、ActivityManagerなどのすべてのAndroidサービスを取り込みます。CopyCatは続いてシステム・サーバ上のいくつかのイベントへの登録を行います。このマルウェアは、「不正な広告を表示する」、「Google PlayからインストールされたアプリのリファラIDを盗み取る」という2つの方法で広告収入を詐取します。

不正な広告の表示

CopyCatは不正な広告を表示するために、「callActivityOnStart」と「callActivityOnStop」を使用します。これらのメソッドは、デバイスの動作が開始されるたびに呼び出されます。動作が開始されると、このマルウェアは「ユーザの所在地が中国かどうか」、「起動したアプリがFacebookやWhatsAppなど定義済みのリストにある主要なアプリの1つかどうか(干渉の回避が目的)」、「前回に広告を表示してから十分な時間が経過しているか」という3つのポイントをチェックします。これらの条件がどれも満たされていない場合は、Facebook、AdMob、またはUCのいずれかの広告ライブラリから広告が表示されます。こうした条件定義は、ポップアップ広告の表示元であるアプリを偽装し、ユーザに不信感を持たれないようにすることが目的です。

アプリのインストールでクレジット・カード情報を窃取

広告収入を詐取するもう一つの方法はもっと複雑ですが、より多くの利益が得られます。広告主は、特定のアプリのインストールにつながる広告を表示することで利益が得られる仕組みになっています。

CopyCatの調査レポート

CopyCatはsystem_serverプロセスの「startActivityLockedStub」に接続し、それを監視してGoogle Playプロセスの起動を検知します。そのプロセスが起動すると、CopyCatはGoogle Playでユーザが表示しているアプリのパッケージ名を取得し、それをC&Cサーバに送信します。サーバ側では、そのパッケージ名に適したリファラIDを送り返します。このリファラIDはマルウェアの作成者のものであり、インストールの収益が自分たちに入金されるようにするために使用します。

CopyCatはすべてのinstall_referrerインテントをブロックし、C&Cサーバから受け取った独自のリファラIDと置き換えます。

不正なアプリのインストール

CopyCatはroot権限に基づいて不正なアプリをインストールする独立したモジュールも運用します。このモジュールはAndroidのパッケージ・マネージャを利用し、Android OSの非常に低いレベルで動作します。パッケージ・マネージャは「/system/app」および「/data/app」という2つのディレクトリを監視します。

それらのディレクトリの1つでAPKファイルが確認されると、パッケージ・マネージャがアプリのインストールを開始します。CopyCatはこのプロセスを利用し、インストールさせたい不正なアプリのAPKファイルを「/data/app」ディレクトリにコピーします。パッケージ・マネージャはこのディレクトリからアプリをインストールします。CopyCatはアプリがインストールされたかどうかを検証し、C&Cサーバに結果を報告します。

CopyCatは多数のデバイスをいかにroot化したか?

CopyCatは感染したデバイスの54%以上をroot化していますが、これは高度なマルウェアの中でも特に高い成功率です。CopyCatはCVE-2014-4321、CVE-2014-4324、CVE-2013-6282(VROOT)、CVE-2015-3636(PingPongRoot)、およびCVE-2014-3153(Towelroot)といったエクスプロイトをオペレーションの一部として利用します。Androidバージョン5以前のこうしたエクスプロイトはすべて、幅広く利用されていますが、極めて古いものであり、最も新しく発見された脆弱性でも2年以上前にさかのぼります。いずれもパッチがリリースされていますが、CopyCatはまんまと800万台のデバイスのroot化に成功しました。このような古いエクスプロイトが未だに有効なのは、ユーザが自分の端末にめったに、あるいはまったくパッチを適用しない傾向があるからです。2016年にQuadRooterの脆弱性を調査して判明したのは、64%のAndroidユーザが古いセキュリティ・パッチをそのまま利用しており、既にパッチが提供されている攻撃に適切に対処できていないという事実でした。

セキュリティを維持するには

CopyCatなどの最新のマルウェアに対処するには、静的および動的なアプリの解析を通じて未知のマルウェアを特定、ブロックできる高度な保護機能が不可欠です。デバイス上で動作しているマルウェアを調査しなければ、それをブロックできる戦略は策定できません。ユーザと企業はモバイル・デバイスをネットワークの他の要素と同じように取り扱い、利用できる最高のサイバー・セキュリティ・ソリューションで保護する必要があります。

チェック・ポイントのお客様のモバイル・デバイスはSandBlast Mobileで保護されており、ネットワークについても、Check Point Anti-Bot Software Bladeがこの脅威に対する保護機能を提供します(シグネチャ:Trojan.AndroidOS.CopyCat)。

組織での対策 | 個人での対策