過去にYiSpecterやXcodeGhost、KeyRaiderなどを発見した、セキュリティ企業である、パロアルトネットワークスによってまた新たなマルウェアが発見された。
パロアルトネットワークスは2015年10月にAppleのiOSデバイスをターゲットに、悪意のあるペイロードファイルを発見したという。調査後、そのペイロードを「TinyV」と呼び、これらはトロイの木馬ファミリーに属すると考えられている。
2015年12月には、中国のユーザーが、このマルウェアに感染したと報告していた。さらなる研究の後、このマルウェアは多様のチャネルを介してダウンロードが可能の、iOSアプリが再パッケージ化されている海賊版から発見されていたようだ。ここではトロイの木馬「TinyV」がどのように広がり、どのような動作をするのか、そして現在のところの対処法を簡単に説明する。
具体的にはpaloaltonetworksの記事で確認可能だ。
再パッケージ化と拡散
感染しているiOSアプリには
- 西瓜播放器
- 优酷(Youku)
- 爱奇艺(iQiYi)
などがあるようだ。これらのアプリは再パッケージされた後、ダウンロードできるようにするためにいくつかのウェブサイト上にアップロードされている。
感染したバージョンの西瓜播放器はwww.xigua[.]comという公式サイトから入手可能である。これはオンラインで無料の海賊版の動画を閲覧できるアプリとして宣伝されている。
YoukuやiQiYiの感染したバージョンはiosqgg[.]comやpiqu[.]com(PiQu Apple Helper 批趣苹果助手」という名前のツールに属している)のようなサードパーティiOSアプリがダウンロード可能なサイト上にホストされていることが確認された。これらは中国で一般的なビデオプレイヤーの広告がないバージョンに変更したものとして広告されているようだ。
実際にアクセスした場合
iOSデバイスでpiqu[.]comにアクセスし、海賊版のYoukuをダウンロードしようとすると次のようなURLにアクセスされる。
itms-services://?action=download-manifest&url=https%3A%2F%2Fappsre.com%2Fdj_plist_data.php%3Fdata%3DYmlkPWNvbS55b3VrdS5Zb3VLdSZu…
このURLはappsre[.]comにホストされているPLISTファイルをダウンロードするためにiOSデバイスをリダイレクトする。その後、このplistファイルで記述されたエンタープライズアプリケーションをインストールするという仕組みとなっている。plistファイルによると、「pq_com.youku.YouKu.5.0.ipa」という名前のファイルになっているようだ。これもappsre[.]comにホストされている。
再パッケージ化
TinyVは、WireLurkerのような従来のiOSやOS Xのマルウェアとは異なる「再パッケージ化」という方法が行われているようだ。
西瓜播放器のインストーラファイル「com.xiaoxiaov.ipa」には、2つの実行ファイルが存在する。1つはメインのMach-Oファイルであり、2つ目は「xg.png」という名前のダイナミックライブラリであることが予想できた。そしてxg.pngとメインの実行ファイルが同じ環境でコンパイルされていない。
同様にYoukuの感染したバージョンにもいくつかの余分なMach-Oダイナミックライブラリがあり、「dj.png」「macro_off@2x.png」「zippo_on@2x.png」、それに加えてメインのMach-O「YoukuiPhone」という名前になっている。inyV作成者はオリジナルのYoukuiPhoneを変更し@executable_path/zippo_on@2x.png」と「@executable_path/dj.png」を追加している。
悪意のある行動
「TinyV」はトロイの木馬とされているが、具体的には、C2サーバから設定を取得した後、TinyVは「debUrl」値から与えられたzipファイルをダウンロードするようだ。パロアルトネットワークスの調べでzipファイルを調べてみると別のC2サーバ上にホストされていた。(apt[.]appstt.com)現在、URLは404エラーとして返されている。paloaltonetworksが発見した時点ではURLは存在していたそうだ。
deb.zipには4種類のファイルがある。
- safemode.deb ・・・ (Saurik氏による公式のMobileSafety Tweak)
- freeDeamo/usr/bin/locka ・・・ (Mach-O実行ファイル)
- freeDeamo/Library/LaunchDaemons/com.locka.plist ・・・ (「locka」を設定するために使用するplistファイル)
- freeDeamo/zipinstall ・・・ (シェルスクリプトファイル)
ダウンロードして、このZIPファイルを解凍した後、xg.pngがlockaとcom.locka.plistをインストールするzipsinstallのスクリプトを実行する。実際には以下の様な順で行われる。
- locka to /usr/binをコピーしユーザーとグループをroot:wheelに変更し、パーミッションを755に変更
- com.locka.plistを/Library/LaunchDaemons/へコピーし、ユーザーとグループをroot:wheelに変更し、パーミッションを644に変更
- com.locka.plistを読み込むために/bin/launchctlを実行する
lockaファイルは主に以下の様な振る舞いをする
- リモートコマンドを取得するためにC2サーバに接続
- バックグラウンドで指定されたIPAファイルまたはDEBファイルをインストール
- バックグラウンドで指定されたIPAファイルまたはDEBファイルをアンインストール
- /etc/hostsファイルを変更
影響するユーザー
TinyVは「XZ Helper(协奏助手)」(http://m.xiezou.com/)という名前のiOS脱獄アプリを促進するために始められたという。被害に会っているのは主に中国本土のユーザーとされている。
中国の多くの感染者は、XZ Helperがなぜか自分のデバイス上にあることを確認した。なぜなら、C2サーバーコマンドによるものだからである。
削除しても自動で再インストールされる
感染している場合は例え削除してもTinyVが再びインストールするという仕組みになっている。
WeiphoneやZhihuのフォーラムでこの現象について議論されているようだ。
緩和策と対処・予防
いつもながら、脱獄ユーザーは信頼出来ないソースやサイトからアプリをインストールすることは避けよう。また、インストールする前に安全なものであるかを自分で調べることも大切だ。
- 海賊版であるものを削除
- Appleの2段階認証を有効に
上記の2つはセキュリティにおいて最低限行っていたほうが良いだろう。また、以下で説明する手順は、wecydiaで説明されていたものである。
準備
iFunboxやiFileまたはFilza File Managerなどのツールをインストール。
手順
- 「/library/launchdaemons」に移動する
- 次のplistファイルがあれば削除する
- com.locka.plist
- com.apple.netwarp.plist
- com.xcydia.instal.plist
- com.xcydia.luascriptelf.plist
- 「/usr/bin」に移動
- 次のファイルがあれば削除する
- game-assistant
- locka
- netwarp
- XZ Helper(协奏助手)があればCydiaからアンインストールする
ほぼ中国ユーザーに影響しており、日本ではあまり影響されていないとは思うが、念のため確認しておいたほうがよいかもしれない。パロアルトネットワークスによる記事はこちらから確認可能だ。
参考: paloaltonetworks, wecydia
- 週間Tweaks:ステータスバーの時刻をダブルタップで日付に切り替え「DateTap」など - 2018/02/12
- 週間Tweaks:iPhoneXでスワイプアップでロック「SwipeUpLockX」やドックをカスタマイズ「Marina」など - 2018/02/05
- 週間Tweaks:iPhoneXのアプリスイッチャーでスワイプでアプリ終了「EasySwitcherX」など - 2018/01/29