開発ライフサイクルに潜む悪魔: Windows実行ファイルに感染するGoogle Playアプリ

By , , and

Category: Unit 42

Tags: ,

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

概要

昨年、パロアルトネットワークスの脅威インテリジェンスチームUnit 42は、Google Play のアプリに悪意のあるIFramesに感染したものが多く含まれるという件について報告しました。最近、私たちはこれとよく似た事例をGoogle Playで発見しました。ただし今回は、悪意のあるIFramesではなく、悪意のあるMicrosoft Windows 実行ファイルに145個のGoogle Playアプリが感染していることが分かった、という事例です。本稿の発見内容についてはすでにGoogleのセキュリティチームに報告済みで、すべての感染したアプリはGoogle Playから削除されています。

注目すべきは、これらの感染したAPKファイルAndroidデバイスに対してはなんの脅威ももたらさない点でしょう。というのも、埋め込まれたWindows実行ファイルのバイナリは、Windowsシステム上でしか実行できず、Androidプラットフォーム上で活動することはないからです。ただし、これらのAPKファイルが感染しているという事実から、開発者たちがマルウェアによる侵害を受けたWindowsシステム上でソフトウェア開発をしている、ということは分かります。こうした感染は、ソフトウェアサプライチェーンに対する脅威と言えます。なぜなら、ソフトウェア開発環境の侵害が大規模攻撃において非常に有効な戦術であることはすでに証明済みだからです。たとえば、KeRangerXcodeGhostNotPetyaなどがその好例でしょう。

感染したアプリの多くは、Google Playに2017年10月から11月の間にリリースされていました。ということは、これらのアプリは半年以上同ストアに存在していた、ということになります。感染したアプリの中には、星4つ以上の評価を受け、1000 台以上にインストールされているものが含まれています。

図1: 感染したアプリ。評価が4.0で1000回以上ダウンロードされている

興味深いことに、同一の開発者が作成しているアプリでも、感染アプリとそうでないアプリとが混じっていることが確認されました。この理由は、開発者がアプリごとに異なる開発環境を使っていたためと考えられます。

感染したアプリには「Learn to Draw Clothing (洋服の描きかた)」という洋服のスケッチをしたりデザインをしたりする方法を教えるアプリや、「Modification Trail (カスタムトレイル)」というトレイル バイクのカスタマイズのアイデアを表示するもの、「Gymnastics Training Tutorial (体操トレーニングのチュートリアル)」という体操で健康を保つアイデアを見つけるアプリなどが含まれていました。

図 2: ある1人の開発者がリリースしたアプリ。 赤でマークしたものはWindowsキーロガーに感染している

これら感染アプリの中には、APK ファイルの異なる場所に異なるファイル名で複数回悪意のあるPEファイル(Windows実行ファイル)に感染しているものもありました。ただし、すべての感染アプリに共通して感染しているPEファイルは、主に2つでした。

弊社WildFireクラウドベース分析サービスの解析結果によれば、ある1つのPEファイルがGoogle Play上のアプリを含む142個のAPKファイルに感染していました。2つめのPEファイルは21個のAPKファイルに感染していました。15個のAPKサンプルには、この両方のPEファイルが感染していました。感染したAPKバンドルの中には、ほかの悪意のあるPEファイルを含むものもありました。これら開発者のマシンは様々なマルウェアファミリに重度に感染した状態にあるようです。

これらすべての悪意のあるPEファイルを調査した結果、私たちはある1種のPEファイルがほとんどのAndroidアプリに感染していること、その悪意のある活動内容がキーロギングであることを突き止めました。 キーロガーは、Windowsシステム上でキー入力を記録しようとします。 これにはたとえばクレジットカード番号、社会保障番号、パスワードなどの機微な情報なども含まれます。また、これらのファイルには、正当なものに見せかけるための偽の名前がつけられています。たとえば、「Android.exe」、「my music.exe」、「COPY_DOKKEP.exe」、「js.exe」、「gallery.exe」、「images.exe」、「msn.exe」、「css.exe」などです。

同WildFireによる分析では、この悪意のあるPEファイルは、Windows システム上で実行した際、次のような疑わしい活動を行いました:

  • 実行ファイル、隠しファイルをWindowsのシステム フォルダに生成し、自身のコピーも行う
  • 再起動後に自動実行されるようWindowsのレジストリを書き換える
  • 長期間スリープするよう試みる
  • IPアドレス87[.]98.185.184にポート8829経由で接続する、疑わしいネットワーク接続活動を行う

潜在的損害と緩和策

悪意のあるPEファイルは直接はAndroidホスト上で実行できません。ただし、APKファイルがWindowsマシン上でアンパックされてPEファイルがうっかり実行されてしまったり、同じ開発者が別のWindowsベースのソフトウェアをリリースしたり、この感染が原因でAndroidプラットフォーム上でも実行可能な別の悪意のあるファイルに感染したり、ということがあれば、状況はさらに悪化することになります。

パロアルトネットワークス製品をお使いのお客様は、WildFireとTraps for Androidにより保護されています。WildFireはこれら感染アプリを自動的に検出します。Traps for AndroidはWildFireを利用して自動的に悪意のあるアプリを遮断し、ユーザーに通知し、悪意のあるアプリからAndroidデバイスを保護します。

開発環境はソフトウェア開発ライフサイクルの要です。何よりも先に、開発環境をセキュアに保つ努力が必要です。この努力を怠れば、ほかにどんなセキュリティ対策を導入しても無駄に終わってしまいます。

謝辞

本稿の解析におけるパロアルトネットワークスRyan Olson氏のサポートに感謝します。

付録

感染アプリ内で見つかったPEファイル:

  • 9af18bd1bc68e0f49f8935a8cf662729cc1cec773f0237188762cebe75d48521
  • bdfabde9e45693a218e0391005f32e3546dedd0bc757cea2012ad42afdbe2f06
  • cadee0451947759cae1c94545ca910486e504c6544f6e60ba0a176b31df44abf
  • 11ada55cc9dfcbafe969510b0711b110a8991b5deca2f296b895969958a66559
  • 138f338653c82b86ea94829058a0e0bc18940903f6d7a01a7f0c2ba47f68e7e2
  • 99074b45b20f794c35b72dbd6af2380497b8b482814822d88ca9c1c5cf83a400
  • 57b345f635bf77f5b0da01248a1b798cbd8deb2c66306303ca595f3ccfaa8fbe
  • e355275030efa1ddb8bc233095c189a9cc6586ba241a1c4b7a9fe1875945bbf7
  • 355c640a0cd3793f0e6ed96dd8175afe32d6bae7a8f8d1f1496167e5f2191195
  • 88bdf6e443300988e160204778d859fb5a0dca775876ff8b079a4eb886ad4372
  • 78c91a6071e73e7b0ebd10ff7a4a62d3412fe0f281e4ac064eeedbf707b15b22
  • 524c780f3f35c5c9dd1bd935affe312f89ff851d51f9df21e78730134d4e7c50
  • cb09e6e28e2e0e3c031d99cb122ca767a23ecea1a2e98cb6d8bcf6ff7e61151e
  • b0442ad97086c4850133dcc72746f877cbbdb0b037374e598e231f8728dcda0c
  • 07b07b74743364451876dca12531cdd515feff6264745be49add094388537685
  • edfadee37e5dd0e045d211ba9b09c2ac0f267790ac4ef8d7f9beced25d94c1fc
  • 493d95c5222a86d581110d7c38b62a4e2015bf782ddac04c5a7e576a0955a727
  • 5889a05fc1f161fe23ec9e3dfeb35ac225621f3c5c7019df7afa14aefdb96235
  • 78f936fd6a8cabc39c727976ab9c2c6ceeb5be690186e2a729f59adaad7b3f4c
  • 7268ea040b7ca1ab79d3f1eac279cf4cbc072c706b70672eba8d84387f76b3bf
  • 688d39cfa1f581e841a896963b83081960844cdf06d3c71e7eab2746e498d5b1
  • df74876a564d38bf8fd3275fd0a429ee74c3f67b2e78f59d97c2ec8a7143bd9a

Google Play上で見つかった感染APKファイルの一覧

SHA256 ハッシュ アプリ名 パッケージ名
1896ed8d12f5a7c3046acd929e64cc97e8acb020e40c1b3a2001b30003f50883 Baby Room com.KamarBaYi.odieapps
290b7f930361d06e8f8c93aa9f97405d6b4b9fef7f9ac13c3c73c8966cf0e83a Motor Trail com.MotorTraiL.odieapps
b2fec79084611ad8abed3354399b2e759e903ec15976b9d10ac05e548964a1e9 Tattoo Name com.TatToNaMa.odieapps
b828b870a317693a0ae0544b9d0ffddcf6442da4d1979f6f8ccafcbe5c96d1e3 Car garage coml.GaRaSiMobiL.odieapps
86661a4a611484f8db2593bfae241db9b53274a1736ec668335f878ed24795e4 Japanese Garden com.TaMaNJapanG.odieapps
79e77835c9690ca0bc6d376659dd15f50e396bbc573fcc7293d458d8002f6a60 Koi fish com.IkanKoI.odieapps
91bb8594e118338f38de22e96e89cc5e11d619da3ec3dc0ecada13720111a588 House Terrace com.TeRaSRumaH.odieapps
c41a8edaa85344e48a75843447358ea7a092fe1061bca79ac535abf467112eda Skirt Design com.DesainRokK.odieapps
52d9df500ae7684d58c2bf65fb6852da1440e79b07a049f72585ccf8665e9d64 Yoga Meditation com.MeditasiYoga.odieapps
21fce35139cfdf1145855987b6e3306adf26c3b60ba59b1c364a3d7d44bc5285 Shoe rack com.RaKSepatU.odieapps
4739a7d1317fee0a7a885a00468d9749bb7da5c5f1696408deaa736fa2aab6e9 Unique T-shirt com.KaoSUniK.odieapps
bc49cec1896f7f4542ff8712da8475bf5e55abe7558918c260492467eb03ef6f Mens Shoes com.SepatuPriA.odieapps
7345975ca29d16e3b55309e84f6249990878482ed55e597269fdd0cb77a290ff TV RuanG TaMu com.TVRuanGTaMu.odieapps
ecb04d5359949bfbbc64fd7bedd8fde3a5b9703784fea8d758a3a643117165b0 Idea Glasses com.IdeaKacamata.odieapps
a21f4e9536dcbcd810fbfcdff8f6cce5b6338f1d5df7ba45abd1a5f4ed8dca76 Fashion Muslim com.FashioNMusLiM.odieapps
41386181f9e7dc8085d6a117607cd79346744d925e5d2ca67759742fbac47e51 Bracelet com.GelangTut.odieapps
fceda65ea8624af018c072c60ed5fcb8b6bb00832fb63559e819463d2ba9db4e Clothing Drawing com.BusanaMenggambar.odieapps
c5b24cf5d348a6fe3ad543f70379c7d9fa60a8e9bac03d6ea387fcdbcbbca932 Minimalist Kitchen com.DapuRMiniMaLis.odieapps
c36e7566e2e92898162006b9922d9d8f450867224b67d2346f70d7e76b1cbae6 Nail Art com.SeNiKuKu.odieapps
0039f9b2faac6146bddc2831fdfa6a03327f77d3954a1a27ab66e6b0b5952a3a Ice cream stick com.StikEzKriM.odieapps
a8687cb35ee453958dc1757608505f3c5a7f137909f517acb7a850316d0e87b4 Roof com.AtapRumaH.odieapps
7da49a0122444b2087a582d142c82375541544fd765f29b9b3f7728e598b54e0 Children Clothes com.BusanaAnaK.odieapps
7312c5ba59f89350b13fe93107233a06c79a68eedff0eb082ef7a5f24bec76e2 Home Ceiling com.PlaFoNRumaH.odieapps
bf00efc96cf3ecdd3069afbbfae53aeb79910848721fe50d64410760790f1a27 PoLa BaJu com.PoLaBaJU.odieapps
892f883d3588ee952888cccb4bb9bb33092f1be924d981e69595a758daca8c86 Living room com.RuanGTaMu.odieapps
5a1693d255e5f487214fd1cd46c0cff8d5375903459c7f87ae17f636fa470e32 Bookshelf com.RakBuKu.odieapps
906cd586d8f7388c1fbb0581b926aa4b2dc5534d460cc3ba011198d26a1dfe16 Knitted Baby com.RajutanBayI.odieapps
96bd87c8bd8772b1f11b3e4771889b4d2d81739cd2ef7494a3ff54fc28e711f6 Hair Paint com.CaTRambuT.odieapps
54380fa8c12f6333a22fd0c728e615e92470565e96c7b39ae2f1d7e30584fc31 Wall Decoration com.DekoraSiDinding.odieapps
b6671808dbc226c11697c54d000b6a30213478c141d96aa4c3d52fa5243cff16 Painting Mahendi com.MelukisMehndi.odieapps
525c515e3e8c0d6007ab79f05a64c42951b440db4ab12f397218efa9692faa84 Bodybuilder com.Binaragawan.odieapps
399058e95153600a471d94309a6c3e87f3851647fb003f6d4289fa5b5df389a4 Couple shirts com.KaosCouple.odieapps
44066a23057ee93bed27737e8f444150c29c68b14bc9b21419f549188e436103 Unique Graffiti com.GrafitiUniK.odieapps
1fcd61a10c170d259fca12e52d1930018adafad5613551b5bbb14987de1c7cfd Paper flower com.BungaKerTas.odieapps
0b85488788f7f83e879f41591d674b50d4daafb60094918391d98f143ba54ddc Night gown com.BaJuTiDuR.odieapps
cb11dd259fa4fc0c1b4ee878cfb3c2df2a0a6ecab83276e33185ba7ce45c46ba Wardrobe Ideas com.IdeLeMaRi.odieapps
4091c8acea954fffd22be4c0675c440cf1fe4620d6659b8d23d8d3a2fc815e20 Dining table com.MejaMakaN.odieapps
9412ca41b7c9aebaeef05fe5c45bf5c5d998e5da44d5a7a495f5ba06c00feea0 Gymnastics com.LatiHaNSeNaM.odieapps
761032267b9659cd04676fce55e602a87e43cb4c75c58fa61486cc73da0016c6 Use Child com.PakaiAnAnak.odieapps
14bffba23e2bf4a61b4a54f1ef5027225290eab7f10d4c663570629e456cf51e Window Design com.DesainJenDeLa.odieapps
5dca7151c50ce88102b1fc5c0dd984c57202ad7c67f25be231d64cf1d52da437 Hijab StyLe com.HijabStyLe.odieapps
3350f4eb55c2f00c1ba0380044a1a6670a4eddc5cbabf903f2ad2e266eab58d2 Wing Chun com.TeknikWingChuni.xsadroid
c99a6e7e5d066076bacfad9142e3cf01855525782d638ccfe9ce7cd57d11ca5c Fencing Technique com.TeknikAnggar.xsadroid