Android マルウェアの過去、現在、そして未来

ホワイトペーパー
Android マルウェアの過去、 現在、 そして未来
著者 :
Carlos A. Castillo
モバイルセキュリティワーキンググループ
McAfee
目次
エグゼクティブサマリー
3
はじめに
3
Androidマルウェアの歴史
4
Androidの基本
9
Androidマルウェアを分析する手法とツール
10
モバイルマルウェアの進化
12
過去:Fake Player
12
現在
16
未来
23
24
結論
24
謝辞
マカフィーについて
Android マルウェアの過去、 現在、 そして未来
28
エグゼクティブサマリー
2010 年の終わり、 「Geinimi」 と呼ばれる新種の Android マルウェアが発見され、 「これまでで最も高度な
Android マルウェア」 として分類されました。 この発表は即座に重大ニュースとして報道され、 これまでにどの
ような Android マルウェアが出現したのか、 現在 Android ユーザーにはどのようなリスクがあるのか、 近い
将来どのような状況が見込まれるのかといった懸念が広がりました。 このホワイトペーパーでは、 2010 年に
発生した最初の SMS トロイの木馬から、 DroidDream、 DroidKungFu、 Plankton などの 2011 年上半期
に公式 Android マーケットで見つかった高度なマルウェアコードまで、 Android マルウェアの進化について
説明します。 また、 現在および過去の Android マルウェアの状態を表す 2 つのサンプルである FakePlayer
と Plankton の分析に使用されている一般的な手法とツールも紹介し、 最後に今後このプラットフォームに影響
を及ぼす可能性が高い、 新しい Android マルウェアの脅威に対する見解を示します。
はじめに
1973 年 4 月 3 日、 当時の Motorola コミュニケーションシステム部門ゼネラルマネージャーであった Martin
Cooper 氏は、 世界で初めて携帯電話での通話に成功しました 1。 この画期的な出来事から約 38 年が経過
した現在、 携帯電話は通話だけでなく、 メッセージの送信、 ネットサーフィン、 写真撮影、 動画記録、 電子
メールや写真、 ビデオなどの機密情報の送信、 受信、 保管などにも活用できるデバイスとして巨大産業を
築き上げました。 Gartner によると、 「2010 年のモバイルデバイスのエンドユーザーへの売上は、 2009 年
から 31.8% 増加して 16 億台に到達」 2 し、業界は著しい成長を遂げています。 そしてこの成長は、今後も継続
すると予測されています。 人気が高いこと、 そして機密情報が保持されていることは、 サイバー犯罪者の興味
をそそります。 しかし、 こうしたデバイスの大半はハードウェアおよびソフトウェア構成が非常に限定されており、
インターネットにも常時接続されていないため、 脅威の伝播は従来のデバイスよりも難しく、 サイバー犯罪者が
脅威を通じて得られる利益も高くありません。
しかし、サイバー犯罪者に都合が良い特徴に一致するタイプのモバイルデバイスが存在します。スマートフォンは、
携帯電話よりも高度な処理能力と接続性を提供するハイエンドのモバイルデバイスです。 その性能の高さから、
スマートフォンは人々がソーシャルネットワーク (Facebook や Twitter) にアクセスする主要な手段の 1 つに
なりつつあります。 また、 モバイルデバイスを 「車のキー、 お金、 チケット、 旅券」 として機能させることを可能
にするテクノロジーである NFC(Near Field Communications)に向けたモバイルオペレーター間(Google は、
Android バージョン 2.3 オペレーティングシステム搭載のスマートフォン Nexus S を提供する、 この重要な
テクノロジーを支持する企業の 1 社 3) の合意により、 スマートフォンは 「スマートウォレット」 となる可能性が
最も高いデバイスでもあります 4。 Gartner によると、 「2010 年のスマートフォンのエンドユーザーへの売上は、
2009 年から 72.1% 増加し、 2010 年のモバイル通信デバイス売上全体の 19% を占めている」 2 とされており、
モバイルデバイス全体の売上よりも高い増加割合を記録しています。
最近、 新しいプレイヤーがこの業界に参入し、 ノートブックやノート PC などのその他のモバイルデバイスの市場
シェアを奪っています。 メディアタブレットは、 主要な入力デバイスとしてタッチスクリーンを装備するスレート
デバイスです。 Gartner によると、 「2010 年のエンドユーザーへの世界的なメディアタブレットの売上台数は
1950 万台に到達」しており、「2011 年のエンドユーザーへの売上は、2010 年から181% 増の 5480 万台に増加、
2014 年には 2 億 800 万台を超えることが予測される」 5 ということです。
この両タイプのデバイス (スマートフォンとタブレット) は、 少ないエネルギー消費で実行できるように最適化
されている軽量オペレー ティングシステム (OS) を搭載しています。 業界で 最も人気が高い OS の 1 つが
Android で、 Canalys によると、 Android は 2010 年第 4 四半期の販売台数が 1 億台を超えた、 業界を
リードするスマートフォンプラットフォームです 6。 Android は Linux ベースのオープンソース 7 オペレーティング
システムで、Open Headset Alliance の主要プロジェクトとして 2007 年 11 月に開始され 8、主要スポンサーの
Google に統合されました。 Android が発表された当時、 F-Secure の Mikko Hypponen 氏はこの新しい
オープンプラットフォームに疑念を抱き、 「携帯電話向けのオープン標準は何らかのモバイルマルウェアの問題
を引き起こすか?」、 「Android の登場は、 モバイルマルウェアの進化を加速または遅延させる可能性がある
か?」 といった疑問を呈しました。 3 年以上の月日がかかりましたが、 Android は悪質な人々の興味を引く
ほどの人気を博すようになり、 2011 年は Android のモバイルマルウェアが数多く登場することになりました。
この文書では、 このプラットフォーム上の悪質なコードの進化を振り返り、 これらのタイプの脅威の実際の
リスクと影響について説明します。 まず、 Android プラットフォーム向けの最初の悪質なアプリケーションの
概念実証の 1 つから、 DroidKungFu まで、 Android マルウェアの歴史を見ていきます。 公式 Android マー
ケットで発見された DroidKungFu は、 脆弱な Android デバイスのルートレベルのアクセス権を持ち、 AES を
使用して 2 つのエクスプロイトを暗号化することにより、セキュリティソフトウェアの検知を回避するマルウェアです。
Android マルウェアの過去、 現在、 そして未来
3
次に、 Android プラットフォーム向けの悪質なコードの動作の理解を促進するために、 Android の機能の
概要を説明します。 「モバイルマルウェアの進化」 のセクションでは、 Android マルウェアを分析するための
複数の手法とツールを紹介します。 次に実環境で発見された 2 つのサンプルである Fake Player (過去) と
Plankton (現在) の分析結果、 および将来の脅威の予測を説明し、 最後に結論を示します。
Android マルウェアの歴史
モバイルデバイス向けの悪質なコードは、 ハードウェアとソフトウェアの制限のため、 実在しないと思われがち
です。 しかし、 モバイルデバイスもこの種の脅威に脆弱であることが歴史によって証明されています。 最も悪質
な例の 1 つは、 主要な感染媒体として Bluetooth を使用して Symbia OS 搭載の携帯電話に感染する Cabir
と呼ばれるマルウェアです。 この悪質なソースコードは、 2004 年に 29A グループによってインターネット上に
公開されたため、 このマルウェアの新しい亜種が登場し、 モバイルデバイスが危険にさらされる新たな時代が
幕を開けました。 Cabir は、 非常に短い距離 (10 メートル未満) のデバイス間の情報転送の主要テクノロ
ジーとして Bluetooth が使用されていた時代に登場しました。 そして 2007 年、 Apple が第 1 世代のスマート
フォン ( Apple iPhone)を発表しました。 iPhone は、インターネットへの常時接続を想定して設計された強力な
最先端モバイルデバイスで、 非常に直感的なグラフィカルユーザーインターフェイス、 そしてユーザーとモバイル
デバイスとのインタラクション方法を一変させた静電容量方式スクリーンを搭載していました。 Apple が導入
したもう 1 つの重要なテクノロジーが、 インターネットから直接デバイスにアプリケーションをダウンロードしてイン
ストールできるように構築された仮想インザクラウド環境、 App Store です。 この 2 つの登場により、 スマート
フォンの人気が一躍高まり、 業界における新しいライバル、 Google Android の誕生につながったのです。
この OS の最初のバージョン (1.0) は、 2008 年 9 月に Google によってリリースされました 9。 その 1 ヶ月後、
Google と HTC は、このバージョンの Android を搭載した初の携帯電話、HTC Dream をリリース( T-Mobile
G1 としても販売) しました 10。 当初このプラットフォームは、搭載機種が数台のデバイスに限定されていたため、
人気は高くありませんでした。 しかし最初のバージョンであったことから、 セキュリティ研究者、 学者、 さらには
悪質な人物までもが、 この新しいソフトウェア環境向けの悪質コードの開発に興味を示しました。
2008 年 9 月 (HTC Dream の発表よりも前)、 中国の電子科技大学 (UESTC) のセキュリティ研究グループ
Blitz Force Massada は、 Android に対する初の複合型攻撃を発表しました。 この攻撃は、 4 つの異なる
モジュール (悪質なアプリケーション) によって実行される 30 を超える攻撃の集合体でした 11。
• Android/CallAccepter.A 12 — 電話機にすべての着信を受けさせる
• Android/Radiocutter.A 13 — 無線を切り、 発信 / 着信できなくする
• Android/SilentMutter.A 14 — すべての通話を切断する
• Android/StiffWeather.A 15 — 機密情報を収集し、 攻撃者に送信する
インターネットで入手できるこれらのアプリケーションの情報は、 非常に限定的です。 ただし、 この概念実証の
目的は損害を引き起こすことではなく、 むしろ Blitz グループは、 非常に初期の段階でこの Android OS が
(他のシステムと同様に) 悪質なコードに脆弱であることの実証を目指していたようです。
非携帯型デバイスを対象とする場合と同様に、 悪質なコードの大きな目的の 1 つは、 ユーザーに気付かれず
に可能な限り多くの個人情報を収集することです。 こうした目的を持つタイプのマルウェアはスパイウェアと
呼ばれ、 Android もその影響を免れられません。 2009 年 11 月、 Retina-X Studios は Android OS 向け
の世界初の本格的なスパイソフトウェア 16、 Mobile Spy17 を発表しました。 このソフトは、 Web ブラウザー、
通話、 テキストメッセージ、 写真、 ビデオ、 GPS ロケーション、 さらにはデバイスが閲覧した URL 経由で、 デバ
イスを静かに監視することができます。 このアプリケーションの重要な特徴の 1 つはインストール方法です。
攻撃者は、 アプリケーションをデバイスに手動でコピーしなければならないため、 このアプリケーションをインス
トールするにはデバイスに物理的にアクセスする必要があります 18。 Mobile Spy のもう 1 つの独自の特徴は、
アイコンを表示せずにバックグランドでステルスモードで実行されるため、 ユーザーがこのアプリケーションに
監視されていることを気付かないという点です。
その 2 ヵ月後の 2010 年 1 月、First Tech Credit Union と、Travis Credit Union19 などその他の金融団体は、
Android マーケットに不正な疑いがあるアプリケーションが存在していることを報告しました。 2009 年 12 月
の第 1 ~ 2 週にかけ、 開発者 Droid09 は、 カナダの Royal Bank、 テキサスの City Bank、 Valley Credit
Union などの銀行を標的とする非公式のモバイルバンキングアプリケーションを投稿しました 20。 これらのアプ
リケーションの目的は、 明らかにユーザーの銀行口座に関する個人情報を収集することでしたが、 この事実が
公表されると Google が疑いのあるアプリケーションを削除してしまったため、 セキュリティ研究者とウイルス
対策企業は分析対象のサンプルを入手できませんでした 20,21。 この事態を受け、 Sophos の Graham Cluley
氏は、「Android マーケット (現 Google Play) は、 Apple のマーケットの監視方法とは異なっている。 今後、
4
Android マルウェアの過去、 現在、 そして未来
Motorola Droid や Google Nexus One などの Android を実装する新機種の人気の相乗効果で、 将来的
に Android はサイバー犯罪者に魅力的なプラットフォームになる可能性がある」 21 との重大な結論に至り
ました。 そして 2011 年、 この予想は現実となり、 「実環境で」 発見された Android マルウェアおよび亜種の
数が増大しました。
スパイウェアからフィッシング攻撃まで進化していた Android のマルウェアは、 さらに大幅な進化を遂げました。
ル ー ト キ ッ ト の 登 場 で す。 2010 年 6 月、 Trustwave の Christian Papathanasiou 氏 お よ び Nicholas J.
Percoco 氏は、 ホワイトペーパー 「This Is Not the Droid You’ re Looking For ...」 22 を DEF CON 18 で
発表しました。 モバイルデバイスのルートキットについての研究はそれまでほとんどなされておらず、 その状況は
現在でも変わっていません。 この文書の中で、 Christian 氏と Nicholas 氏は、 「トリガー番号」 からの着信を
受信すると 3G/Wi-Fi シェルを介してリバース TCP を攻撃者に送信できる、 カーネルレベルの Android ルート
キットを開発しました 22。 このルートキットは、 無線を介して伝播することも、 悪質なアプリケーションとともに
インストールする (現在の Android マルウェアの主要な感染媒体) ことも可能です。 この脅威はこのように
複雑ですが、 現在までこの種の攻撃は実環境で発見されていません。
実世界の話に戻りますが、 2010 年 8 月、 Kaspersky の Dennis Maslennikov 氏は Android 向けの初の
SMS トロイの木馬を発見したことを報告しました 23。 一般に 「FakePlayer」 として知られるこの悪質なアプリ
ケーションは、 偽りの Microsoft Windows Media Player アイコンとそのイメージ上部に 「Movie Player」
というタイトルを持つ、 メディアプレイヤーアプリケーションのように見えます。 実際このアプリケーションは、
SymbOS.Mosquit のような Symbian 向けのマルウェアに見られた典型的な悪質な動作を模倣し 24、 所有者
に気付かれずに有償サービスに SMS メッセージを送信します。 その結果、 所有者は、 送信された SMS メッ
セージの高額な料金を支払うことになります。 このケースでは、 3353 と 3354 の 2 つの有償番号が使用され、
メッセージ 1 通当たりのコストは約 1 米ドルでした。 ただし、 「あらゆるデバイスが感染する可能性はありますが、
現時点ではこのトロイの木馬が損害を及ぼすのはロシアのユーザーに限定されています。 また、 私たちが知る
限りでは、 Android マーケットプレースを介して感染していません」 23 と報告されました。 この情報に基づくと、
当時はユーザーのリスクは配布とペイロードに限定されていましたが、 マルウェアは、 当時マーケットプレースで
提供されていた人気のあるアプリケーションの隠し機能を利用して進化を続けていきました。
FakePlayer の発見と同じ月、 Symantec はおなじみの 「スネーク」 ビデオゲームの改造版を発見しました 25。
このアプリケーションは、 ユーザーに気付かれずに電話の所在地を監視するために、 リモートサーバーに GPS
座標を送信する機能を装備していました (スパイウェア)。 この情報は、GPS Spy という別の商用アプリケーション
を使用して表示できました。 GPS Spy は、 データをダウンロードしてこの情報をより視覚的に Google Maps で
表示します 25。Mobile Spy と同様に、攻撃者はこのアプリケーションをインストールするために犠牲者のデバイス
に物理的にアクセスする必要がありました。 また、両方のアプリケーションの同期を取るために、GPS Spy に同一
の資格情報を入力する必要がありました。 このマルウェアも広く感染しなかったため、 高リスクの脅威にはならず、
影響も最小限に抑えられました。
11 月には、 マーケットに 2 つの興味深いアプリケーションが登場しました。 1 つ目の 「Angry Birds Bonus
Levels」 は、 Rovio 社が開発したベストセラーのモバイルゲームである 「Angry Birds」 との関連性が明らか
でした。 しかし、 このアプリケーションをアップロードしたのは、 Android のセキュリティの脆弱性を発見した
研究者である Jon Oberheide 氏でした 26。 概念実証用のこの単一のアプリケーションは、 Android マーケット
から害のない追加のアプリケーション (Fake Contact Stealer、 Fake Location Tracker、 および Fake Toll
Fraud) をダウンロードしてインストールすることができました。
このデモの成果は、 Android マーケットからこれらのアプリケーションが削除されたのみでした。 しかし、
Google はこの脆弱性についての正式発表を行わなかったため、 現在でもこの脆弱性は修正されたのか、 (その
場合) どのような方法が用いられたのかは明らかになっていません。
2010 年 10 月に Android マーケットに登場した Android OS のセキュリティリスク関連のもう 1 つのアプリケー
ションは、 「SMS Replicator」 でした。 実際、 このアプリケーションは、 設定可能なモバイル番号に着信 SMS
メッセージを静かに転送する典型的なスパイウェアでした。 しかし、 このアプリケーションにはバックドアが存在し
ていました。 このバックドアは、 Fortinet の Axelle Apvrille 氏 27 によって、 悪質なコードのリバースエンジニア
リングを通じて発見されました。 基本的に、 攻撃者は事前設定済みのパスワードを使用してショートメッセージ
を送信することにより、 転送 SMS を受信するモバイル番号を設定できます。 しかし、 このアプリケーションには
ハードコーディングされた 「ユニバーサル」 な隠しパスワード (red4life) が存在しており、 このパスワードを
使 用すると感 染した デバイス に他の 携 帯電 話 番 号 も設 定 すること がで き ました。 幸 運 なことに、 「SMS
Replicator Secret はリモートから設定できません。 設定できたとしたら、 攻撃者はネットワークをランダムに
スキャンして感染した携帯電話を探し、 受信メッセージを偵察できたでしょう」 と Axelle 氏は述べています 27。
Android マルウェアの過去、 現在、 そして未来
5
2010 年の末、 Lookout は Geinimi28 という実環境で検出された当時の最も高度な Android マルウェアの
発見を発表しました。 その時点で、 公式および非公式の Android マーケットで発見されたのは、 悪質なトロイ
の木馬 (ロシアのユーザーにのみ感染) と 2 つのスパイウェアのみでした 29。
• 革 新 的 な 配 布 方 法 — Geinimi は、 Monkey Jump 2、 President Versus Aliens、 City Defense、
Baseball Superstars 2010 などの正当なアプリケーションに再パッケージ化されました。 この悪質コードは、
バックドアのような機能を含めるために元のアプリケーションに再パッケージ化された追加クラスで構成され
ていました。 それにもかかわらず、 これらのアプリケーションは中国の非公式アプリケーションストア (および
米国と欧州のその他のファイル共有サイトと BitTorrent のようなシステム) にアップロードされました。 公式
Android マーケットでは発見されませんでしたが、 これはおそらく、 悪意あるパッケージの最終的な名前が
正当なバージョンのアプリケーションの名前と同一で、 Google のアプリケーションマーケットでパッケージ名
が衝突したためです 30。
• 二重の反分析方法 — 暗号化(ネットワーク通信)と難読化(ネットワーク通信コード)が行われました。 リモート
サーバーと感染デバイス間通信では、弱いアルゴリズムおよび鍵 (DES と 「12345678」) が使用されていた
ため、 その復号化は大きな問題ではありませんでした。 しかし、 ソースコードが難読化されたため、 悪質な
コードの静的な分析はさらに困難になりました 29。
• ボットネットのような機能 — 実際、 このマルウェアのソースコードには、 20 を超えるコマンドが実装されて
いました。 しかし、 Lookout をはじめとするセキュリティ会社は、 感染デバイスにコマンドを返す完全に機能
するコントロールサーバーを発見できませんでした。 そのため、 このマルウェアの目的がモバイルボットネット
の構築であったかどうかは確認されていません。
Geinimi は、 悪質なコードとともに再パッケージ化することで、 正当なアプリケーションを 「感染させられる」 こと
を実証しました。 この新しい手法は、Trojan ADRD(別名 HongTouTou31)と呼ばれる 2 月に Aegis Lab によっ
て発見された Geinimi のその他の亜種などによってすぐに実装されました 32。 Geinimi と異なり、 この新しい
Android マルウェアは壁紙に感染しました。 その理由は、 この種のアプリケーションはメインパネルにアイコン
で表示されない (Geinimi よりも隠匿性が高くなる) ためであると考えられます。 これらの 2 つの悪質なアプリ
ケーションのもう 1 つの相違は、 ADRD の機能が非常に限定的である点です。 ADRD は、 感染デバイスの
IMEI/IMSI のみをリモートサーバーに送信し、 帯域幅の消費量を増やすために中国の主要な検索エンジンへ
のリクエストの送信を試みます。
正当なアプリケーションを 「トロイの木馬化」 したもう 1 つの例は、 Android.Pjapps です。 このマルウェアは、
「アプリケーションのインストール、 Web サイトへのナビゲート、 ユーザーのブラウザーのブックマーク、 テキスト
メッセージの送信、 (オプション) テキストメッセージのレスポンスのブロック」 機能を装備していました 33。
Pjapps にはボットネットのような機能も含まれており、 感染デバイスで実行するアクションを指示するリモート
サーバーが送信するコマンドに対応します。 しかし、Geinimi の場合と同様に、分析の時点ですべてのコマンド &
コントロールサーバーはアクティブでなかったため、 またしてもこのマルウェアが完全に機能するモバイルボット
ネットかどうかを確認することは困難でした 33。
2011 年の第一四半期、 「トロイの木馬化」 された多数の正当なアプリケーション (英語、 中国語 34、 さらには
日本語 35 も含むさまざまな言語のもの) が非公式マーケットプレース、 ダウンロードサイト、 そして BitTorrent
でホストされている海賊版ゲームで発見されました。 当時 Android ユーザーに推奨されていた主要なセキュ
リティ対策は、 「規制された Android マーケットプレースのみを使用して Android アプリケーションをダウン
ロードおよびインストールすること」、 および 「マーケット以外で配布されているアプリケーションのインストールを
阻止するオプション」 を使用することでした 33。 しかし、公式 Android マーケットで入手できる 50 を超えるアプリ
ケーションで発見された DroidDream36 マルウェアの出現によって、 その推奨策の転換が余儀なくされました。
3 月には新しいソーシャルニ ュース Web サイトである reddit37 で、 Lompolo というユーザーが、 開発者
「Myournet」によってアップロードされた正当なアプリケーションの海賊版が Android マーケットに存在すること
を報告しました。 警笛を鳴らしたこの詳細な投稿には、 当時まで悪質ではない目的でデバイスへのルートアク
セスを取得するために一般的に使用されていた 「rageagainsthecage」 エクスプロイトが使用された可能性が
記されていました。このマルウェアに関してもう1 つ判明したのは、「このアプリケーションは、カリフォルニア州フリー
モントに位置すると思われる http://184.105.245.17:8080/GMServer/GMServlet に、 少なくとも IMEI/IMSI
コードを送信しているようである」 ことです 37。 また、 このマルウェアが .apk (DownloadProvidersManager.
apk) 内部に存在する、巧妙な名前 (sqlite.db) で隠匿されているアプリケーションをインストール可能であった
ことも見逃せません 37。 このマルウェアも感染媒体として、Geinimi と同じ正当なアプリケーションの再パッケージ
化技法を使用しますが、 Geinimi の新しい亜種でないことは明らかです。 DroidDream は、 スマートフォンの
完全な制御権を取得するために、 一般に公開されているエクスプロイトを使用して Android デバイスのルート
権限を奪取する手法を取り入れました。 しかしそれよりも重要なのは、 この悪質なアプリケーションが Android
マーケットに到達し、 4 日間で 50,000 ~ 200,000 のダウンロード数を記録した事実です 38。
6
Android マルウェアの過去、 現在、 そして未来
この脅威が公表されると、 Google は当然の対応として、 既知の悪質アプリケーションを Android マーケット
からすべて削除するとともに、 再パッケージ化されたアプリケーション (「Kingmall2010」、 「we20090202」、
および 「Myournet」) を公開した開発者のアカウントを停止しました 36。 しかし Google は、 環境の浄化だけ
にとどまらず、 「Android Market Security Tool March 2011」 を使用して感染デバイスから悪質なアプリケー
ションを排除しました。 このツールは、 デバイスにインストールされた悪質なアプリケーションを削除し、 自動的に
「エクスプロイトを無効」 にすることができます 39。 しかしその 2 日後、 Symantec は DroidDream を削除する
Google アプリケーションの悪質な再パッケージ版を発見したことを報告しました 40。 その 2 日前にも AegisLab
によって悪質なコードが発見され 41、 Fake10086 と名付けられました。 その由来は、 このマルウェアの目的の
1 つが、 バックグランドでリモートサーバーと通信し、 中国の大手通信会社の顧客サービスポータルである
10086 からの着信 SMS メッセージを (おそらく顧客への警告発信を阻止するために) ブロックすることだった
ためです 42。 このマルウェアのもう 1 つの興味深い特徴は、 一部のコードが mmsbg43 という、 Google Code
にホスティングされ、 Apache License によってライセンスを受けているオープンソースプロジェクトをベースにして
いる点です 40。
3 月の下旬には、 人気の高い Android アプリケーションが改造されて複数のファイル共有 Web サイトにアップ
ロードされました。Walk and Text バージョン 1.3.6 は、歩きながらデバイスに入力できるようにする便利なツール
で、 このアプリケーションの実行中はスクリーンにデバイスの正面の状況と同じ映像が表示されます。 しかし、
Walk and Text の悪質なバージョン (1.3.7) は、 「携帯電話向けとしては実環境で初めて発見された、 不正
サイトからファイルを違法ダウンロードするユーザーを非難するタイプの脅威」 44 で、 正当なアプリケーションの
「クラッキングを実行中」 という偽のメッセージを表示しながら、 連絡先リストのすべての相手に SMS メッセージ
を送信します。 この SMS メッセージの内容は、 「Hey, just downloaded a pirated App off the Internet,
Walk and Text for Android.Im [sic] stupid and cheap, it costed only 1 buck.Don’ t steal like I did!
( Android 向け 「Walk and Text」 の海賊版をインターネットからダウンロードした。 私はたった 1 ドルをケチった
ばか者だ。 私のような盗みはしないように。)」 というものです。
一見すると、このアプリケーションの目的は非公式ソースから海賊版アプリケーションをダウンロードしたユーザー
に罰を与え、 すべての送信 SMS メッセージの料金を支払わせるだけのように思われます。 しかしこのアプリケー
ションは、 電話番号や IMEI などの個人情報もデバイスから収集し、 リモートのサーバーにこのデータを送信し
ます 44。 そして最終的に、 この悪質な Walk and Text バージョンは、 ユーザーに携帯電話の請求書を確認す
ることと、 公式 Android マーケットからアプリケーションを購入することを推奨するメッセージを表示します。 そ
の内容は、 「Application Not Licensed.We really hope you learned something from this.Check your
phone bill :)Oh and don’ t forget to buy the App from the Market (教訓を得られたことを願います。
電話料金の請求書を確認してください。 次からはマーケットでアプリケーションを購入しましょう。)」 というもの
です 35。
その後しばらく 経 過して、 ま た 新し いマルウェアが公式 Android マー ケ ットに登場しました。 5 月 11 日、
AegisLab は、 Android マーケットに 10 の悪質なアプリケーションを投稿したユーザー 「zsone」 を検出しま
した 45。 Lookout によると、 「これらのアプリケーションを介してダウンロードされたマルウェアの合計数は
10,000 件未満」 でした 46。 このマルウェアの動作は、 初代 SMS トロイの木馬である Fake Player に非常に
似ており、ユーザーの許可なしで SMS メッセージを送信し、(中国の) ユーザーに有料 SMS サービスを使用させ
ます。
その数日後には Android.Smspacem という類似するマルウェアが登場していますので、 5 月は Android 向け
SMS トロイの木馬が多く発見された月と言えます。 Symantec によって発見された、正当なアプリケーション 「The
Holy F***ing Bible」 の海賊版の主な目的は、 デバイスの日付が 2011 年 5 月 21 日になったときにデバイス
に保管されているすべての連絡先に 「the end of the world (この世の終わりを告げる)」 スパムを送信するこ
とでした 47。
送信メッセージは、 次のリストから無作為に選択されました。
• Cannot talk right now, the world is about to end
• Jebus is way over due for a come back
• Is the Raptures, praise Jesus
• Prepare to meet thy maker, make sure to hedge your bet juss in case the Muslims were right
• Just saw the four horsemen of the apocalypse and man did they have the worst case of road
rage
• Es el fin del mundo
Android マルウェアの過去、 現在、 そして未来
7
このマルウェアは、 デバイスの壁紙も変更し、 Stephen Colbert (有名な北米のコメディアン) の画像を表示し
ます。 これらが 「目に見える」 感染の兆候です。 しかし、 このマルウェアの動作はこれだけではありません。
次にデバイスが再起動されると、 この悪質なアプリケーションは、 デバイスの個人情報をリモートサーバーに
送信するために、 33 分間隔でコマンド & コントロールサーバーへのコンタクトを試みます。 また、 次のいずれか
のコマンドの取得も試みます 49。
• Pacem — 携帯電話のすべての連絡先を 「ColbertPAC」 にサインアップする *
• Formula401 — ダウンロードリンクをデバイスのすべての連絡先に送信する
• Health — デバイスに 「I am infected and alive ver 1.00」 というメッセージを返させる
このいずれの手法にも目新しさはありません。 しかし、 モバイルボットネットの構築に使用される通信手法は、
Geinimi のような以前のマルウェアとは異なっており、 XML のネームスペースとコマンドを使用してオブジェクト
を生成し、SOAP (Simple Object Access Protocol) を使用して Web サービスを介してコマンドを処理します。
このマルウェアはこの方法でサーバーを呼び出します。 SOAP オブジェクトが生成されると、 2 つのプロパティ
(感染デバイスの電話番号とオペレーター名) が追加され、 最後に HTTP を介してリモートサーバーにこのオブ
ジェクトが送信されます 48。
Smspacem の検出から数日後の 5 月下旬、 Android マーケットの 3 つ目の悪質なコード、 DroidDreamLight
が発見されました。 6 つの異 なる開発者アカウント (Magic Photo Studio、 Mango Studio、 E.T Tean、
BeeGoo, Droid Plus、 GluMobi) を使用して、 少なくとも 26 の感染アプリケーションがアップロードされ、
30,000 ~ 120,000 名のユーザーがこのコードの影響を受けました 49。 DroidDreamLight の悪質なコンポー
ネントは、 電話機の状態が変化する (たとえば、 ユーザーが着信する) とアクティブ化されます。 つまりこの
マルウェアは、 ユーザーの介入なしでの実行が可能です。 これまでに確認されたほぼすべての Android 向けの
悪質なアプリケーションと同様に、DroidDreamLight はデバイスに関連する情報 (IMEI、IMSI、APN、モデル、
SDK バージョン) を収集し、リモートのサーバーにこのデータを送信します。 リモートサーバーの URL は、DES で
暗号化され、元の apk ファイルに含まれる 「prefer.dat」 に保管されます。 デバイスを特定すると、このマルウェア
は新しいアプリケーションのダウンロードとインストールを試みます。 しかしオリジナルの DroidDream とは
異なり、 このマルウェアはユーザーの仲介なしではダウンロードとインストールを行えません 50。
同じ頃、 NetQin は、 電話番号に自動発信する BaseBridge と呼ばれる悪質コードが 20 を超える Android
アプリケーションに含まれていることを発表しました 51。 ユーザーに毎月高額な料金を支払わせるために、
このマルウェアには従来の 「有料 SMS サービスを利用させる」 手法の他に、 自動発信機能が追加されました。
NetQin によると、 「このマルウェアに類似するソフトウェアが Symbian デバイスで発見されたことはありますが、
Android デバイスで高額な料金の原因となる自動発信型のマルウェアが検出されたのは今回が初めてです。
これは、 Android のモバイルの脅威の多様化が進んでいることの兆候と言えます」 51。
実際、 BaseBridge はユーザーの介入なしで通話を開始 / 終了できるほか、 通話ボリュームを 「0」 に設定する
機能などを隠し持っています。 これらの機能は、 犠牲者の偵察に活用できます 52。 BaseBridge のもう 1 つ
興味深い特徴は、 中国のセキュリティソフトウェアである 360 Sefaguard がデバイスで実行中かどうかを特定
できる機能です。 実行中の場合には、 このアプリケーションがエラーのために停止したという偽のメッセージが
表示されます。 しかし実際には、 360 Safeguard はバックグランドで動作を続けています。 BaseBridge には、
(DroidDream のような) ragaisntthecage エクスプロイトの実行、 AES を使用したコマンド & コントロール
サーバーの URL 暗号化に加え、 通話ログの削除、 各機能が実行される間隔のランダム化、 (請求の最新情報
の提供を阻止するための) モバイルプロバイダーからのメッセージのブロックなど、 感染デバイスが実行する
一部の操作を隠匿するための機能が含まれています 52。
5 月の終わりには、 北カロライナ州立大学の研究者によって、 公式 Android マーケットで新しいマルウェアが
発見されました 53。 DroidKungFu と命名されたこの悪質なソフトウェアは、 元々 DroidDream が活用していた
RageAgainstTheCage および CVE-2009-1185 エクスプロイトを使用して、 脆弱な Android デバイスのルート
レベルに侵 入で きま す。 しかし、 DroidDream とは異 なり、 DroidKungFu は AES を 使用してこの 2 つの
エクスプロイトを暗号化し、 最新のモバイルウイルス対策ソフトウェアの検知を逃れます 54。 この相違点を除くと、
このマルウェアの動作は DroidDream と同じで、 デバイスに関する情報を収集し、 デバイスにより多くの悪質
ソフトウェアをダウンロードできる 2 つ目のアプリケーションをインストールします。
ここまでは、 最近までの Android マルウェアの進化について説明してきました。 次のセクションでは、 急速に
変化する Plankton と呼ばれるステルス型 Android スパイウェアの現状を分析するために、 基本的な概念、
手法、 およびツールについて説明します。
8
Android マルウェアの過去、 現在、 そして未来
Android の基本
Android のマルウェアを分析するには、 システム内でのアプリケーションの動作を理解する必要があります。
この理解を促進するために、 Android プラットフォームの概要について順を追って説明します。 このプラット
フォームを理解するには、 まず公式の Android 開発者向け Web サイトで公開されている文書を読むことが
最善の方法です 55。 Android アーキテクチャーは、 次のように表すことができます。
図 1. Android アーキテクチャー 55
Android の中核コンポーネントは、 デバイスのハードウェアとシステムのその他のソフトウェアコンポーネントと
の橋渡しとして機能する Linux ベースのカーネルです。 そのため、 リモートの Linux ベースシェルを使用して
Android デバイスにアクセスし、 コマンドを実行してシステム内のカレントディレクトリーのコンテンツを一覧表示
することができます。 また、 Linux で一般的に使用されているツールを移植して Android で実行することもでき
ます。 ただし、 そのためには、 Android デバイスの主要プロセッサーである ARM プラットフォーム向けの実行
可能コードを生成する必要があります。
Linux カーネルレイヤー上には、 アプリケーションフレームワークとカーネルのコンポーネント間の低レベルの
インタラクションを提供する C/C++ オープンソースライブラリーがあります。 このレイヤーの重要コンポーネントの
1 つが、 「自己完結型で、サーバーを必要とせず、 構成が不要で、 トランザクション処理可能な SQL データベース
エンジン」 を実装するソフトウェアライブラリーである SQLite です 56。 Android アプリケーションは、 通常
SQLite データベースを使用して個人識別情報を含む永続データをデバイスに保管します。しかし、正しく保護され
ていない場合、 悪質な目的でこうしたデータにアクセスすることが可能です。 このような不正アクセスの例として、
2011 年 4 月に Android Police によって発見された、 Android 向けの脆弱な Skype (2010 年提供開始) が
挙げられます 57。 脆弱性が見つかったのは、 Skype がプロファイル情報やインスタントメッセージなどの個人
情報の保管に使用する SQLite データベースの不適切なパーミッションです。 パーミッションに問題があったこと
に加え、 このデータはプレーンテキストで保管されていたため、 どのような人物やアプリケーションでもユーザー
の Skype アカウントに関連する個人情報を収集可能でした。 発見の翌日にベンダーによってプライバシーに
関する脆弱性の問題は解決されましたが 58、 この事件によって、 SQLite データベースが悪質なアプリケーション
の主要ターゲットであることが露呈されました。
Android アーキテクチャーのもう 1 つの重要コンポーネントは、Android 向けに特別に設計された Dalvik 仮想
マシン ( VM) です。 Android では大半のアプリケーションが Java プログラミング言語で記述されていますが、
Dalvik VM (レジスターベース) は Java VM (スタックベース) ではありません。 そのため、 Android 向け
アプリケーションのコンパイルの際、 ソースコードは .class ファイルにコンパイルされますが、 Java バイトコードを
含む .class ファイルは残されずに、 「dx」 ツールを使用してこれらの .class ファイルは即座に dex ファイルに変換
されます 59。
Android マルウェアの過去、 現在、 そして未来
9
dex ファイル概要は、 dex ファイルのリバースエンジニアリングによって取得された非公式なものがインターネット
で公開されています 60。 dex バイナリには、 単一のファイルにコンパイルされたすべての元の Java クラスが含ま
れています。 したがって、 仕様では、 元のソースファイルの情報 (コンパイルされたクラス、 その名前、 変数名な
どの有益なデータ)取得に役立つ様々なオフセットをこのファイルで特定することが可能です。Android マルウェア
の分析に現在使用されているツールの一部は、 この情報と公式 Android API (dalvik.bytecode および
dalvik.system55) によって提供されている情報を利用して設計された可能性があると考えられます。
Android アーキテクチャーの次のレイヤーは、 アプリケーション構築のための汎用機能を開発者に提供する
ために設計されたアプリケーションフレームワークです。 Android は、 これらのソフトウェアコンポーネントと
ともに、 開発者が最初に記述した Java ソースコードの理解に役立つ、 文書化されたアプリケーションプログラ
ミングインターフェイス( API) を提供しています。 マルウェアを分析するには、 Android アプリケーションで使用
されている様々なコンポーネントを理解することが大切です 61。
• アクティビティ — ユーザーインターフェイスを持つ単一の画面を表現します。通常この種類のコンポーネントは、
悪質なコードの感染先となる元のアプリケーションによって実装されます。
• サービス — このコンポーネントはバックグラウンドで動作するという特性があります。 そのため、 通常は正当
なアプリケーションに入り込む悪質なコードに使用されます。
• コンテンツプロバイダー — このコンポーネントは、 アプリケーション間のデータ共有機能を提供します。 この
タイプのコンポーネントがマルウェア作者に使用されることはほとんどありません。
• ブロードキャストレシーバー — このコンポーネントは、「システムの広範囲なブロードキャストアナウンスに応答」
します。 通常は、デバイスでのイベントの発生時 (スクリーンがオフになった、デバイスが無線でインターネット
接続した、 着信を受けたなど) に、 特定の機能をトリガーするために悪質コードによって使用されます。
Android アーキテクチャーの最後のレイヤーでは、 最終的なアプリケーションのコンパイルが行われ、 システム
へのインストールおよび実行の準備が整えられます。 このファイルの形式は Android パッケージ (.apk) と呼ば
れます。 このファイルは、 (jar ファイルのような) 圧縮ファイルで、 少なくとも以下のコンポーネントが含まれます。
• マニフェスト — このファイルの目的は、 システム内でアプリケーションを実行するために必要なすべてのコン
ポーネント、 要件、 パーミッションを宣言することです。 このファイルは、 標準 XML 構造を使用して記述され
ますが、 アプリケーションプロジェクトディレクトリーのルートに存在している必要があります。
• Classes.dex — このファイルの中には、 Dalvik バイトコードが含まれています。 Android アプリケーションの
静的分析を実行するためには、 このコードを逆コンパイル / 逆アセンブルする必要があります。
• リソース —アプリケーションによって使用されるリソースに関するすべての情報が含まれています (画像、音声
ファイル、 メニューなど)。
次のセクションでは、 上記で説明した基本的な概念や重要な Android の特性に基づいて、 Android の疑わ
しいアプリケーションの分析に使用できる手法とツールについて説明します。
Android マルウェアを分析する手法とツール
一般的なコンピューターの世界と同様に、 モバイルマルウェアは、 動的な分析と静的な分析という互いに補完し
合う 2 つの異なる手法を使用して分析することができます。 動的な分析では、制御された環境で特定のサンプル
を実行してその動作を監視し、 このサンプルが悪質かどうか、 およびシステムにどのような変化 / 変更をもたらす
のかを見極めます。通常、動的な分析は、デスクトップコンピューターのマルウェアの検証に使用されます。これは、
デスクトップコンピューターの毎日の悪質サンプル生成量が、 詳細な静的分析で人間が分析可能なファイル量を
超えているためです。そのため、動的分析は自動化されたプロセスを利用して実行されるのが一般的です。ただし、
ファイルの詳細な静的分析と同じ品質のデータは取得できません。
モバイルデバイスの場合は、 動的分析が用いられるのは非常にまれです。 モバイルの世界には複数のプラット
フォームとオペレーティングシステムが存在するため、 マルウェアを複製するには、 様々な環境 (ハードウェア
およびソフトウェアテストデバイス) を準備する必要があるためです。 また、数年前まで大半のモバイルマルウェア
(特に Symbian 向け) は、他のデバイスに感染する主要な感染媒体として無線接続 (Bluetooth など) を使用
していました。 最近では感染媒体は変化しています (アプリケーションの P2P ダウンロード、 悪質なリンクを含む
SMS/MMS、 公式 / 非公式マーケットの感染アプリケーション)。 ただし、 実際のデバイスにモバイルマルウェア
が複製された場合には、 偶発的な感染を防止するためにセキュリティ対策を講じる必要があります。
10
Android マルウェアの過去、 現在、 そして未来
一方、 現在静的な分析は、 モバイルデバイスで一般的に使用されています。 その理由は、 モバイルデバイス
は (デスクトップコンピューターのマルウェア量に比べて) サンプル量が多くないこと、 そして静的な分析では
テスト環境で悪質なアプリケーションを複製するときよりも正確なデータが得られることです。 このセクションでは、
Android 向けの悪質なアプリケーションの静的分析および動的分析の実行に使用可能な手法とツールの一部
を紹介します。
静的な分析では、 分析対象の悪質なアプリケーションは apk ファイルで、 jar ファイルと共通の特性を持ちます。
両ファイルとも、 複数のファイルを 1 つの小さいサイズにパッケージ化するために使用される一般的なデータ
圧縮 / アーカイブ形式である .zip ファイル形式で作成されています。 apk ファイル内のすべてのコンポーネント
を抽出するために、 複数のツール( Winzip、 Winrar、 7-zip など) を使用して初期ファイルを解凍できます。
ファイルとフォルダーを抽出したら、 AndroidManifest.xml および classes.dex の 2 つのコンポーネントを中心
に静的な分析を行います。
AndroidManifest.xml は バイナリ形式 で すが、 この形式は Google に よって正式に 文 書 化 さ れて いま
せん。 ただし、 この XML をバイナリからクリアテキストファイルに変換するために設計された複数のツール
( AXMLPrinter2.jar など 62) が存在しています。 このファイルを復号化したら、 ファイルを分析して、 アプリケー
ションのパーミッションが、 必要とされるパーミッション (アプリケーションの最初の目的に応じて異なります) と
一致するかどうかを確認することが重要です。たとえば、SMS メッセージ送信のパーミッションはゲームアプリケー
ションの既知の機能とは関係ないため、通常 Android ゲームはこのパーミッションを要求しません。 マニフェスト
のもう 1 つの重要な要素は、アプリケーションコンポーネントが定義されているセクションです。 通常は、アプリケー
ションが完全に悪質でなければ、 マニフェストに定義されているアクティビティ (グラフィカルインターフェイスを
示す) は、 元のクリーンなアプリケーションのマニフェストと一致します。 しかし、 今日のマルウェアの大半はマニ
フェストを改ざんし、 ユーザーに気付かれずにバックグランドで実行する悪質なサービスを追加します。
AndroidManifest.xml を分析し、 パーミッション、 コンポーネント、 およびアプリケーションのエントリーポイント
を特定したら、 次に classes.dex ファイルを分析します。 このファイルは、 dex ファイルの逆コンパイルおよび、
または逆アセンブリという 2 つの異なる (相補的な) 手法を使用して分析できます。 逆コンパイルでは、 コンパ
イラの逆の操作を実行して実行可能プログラム (Dex Bytecode) を元のソースコード( Java) に変換します。
まず、 dex ファイルを Java Archive( JAR) に変換します。 この処理は、 Dex2Jar を使用して実行できます 63。
JAR ファイルを取得したら、 Java 逆コンパイラ( JD-GUI64 など) を使用してアプリケーションの元のソースコード
に近い結果を取得することができます。 ただし、 多くのリバースエンジニアリングツールと同様に、 Dex2Jar は
完璧ではありません。 取得できる Java コードが元のソースコードと全く同じではないこと、 逆コンパイラの出力
が完全なロジックにならず、 逆アセンブルされたコードが人間に理解可能な Java コードに完全に復元されない
場合があることに留意してください。 現時点では、 Dex2Jar ツールおよび逆コンパイラによってリバースできない
コードの分析には、 逆アセンブリツールが有効です。
Android には、 dexdump と呼ばれるネイティブな逆アセンブラがあります。 この逆アセンブラは (デスクトップ
コンピューターに SDK をインストールした後) 「Android/platformtools」 フォルダーに格納されます。 ただし
このツールでは、コードは完全にダンプされず、一部の命令は完全に逆アセンブルされないため、ユーザーにとっ
て非常に分かりづらい出力が生成されます 65。 この他にも、 dedexer( Jasmin 構文 66 と Dalvik Opcodes67
を使用)、 baskmali68 など、 より理解しやすい出力を生成する無償ツールも開発されています。 これらの無償
ツールに加えて、 有名な逆アセンブラ兼デバッガである IDA Pro の最新バージョンでも Android バイトコード
(Dalvik) の逆アセンブルがサポートされていますが、 この機能を提供するのはこのソフトウェアの高度なエディ
ションのみです 69。 上記のいずれかのツールで出力を生成したら、 このコードの目的を理解するために、 Java
および Dalvik バイトコードの基本を理解する必要があります。 リバースエンジニアリングプロセスに関しては、
Dalvik の作者である Dan Nornstein 氏の個人的な Web ページ 70 に掲載されている Dalvik 仮想マシンに関
する最新文書を一読することを推奨します。
Android マルウェアの過去、 現在、 そして未来
11
モバイルマルウェアの進化
過去 : Fake Player
2010 年 8 月、 ユーザーの許可なしに有料サービス番号に SMS メッセージを送信する偽のメディアプレイヤー
アプリケーションとして機能する、 初の Android トロイの木馬が実環境で発見されました。 このファイルを開き、
コンテンツを抽出すると (このケースでは 7-zip を使用)、 「res/drawable」 フォルダーに Windows Media
Player で使用されるアイコンに似たアプリケーションアイコンが作成されます。
図 2. 偽の Windows Media Player アイコン
静的な分析を実行するには、 META-INF フォルダーおよびリソースファイルとともに 2 つのファイルを変換する
必要があります。 1 つ目のファイルは AndroidManifest.xml で、 Virus Total に apk を送信することによって
分析することができます。 この XML の基本的な分析では、 このツールを使用します。 または、 AXMLPrinter2
ツールを使用してこの XML をバイナリ形式からクリアテキストに変換する( JRE をインストールし、 java –jar
AXMLPrinter2.jar AndroidManifest.xml Manifest.txt を実行します) 方法もあります。 デコードされた
XML は、 このアプリケーションによって要求されたパーミッションのみを示します。
図 3. デコードされた AndroidManifest.xml
SMS を送信するためにユーザーに要求したパーミッションに加え、 このアプリケーションは Movie Player と
呼ばれるアクティビティを 1 つだけ持ちます。 このアクティビティにアクセスするために、 Java 逆コンパイラを使用
して classes.dex を分析できますが、 その前に dex2jar ツールを使用してこのファイルを jar ファイルに変換する
(dex2jar.bat ファイルを Windows で実行するか、 dex2jar-dump.sh を Linux で実行する) 必要があります。
結果として生成される .jar ファイルを Java 逆コンパイラ (このケースでは JD-GUI) で開くと、 アプリケーション
の構造が表示されます。
図 4. 偽の Windows Media Player 構造
マニフェストによると、実行されるアクティビティは MoviePlayer クラスで、このアクティビティの最初のアクションは
DataHelper の作成と canwe メソッドの確認です。
12
Android マルウェアの過去、 現在、 そして未来
図 5. localDataHelper.canwe メソッドの確認
「localDataHelper」 オブジェクトが作成されると、 コンストラクタメソッドが別のオブジェクト (OpenHelper) を
開くとともに、 既存のデータベース 「table1」 に値 「was」 を挿入する SQL 文を準備します。
図 6. DataHelper コンストラクターが SQLite データベースに 「was」 を挿入する SQL 文を準備
DataHelper クラスの内部には、 OpenHelper と呼ばれる組み込みクラスがあります。 このクラスは、 フィール
ドを 1 つだけ持つ (was) SQLite データベース movieplayer.db を作成します。
図 7. 偽の Windows Media Player が SQLite データベースを作成
Android マルウェアの過去、 現在、 そして未来
13
データベースが作成され、 SQL 文がコンパイルされると、 canwe メソッドが実行されます。
図 8. Canwe メソッド
しかし、JD-GUI に表示されたコードには、すでに( ; によって) クローズされた 「if」 や、意味をなさない 「for」 と
「return」 など、普通とは異なる命令が含まれています。 これはおそらく、Java 逆コンパイラツールによってコード
が正しく解釈されず、 正しい命令を表示できないためです。 したがって、 Android マルウェアの静的な分析を
実行する際は、 元のソースコードを正確に表現する可能性を高めるために、 複数の Java 逆コンパイラを使用
することが重要です。 このケースでは DJ Java 逆コンパイラ 71 が使用され、 canwe メソッドの内容が分かりやす
くなりました。
図 9. DJ Java 逆コンパイラによる canwe メソッド
14
Android マルウェアの過去、 現在、 そして未来
SQLite データベースが作成および起動され、 canwe メソッドが true を返した場合、 このアプリケーションは
ロシア語でテキスト (「Wait, requesting access to the video library ...」) を表示し、 番号 「3353」 への
SMS 送信を試みます。
図 10. テキストメッセージを表示し、 有料サービス番号に SMS を送信
その後、 番号 3354 にも同じことを試みます。 最終的には datahelper.was() メソッドが呼び出され、 それと
ともに最初に用意された SQL 文が実行され、 データベースに 「was」 が挿入されます。 この値は、 ユーザーが
このアプリケーションを開くたびにペイロードが実行されないようにするためのものです。 canwe メソッドはデータ
ベース「movieplayer.db」に「was」が存在するかどうかを確認するため、SMS メッセージの送信は 1 回のみです。
最後の HelloWorld クラスは MoviePlayer に非常に似ていますが、DataHelper クラスを作成および使用せず、
テキストを表示し、 SMS を送信するだけです。
図 11. DataHelper を使用しない HelloWorld クラス
HelloWorld と Movie Player が同一の機能を持つことを考えると、マニフェストのメインアクティビティを変更する
だけでアプリケーションのロジックを修正し、 (他の一般的な検知に影響を与えずに) ファイルの整合性に基づい
たウイルス対策検知を削減できる場合があります。FakePlayer は特定の目的を持つ非常にシンプルなマルウェア
です。 おそらく 「HelloWorld」 クラスは、アプリケーションが初めて実行されたかどうかを確認するためにアプリ
ケーションを追跡する一部の機能と初歩的なメソッドのテストを目的に使用されたと考えられます。 しかし、 現在
のマルウェアはこのサンプルよりも高度化しています。 次の Plankton の例は、 最近の Android の悪質コード
がいかに複雑化しているかを示しています。
Android マルウェアの過去、 現在、 そして未来
15
現在
6 月 6 日、 ノース カ ロ ラ イナ 州立 大 学 の 研 究 者グル ープ は、 新 し いステルス 型 Android ス パ イウェア、
Plankton を発見しました 72。 このチームが、 感染している 10 のアプリケーションが公式 Android マーケット
で公開されていることを Google に通知すると、 これらのアプリケーションは同じ日に調査のために使用が停止
されました。 このファイルを開き、 コンテンツを抽出すると (このケースでは 7-zip を使用)、 「res/drawable」
フォルダーに最近の映画 「Rio」 に関連するアプリケーションアイコンが作成されます。
図 12. アプリケーションのアイコン
Fake Player と同様に、 AXMLPrinter2 ツールを使用して XML をバイナリ形式からクリアテキストに変換します
( JRE をインストールし、 java –jar AXMLPrinter2.jar AndroidManifest.xml Manifest.txt を実行します)。
デコードされた XML は、 このアプリケーションが、 1 つのアクティビティとバックグランドで実行されて動作する
1 つのサービスで構成されていることを示しています。
図 13. マニフェストのアクティビティとサービス
アクティビティ名は AngryBirdsRiounlocker で、 ユーザーが対話できるグラフィカルインターフェイスを持つ、
このアプリケーションの構成要素です。 このアプリケーションのもう 1 つのコンポーネントは、 バックグランドで
動作する AndroidMDKProvider サービスです。 マニフェストには、 コンポーネントの宣言に加え、 アプリケー
ションが必要とする一般的なパーミッションが指定されています。
図 14. マニフェストの一般的なパーミッション
16
Android マルウェアの過去、 現在、 そして未来
これを見ると、 このマルウェアが当初スパイウェアと分類された理由は明らかです。 このアプリケーションは
インターネットおよび Wi-Fi state へのアクセスに加え、 連絡先のリスト、 通話履歴、 ブックマーク履歴への
アクセスを必要とします。 これらは、 おそらく後でリモートサーバーに送信されると思われます。 さらに興味
深いのは、 Plankton が、 大半のデバイスとの互換性を維持するために、 現在の主要なもの (デフォルトは
Motorola、 HTC、 LG) を含む Home Screen Launcher のショートカットのインストール / アンインストール、
および読み取り / 変更パーミッションを必要とする点です。
図 15. マニフェストの具体的なパーミッション
この疑わしいサービスの機能を確認するために、 Java 逆コンパイラを使用して classes.dex を分析できますが、
その前に dex2jar ツールを使用してこのファイルを jar ファイルに変換する (dex2jar.bat ファイルを Windows
で実行するか、dex2jar-dump.sh を Linux で実行する) 必要があります。 結果として生成される .jar ファイルを
Java 逆コンパイラ (このケースでは JD-GUI) で開くと、アプリケーションの構造が表示されます。 一見したところ
では、 Android の最初の SMS トロイの木馬よりもクラスとパッケージの数が多いため、 Fake Player よりも
複雑であるように思われます。
図 16. Plankton の構造
Android マルウェアの過去、 現在、 そして未来
17
構造の最下部には、 Plankton によって、 以下のオープンソースプロジェクトをベースとしていると思われる 2 つ
のパッケージがライブラリーとして実装されています。
• Jackson — ( XML の代替として) ネットワーク接続を介して構造化データをシリアル化および転送するため
に使用される JSON( JavaScript Object Notation) プロセッサのハイパフォーマンスな Java 実装
• Springframework — Android アプリケーションの開発を簡易化する複数のサービスを提供する、 Java
プラットフォーム向けのアプリケーションフレームワーク
common パッケージについては、 内部に複数のコンポーネントが存在しています。 各コンポーネント内のコード
に基づくと、 このパッケージは、 アダプタ、 データ転送オブジェクト (DTO)、 ファサードなどの有名な Java 設計
パターンの実装で構成されているようです。 DTO パッケージは、 ユーザーの閲覧履歴、 ブラウザーのブック
マーク( Web ページのタイトル、 関連ショートカット、 URL)、 ホームスクリーンのショートカット、 実行時ログ
情報のようなメモリー情報の収集、 処理、 保管に必要な構造を実装します。 またこのパッケージは、 (実環境
で見られるほかのマルウェアのように) デバイス自体に関する情報も収集できます。
図 17. 感染デバイスに関するオブジェクト情報を保管する Plankton
このアプリケーションは、 リモートからデバイス上で実行可能な複数のコマンドも実装しています。
図 18. Plankton に実装されているコマンド
18
Android マルウェアの過去、 現在、 そして未来
これらのいずれかのコマンドが感染デバイスに送信されると、 アプリケーションはリスンし、 要求されたアクション
を実行するために必要なメソッドを呼び出します。 たとえば、 コマンド / ダンプログを受信すると、 次のコードが
実行されます。
図 19. システム内でのコマンドのリモート実行例
マニフェストに指定されているアクティビティに戻ります。 このアプリケーションが実行されるとすぐに、 アプリケー
ション、 開発者 ID、 M_SERVER_URL (マスターサーバー URL) などの、 感染したアプリケーションに関する
初期情報が収集されます。以下は、startService メソッドを呼び出すことにより AndroidMDKProvider サービス
を開始するアクションです。
図 20. バックグラウンドでの悪質なサービスの起動
Android マルウェアの過去、 現在、 そして未来
19
重要なのは、 3 つの値すべてが IgetResources() メソッドを呼び出すアプリケーションのリソースから取得され
ていることです。 解凍された apk の内部には、「resources.arsc」と呼ばれるファイルがあります。 このファイルは、
アプリケーションのリソースに関するすべての情報を表に保管し、 ID を使用して各リソースを識別します。 通常、
このファイルには有益な情報は含まれていません。 ただしこのケースでは、 テキストエディターでファイルを開くと、
興味深い文字列を見つけることができます。
図 21. resources.arsc 内のマスターサーバー URL
アプリケーションフローに戻ります。 AndroidMDKProvided サービスへの onStart の実装では、 コードが
難読化されているため、この時点では分析が非常に困難になります。 文字
( A ~ E)を名前に持つ空のパッケージ
と抽象インターフェイスが作成されているため、 静的な分析は複雑になります。
図 22. コードの難読化の例
20
Android マルウェアの過去、 現在、 そして未来
コードの詳細な分析後、 興味深いクラスが見つかりました。 このクラスには、 HTTP POST 応答を開始して個人
データをリモートのサーバーに送信する複数のメソッドが実装されています。
図 23. リモートのサーバーに個人情報を送信する HTTP POST 要求の準備
これまでのところ、 このアプリケーションには 1 つのアクティビティが含まれており、 このアクティビティは apk 内
の resources.arsc ファイルから複数の値(マスターサーバー URL を含む)を取得した後にサービスを開始します。
このサービスはバックグラウンドで実行され、 たとえばリモートサーバーに送信する個人データ (ブックマーク、
ブラウザー閲覧履歴など) の収集のようなアクションをトリガーするコマンドをリスンします。 しかし、 Plankton
を公式 Android マーケットで発見した研究チームが行った初期の技術分析によると、 このマルウェアの最も
興味深い特徴は、 「Plankton は、 我々の知る限り、 Dalvik クラスのロード機能を悪用して隠匿を続け、 動的
に機能を拡張する初のマルウェア」 である点です 72。 実際、 この研究チームによって分析されたサンプルには、
Angry Birds Unlocker サンプルには存在しない追加の機能が含まれています。
• アプリケーションが HTTP POST メッセージを送信すると、 リモートサーバーから Dalvik コードを含む jar
ファイルを指す URL が返されます。 このペイロードが動的にロードされ、 ウイルス対策ソフトウェアによる
Plankton の検知が困難になります。
• ノースカロライナイ州立大学の研究チームが実施した分析によると、 リモートから呼び出し可能なコマンド
は、 ペイロード plankton_v0.0.4.jar で定義されています。 一方、 Angry Birds Unlocker のサンプルの
コマンドは、 com. plankton.dto.Command クラスのコード自体の内部に定義されています。 したがって、
これらのコマンドは動的にロードされたものではありません。 またこのサンプルには、 「UPGRADE」 および
「INSTALLATION」 コマンドは含まれていません。
Android マルウェアの過去、 現在、 そして未来
21
この機能は別のサンプルである 「Can you drive」 アプリケーションにも見られますが、 他の相違点があります。
• Angry Birds Unlocker サンプルと異なり、 マスターサーバーの URL は resources.arsc ファイルからは取
得されません。 この URL は、 ソースコードにハードコーディングされています。
図 24. ソースコード内に存在する URL
• 「Can you drive」 サンプルには、 リモートサーバーからダウンロードされたペイロードを動的にロードする
機能が含まれています。
最後のポイントは、 Plankton の最も革新的な特徴です。 どのようなペイロードも、 デバイスの管理者特権を
奪取するゼロデイエクスプロイトでさえも、 ロードすることができるのです。 これは、 公式 Android API で利用
できる標準の DexClassLoader を通じて実現が可能です。
図 25. DexClassLoader を使用したペイロードのロード
Plankton は非常に高度なマルウェアで、 デバイスから個人情報を収集し、 リモートサーバーに送信することを
主な目的とするため、 スパイウェアと分類できると結論付けられます。 一部のバージョンの Plankton には、
実行時に動的にロード可能なペイロードをダウンロードする機能が含まれているため、 リアルタイムで新しい機能
を追加し、検知を困難にし、従来の静的なシグネチャーを回避することができます。 最新の Android マルウェア
の説明が終了したところで、 次はこのタイプの脅威の今後の動向を見てみましょう。
22
Android マルウェアの過去、 現在、 そして未来
未来
Android マルウェアは、 許可を得ずにユーザーが知らないうちに有料サービスに SMS を送信するシンプルな
トロイの木馬から、 正当なアプリケーションへの感染、 対称鍵暗号化( AES) を使用したデータ暗号化、 公式
Android マーケットを介した伝播、 2 つの異なるエクスプロイトを使用したデバイスのルート権限奪取、 リモート
コマンドの受信と実行、 ユーザーに気付かれずにアプリケーションをインストールするダウンローダー、 そして
リモートサーバーからの動的なペイロードのロード機能を備えた高度なコードにまで進化しました。
実環境で発見されているマルウェア群は、 いずれも自己複製機能を持たない (ユーザーのアクションを必要と
する) ことから、 最近では Android マルウェアの例はすべてトロイの木馬として分類されています。 Android
デバイスの大半が常時ネットワーク接続していることを考慮すると、このマルウェアは次の進化の段階で、システム
のゼロデイ脆弱性をリモートから悪用してペイロードをロードし、 インターネット内の他の脆弱なデバイスを探し
始める Android ワームとなることが予想されます。
ワーム機能の他に考えられるもう 1 つの進化の段階は、 Android ルートキットです。 従来のコンピューターに
おけるこの種類の脅威は、 その存在を隠匿しながら、 継続的な特権アクセスを可能にします。 (1) 最近一部の
マルウェアがデバイスのルート権限を得られること、 (2) カーネルレベルの Android ルートキットの概念実証が
すでに行われていることを考えると、 この特性を持つ悪質なコードは実現まであと一歩のところまで来ています。
Android ルートキットは、 隠匿機能を備えるほか、 特にカーネルモードのルートキットの場合には、 オペレー
ティングシステムのコアに直接コードを追加したり、 リプレースしたりするため、 排除が困難になるでしょう。 また、
将来的にファームウェアルートキットが開発され、 ハードウェアデバイスに永続的なマルウェアイメージを作成する
可能性もあります。
そして、 従来の検出方式を回避するために、 ポリモーフィック型およびメタモーフィック型 Android マルウェアが
出現することも考えられます。 これらの機能は、 暗号化や追加 / プリペンドデータを使用してマルウェアの各
インスタンスの形態を変化させることを目的とします。ポリモーフィックは DroidKungFu で採用されている手法で、
AES を使用して 2 つのエクスプロイトを暗号化し、 その後これらを起動してデバイスのルート特権を奪取します。
さらに高度なメカニズム (メタモーフィック型) になると、 マルウェアが起動するたびに、 自動的にコードが変更さ
れます。 どちらの機能も、 このタイプの脅威の検知と駆除をさらに複雑化させるでしょう。
Android マルウェアの過去、 現在、 そして未来
23
結論
スマートフォンは生活必需品になりつつあります。 優れた携帯性を備え、 ほぼ常時のインターネットアクセスを
可能にするスマートフォンは、 従来のコンピューターの代わりに使用されはじめています。 そのため、 このタイプ
のデバイスの人気は日に日に高まっています。 それと同時に Android が大きな注目を浴び、 その人気は年を追
うごとに飛躍的に高まっています。 スマートフォンが人気を博し、 幅広く普及したことを受け、 マルウェアの作者は
このプラットフォーム向けの新しい脅威の開発に着手しています。そしてその脅威は、信頼できるソースであるはず
の公式 Android マーケットを通じて幅広く配布されているのです。
Android マルウェアは、 この重要な感染媒体を得ただけでなく、 急速な進化を遂げています。 SMS トロイの
木馬から、 悪質なコードとともに再パッケージ化された正当なアプリケーション、 AES 暗号化を使用したルート
の悪用、 リモートサーバーからダウンロードしたペイロードの動的なロード機能まで、 悪質なコードは長年従来
のマルウェアで使用されてきた様々な手法を駆使することにより、 さらに高度な機能を装備するとともに検知を逃
れるために絶えず変化しています。 Android マルウェアは、 新しい感染媒体、 機能、 ステルス技法を追加して
その存在を隠匿し、 ウイルス対策ソフトウェアによる検知を回避しながら、 今後も進化を続けていくでしょう。
謝辞
調査段階でご協力いただいた Michael Price 氏、およびこのホワイトペーパーの最後のセクションに貴重なフィー
ドバックをくださった Rohit Varma 氏に感謝の意を表します。 また、 この文書の最終見直しで貴重なご意見を
くださいました Gabriel Acevedo 氏と Guilherme Venere 氏にも御礼を申し上げます。
24
Android マルウェアの過去、 現在、 そして未来
1. About.com. Inventors. About.com. [ オンライン ] http://inventors.about.com/cs/inventorsalphabet/a/martin_
cooper.htm.
2. Gartner. 「Gartner Says Worldwide Mobile Device Sales to End Users Reached 1.6 Billion Units in 2010;
Smartphone Sales Grew 72 Percent in 2010.」 Gartner Inc. [ オンライン ] 2011 年 2 月 9 日 . http://www.gartner.com/
it/page.jsp?id=1543014.
3. Google. Google. Nexus S. [ オンライン ] 2010 年 12 月 6 日 http://www.google.com/phone/detail/nexus-s.
4. BBC. BBC. 「Mobiles hope to be ‘smart wallet’」 [ オンライン ] 2006 年 11 月 21 日 http://news.bbc.co.uk/2/hi/
technology/6168222.stm.
5. Gartner, Inc. 「Gartner Says Worldwide Media Tablet Sales on Pace to Reach 19.5 Million Units in 2010.」 Gartner
Inc. [ オンライン ] 2010 年 10 月 15 日 http://www.gartner.com/it/page.jsp?id=1452614.
6. Canalys. 「Google’ s Android becomes the world’ s leading smart phone platform.」 Canalys Corp.
[ オンライン ] 2011 年 1 月 31 日 http://www.canalys.com/pr/2011/r2011013.html.
7. Rubin, Andy.@Arubin. Twitter. [ オンライン ] 2010 年 10 月 19 日 https://twitter.com/arubin/status/27808662429.
8. Hypponen, Mikko. Android. F-Secure Blog.[ オンライン ] 2007 年 11 月 6 日 http://www.f-secure.com/weblog/
archives/00001311.html.
9. Morill, Dan.Android Developers.Android[ オンライン ] 2008 年 9 月 23 日 http://android-developers.blogspot.
com/2008/09/announcing-android-10-sdk-release-1.html.
10. Development、 「OPT.T-Mobile G1 Hits the UK.」 [ オンライン ] 2008 年 10 月 30 日 http://www.opt-development.
co.uk/press-office/admin/media-releasefiles/242/G1_London_launch.pdf.
11. Blitz. Kafan. [Viruses] 「Blitz Force released the world’ s first mixed-attack system Android.」 [ オンライン ] 2008 年
9 月 10 日 http://bbs.kafan.cn/thread-325655-1-1.html.
12. McAfee.Android_CallAccepter.A. McAfee. [ オンライン ] 2009 年 1 月 13 日 http://www.mcafee.com/threatintelligence/malware/default.aspx?id=269032.
13. —. Android/Radiocutter.A. [ オンライン ] 2009 年 1 月 13 日 http://www.mcafee.com/threat-intelligence/malware/
default.aspx?id=269033.
14. —. Android/SilentMutter.A. [ オンライン ] 2009 年 1 月 13 日 http://www.mcafee.com/threat-intelligence/malware/
default.aspx?id=269034.
15. —. Android/StiffWeather.A. [ オンライン ] 2009 年 4 月 25 日 http://www.mcafee.com/threat-intelligence/malware/
default.aspx?id=269036.
16. SEO Press Release.「Android Mobile Spy Released to Silently Monitor GPS Locations, SMS Messages and Calls.」[ オ
ンライン ] 2009 年 11 月 6 日 http://www.seopressreleases.com/android-mobile-spy-released-silently-monitor-gpslocations-sms-messages-calls/5080.
17. Retina-X Studios. 「Android Mobile Spy Software.」 [ オンライン ] http://www.mobile-spy.com/android.html.
18. Vennon, Troy. 「Android Malware:A Study of Known and Potential Malware Threats.」 [ オンライン ] 2010 年 2 月
24 日 http://globalthreatcenter.com/wp-content/uploads/2010/03/Android-Malware-Whitepaper.pdf.
19. Travis Credit Union. 「Phishing scam targeting.」 [ オンライン ] 2010 年 1 月 12 日 https://www.traviscu.org/news.asp
x?blogmonth=12&blogyear=2009&blogid=112.
20. F-Secure. 「Warning On Possible Android Mobile Trojans.」 [ オンライン ] 2010 年 1 月 11 日 http://www.f-secure.
com/weblog/archives/00001852.html.
21. Cluley, Graham. 「Banking malware found on Android Marketplace.」 [ オンライン ] 2010 年 1 月 11 日 http://
nakedsecurity.sophos.com/2010/01/11/banking-malware-android-marketplace/.
22. Papathanasiou, Christian and Percoco, Nicholas J. DEF CON.[ オンライン ] 2010 年 6 月 21 日 https://www.defcon.
org/images/defcon-18/dc-18-presentations/Trustwave-Spiderlabs/DEFCON-18-Trustwave-Spiderlabs-AndroidRootkit-WP.pdf.
23. Maslennikov, Dennis. 「First SMS Trojan for Android.」 [ オンライン ] Kaspersky, 2010 年 8 月 10 日 http://www.
securelist.com/en/blog/2254/First_SMS_Trojan_for_Android.
24. Dunham, Ken. 「Chapter 5:Taxonomy of Mobile Malware.」 Mobile Malware Attacks and Defense. s.l. :Syngress,
2009 年
25. Symantec. AndroidOS. 「Tapsnake:Watching Your Every Move.」 [ オンライン ] 2010 年 8 月 16 日 http://www.
Android マルウェアの過去、 現在、 そして未来
25
symantec.com/connect/blogs/androidostapsnake-watching-your-every-move.
26. Hypponen, Mikko. 「Angry Birds Trojan.」 [ オンライン ] 2010 年 11 月 13 日 http://www.f-secure.com/weblog/
archives/00002063.html.
27. Apvrille, Axelle. 「Hidden feature in Android spyware.」 [ オンライン ] 2010 年 11 月 12 日 https://blog.fortinet.com/
hidden-feature-in-androidspyware/.
28. Wyatt, Tim. 「Security Alert:Geinimi, Sophisticated New Android Trojan Found in Wild.」 [ オンライン ] 2010 年
12 月 https://blog.mylookout.com/2010/12/geinimi_trojan/.
29. —. 「Geinimi Trojan Technical Analysis.」 [ オンライン ] 2011 年 1 月 http://blog.mylookout.com/2011/01/geinimitrojan-technical-analysis/.
30. Asrar, Irfan. 「The‘ Mobile’ Little Shop of Horrors.」 [ オンライン ] 2011 年 1 月 5 日 http://www.symantec.com/
connect/blogs/mobile-little-shophorrors.
31. Security Week. 「Multiple Variants of Android Malware‘ Hong Tou Tou’ Surface in China.」 [ オンライン ] 2011 年
2 月 22 日 https://www.securityweek.com/multiple-variants-android-virus-hong-tou-tou-surface-china.
32. Aegis Lab. 「Security Alert 2011-02-14:New Android Trojan ‘ADRD’ Was Found in the Wild by Aegislab.」
[ オンライン ] 2011 年 2 月 14 日 http://blog.aegislab.com/index.php?op=ViewArticle&articleId=75&blogId=1.
33. Ballano, Mario. 「Android Threats Getting Steamy.」 [ オンライン ] 2011 年 2 月 28 日 http://www.symantec.com/
connect/blogs/android-threatsgetting-steamy.
34. Aegis Lab. 「Security Alert 2011-03-04:Yet Another Repackaged Trojan‘ Fake10086’ Leaks User Privacy.」
[ オンライン ] 2011 年 3 月 4 日 http://blog.aegislab.com/index.php?op=ViewArticle&articleId=81&blogId=1.
35. Symantec. 「Android.Geinimi Branching Out to Japanese Applications.」 [ オンライン ] 2011 年 2 月 24 日 http://
www.symantec.com/connect/blogs/androidgeinimi-branching-out-japanese-applications.
36. Lookout. 「Update:Security Alert:DroidDream Malware Found in Official Android Market.」 [ オンライン ] 2011
年 3 月 1 日 https://blog.mylookout.com/2011/03/security-alert-malware-found-in-official-android-marketdroiddream/.
37. Lompolo. 「Someone just ripped off 21 popular free apps from the market, injected root exploits into them and
republished.」 4 日間での合計ダウンロード数 50000 ~ 200000。 [ オンライン ] 2011 年 3 月 1 日 http://www.reddit.com/
r/netsec/comments/fvhdw/someone_just_ripped_off_21_popular_free_apps_from/.
38. Gingrich, Aaron. 「The Mother Of All Android Malware Has Arrived:Stolen Apps Released To The Market That
Root Your Phone, Steal Your Data, And Open Backdoor.」 [ オンライン ] 2011 年 3 月 1 日 http://www.androidpolice.
com/2011/03/01/the-mother-of-all-android-malware-hasarrived-stolen-apps-released-to-the-market-that-rootyour-phone-steal-your-data-and-open-backdoor/.
39. Google. 「An Update on Android Market Security.」 [ オンライン ] 2011 年 3 月 5 日 http://googlemobile.blogspot.
com/2011/03/update-on-androidmarket-security.html.
40. Ballano, Mario. 「Android.Bgserv Found on Fake Google Security Patch.」 [ オンライン ] 2011 年 3 月 9 日 http://
www.symantec.com/connect/ko/blogs/androidbgserv-found-fake-google-security-patch.
41. Aegis Lab.「Security Alert 2011-03-04:Yet Another Repackaged Trojan‘ Fake10086’ Leaks User Privacy.」[ オンライン]
2011 年 3 月 4 日 http://blog.aegislab.com/index.php?op=ViewArticle&articleId=81&blogId=1.
42. Apvrille, Axelle. 「How Android/Fake10086 selectively blocks SMS–step by step.」 [ オンライン ] 2011 年 3 月 11 日 .
http://blog.fortinet.com/howandroidfake10086-selectively-blocks-sms-step-by-step/.
43. sgq116300. mms bg for auto send msg and auto dial.[ オンライン ] http://code.google.com/p/mmsbg/.
44. Asrar, Irfan. 「Android Threat Tackles Piracy Using Austere Justice Measures.」 [ オンライン ] 2011 年 3 月 31 日
http://www.symantec.com/connect/blogs/android-threat-tackles-piracy-using-austere-justice-measures.
45. AegisLab, Zsone. 「Security Alert 11.05.11:New SMS Trojan ‘zsone’ was Took Away from Google Market.」
[ オンライン ] 2011 年 5 月 11 日 http://blog.aegislab.com/index.php?op=ViewArticle&articleId=112&blogId=1.
46. Strazzare, Time. 「Security Alert:Zsone Trojan found in Android Market.」 [ オンライン ] 2011 年 5 月 11 日 http://
blog.mylookout.com/2011/05/security-alert-zsone-trojan-found-in-android-market/.
47. Asrar, Irfan. 「Android Threat Set to Trigger On the End of Days, or the Day’ s End.」 [ オンライン ] 2011 年 5 月 25
日 http://www.symantec.com/connect/blogs/android-threat-set-trigger-end-days-or-day-s-end.
48. Apvrille, Axelle. 「Android.Smspacem under the microscope.」 [ オンライン ] 2011 年 5 月 30 日 http://blog.fortinet.
com/android-smspacem-under-themicroscope/.
26
Android マルウェアの過去、 現在、 そして未来
49. Wyatt, Tim. 「Update:Security Alert:DroidDreamLight, New Malware from the Developers of DroidDream.」
[ オンライン ] 2011 年 5 月 30 日 http://blog.mylookout.com/2011/05/security-alert-droiddreamlight-new-malwarefrom-the-developers-of-droiddream/.
50. AVG Mobilation. 「Malware information:DroidDreamLight.」 [ オンライン ] 2011 年 5 月 30 日 http://www.
avgmobilation.com/securitypost_20110601.html#tabs-2.
51. NetQin. 「Security Alert:Fee-Deduction Malware on Android Devices Spotted in the Wild.」 [ オンライン ] 2011 年
5 月 30 日 http://www.prnewswire.com/news-releases/security-alert-fee-deduction-malware-on-android-devicesspotted-in-the-wild-122822179.html.
52. AVG Mobilation. 「Malware information:BaseBridge.」 [ オンライン ] 2011 年 5 月 23 日 http://www.avgmobilation.
com/securitypost_20110605.html#tabs-2.
53. Jiang, Xuxian. 「Security Alert:New Sophisticated Android Malware DroidKungFu Found in Alternative Chinese
App Markets.」 [ オンライン ] 2011 年 5 月 31 日 http://www.cs.ncsu.edu/faculty/jiang/DroidKungFu.html.
54. Apvrille, Axelle. 「Android/DroidKungFu uses AES encryption.」 [ オンライン ] 2011 年 6 月 9 日 http://blog.fortinet.
com/androiddroidkungfu-usesaes-encryption/.
55. Android. 「Android Developers.」 [ オンライン ] http://developer.android.com.
56. SQLite. SQLite. [Online] http://www.sqlite.org/.
57. Case, Justin.[ 更新 ] 「Exclusive:Vulnerability In Skype For Android Is Exposing Your Name, Phone Number, Chat
Logs, And A Lot More.」 [ オンライン ] 2011 年 4 月 14 日 http://www.androidpolice.com/2011/04/14/exclusivevulnerability-in-skype-for-android-is-exposing-your-namephone-number-chat-logs-and-a-lot-more/.
58. Asher, Adrian. 「Privacy vulnerability in Skype for Android fixed.」 [ オンライン ] 2011 年 4 月 20 日 http://blogs.
skype.com/security/2011/04/privacy_vulnerability_in_skype_1.html.
59. Ehringer, David. 「THE DALVIK VIRTUAL MACHINE ARCHITECTURE.」 [ オンライン ] 2010 年 3 月 http://
davidehringer.com/software/android/The_Dalvik_Virtual_Machine.pdf.
60. Machine, Dalvik Virtual.Dalvik Virtual Machine.[ オンライン ] http://www.dalvikvm.com.
61. 「Guide, Android Developers--Dev.Application Fundamentals.」 [ オンライン ] http://developer.android.com/guide/
topics/fundamentals.html.
62. android4me. 「J2ME port of Google’ s Android.」 [ オンライン ] 2008 年 10 月 9 日 http://code.google.com/p/
android4me/downloads/detail?name=AXMLPrinter2.jar&can=2&q=.
63. dex2jar. 「A tool for converting Android’ s .dex format to Java’ s .class format.」 [ オンライン ] http://code.google.
com/p/dex2jar/.
64. Decompiler, Java. 「Yet another fast java decompiler.」 [ オンライン ] http://java.decompiler.free.fr/.
65. Gabor, Paller. 「MY LIFE WITH ANDROID :-).」 [ オンライン ] 2009 年 1 月 9 日 http://mylifewithandroid.blogspot.
com/2009/01/disassembling-dexfiles.html.
66. Meyer, Jonathan and Reynaud, Daniel.JASMIN HOME PAGE.[ オンライン ] 2004 年 http://jasmin.sourceforge.net/.
67. Paller, Gabor. 「Dalvik opcodes.」 [ オンライン ] http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html.
68. smali. 「An assembler/disassembler for Android’ s dex format.」 [ オンライン ] http://code.google.com/p/smali/.
69. HEX-RAYS. 「IDA Pro 6.1 feature list.」 [ オンライン ] http://www.hex-rays.com/idapro/61/index.html.
70. Bornstein, Dan. 「Dalvik Docs Mirror.」 [ オンライン ] http://www.milk.com/kodebase/dalvik-docs-mirror/.
71. http://www.neshkov.com/djdec312.zip
72. Jiang, Xuxian. 「Security Alert:New Stealthy Android Spyware—Plankton—Found in Official Android Market.」
[ オンライン ] 2011 年 6 月 6 日
http://www.csc.ncsu.edu/faculty/jiang/Plankton/.
Android マルウェアの過去、 現在、 そして未来
27
マカフィーについて
マカフィー、 インテル ・ コーポレーション (NASDAQ:INTC) の完全子会社であり、 セキュリティ ・ テクノロジー専
業のリーディングカンパニーです。 世界中で使用されているシステム、 ネットワーク、 モバイルデバイスの安全を
実現する革新的なソリューションとサービスを提供し、 ユーザーのインターネットへの安全な接続、 Web の閲覧
およびオンライン取引の安全を確実に支えています。 マカフィーは、 他の追随を許さないクラウドベースのセキュ
リティ技術基盤 Global Threat Intelligence ™ (グローバル スレット インテリジェンス) を活用して、 革新的な
製品を送り出しています。 個人ユーザーをはじめ、 企業、 官公庁 ・ 自治体、 ISP など様々なユーザーは、 コン
プライアンスの確保、 データの保全、 破壊活動の阻止、 脆弱性の把握を実現し、 またセキュリティレベルを絶
えず管理し、 改善することができます。 詳しくは http://www.mcafee.com/jp をご覧ください。
マカフィー株式会社
●製品、サービスに関するお問い合わせは下記へ
www.mcafee.com/jp
東 京 本 社
〒150-0043 東京都渋谷区道玄坂1-12-1 渋谷マークシティウエスト20F
TEL:03-5428-1100(代) FAX:03-5428-1480
西日本支店
〒530-0003 大阪府大阪市北区堂島2-2-2 近鉄堂島ビル18F
TEL:06-6344-1511(代) FAX:06-6344-1517
名古屋営業所
〒460-0002 愛知県名古屋市中区丸の内3-20-17 中外東京海上ビルディング3F
TEL:052-954-9551(代) FAX:052-954-9552
福岡営業所
〒810-0801 福岡県福岡市博多区中洲5-3-8 アクア博多5F
TEL:092-287-9674(代) FAX:092-287-9675
McAfeeの英文/和文社名、各商品名、ロゴはMcAfee, Inc.またはその関連会社の商標または登録商標です。本書中のその他の登録商標および商標はそれぞれその所有者に帰属します。
2012 McAfee, Inc. All Rights Reserved. ●製品、サービス、サポート内容の詳細は、最寄りの代理店または弊社事業部までお問合せください。●製品の仕様、機能は予告なく変更する場合がありますので、
ご了承ください。
MCAWP-ADRD-1205-MC