※本記事は2017年3月1日に米国で掲載されたブログ記事の抄訳を基にしています。

先日、私たちはGoogle Playの132個のAndroidアプリが小さな非表示IFrameに感染していることを発見しました。この非表示IFrameは、有害なドメインへのリンクをローカルのHTMLページ内において張っています。感染していたアプリのうち、最も人気のあるものはそのアプリだけでインストール回数が10,000を超えています。私たちの調査から、感染したこれらのアプリの開発者に非はなく、むしろ被害者である可能性の高いことが示されています。アプリ開発者の開発プラットフォームがマルウェアに感染したのはほぼ間違いないと私たちは信じています。この場合、マルウェアはHTMLページを探し出してその末尾に有害なコンテンツをインジェクトします。もしそうであるならば、これは、開発者の自覚しないうちに感染した開発プラットフォームがモバイル用マルウェアの発生源だったという新たな状況です。私たちから調査結果がGoogle Security Teamに伝えられ、感染したアプリはGoogle Playからすべて削除されています。

図 1: Google Playの感染した全サンプルの一部

私たちが確認した際、感染したアプリには、図1のように、チーズケーキからガーデニング、コーヒー テーブルに至るデザイン アイディア用のアプリが含まれていました。すべてのアプリに共通しているのは、Android WebViewを使って静的HTMLページを表示していることです。一見したところ、どのページもローカル保存されている図をロードし、ハードコード化済みのテキストを表示しているだけです。しかし、実際のHTMLコードを深く分析してみると、小さな非表示IFrameの存在が明らかになりました。この非表示IFrameは、良く知られた有害なドメインにリンクを張っています。リンク先のドメインは調査時にダウンしていましたが、Google Playの極めて多くのアプリが感染しているという事実は注目に値します。

それ以上に目を引くのは、感染したページの1つが、ページのローディング時に、有害なMicrosoft Windows用実行可能ファイルのダウンロードおよびインストールも試みていることです。ただし、デバイスではWindowsが稼働していないため、この実行可能ファイルは実行されません。この挙動は、Google Android Securityが先日公表したNon-Android Threat(非Android脅威)というカテゴリとよく一致します。この分類によれば、Non-Android Threatとは、ユーザーまたはAndroidデバイスに危害を及ぼすことはできないものの、他のプラットフォームに対して潜在的に有害なコンポーネントを含んでいるアプリのことを指します。

感染の起こり方

今のところ、感染したアプリはいずれもINTERNET パーミッションしか必要とせず、2つの活動を行います。活動の1つは、すきま広告をロードすることであり、もう1つはメイン アプリをロードすることです。後者の活動により、Android WebViewコンポーネントがインスタンス化され、ローカルのHTMLページが表示されます(図2)。WebViewコンポーネントはJavaScriptInterfaceを有効にします。この機能は私たちが調査したサンプルでは使われていませんが、これがあれば、ロードされたJavaScriptがアプリのネイティブ関数にアクセスすることができます。

図 2: 感染したサンプルのUI およびその背後にあるコードの例

各HTMLページは図とテキストしか表示していませんが、どのHTMLページの最後にも、小さな非表示IFrameコンポーネントが追加されています。私たちは、2つの手法がこのIFrameを非表示にするのに使われていることに気付きました。1つは、高さと幅を1ピクセルに設定してIFrameを小さくすることです。もう1つの手法は、IFrame仕様における表示属性をNoneに設定することです。最後に、単純な文字列マッチングによる検出を回避するため、送信元URLがHTML番号コードを使って難読化されます。図3に示す例では、ブラウザが以下の変換を自動的に行います。

  • ‘.’ → ‘.’
  • ‘i’ → ‘i’
  • ‘u’ → ‘u’

図 3: 感染したサンプルにおいて確認された、IFrame領域を非表示にする2つの手法

最終的に、すべてのIFrameの送信元は次の2つのドメインに集約されます。

  • www[.]Brenz[.]pl/rc/
  • jL[.]chura[.]pl/rc/

2013年、ポーランドのCERT(cert.pl)がこれらのドメインを2つとも支配下に置き、シンクホール サーバに振り向けてユーザーに害が及ばないようにしました(図4)。そのことを考えれば、私たちの調査時に両ドメインはマルウェアを提供していませんが、これらのドメインには悪評の高い前歴[1,2,3,4,5]があります。

図 4: 有害なドメインは両方ともシンクホール サーバに解決される

調査中、私たちは、感染したIFrameを中に含まないものの、VBScriptスクリプト全体がHTMLにインジェクトされているサンプルも、1つ突き止めました(図5)。スクリプトにはBase64エンコード化されたWindows実行可能ファイルが含まれていました。この実行可能ファイルは、(Windowsシステム上で)このスクリプトによってデコードされ、ファイル システムに書き込まれ、実行されます。VBScriptがMicrosoft Windows独自のスクリプト言語であるため、Androidプラットフォーム上でこのスクリプトは不活性であり実行しません。したがって、このコードはAndroidユーザーには害を及ぼしません。そもそも、このコードが<HTML>タグの外側に追加されており、このため、HTMLページは違反したものになっています。しかし、形式に違反があろうがなかろうが、ブラウザは常にほとんど何でも表示しようとします。これは、標準規格を完全に理解していない可能性のある人にとって、HTMLページの作成が難しくならないようにするためです。

WildFireは、削除されたPEファイル内における有害な挙動を検出します。これには、以下のものが含まれます。

  • ネットワーク ホスト ファイルの変更
  • Windowsのファイアウォール設定の変更
  • 別のプロセスへのコード インジェクション
  • 自身のコピー

図5: 感染したサンプルによるWindows実行可能ファイルの削除に関する試み

感染元

弊社が検出した132件もの感染アプリケーションは、関連性のない7人の異なる開発者によるものでした。これら7人の異なる開発者には、地理的な関連性があります。つまり、7人全員はインドネシアへのコネを持っていました。最も簡単なヒントは、アプリケーションの名前です。検出されたかなりの数のサンプルでは、名前に“Indonesia”という語が含まれます。また、1人の開発者のWebサイトは、インドネシア語で書かれた個人ブログ ページにリンクします。最も顕著な兆候は、1人の開発者の証明書に、国名がインドネシアであることが明記されていることです。

図6: 感染したサンプルのインドネシアへの接続

有害なIFramesに感染したHTMLファイルの一般的な経路は、Ramnitなどのファイル感染ウイルスによります。Windowsホストを感染させた後、これらのウイルスはハード ドライブ内のHTMLファイルを検索し、IFramesを各ドキュメントに追加します。これらのウイルスの1つに開発者が感染した場合、そのアプリケーションのHTMLファイルが感染する可能性があります。ただし、すべての開発者がインドネシアを拠点としている可能性があるとはいえ、これらの開発者が同じホスティングWebサイトから、感染したIDEをダウンロードした可能性もあります。さらに、感染した同じオンライン アプリケーション生成プラットフォームを使用した可能性もあります。

いずれの場合でも、開発者と被害者の双方に、悪意はないものと弊社は見ています。また、このことを裏付ける証拠がほかにもあることを、弊社の調査は明らかにしています。

  • すべてのサンプルは、コーディング体系の面で類似しているため、同じプラットフォームから生成したものと思われます。
  • 有害なドメインは両方とも、シンクホールへの解決を活用しています。開発者がこれらすべての攻撃の大本である場合、それらのドメインを運用ドメインに置き換えて、重大なダメージを引き起こす可能性があります。
  • 感染したサンプルの1つは、Windows実行可能ファイルをダウンロードしようとします。つまり、攻撃者が標的となるプラットフォームについて無知であることを示唆しています。これは、アプリケーション開発者には当てはまらないことです。

潜在的なダメージとその軽減

現在のところ、感染したアプリケーションは、Androidユーザーに被害をもたらすことはありません。しかし、プラットフォームがマルウェア感染の“媒介”となる新たな方法になり得ます。これらのプラットフォーム自体は感染していないものの、気付かずに他のプラットフォームへマルウェアを拡散してしまう可能性があります。2015年に特定したXcodeGhost攻撃と同様、この脅威は、攻撃する開発者がエンドユーザーに対してどのような影響を与えるかを示しています。

これが、的を絞った有効な攻撃になることは簡単に想像できます。攻撃者が、現在の有害なドメインを広告URLに置き換えて、収益化することは目に見えています。これは、アプリケーション開発者から収益を奪うだけではなく、開発者の評判も失墜させてしまうことがあります。次に、攻撃者は、リモート サーバーに悪意のあるスクリプトを配置し、JavaScriptInterfaceを活用して、感染したアプリケーションのネイティブ機能にアクセスします。この感染ベクターを通して、アプリケーション内のすべてのリソースは攻撃者が利用できるようになり、その制御下にあることになります。また、密かに操作して、開発者のサーバを自身のサーバに置き換えることができます。その結果、開発者のサーバに送られた情報は、攻撃者の手に渡ることになります。高度な攻撃者は、アプリケーションの内部ロジックを直接変更することもできます。つまり、ルーティング ユーティリティを追加したり、追加の許可を宣言することができます。また、悪意のあるAPKファイルを削除して、その機能をエスカレートすることができます。

WildFireのお客様には、あらゆる感染サンプルからの保護が自動的に提供されます。WildFire内のAPK分析エンジンは、小さな非表示のIFrameを特定できるだけでなく、組み込まれたドメインとの相関付けを行うこともできます。

謝辞

調査に協力いただいたPalo Alto NetworksのZhi XuおよびClaud Xiaoに感謝いたします。感染アプリケーションの検証と対策実施の際に、迅速に対応いただいたGoogle Security Teamに深く感謝の意を表したいと思います。

付録

有害なドメイン

  • www[.]Brenz[.]pl/rc/
  • jL[.]chura[.]pl/rc/

感染したサンプルのハッシュとパッケージ名(追加サンプルは、ブログ コメントを介したリクエストで提供されます):

  • c6e27882060463c287d1a184f8bc0e3201d5d58719ef13d9ab4a22a89400cf61, com.aaronbalderapps.awesome3dstreetart
  • a49ac5a97a7bac7d437eed9edcf52a72212673a6c8dc7621be22c332a1a41268, com.aaronbalderapps.awesomecheesecakeideas
  • 1d5878dce6d39d59d36645e806278396505348bddf602a8e3b1f74b0ce2bfbe8, com.aaronbalderapps.babyroomdesignideas
  • db95c87da09bdedb13430f28983b98038f190bfc0cb40f4076d8ee1c2d14dae6, com.aaronbalderapps.backyardwoodprojects
  • 28b16258244a23c82eff82ab0950578ebeb3a4947497b61e3b073b0f5f5e40ed, com.aaronbalderapps.bathroominteriordesigns
  • b330de625777726fc1d70bbd5667e4ce6eae124bde00b50577d6539bca9d4ae5, com.aaronbalderapps.beautifulbotanicalgardens
  • d6289fa1384fab121e730b1dce671f404950e4f930d636ae66ded0d8eb751678, com.aaronbalderapps.bedroomdesign5d

 関連コンテンツ

パロアルトネットワークス管理者ガイド日本語版

このガイドで、パロアルトネットワークスのファイアウォールのWeb管理画面の使用方法を説明します。対象は設置、運用管理、メンテナンスを行うシステム管理者向けです。 ※このページで提供する管理者ガイドが最新版でない可能性があります。最新版に関しては、製品をご購入された販売代理店にご相談ください。  

  • 0
  • 593

4月28日(金)製品導入・運用支援トレーニング

『次世代ファイアウォール製品導入・運用支援トレーニング』を下記の日程にて開催いたします。本トレーニングは、パロアルトネットワークス製品であ るPAシリーズのハンズオンを通して、導入ならびに運用を行うための基本技術知識を習得頂くことに主眼をおいています。この機会に是非皆様の参加をご検討 いただけますよう心よりお待ち申しています。 【日  時】 2017年4月28日(金) 13:30~17:00(受付13:00~) ※終了時刻は多少前後します。  【会  場】 パロアルトネットワークス 3F 【講  師】 パロアルトネットワークス SE 【内  容】 製品の導入・運用の流れ 設定マイグレーション 可視化ツール ログ管理 セキュリティ調査 Unknown通信や誤検知への対応 シグネチャアップデート アップグレード 【持  物】 PCは弊社でご用意しております。 ご自身のMACノートブックをお持込みになりたい場合は次の準備をお願い致します。 Ethernetアダプタ(LANポートがないモデルの場合) マイクロソフト Remote Desktop Connectionクライアントソフトウェア 次のURLよりソフトウェアのダウンロードが可能です http://www.microsoft.com/japan/mac/download 【人  数】 8名(定員になり次第締め切ります)  ※ご登録後にキャンセルをされる場合は、必ずイベント事務局までご連絡をお願いいたします。 【対  象】  PAシリーズを既に導入・運用を行っているシステムエンジニア(エンドユーザー様) ※参加条件として製品実感トレーニングを修了済みである必要があります。 ※導入ユーザ企業様を優先とさせていただきます。 【費  用】 無料  ※お申し込み後に登録確認メールが送付されます。届かない場合は、メールアドレスの誤入力等の可能性がございますので、イベント事務局 paloalto@mlrev.co.jp までお問い合わせください。 ※開催3日前の時点でお申し込みが5名に達しない場合は、イベント開催をキャンセルさせていただきますので予めご了承ください。 ◆個人情報の取り扱いについて◆ パロアルトネットワークスは、当社が出展または主催する展示会・セミナーのご案内、当社が提供する商品・サービスに関するご案内など各種情報のご提供、及び当社営業部門または販売代理店、マーケティングサービス会社からのご連絡などを目的として、取得した個人情報を利用させていただくことがあります。当社は、ご提供いただいた個人情報を、法令に基づく命令などを除いて、あらかじめお客様の同意を得ずに第三者に提供することはありません。ただし、上記利用目的の範囲においてお客様の個人情報を弊社販売代理店および弊社と個人情報取扱いについて契約のある委託業者が閲覧する事がございます。 ※上記利用目的にご同意いただける場合にのみ、本セミナーにご応募いただきますようお願いします。 ※以前より情報をご提供いただいている場合、今回ご提供いただいた情報を最新の情報としてデータを上書きさせていただきます。 ※「個人情報保護基本方針」および「『個人情報の保護に関する法律』に関する公表事項」は、下記URLよりご覧いただけます。 https://www.paloaltonetworks.jp/legal/privacy.html

イベント
千代田区
  • 0
  • 356

PA-3000シリーズ スペックシート

PA-3000シリーズの主な機能、パフォーマンスと容量、および仕様。

  • 0
  • 319

Tsunamiの亜種である新しい IoT/Linux マルウェアがデジタルビデオレコーダーを標的に

パロアルトネットワークスの脅威インテリジェンスチーム「Unit 42」は、新しい IoT/Linux ボットネット「Tsunami」の亜種である「Amnesia」を発見しました。Amnesia ボットネットによる攻撃は、TVT Digital 社ならびに TVT Digital 社から供給を受けた世界 70 以上のベンダーブランドによる DVR (デジタル ビデオ レコーダー) 機器に存在する、パッチを適用されていないリモートコード実行に関する脆弱性を狙います。

  • 0
  • 284

製品概要スペックシート

  • 0
  • 261

日本の学術研究者と 組織を狙った新たな攻撃

パロアルトネットワークスの脅威インテリジェンスチーム「Unit 42」は、2016年の9月から11月にかけて、「menuPass」として知られる攻撃グループによるAPT攻撃(持続型の標的型攻撃)が、日本の学術研究者および製薬企業、米国に子会社を置く製造業を対象にしていたことを確認しました。この攻撃では、トランプ氏の選挙での勝利に便乗した件名などを使用した、スピアフィッシング攻撃が用いられています。

  • 0
  • 251