アンチエミュレーション技術を用いた Android マルウェア

2017.04.26

セキュリティプロフェッショナルの間では、エミュレーションテストベッドは運用セキュリティトレーニングやさまざまな研究調査を行ううえで有用なツールであると考えられています。一方で、マルウェアの作成者はこうしたツールを妨害する方法を模索し続けています。


新たな妨害方法が SophosLabs によって確認されており、その 1 つであるアンチエミュレーションの Android 用マルウェアについては、Android の専門家 Chen Yu、William Lee、Jagadeesh Chandraiah、Ferenc László Nagy による調査報告が Sophos Blog に掲載されています。


この記事では、Windows 用のマルウェアで成功を収めてきたアンチエミュレーション技術がどのように Android 用のマルウェアに流用されているのかが解説されています。


まず、エミュレータとは何かを考えてみましょう。その定義をインターネットで検索してみると、あるコンピュータ (ホスト) が別のコンピュータ (ゲスト) を模倣できるようにするハードウェアまたはソフトウェアであると書かれています。通常、エミュレータを使用することで、ホストシステムはソフトウェアの実行やゲストシステム用に設計された周辺機器の使用が可能になります。セキュリティに関して言えば、マルウェアの動作やセキュリティオペレーションの準備度をテストするのに便利な方法です。


アンチエミュレーション技術は、数多くの Android マルウェアファミリで発見されています。その 1 つが、Google Play で最近発見された Android Adload アドウェアです。


6 つのアンチエミュレーション技術


SophosLabs の研究者によって、多数のアンチエミュレーション技術が特定されています。Sophos Blog の記事では 6 つの技術について詳しく説明していますが、その概要は次のとおりです。


  1. テレフォニーサービスの情報をチェックするエミュレータの検出で重要なのは、エミュレータで提供される環境と実際のデバイスで提供される環境の違いを特定することです。まず、エミュレータと実際のデバイスではデバイス ID、電話番号、IMEI、および IMSI が異なります。Android.os.TelephonyManager クラスを使用することで、これらの情報を取得できます。

  2. ビルド情報をチェックする。システム上のビルド情報をチェックして、エミュレータで動作しているかどうかを判断するマルウェアファミリが、SophosLabs によって複数発見されています。

  3. システムプロパティをチェックする。エミュレータの一部のシステムプロパティは、実際のデバイスのシステムプロパティとは異なります (デバイスブランド、ハードウェア、モデルなど)。

  4. エミュレータ関連ファイルの有無をチェックする。この場合、マルウェアは QEMU (Quick Emulator) または他のエミュレータ関連ファイルが存在するかどうかを確認します。

  5. デバッグツールとインストーラをチェックする。これはアンチエミュレーション技術ではありませんが、動的分析を妨害することもこの手法の目的です。Skinner アドウェアと同様に、Debug.isDebuggerConnected() Debug.waitingForDebugger() を使用して、デバッグツールの有無を確認します。

  6. 時限爆弾。多くのマルウェア / アドウェアのファミリが動的分析を迂回するために用いるもう 1 つの方法です。マルウェア / アドウェアはインストールされた後、一定の時間待機してから活動を開始します。

対策


アンチエミュレーション機能を備えた悪意のあるコードは、急増している Android 用マルウェアの一例に過ぎません。平均的な Android ユーザーは、マルウェアがどの技術を使用して自分のデバイスを攻撃してくるのかを知ることはできませんが、次のように侵入を防止する方法はあります。


  • アプリケーションの入手先は Google Play に限定してください。これでセキュリティ上の脅威が完全になくなるわけではありませんが、Google はマルウェアが Google Play に入り込まないよう、また、入り込んだ場合には駆除するようさまざまな工夫をこらしています。一方、Google Play 以外の多くのマーケットでは、アプリケーション開発者があらゆるアプリケーションをほぼ自由にアップロードできるようになっています。

  • Android 向けウイルス対策製品の使用を検討してください たとえ Google Play から入手したアプリケーションであっても、悪意のあるアプリケーションや不要なアプリケーションのインストールをブロックでき、多くの問題を解決できます。

  • 評価の低いアプリケーションは利用しないでください。誰も使用していない新しいアプリは、業務用のスマートフォンにはインストールしないようにしましょう。何か問題が生じた場合、IT 部門が対応に膨大な労力を費やすことになります。

  • パッチは迅速かつ確実に適用してください。新しいスマートフォンを購入したら、ベンダーによるアップデートの状況とパッチがリリースされるまでの速さを確認してください。高性能な内蔵カメラや斬新な画面などの高度なハードウェアだけでなく、「迅速で効果的なパッチの適用」を機能の要件に加えるようにしましょう。

引用元

おすすめの記事はこちら