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