雷鋒網按:本文節選自《2016年Android惡意軟體專題報告》,作者:360烽火實驗室,致力於Android病毒分析、移動黑產研究、移動威脅預警以及Android漏洞挖掘等移動安全領域及Android安全生態的深度研究。
2016年全年,從手機用戶感染惡意程序情況看,360網際網路安全中心累計監測到Android用戶感染惡意程序2.53億,平均每天惡意程序感染量約為70萬人次。釣魚軟體、勒索軟體、色情播放器軟體、頑固木馬成為2016年流行的惡意軟體。
從惡意軟體開發技術角度看, 2016年惡意軟體利用社會工程學、界面劫持、破解接口、開源項目、簡易開發工具、碎片化代碼、注入系統根進程、篡改系統引導區以及代理反彈技術,成為主要使用的新技術。
一、社會工程學
社會工程學(Social Engineering)是一種通過對受害者心理弱點、本能反應、好奇心、信任、貪婪等心理陷阱進行諸如欺騙、傷害等危害手段,並以此來獲取自身利益的手法。
隨著Android系統版本升級的同時,Android系統在安全策略方面得到了進一步的增強和優化,像無障礙模式Accessibility和動態權限模型都需要用戶主動授權後才可以使用。Android惡意軟體藉助社會工程學已成迅速上升甚至濫用的趨勢,通過誘導性的圖標和文字,引導用戶授予相應的功能的權限,從而保證惡意軟體正常的運行環境。
二、界面劫持
Android為了提高用戶體驗,對於不同應用程式之間的切換,基本上是無縫切換。他們切換的只是一個Activity,一個切換的到前臺顯示,另一個應用則被覆蓋到後臺不可見。每當一個Activity啟動,它就壓入歷史棧頂,並在手機上顯示。當用戶按下返回鍵時,頂部Activity彈出,恢復前一個Activity,棧頂指向當前的Activity。
界面劫持技術指在Android 5.0以下的系統中,程序可以枚舉當前運行的任務,惡意軟體監控目標應用的運行,當檢測到當前運行界面為被監控應用某個特定界面(一般為登錄或支付界面)時,彈出偽造的釣魚界面以覆蓋原應用正常界面,誘導用戶輸入信息,回傳輸入信息,最終竊取用戶隱私。
Google官方在Android 5.0系統及以上版本限制了獲取棧頂Activity的獲取方法getRunningTasks的使用[8],並且說明這一方法不能再能獲取第三方應用信息,只能獲取自身或一些已知不含有敏感信息的程序。
雖然Android 5.0以上減弱了這種攻擊方式,但是根據Google最新的Android系統版本佔比統計,Android 5.0以下版本仍然有一定的市場佔有率,這些手機仍然可能遭受到這種威脅。
三、被惡意利用的合法程序
(一)破解接口
破解接口是指通過逆向軟體某個功能模塊的原理機制後,通過修改並加以利用,達到利用的目的。
2016年,從我們截獲的帶有獲取Root功能的惡意軟體代碼中發現,一些正規的提供手機Root服務的軟體,Root功能接口遭到破解,被不法分子利用嵌入到惡意軟體中。
(二)開源項目
GitHub是一個面向開源及私有軟體項目的託管平臺,同樣,從我們截獲的帶有獲取Root功能的惡意軟體代碼中還發現,GitHub中的一些開源項目比如「android-rooting-tools」被嵌入到Android木馬中被惡意利用。
四、開發工具
(一) 簡易開發工具被廣泛應用
AIDE是Android環境下的開發工具,這種開發工具不需要藉助電腦,只需要在手機上操作,便可以完成Android樣本的代碼編寫、編譯、打包及籤名全套開發流程。
2016年,我們發布的《ANDROID勒索軟體研究報告》,報告指出國內大量的鎖屏軟體都使用合法的開發工具AIDE,因為這種工具操作簡單方便,開發門檻低,變化速度快,使得其成為不法分子開發勒索軟體的首選。
(二) 藉助工具碎片化代碼
Instant Run是Android官方應用開發工具Android Studio 2.0版本新增的即時運行功能。它允許開發人員通過將更新.zip文件推送到應用程式來快速部署更新到調試應用程式。
Android惡意軟體基於Instant Run功能,將惡意代碼分散隱藏在zip文件中,規避安全軟體檢測與查殺。2016年,360網際網路安全中心累計截獲基於Instant Run功能的惡意軟體約1400個,由於Android Studio在4月份才正式推出Instant Run功能,所以一季度新增樣本量極少。
五、高級技術手段
(一) 注入系統根進程
Android系統根進程Zygote進程,它是Android系統所有進程的父進程。2016年3月,基於Zygote的攻擊「Triada」木馬家族曝光,該木馬最顯著的特點是使用Zygote進程,一旦進入系統,就會成為該應用進程的一部分,並可以在設備上啟動的任何應用中預先進行安裝,甚至改變應用的運行邏輯。當用戶在應用內通過簡訊購買安卓遊戲時,黑客可以利用Triada木馬修改發送的簡訊,非法獲取用戶的支付費用。
(二) 篡改系統引導區
2016年6月,360網際網路安全中心發現首個通過修改系統引導區Boot Image、替換系統核心文件的方式實現自我保護的Android惡意軟體「地獄火」。Android系統以正常模式啟動後會加載Boot.img分區。Boot.img分區包含Linux內核和Ramdisk。Ramdisk是一個小型文件系統,包括了初始化系統所需要的全部核心文件,例如:初始化init進程以及init.rc等文件。與Oldboot[14]相比該病毒還會繞過SEAndroid、dm_verify等Android系統安全防護
(三) 代理反彈
許多公司越來越重視企業網絡安全問題,一般在企業信息系統前端均部署有防火牆,系統管理員根據業務需求將內部必要的服務埠通過埠映射等手段映射到公網中。通過部署防火牆可以將信息系統內部區域與公網邏輯隔離開來,利用相關的策略有效避免或減輕來自外部的攻擊。
2016年9月,「DressCode」惡意軟體家族使用SOCKS代理反彈技術突破內網防火牆限制,竊取內網數據,這種通過代理穿透內網繞過防火牆的手段在PC上並不新鮮,然而以手機終端為跳板實現對企業內網的滲透還是首見,是Android平臺新出現的高級技術手段。