Android惡意軟體發展的新技術 | 360惡意軟體專題報告
雷鋒網按:本文節選自《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平臺新出現的高級技術手段。