トレンドマイクロは、「Pawn Storm 作戦」の調査を続けていたところ、悪意を持った Pawn(チェスの駒)を確認しました。それは、iOS端末上で情報を窃取するように設計された不正プログラムです。Apple のユーザを狙うこの不正プログラムはそれ自体も非常に警戒すべきですが、さらに標的型サイバー攻撃にも関連していました。
■「Pawn Storm 作戦」の背景
「Pawn Storm 作戦」は、経済および政治的な諜報活動を目的としたサイバー攻撃で、軍事、政府、防衛、メディアを中心に、幅広い範囲の企業や機関を狙います。
「Pawn Storm 作戦」を実行するサイバー犯罪者は、標的となる実在の有名な企業や機関に近づくために、最初に多くの駒を動かす傾向があります。そして、最終的に標的とした企業・機関の PC を感染させると、次の駒を前に進めることを決定することがあります。次の駒とは、情報を窃取する巧妙な不正プログラムです。
弊社が確認した iOS の不正プログラムは、こうした巧妙な不正プログラムの 1つです。この不正プログラムは、すでに侵入した iOS端末上にインストールされたと弊社は考えています。また、Windowsシステム上で確認された攻撃の第2段階で利用される不正プログラム「SEDNIT」に非常によく似ています。
「Pawn Storm 作戦」で、弊社は 不正な 2つの iOSアプリを確認しました。1つは「XAgent」と呼ばれ、弊社の製品では「IOS_XAGENT.A」として検出されるものです。もう 1つは、正規の iOS のゲーム「MadCap」の名前を利用したもので、「IOS_XAGENT.B」として検出されます。解析の結果、弊社はこれらのアプリがいずれも「SEDNIT」に関連していることを断定しました。
「SEDNIT」に関連した不正プログラムの明白な目的は、個人情報や音声録音、スクリーンショットを窃取して、遠隔のコマンド&コントロール(C&C)サーバにこれらの情報を送信することです。2015年2月4日時点で、この iOS の不正プログラムが通信する C&Cサーバはまだ活動を行っています。
■「XAgent」の解析
「XAgent」は、完全に機能的な不正アプリです。iOS 7 上にインストールされると、アプリのアイコンを隠ぺいし、すぐさまバックグラウンドで実行します。プロセスを中止してアプリを停止させようと試みても、程なく再起動します。
しかし、iOS 8 の端末上にインストールされた場合は、結果が異なります。アイコンは隠ぺいされず、自動的に再起動しません。こうしたことから、この不正プログラムは 2014年9月の iOS 8 の発売以前に設計されたと考えられています。
■情報窃取の機能
「XAgent」は、iOS端末上のあらゆる種類の情報を収集するように設計されており、以下の不正活動を実行することが可能です。
- SMSのメッセージ(以下、テキストメッセージ)の収集
- コンタクトリストの取得
- 写真の取得
- 地理的な位置情報の収集
- 音声録音の開始
- インストール済みアプリのリスト取得
- プロセスリストの取得
- Wi-Fiのステータスの取得
図1:「XAgent」のコード構造
■C&C との通信
iOS上から情報を収集する他に、この不正アプリは HTTP経由で情報を送出します。POST要求を利用してメッセージを送信し、GET要求でコマンドを受信します。
■フォーマット化されたログメッセージ
この不正プログラムのログメッセージは、HTML で書かれており、カラーコード化されています。そのため、不正プログラムの実行者が読みやすいようになっています。エラーメッセージは赤字で、それ以外のメッセージは緑で表示される傾向があります(図2)。
図2:カラーコード化された HTML のログメッセージ
■適切に設計されたコード構造
この不正プログラムのコード構造は、とても良く整理されていることがわかります。この不正プログラムはよく管理されており、常に更新されているようです。
図3:「XAgent」のコード構造
このアプリは、watch、search、find、results、open、close のコマンドを利用します。
図4:ベースURI の一覧
■ランダムに生成される URI
C&Cサーバへの HTTP要求に使用する完全な「Uniform Resource Identifier(URI)」は、C&Cサーバのひな形に合わせてランダムに生成されます。ベースURI は図4 で確認できます。パラメータは図5 の一覧から選択され、ベースURI に追加されます。
図5:URI で利用されるパラメータの一覧
図6 と図7 は、弊社がリバースエンジニアリングによって入手した URI を生成するコードです。
図6:URI を生成するコード
図7:URI を生成するコード
■トークン形式とエンコード化
この不正プログラムは、どのモジュールが通信しているかを特定するためにトークンを利用します。このトークンは Base64 でエンコード化したデータですが、ランダムな 5バイトを接頭に追加するため、有効な Base64 のデータのように見えます。図8 では、1行目に「ai=」が確認できます。
図8:クライアント(「XAgent」)の要求
リバースエンジニアリングにより、追加の通信機能が明らかになりました。
図9:HTTP通信の機能
図10:C&Cサーバ
■FTP通信
このアプリはまた、FTPプロトコル経由でファイルのアップロードが可能です。
図11:FTP通信の機能
■「MadCap」の解析
「MadCap」は「XAgent」と類似していますが、「MadCap」は音声録音が主な不正活動です。「MadCap」は「JailBreak(脱獄)」させた端末のみにインストールが可能です。
図12:「MadCap」のコード構造
■想定される感染手法
不正プログラムをインストールさせる具体的な手法は明らかになっていません。しかし、iOS 端末自体を脱獄させる必要がないことは確認しています。弊社では、ユーザをだますために「アプリをインストールするためにここをタップして下さい」とだけ書かれた「XAgent」に関連した事例を確認しています。このアプリは、Apple の Ad Hoc用プロビジョニングを利用します。Ad Hoc とは、iOSアプリの開発者向けの Apple の標準的な配布方法です。図13 のように、Ad Hocプロビジョニングを通じて、この不正プログラムはリンクをクリックするだけで簡単にインストールされます。図13 のリンクは、https://www.<省略>/adhoc/XAgent.plist へ誘導します。これは、無線でアプリをインストールするサービスです。
図13:「XAgent」のダウンロードに利用された Webサイト
この不正プログラムのインストールに利用される別の感染手法があるかもしれません。その 1つの想定されるシナリオは、Windows の PC を侵害、もしくは感染させた後、USBケーブルで接続された iPhone を感染する方法です。
「Pawn Storm 作戦」に関する詳細は、こちらもご参照下さい。
トレンドマイクロ製品をご利用のユーザは、弊社のクラウド型セキュリティ基盤「Trend Micro Smart Protection Network」によって守られています。特に「Webレピュテーション」技術により、この脅威に関連する不正な Web サイトへのアクセスをブロックします。そして、「ファイルレピュテーション」技術により、上述の不正プログラムを検出し、削除します。
特に、Mac OS向けセキュリティ対策製品としては「ウイルスバスター for Mac」(「ウイルスバスター クラウド」に同梱)を提供しています。
本稿で取り上げた不正プログラムに関するハッシュは以下のとおりです。
- 05298a48e4ca6d9778b32259c8ae74527be33815
- 176e92e7cfc0e57be83e901c36ba17b255ba0b1b
- 30e4decd68808cb607c2aba4aa69fb5fdb598c64
協力執筆者:Loucif Kharouni および Fernando Merces
参考記事:
- 「 Pawn Storm Update: iOS Espionage App Found」
by Lambert Sun (Mobile Threat Analysts),Feike Hacquebord (Senior Threat Researcher)
翻訳:品川 暁子(Core Technology Marketing, TrendLabs)