“史上最強Android木馬”暴力破解分析
最近有媒體爆料,最高級的Android木馬已經(jīng)現(xiàn)身,據(jù)稱“它能利用Android操作系統(tǒng)此前未知的漏洞提升程序權(quán)限,并能阻止被卸載。”該惡意程序被稱為“Backdoor.AndroidOS.Obad.a”,其惡意行為是通過悄悄向增值服務(wù)號碼發(fā)送短信獲利。利用Android未曾發(fā)現(xiàn)漏洞并且無法卸載,“史上最強Android木馬”有多神奇?就此,手機安全專家為我們做了深度剖析,詳解攻破 “最強木馬”三層防查殺的整個過程。
第一層:封堵病毒分析主要入口 阻止安全工程師獲取安全信息
首先,該木馬為逃避殺毒軟件查殺確實煞費苦心。它在代碼中采取了一些專門針對病毒分析人員的措施,為安全公司分析它增加難度。例如,大多數(shù)安全公司分析Android木馬樣本時,通常采用AXML解析工具來解析樣本的主配置文件——AndroidManifest.xml文 件。該文件包含了Android應(yīng)用的主要模塊入口信息,是木馬分析時的重要線索。Obad.a木馬故意構(gòu)造了一個非標準的 AndroidManifest.xml文件,使得病毒分析人員無法得到完整數(shù)據(jù)。

第二層:對指令代碼進行特殊處理 阻止反編譯
該木馬除了對代碼進行加密處理以外,還通過對指令代碼進行特殊處理,使得安全公司常用的Java反編譯工具無法正確地反編譯其指令,增加對木馬的分析難度:

第三層:利用系統(tǒng)缺陷阻止用戶卸載
該木馬為防止被用戶發(fā)現(xiàn)后卸載煞費苦心。Android系統(tǒng)從2.2版本開始,提供了一個“設(shè)備管理器”的功能,其初衷是為企業(yè)部署遠程IT控制使用,為了防止員工私自卸載企業(yè)安裝的“設(shè)備管理器”,一旦激活設(shè)備管理器之后,該設(shè)備管理器就不可刪除。但是,由于Android系統(tǒng)對此功能設(shè)計的不完善,使得木馬可以利用這個機制,讓自己注冊成為一個設(shè)備管理器,從而阻止用戶卸載。
木馬首先會提示用戶“激活設(shè)備管理器”:

而一旦用戶不慎點了“激活”,那么木馬就被注冊成了設(shè)備管理器,此時該木馬的“強行停止”和“卸載”按鈕將完全失效,即,木馬無法關(guān)閉,也無法卸載:

最可怕的是,設(shè)備管理器還存在一定缺陷,當(dāng)木馬故意以一種錯誤的方式來注冊設(shè)備管理器時,Android系統(tǒng)也能讓它注冊成功,但是在設(shè)備管理器列表中不會顯示。用戶因此找不到取消注冊設(shè)備管理器入口,無法取消木馬的設(shè)備管理權(quán)限。
系統(tǒng)中甚至不會列出木馬所注冊的設(shè)備管理器