公開日:March 29、2023
仮想化の世界への入門 – パート II
Egidijus Lileika 氏、シニア セキュリティ研究員
仮想化シリーズの第2回へようこそ。この調査の目的は、アプリケーション仮想化が攻撃ベクトルとして利用される可能性を理解することです。本調査では、12種類の仮想化アプリを通常の使用例とハッキングツールとしてテストしました。Android向けアプリケーション保護製品は、テストしたすべての仮想化アプリにおいて、緩和策として評価されました。
仮想化アプリの評価
このセクションでは、最も人気のあるオープンソースおよびクローズドソースの仮想化アプリを紹介します。各アプリは、使いやすさ、コンパイルや変更の容易さ、そしてAndroid向けアプリケーション保護による仮想化環境における攻撃からの保護効果について評価されます。様々な仮想化手法に対応したアプリケーションをリストアップしました。アプリによって人気度は異なり、人気が高いものから低いものの順に解説しています。
オープンソース
仮想アプリ
仮想アプリ は部分的に仮想化されたAndroidシステムです。全機能リストはプロジェクトのREADME.MDに記載されています。このプロジェクトは2017年までオープンソース化されていましたが、それ以降は更新されていません。ただし、プレミアムユーザーは、現在クローズドとなっている最新バージョンのソースコードを入手できます。Githubにはビルド済みのバイナリはありません。ソースコードのコンパイルは困難であり、多くのエラーは手動で修正する必要があります。
このプロジェクトには多くのフォークがあり、 次のフォーク 実際には、2017 年以降にリリースされた Android のバージョンを保守しています。
当初、VirtualApp をコンパイルしようとしましたが失敗しました。しかし、このプロジェクトは他の仮想化プロジェクトへのインスピレーションとなると考えられています。
Android のアプリケーション保護ガードが起動しました: 仮想化検出
バーチャルXポーズド
その バーチャルXポーズド VirtualAppプロジェクトをベースにした、もう一つの部分的なAndroid仮想化プロジェクトです。VirtualXposedの主な機能は、仮想化環境において非ルート化デバイスでXposedフレームワークを使用できることです。しかし、このプロジェクトは安定性の問題を抱えています。VirtualXposedは、テストに使用した両方のデバイスでXposedアドオンのインストールに失敗しました。あるデバイスでは、VirtualXposedは仮想化アプリの起動にも失敗しました。他の多くのプロジェクトがVirtualXposedのアイデアを模倣しようとしています。
Android のアプリケーション保護ガードがトリガーされました: 仮想化検出、フック検出、動的インストルメンテーション検出、ルート検出、署名チェック、エミュレーター検出によりアプリがクラッシュします。
バーチャルアプリ2022
バーチャルアプリ2022 VirtualXposedにインスパイアされ、VirtualAppをベースにしています。Android 11で問題なく動作します。README.MDでは、開発者がXposedプラグインをサポートしていることが明記されています。
Android のアプリケーション保護ガードが起動しました: 仮想化検出
トゥーイ
トゥーイ Twoyiは、ROMイメージ全体を仮想化するAndroidシステムアプリです。デフォルトでは、プリインストールされたスーパーユーザーアプリを使用してAndroid 8.1.0を仮想化します。TwoyiはカスタムROMイメージを仮想化できるため、理論的にはMagiskでパッチを当てたROMの仮想化、LSPosedの実行、その他の脅威ツールの実行に使用できます。
Android のアプリケーション保護ガードが起動: ルート検出とエミュレータ検出
マルチアプリ
マルチアプリ うまく動作します。MultiAppが使用している仮想化技術を正確に特定することは困難ですが、Androidシステムの部分的な仮想化か、アプリケーションをホストとして仮想化している可能性があります。このプロジェクトは部分的にしかオープンソースではありません。アプリのUIとランチャーはオープンソースですが、主要な仮想化ロジックはプリコンパイル済みのJARとAPKで提供されています。
Android のアプリケーション保護ガードが起動しました: 仮想化検出
太極拳
太極拳 は、VirtualXposedにインスパイアされた仮想化アプリで、非ルート化デバイスでもXposedモジュールを使用できます。残念ながら、このプロジェクトは安定しておらず、テストデバイスの両方で仮想化アプリのインストールと実行に失敗しました。
Android のアプリケーション保護ガードが起動: 仮想検出
VirtualApk、Phantom、DroidPlugin
仮想APK, ファントム, ドロイドプラグイン プロジェクトは、ユーザーがホストアプリケーションを作成し、その内部でターゲットアプリケーションを仮想化できるSDKです。時間不足のため、これらのフレームワークはテストされていません。
Android用アプリケーション保護ガードが起動: – 仮想化検出
クローズドソース
その他:
- https://play.google.com/store/apps/details?id=com.excelliance.multiaccounts&hl=en&gl=US
- https://play.google.com/store/apps/details?id=multi.parallel.dualspace.cloner&hl=en&gl=US
- https://play.google.com/store/apps/details?id=com.cloneapp.parallelspace.dualspace&hl=en&gl=US
- https://play.google.com/store/apps/details?id=com.excelliance.multiaccount&hl=en&gl=US
- https://play.google.com/store/apps/details?id=com.excean.parallelspace&hl=en&gl=US
- https://play.google.com/store/apps/details?id=do.multiple.cloner&hl=en&gl=US
- https://www.apkmirror.com/apk/nox-ltd/noxapp-multiple-accounts-clone-app/
Google Playストアで最も人気のある仮想化アプリの一つです。Parallel SpaceをGameGuardianで使用するには、GameGuardianフォーラムからParallel Spaceアプリの非公式「最適化」バージョンをダウンロードする必要があります。
GameGuardian に最適化されたバージョン:
- https://gameguardian.net/forum/files/file/120-parallel-space-32-bit-support-64-bit-support/
- https://gameguardian.net/forum/files/file/213-dualspace-32-bit-support-64-bit-support/
- https://gameguardian.net/forum/files/file/194-virtual-space/
- https://gameguardian.net/forum/files/file/225-octopus-32-bit-support-64-bit-support/
- https://gameguardian.net/forum/files/file/122-go-multiple/
Android のアプリケーション保護ガードが起動しました: 仮想化検出と動的インストルメンテーション検出 (並列空間メモリの改ざんを検出)
スペースコア
スペースコア 部分的にオープンソース化された新しい仮想化アプリです。仮想化ロジックはクローズドソースです。コアライブラリのソースがないため、アプリをソースからコンパイルすることはできません。デモビルドは安定しており、テスト済みのほとんどのアプリを実行できます。メニューにはXposed Managerのプレースホルダが含まれていますが、まだ利用できません。
Android のアプリケーション保護ガードが起動しました: 仮想化検出
アプリクローナー
アプリクローナー 再パッケージ化ベースの仮想化技術で、対象アプリケーションを別のパッケージ名で再パッケージ化し、システムにインストールします。この仮想化技術はシンプルですが、他の脅威ツールと組み合わせて使用することで、ルートアクセスなしで対象アプリを改ざんすることはできません。
Android のアプリケーション保護ガードが起動しました: 仮想化検出
アイスランド
アイスランド は、仕事用プロファイルベースの仮想化ソリューションであり、仕事用プロファイル内でアプリを分離します。Android仮想化におけるアプリケーション保護の実施中に、ガード作成レポートによると、Island は被害アプリケーションを他のアプリから分離するために使用され、GameGuardian は検知されずにアプリケーションメモリを改ざんするために使用されたとのことです。
Android のアプリケーション保護ガードが起動しました: 仮想化検出
製品概要
仮想化は、一般ユーザーと脅威アクターの両方にとって有用です。多くの仮想化アプリは、脅威アクターがルート化されていないデバイス上に悪意のある環境を仮想的に構築することを可能にします。オープンソースプロジェクトは数多く存在しますが、そのほとんどは簡単にコンパイルしたり変更したりすることができません。
仮想化は、アプリケーションの再パッケージ化からAndroidシステム全体の仮想化まで、様々な方法で実現されます。本稿でテストしたすべての仮想化アプリは、Android向けアプリケーション保護製品によって検出されました。
その他のリソース
https://github.com/pianpian315/VirtualAndroid/blob/master/Mobile%20Virtualization%20Technologies.pdf
https://github.com/ysrc/AntiVirtualApp
シリーズのパート1は以下からご覧いただけます。 こちら.