0
| 本文作者: 李勤 | 2019-06-30 12:24 |
雷鋒網消息,6 月 28 日,安天發布了一份《VirtualAPP技術應用及安全分析報告》。
VirtualApp(簡稱:VA)是一款運行于Android系統的沙盒引擎框架產品,可以理解為輕量級的“Android虛擬機”。VA具有免安裝、多開、內外隔離及對于目標App完全控制的能力。VA從表現形式上屬于動態加載,但是從技術本質上來說是通過增加VAMS對啟動Intent進行修改,攔截和代理Android系統消息,并且通過自定義的ClassLoader加載和構造未在VA的AndroidManifest.xml中聲明的組件,以達到對目標App的控制效果。
在應用運行時通過動態加載消息代理技術,作為一項在Android系統上已經可以成熟使用的手段,除了在VA虛擬引擎框架中,目前也廣泛應用在熱更新、應用加殼和應用動態保護等功能中。正常使用VA虛擬引擎技術一般是為了實現輕量級版本快速迭代、功能更新、bug修復和特定安全防護,但是惡意和流氓應用使用該技術一般是為了逃避安全檢測,延長生命周期,獲取更大的利益。
無論是動態加載的插件化技術,還是基于VA的虛擬化引擎技術,從安全屬性上而言,都在一定程度上挑戰了Android系統的安全要求,谷歌和蘋果對上架應用都有對應的規定——禁止使用動態加載功能。雖然如此,仍然有大量開發者對VA技術有需求,例如Android平臺上的雙開應用,以及Windows平臺上的Hook機制和多款成熟虛擬機軟件,都被用來滿足開發者的應用開發需求。安天認為,這種技術本身也是具有兩面性的,需要客觀看待。
VA技術目前也有用于正常用途的,比如部分游戲愛好者擁有多個賬號,部分白領由于工作原因需要對于個人社交軟件和工作用戶社交軟件進行隔離,這一類的需求一直很旺盛。
但是VA實際上也會給運行在VA中的App帶來不可忽視的安全風險,即App的運行環境完全被VA控制,安卓的沙盒隔離機制被突破,并導致不必要的攻擊入口和風險面暴露。
VA技術動態加載可以在運行時動態加載,并解釋和執行包含在JAR或APK文件內的DEX文件。外部動態加載DEX文件的安全風險源于:Anroid4.1之前的系統版本容許Android應用動態加載存儲在外部目錄中的DEX文件,同時這些文件也可以被其他應用任意讀寫,所以不能夠保護應用免遭惡意代碼的注入;所加載的DEX文件易被惡意應用替換或者注入代碼,如果沒有對外部所加載的DEX文件做完整性校驗,應用將會被惡意代碼注入,那么攻擊者編寫的任意惡意代碼將會被自動執行,從而進一步實施欺詐、獲取賬號密碼或其他惡意行為。
點擊《VirtualAPP技術應用及安全分析報告》,可獲得報告全文。
雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知。