引言

本研究旨在了解應用程式虛擬化作為攻擊媒介的潛在可能性。研究中,我們測試了十幾個虛擬化應用程式在常規使用場景和作為駭客工具兩種情況下的表現。 Android 產品應用程式保護 經評估,該方法可作為所有測試的虛擬化應用程式的緩解方案。

適用於「正常」用途的虛擬化應用程式

大多數針對「普通」用戶的虛擬化應用程式都可以從 Google Play 商店下載。這些應用程式的下載量已達數億次。其中最受歡迎的應用程式之一是… 平行空間這些應用程式的主要目標用戶是擁有多個應用程式帳號的用戶,例如社群媒體應用程式。虛擬化應用程式允許使用者同時執行相同應用程式的多個實例,無需登出並登入其他帳戶。一些虛擬化應用程式標榜自己是隱私增強應用。安裝在虛擬空間中的應用通常(但不總是)會以某種方式與常規安卓系統隔離。

虛擬化應用程式作為駭客工具

使用者群體的另一端是駭客。虛擬化技術可用於多種用途。虛擬化的主要優勢之一是,虛擬化應用程式擁有比目標應用程式更高的進程權限,從而允許虛擬化應用程式與目標應用程式自由互動。虛擬化透過某種方式繞過了 Android 的安全模型,在虛擬化應用的沙箱中創造了一個更寬鬆的環境。許多類型的虛擬化應用程式提供「偽 root」存取權和 hook 服務,這些服務由 Xposed 等 hook 框架提供。所有這些都可以在未 root 的手機上實現——這意味著惡意活動可以在已驗證的裝置上執行。

虛擬化環境為以下惡意活動提供了可能性:

  • 遊戲作弊-例如使用軟體作弊 GameGuardian 在虛擬化環境下運行幾乎可以實現所有在已root裝置上能做的事情。
  • 鉤子技術——例如 VirtualXposed 等虛擬化軟體允許將 Xposed 模組注入到虛擬化應用程式中,從而改變它們的行為。例如,VirtualXposed 可用於繞過 YouTube 應用程式中的廣告。
  • 偽造 root 權限-某些虛擬化應用程式會提供對偽造「超級使用者」的存取權限,以便執行具有提升權限的軟體。例如,可以使用偽造 root 權限來運行… 弗里達 伺服器運行在未root的設備上。
  • 虛擬定位-大多數虛擬化應用程式都提供位置欺騙服務。這對於繞過基於地理位置的驗證或在像《精靈寶可夢GO》這樣基於地理位置的遊戲中作弊尤其有用。
  • 動態分析-一些流行的虛擬化應用程式是開源的,可以透過自訂插件進行修改。使用者可以透過插件動態地檢測虛擬化應用程序,觀察應用程式行為,並捕獲網路流量。
虛擬化應用程式遊戲守護者

虛擬化應用程式類別

應用虛擬化是一個廣泛的概念。應用虛擬化可以透過多種方式實現,不一定需要虛擬化Android系統。應用虛擬化是一個很好的術語,它概括了在非標準環境下運行應用程式的概念。 以下是應用虛擬化的幾種不同形式:

工作概況隔離

一些虛擬化應用程式透過建立獨立的工作設定檔並將虛擬化應用程式隔離在其中來實現虛擬化。工作設定檔是在安卓裝置上設定的,用於將「工作」應用程式和資料與個人應用程式和資料分開。工作設定檔位於設備的一個獨立區域,與系統的其他部分隔離。使用工作設定檔隔離應用程式並非總是好事,因為在普通使用者空間運行的潛在惡意應用,即使擁有 root 權限,也可能無法被檢測到,因為被隔離在工作設定檔中的應用程式只能看到同一工作設定檔中的應用程式。例如,遊戲駭客正在濫用這種攻擊策略,他們在擁有 root 權限的裝置上使用 GameGuardian,並在隔離的工作設定檔中運行目標應用程式。 「Island」是一款在 Google Play 商店免費提供的應用程式,可讓使用者複製特定應用程式。 「Island」應用程式也是「工作設定檔隔離」的一個很好的例子。

克隆和重新打包

另一種虛擬化應用程式透過複製或重新打包目標應用程式來實現虛擬化。通常,這個過程很簡單。基本原理是,這些應用程式會被複製,並且它們的套件名稱會被修改為某種唯一的套件名稱。為了繞過各種檢查和驗證,這類虛擬化應用程式會注入自己的程式碼,修補或鉤住負責取得套件名稱和簽章的方法,以及其他一些方法,使目標應用程式誤以為自己是原始應用。由於應用程式 ID 已更改,原始應用程式和複製應用程式可以共存於同一 Android 系統上。這種虛擬化方式速度最快,因為它沒有虛擬化開銷。 AppCloner app 就是這類應用的一個例子。 AppCloner 也可在 Google Play 應用程式商店免費下載。

應用程式主機

「應用宿主」是另一種虛擬化技術。應用宿主透過將目標應用程式載入到自身並運行來實現虛擬化。這是一種相對簡單的應用虛擬化方法,但也存在一些限制。例如,這類應用宿主通常一次只能執行一個應用實例,或同時執行的應用數量非常有限。一些採用這種策略的虛擬化技術以SDK的形式提供,允許使用者為特定應用創建具有特定功能的自訂宿主應用程式。此類SDK也為使用鉤子框架以及透過插樁進行一般的應用動態分析提供了可能性。 VirtualApk 以及 幻象 是這種虛擬化方法的顯著例子。

整個安卓系統虛擬化

一些虛擬化應用能夠虛擬化整個安卓系統。其中一些甚至可以從任何 ROM(唯讀記憶體)鏡像啟動整個安卓系統。這種虛擬化方式速度最慢,但功能最強大,因為它實際上模擬了整個安卓手機。自訂 ROM 映像或檔案可以被修改、自訂,甚至可以透過 Magisk 等工具取得 root 權限。虛擬化應用幾乎無法與外部安卓系統交互,也無法了解其內部正在發生的事情。這種虛擬化技術可以在看似正常的虛擬安卓系統上運行目標應用,而無需 root 權限。然而,原始安卓系統可能已被 root,並運行額外的動態分析軟體來篡改虛擬化應用。 千沃伊 是目前最受歡迎的能夠虛擬化整個安卓系統的應用程式之一。

部分 Android 運行時虛擬化

最後,一些虛擬化應用可以實現部分安卓系統虛擬化。通常,這類虛擬化應用會使用代理和虛擬進程來重建安卓系統的大部分內容。由於在虛擬化應用程式與系統其餘部分通訊期間,需要攔截和修補許多數據,因此鉤子(hooking)是此類虛擬化技術中非常重要的一部分。此外,這種方法在不同的安卓版本和不同的安卓設備廠商之間維護起來也比較複雜。通常,這種虛擬化方法會有穩定性問題。然而,部分安卓運行時虛擬化技術是最強大的虛擬化技術之一:一個實現良好的部分安卓運行時虛擬化可以做到完全無法被偵測到。 虛擬應用程式 是目前最著名的部分安卓運行時虛擬化方案之一。

虛擬化應用值得信賴嗎?

如前所述,Google Play 應用程式商店中眾多虛擬化應用程式聲稱能夠提升隱私保護,讓一般用戶誤以為虛擬化技術可以改善用戶隱私。然而,這種說法值得懷疑。虛擬化應用與系統其他部分隔離,確實可以提升隱私保護。但是,虛擬化應用程式對虛擬化應用的權限遠高於安卓系統上安裝的任何其他第三方應用。因此,無法保證虛擬化應用程式不會利用這些權限來竊取使用者的個人資訊。

大多數虛擬化應用程式都充斥著廣告。有些甚至會在虛擬化應用程式中註入額外的廣告軟體程式碼。未經用戶同意,幾乎有無數種東西可以被注入到虛擬化應用程式中。

此外,使用虛擬化軟體可能違反虛擬化應用程式的使用條款,這意味著使用虛擬化軟體可能會導致帳戶被封鎖。

虛擬化應用評估

本節將介紹最受歡迎的開源和閉源虛擬化應用程式。每個應用程式都將從易用性、編譯或修改的便捷性以及效能等方面進行評估。 Android 應用程式保護 可以保護虛擬化環境免受攻擊。我們嘗試列出涵蓋所有不同虛擬化方法的應用程式。有些應用程式比其他應用程式更受歡迎,我們將大致按照受歡迎程度從高到低的順序進行討論。

開源:

 

虛擬應用程式

https://github.com/asLody/VirtualApp

這是一個部分虛擬化的安卓系統。完整的功能清單可以在項目中找到。 README.MD該專案在 2017 年之前是開源的,之後便未再更新。不過,進階用戶仍可取得更新的版本(現已閉源)。 GitHub 上沒有預編譯的二進位。編譯原始碼非常困難,許多錯誤需要手動修復。該項目有多個分支。以下分支維護 2017 年後發布的 Android 版本:

https://github.com/ServenScorpion/VirtualApp

我們最初嘗試彙編 虛擬應用程式 雖然失敗了,但該專案被認為是其他虛擬化專案的靈感來源。 Android 應用程式保護機制觸發:虛擬化偵測

虛擬Xposed

https://github.com/android-hacker/VirtualXposed

虛擬Xposed 這是另一個基於 Android 的部分虛擬化 虛擬應用程式 項目。 虛擬Xposed 主要特點是允許在虛擬化環境下,在未root的裝置上使用Xposed框架。但該項目存在穩定性問題。 虛擬Xposed 用於測試的兩台裝置上均未能安裝 Xposed 插件。其中一台裝置上的插件安裝失敗。 虛擬Xposed 甚至連虛擬化應用程式都無法啟動。許多其他項目試圖複製這一過程。 虛擬Xposed 主意。

Android 應用程式保護功能觸發了以下保護措施:虛擬化偵測、Hook 偵測、動態偵測、Root 偵測、簽章檢查和模擬器偵測,導致應用程式崩潰。

 

VirtualApp2022

https://github.com/justin0kg/VirtualApp2022

設計靈感來自於 虛擬Xposed 並基於 虛擬應用程式在 Android 11 上運行良好。 README.MD 開發者表示他們支援 Xposed 外掛程式。

Android 應用程式保護已觸發:虛擬化 發現

 

千沃伊

https://github.com/twoyi/twoyi

千沃伊 是一款安卓系統應用,它可以虛擬化整個 ROM 鏡像。預設情況下,它會虛擬化安卓 8.1.0 系統,並預先安裝了 Superuser 應用程式。因為 千沃伊 可以虛擬化自訂 ROM 鏡像,理論上,它可以用來虛擬化用 Magisk 修補的 ROM,運行 LSPosed,或運行其他威脅工具。

Android 應用程式保護機制已觸發:Root 偵測和模擬器偵測

 

多重應用

https://github.com/WaxMoon/MultiApp

MultiApp 運作良好。雖然很難確定 MultiApp 使用的確切虛擬化技術,但它很可能是部分 Android 系統虛擬化,或將應用程式作為宿主進行虛擬化。這個專案僅部分開源——應用程式的 UI 和啟動器是開源的,但主要的虛擬化邏輯包含在預先編譯的 JAR 和 APK 檔案中。

Android 應用程式保護已觸發:虛擬化偵測

 

太極

https://github.com/taichi-framework/TaiChi

虛擬Xposed 這是一個受啟發而設計的虛擬化應用,可以在未root的裝置上使用Xposed模組。遺憾的是,該專案並不穩定,在兩台測試設備上都無法安裝或執行虛擬化應用。

Android 應用程式保護已觸發:虛擬偵測

 

VirtualApk、Phantom 和 DroidPlugin

https://github.com/didi/VirtualAPK

https://github.com/ManbangGroup/Phantom

https://github.com/DroidPluginTeam/DroidPlugin

VirtualApk, 幻象以及 DroidPlugin 項目是SDK,允許用戶創建宿主應用程序,這些應用程式可以在其中虛擬化目標應用程式。由於時間有限,這些框架未經測試。

Android 應用程式保護機制已觸發:- 虛擬化偵測

 

閉源:

平行空間、雙空間及其他

https://play.google.com/store/apps/details?id=com.lbe.parallel.intl

https://play.google.com/store/apps/details?id=com.ludashi.dualspace&hl=en&gl=US

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/

Parallel Space是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 應用程式保護機制觸發:虛擬化偵測與動態插樁偵測(偵測到平行空間記憶體竄改)

 

太空核心

https://github.com/FSpaceCore/SpaceCore

太空核心 這是一個全新的部分開源虛擬化應用程式。虛擬化邏輯是閉源的。由於缺少核心庫的源代碼,該應用程式無法從原始碼編譯。演示版本穩定,可以運行大多數經過測試的應用。選單中包含 Xpo​​sed 管理員的佔位符,該管理器目前尚未發布。

Android 應用程式保護已觸發:虛擬化偵測

 

AppCloner

https://appcloner.app/

AppCloner 這是一種基於重新打包的虛擬化技術,它將目標應用程式重新打包成另一個軟體包名稱,並將其安裝到系統中。這種虛擬化技術雖然簡單,但無法與其他威脅工具配合使用,在沒有root權限的情況下篡改目標應用程式。

Android 應用程式保護已觸發:虛擬化偵測

 

冰島

https://play.google.com/store/apps/details?id=com.oasisfeng.island&hl=en&gl=US&pli=1

冰島 Island 是一種基於工作設定檔的虛擬化解決方案,可將應用程式隔離在工作設定檔中。在 Android 應用程式保護虛擬化防護創建過程中,報告指出 Island 用於將受害應用程式與其他應用程式隔離。 GameGuardian 曾被用於篡改應用程式記憶體而不被發現。

Android 應用程式保護已觸發:虛擬化偵測

摘要

虛擬化技術對一般使用者和駭客都很有用。許多虛擬化應用程式允許駭客在未root的裝置上虛擬建立惡意環境。儘管有許多開源項目,但其中大多數都不容易編譯和修改。

虛擬化可以透過多種方式實現,從應用程式重新打包到整個 Android 系統虛擬化。我們在本文中測試的所有虛擬化應用程式均被檢測到。 Android 產品應用程式保護.

更多資源

關於我們 Digital.ai

Digital.ai 是一家業界領先的科技公司,致力於幫助全球5000強企業實現數位轉型目標。該公司的人工智慧驅動型 DevSecOps 該平台統一、保護軟體生命週期中的數據,並產生預測性見解。 Digital.ai 使組織能夠擴展軟體開發團隊,持續交付更高品質、更安全的軟體,同時透過更智慧的軟體投資發現新的市場機會並提升業務價值。

有關的其他信息 Digital.ai 可以在這裡找到 digital.aiTwitter, LinkedIn 以及 Facebook.

欲了解更多資訊,請造訪: Digital.ai Application Security

系統平台

想繼續探索其他資源嗎?