トレンドマイクロは、2017 年 3 月末の時点で、Android 端末向けのバックドア型不正アプリ「MilkyDoor」(「ANDROIDOS_MILKYDOOR.A」として検出)が仕掛けられた 200 個のアプリを「Google Play」上で確認しました。その中には、50万~100万 回インストールされたアプリも確認されています。どこからでも情報にアクセスできる利便性により、ますます多くのモバイル機器がプラットフォームとして利用される中、企業に大きな影響を与えるモバイル端末向け不正アプリによる感染も増加しています。
MilkyDoor は、「Socket Secure(SOCKS)プロトコル」を利用したプロキシを用いて、不正アプリに感染したモバイル端末が接続している内部ネットワークに足掛かりを築くという手法を用います。これは、2016年4月に確認された、企業の内部ネットワーク侵入の足掛かりとなる Android 端末向け不正アプリのファミリ「DressCode(ドレスコード)」(「ANDROIDOS_SOCKSBOT.A」として検出)に類似しています。MilkyDoor は、SOCKS プロキシを設置することによって、企業が予期せぬうちに、サイバー犯罪者がネットワークを偵察し脆弱なサービスにアクセスする手段を提供します。この不正活動はユーザが知らないうちに同意無しで実行されます。
MilkyDoor は、DressCode に不正な機能を追加した後継であると思われます。ファイアウォールなどのセキュリティ対策を回避し、通常のネットワークトラフィックの中に不正な活動を隠ぺいする機能もそのひとつです。これは、リモートホストの特定ポートへの情報をローカルホストに転送する「リモート・ポート・フォワーディング」という手法で、通常 22 番ポートを使用する「Secure Shell(SSH)」によるトンネルを経由して転送されます。このような SSH の悪用により、マルウェアは不正トラフィックと不正活動を暗号化し、検出をより困難にしています。
トレンドマイクロは、これらのトロイの木馬化したアプリがヘアスタイルガイドや子供向けの本、お絵描きアプリ等、多岐にわたるレクリエーションアプリに偽装していることを確認しました。これらは、サイバー犯罪者が正規のアプリにトロイの木馬を仕掛けて再パッケージし、Android 端末向けプラットフォームとしての認知度を見込んで Google Play に再公開したものだと推測されます。
■企業への影響
MilkyDoor が企業の内部ネットワーク、プライベートサーバ、最終的には企業の資産と情報を攻撃するために用いる手法には十分注意する必要があります。MilkyDoor は、特に BYOD 導入企業のネットワークにセキュリティ課題を突きつけます。感染したアプリ自体は、インストール時や実行時に重要な権限の許可を必要としません。そのため、通常の通信を行っているように見える端末に、実は不正アプリが潜んでいるということが起こり得ます。
また、その影響も重大です。MilkyDoor を利用して、サイバー犯罪者は密かに企業の内部ネットワークにおけるウェブや FTP 、SMTP といったサービスへのアクセス権を取得します。このアクセス権を使って、サイバー犯罪者は内部ネットワークの IP アドレスをポーリングし、脆弱なサーバを探索します。管理者までアクセス権を奪われた例として、最近の「MongoDB」と「Elasticsearch」 に対する相次ぐサイバー攻撃が挙げられます。サーバがインターネット上にあり、内部データベースに認証の仕組みが無かったことが事態を悪化させました。
図 1:MilkyDoor が仕掛けられた Google Play 上のアプリの例
図 2:アプリの詳細ページの一部、50~100 万回インストールされていることがわかる
■ DressCode の改良版?
不正コードは正規の Android システムパッケージに偽装し、android.process.s と呼ばれるプロセスを実行します。トロイの木馬化したアプリのインストールに際して、MilkyDoor は、国、市、座標(緯度と経度)の情報を含んだ端末のローカル IP アドレスを取得するため、サードパーティのサーバ「freegeoip[.]net」にリクエストを送信します。次に、コマンド&コントロール(C&C)サーバにその情報を送信すると、C&C サーバは SSH サーバのユーザ、パスワード、ホスト情報を含んだ JavaScript Object Notation(JSON)形式のデータを返信します。不正アプリの操作者は、SSH2 プロトコルである「Java Secure Channel(JSch)」を利用して、感染した端末との間に SSH トンネルを構築します。JSch は Java 言語のみで記述されており、環境に依存せず汎用的に動作します。
図 3:正規パッケージの中に存在する不正コード
図 4:設定ファイル AndroidManifest.xml で不正コードを指定
ポートフォワーディング機能を利用するために、MilkyDoor はトラフィックを隠ぺいして通信を行います。これは、ネットワークやパケットの監視を逃れ、ファイアウォールを回避するために取られる手法です。この場合、感染したアプリが攻撃者の PC に SSH 接続し、SSH サーバとなる攻撃者の PC のローカルポートを通るすべてのトラフィックは、感染した端末が接続している内部ネットワークに転送されます。
DressCode は、内部ネットワークにアクセスするために SOCKS プロトコルを利用して Android 端末にプロキシを構築することが知られています。MilkyDoor は、この SOCKS プロキシと SSH を介してダイナミック・ポート・フォワーディングを実現し、内部ネットワークのすべての PC およびポートに向かうデータが攻撃者の PC を経由するようにします。SSH トンネルは通常 22 番ポートを使うため、ファイアウォールはこのポートを通るトラフィックをブロックしません。つまり、MilkyDoor はインターネットの検閲を密かに回避できるのです。
図 5:MilkyDoor がローカル IP の詳細情報を取得するコード
図 6:MilkyDoor が JSch ライブラリを使ったポートフォワーディングを実行するコード
図 7:感染したモバイル端末を経由し、ファイアウォールを越えて内部サーバに侵入
■ MilkyDoor の変遷
このアプリに組み込まれたソフトウェア開発キット(Software Development Kit、SDK)に含まれる不正なコードの詳細な解析により、バージョンが 1.0.6 に更新されていることが判明しました。また、この不正アプリと SDK を追跡した結果、それらが2016年に配布されたものであることも確認されています。それ以前のバージョンはアドウェアでしたが、バージョン 1.0.3 でバックドア機能が加えられました。
トレンドマイクロが MilkyDoor を調査したところ、ロシアのインターネット掲示板(BBS)で広告を出しているトラフィックサービス業者に行き着きました。このことから、MilkyDoor が構築する SSH トンネルは偽のトラフィック生成やクリック詐欺にも悪用され、攻撃者により多くの利益をもたらしていると推測されます。MilkyDoor に感染したアプリのひとつをさらに調べると、使われている証明書に有名なサイバー諜報活動との関わりがあることが判明しました。
では、MilkyDoor が DressCode の後継と考えられるのは何故でしょうか? MilkyDoor のバックドア機能とそれに伴うセキュリティリスクが DressCode と同等であり、利用技術が DressCode の開発者の傾向を反映しているからです。ダイナミック・ポート・フォワーディングを利用して通常のトラフィックに紛れ込ませることで不正活動を隠ぺいする手法や、SSH トンネルによる不正活動の暗号化がその例です。
■ MilkyDoor への対応策
モバイル脅威の多様化と拡大に従い、法人も個人も MilkyDoor のような脅威に対するセキュリティ姿勢を強める必要があります。エンドユーザは自身のモバイル機器について、特にそれを使って企業ネットワークに接続し、資産を管理する場合、より慎重なセキュリティが求められます。
DressCode と MilkyDoor は、内部ネットワークにアクセスするために Android 端末に SOCKS プロキシを構築します。プロキシを作成する前に、感染した端末は攻撃者のC&Cサーバからコマンドを取得するために外部ポートに接続する必要があります。このような常套手段から BYOD 機器を守るために、企業はファイアウォールを設置し、ネットワーク内の端末が一般的に使われていない外部ポートに接続する場合、それを制限あるいは禁止することが可能です。
実用的なモバイルセキュリティ対策には、疑わしいアプリに注意すること、端末のオペレーティングシステム(OS)を最新に保つことなどが含まれます。しかし、Android のパッチと更新は一部の機種を除いて自動的に適用されないため、ユーザは機器の製造業者にパッチが利用可能かどうか問い合わせなければなりません。職場で BYOD プログラムを採用している企業は、生産性や柔軟性とプライバシーおよびセキュリティとの間でバランスを取る必要があります。IT およびシステム管理者は、万全なパッチ管理プロセスとシステム制限/許可方針を運用することで、BYOD機器のためのセキュリティを向上させることができます。
■トレンドマイクロの対策
トレンドマイクロでは、モバイル環境での総合セキュリティ対策として、個人利用者向けには「ウイルスバスター モバイル」、法人利用者向けには「Trend Micro Mobile Security™」を提供しています。これらの製品ではトレンドマイクロのクラウド型セキュリティ基盤「Trend Micro Smart Protection Network(SPN)」の機能である「Mobile App Reputation(MAR)」技術や「Web レピュテーション(WRS)」技術により、不正/迷惑アプリの検出や不正/迷惑アプリに関連する不正 Web サイトのブロックに対応しています。
トレンドマイクロは、Google に情報を提供し、Google Play から不正アプリを削除するために協業しています。「侵入の痕跡(Indicators of Compromise、IoCs)」の一覧、関連する SHA256 値、および C&C サーバについては、こちらをご参照ください。
参考記事:
- 「DressCode Android Malware Finds Apparent Successor in MilkyDoor」 by Echo Duan and Jason Gu (Mobile Threat Response Engineers)
翻訳:澤山 高士(Core Technology Marketing, TrendLabs)