金銭搾取を目的とするモバイルマルウェア
本レポートは、アンラボコリアより発表された内容を翻訳したものです。
----------------------------------------------------------------------------------------------
最近流布されるマルウェアのほとんどは金銭搾取を目的として作成される。モバイルマルウェアも例外ではない。モバイルマルウェアには、小額決済を狙う「チェスト(chest)」、金融情報を狙う「バンクン(bankun)」のようにマルウェア作成者の迅速な動きを必要とする能動的なタイプと、「ランサムウェア(ransomware)」のように感染したユーザーの入金を待つ受動的なタイプがある。ここでは、金融情報を搾取するマルウェアおよびランサムウェアについて説明する。
金融情報を搾取するマルウェア
金融情報の搾取を目的として作成されたマルウェアによる被害届出件数は過去5年間で4,846件、被害額は232億6,600万ウォンに至るという統計が発表された。2014年の国政監査への提出資料によると、公認認証書の流出は年々急増しており、直接的・間接的な被害額は統計を遥かに上回ると予想されている。
※公認認証書の流出件数 (出所:2014年国政監査への提出資料) 2012年 - 8件 / 2013年 - 8,710件 / 2014年1月~8月 – 19,177件
金融情報を狙うマルウェアは相次いで発見されている。スマートフォンの普及によりPCのみならずモバイルでも金融情報を搾取する悪性アプリが急増しており、人々の関心が集まっている。
スマートフォンの金融情報および公認認証書を搾取する悪性アプリは、実際にどのような動きをするのだろうか。
攻撃者は、ユーザーが興味を持つようなメッセージを利用してユーザーがメッセージに含まれたリンクをクリックするように誘導する。ユーザーがリンクをクリックすると、悪性アプリ(apk)がアップロードされているページに接続される。
[図 1] 悪性アプリのインストール
悪性アプリをインストールするとChromeに偽装したアイコンが生成される。アプリを実行するとアイコンは消え、デバイス管理者への登録を要求するメッセージが表示される。
[図 2] 悪性アプリのアイコン / デバイス管理者への登録を要求するメッセージ
悪性アプリのClasses.dexにはマルウェアは含まれていない。その代わりに、p.dexファイルをロードしてマルウェアを実行する。
[図 3] classes.dexコード
p.dexファイルは悪性アプリ(apk)ファイルの「assets」に存在する。
[図 4] 悪性アプリの構造
p.dexの主要機能は次の通りである。
* スマートフォンにインストールされたモバイルバンキングアプリの情報を収集 → 正常なモバイルバンキングアプリの削除を誘導 → (削除された正常なアプリに偽装した)悪性モバイルバンキングアプリのインストールを誘導
悪性アプリは「新しいバージョンがあります。」とメッセージを表示して、[図 5]のように正常なアプリの削除を誘導する。
[図 5] 正常なアプリの削除を誘導
悪性アプリは以下のパッケージ名と一致するアプリがインストールされているかを確認し、削除を誘導する。
[図 6] ターゲットモバイルバンキングアプリリスト
スマートフォンにインストールされた正常なモバイルバンキングアプリを削除し、削除した正常なアプリに偽装した悪性アプリを[図 7]のようなパッケージ名でインストールする。
[図 7] ターゲットモバイルバンキングアプリに偽装した悪性アプリリスト
銀行別にダウンロードされるリンクは、以下のコードの組み合わせで構成される。
[図 8] ターゲットモバイルバンキングアプリリスト & 悪性アプリのダウンロードコード
銀行別にコードを組み合わせると、[図 9]のアドレスから悪性アプリをダウンロードする。
[図 9] ダウンロードする悪性モバイルバンキングアプリ
正常なアプリが削除され、悪性アプリがインストールされる過程は [図 10]の通りである。
[図 10] 正常なアプリの削除および正常なアプリに偽装した悪性アプリのインストール
悪性アプリがインストールされると、スマートフォンの公認認証書および金融情報を搾取する。
[図 11] 悪性アプリによる金融情報の搾取
このような種類の悪性アプリでは、マルウェア専門家の分析時間を延長させたり、自らが作成したサーバーのライフサイクルを延長させる手段としてコードを難読化することが多く、この悪性アプリも、搾取した情報を転送するサーバーアドレスの把握を困難にするために難読化されている。この悪性アプリが使用した方法は、[図 12]の通りである。[図 12]のコードは、3つのクラスに分かれているコードである。この3つのコードを組み合わせて計算しないとアクセスするサーバーアドレスは把握できない。
[図 12] サーバーアドレスの難読化
3つのコードを組み合わせて計算する方法は簡単である。
まず、1.classの 「012017006020095093~中略~012010001016016027010088」の値を3.classの XOR関数計算と2.classの値を組み合わせると、アクセスするページのアドレスが分かる。値を計算すると[図 13]のようなアドレスが算出される。
[図 13] XOR + コードの組み合わせの計算結果
算出された値(アドレス)にアクセスしてIPアドレスを取得する。
[図 14] 計算された値(アドレス)にアクセス - QQブログのIPアドレスの返還
XXX!.XXX!XXX!XXX!のような形式のIPアドレスを取得し、置換コードを利用して文字列を変換、XOR計算を通じて得た値と組み合わせて異なるアドレスを返還する。

[図 15] IPアドレスの置換およびXOR計算過程
*アドレスの計算過程
文字列 → XOR計算 + コードの組み合わせ → QQブログへの接続 → IPアドレスの取得(可変) → IPアドレスの置換 + 文字列XOR + コードの組み合わせ → サーバーアドレスの完成→ 搾取した金融情報の転送
上記の過程を経て最終的に[図 16]のサーバーアドレスに搾取した情報を転送する。
[図 16] 悪性アプリを通じて搾取した情報を収集するサーバーアドレス
サーバーアドレスは作成者により随時変更ができるように設計されており、分析情報を作成する途中にもアドレスが変更されていた。
QQブログを利用したマルウェアはWindowsベースのbanki類でhostsファイルを改ざんする際によく使用される方式であった。Windowsで使用するマルウェアの配布方法と情報収集方式をモバイルに適用する事例が増加している。
モバイルランサムウェア
次に、「SimpleLocker」と呼ばれるランサムウェアについて説明する。この悪性アプリはスマートフォンのファイルを暗号化することで金銭を搾取しようとする。ここまではWindowsベースのランサムウェアと類似している。この悪性アプリは2014年5月頃から相次いで発見されている。
[図 17] ランサムウェアのアイコン
悪性アプリ(iGOアイコン)をインストールする過程で以下のような権限とデバイス管理者権限を要求する。アプリをインストールすると、4PDA(iGO)ロシアページが表示される。
[図 18] SimpleLockerのインストール
デバイス管理者権限を有効にした場合に表示されるページのソースは、[図 19]の通りである。
[図 19] 4PDAページのローディングソース
悪性アプリのパッケージ名はcom.simplelockerであり、Android 4.2バージョンに合わせて作成されたものである。
[図20] 悪性アプリの権限情報
悪性アプリのインストール後にスマートフォンのデバイス情報 (IMEI)を転送する。
[図 21] デバイス情報の転送
実際に転送されるパケットは、[図 22]の通りである。
[図 22] デバイス情報転送パケット
その後、スマートフォンに保存された文書、画像、動画ファイルを「jddlasssadxc322323sf074hr」キーを使用して暗号化する。
また、暗号化したファイルの最後に「.enc」拡張子を追加して保存し、原本ファイルは削除する。暗号化対象ファイルは、「jpeg」、「jpg」、「png」、「bmp」、「gif」、「pdf」、「doc」、「docx」、「txt」、「avi」、「mkv」、「3gp」、「mp4」である。

[図 23] 暗号化対象ファイルリスト
暗号化されたファイルは、 [図 24]のように拡張子が追加され、一般的に画像ファイルはギャラリーアプリから確認できるが、暗号化された場合は確認できない。

[図 24] 暗号化されたファイル
参考までに、Flash Playerアイコンに偽装してcom.common.weatherパッケージ名を使用するランサムウェア悪性アプリが見せる症状について説明する。スマートフォンの端末モデル名、IMEI、電話番号、通信キャリア、国情報を画面に表示し、著作権および管理法に違反しているため、罰金を支払わない場合2~8年間自由を奪うと脅迫する。

[図 25] ランサムウェア悪性アプリのインストール画面
以下の内容は、500ドルを入金したらアメリカの財務部が入金確認後24時間以内にスマートフォンのロック解除およびファイルの復号化を行うという内容である。
--------------------------------------------------------------------------------------------------------------
"To unlock your device and avoid legal persecution to the maximum extent of the law, you are obligated to pay a fine of $500. Acceptable payment must be made through GreenDot MoneyPak. Load a MoneyPak card with $500 and enter the code below. MoneyPak cards can be found in most stores, gas stations and paypoints." (中略)
"As soon as the money arrives to the U.S. Department of the Treasury, your device will be unblocked in 24 hours."
--------------------------------------------------------------------------------------------------------------

[図 26] FBIを装った脅迫および金銭要求
ランサムウェアに感染した大半のスマートフォンはユーザーの制御が不可能になる。他のアプリの実行や悪性アプリの削除ができないようにさまざまな方法を使用する。このような場合は、スマートフォンを「セーフモード」で再起動後、デバイス管理者を無効にして悪性アプリを削除すると良い。
最近は、簡単な作業やインターネットを使用する場合、PCよりスマートフォンを利用する場合が多い。スマートフォンユーザーの増加と共に、悪性アプリも増加している。
スマートフォンを安全に使用するためには、次の事項を守る必要がある。
① 公式マーケットからアプリをダウンロード・インストールする。
② 公式マーケットにも悪性アプリが登録されている場合があるため、アプリをインストールする際には評判情報を確認する。
③ 安全性が確認されていないURLおよびアプリを実行/インストールしない。
④ モバイル専用セキュリティアプリ(V3 Mobileなど)やスミッシング検知アプリをインストールし、自動アップデート設定することで常に最新バージョンを維持する。