當前位置:
首頁 > 最新 > Android平台下木馬檢測技術的研究與實現

Android平台下木馬檢測技術的研究與實現

摘要:針對目前Android平台下木馬侵擾問題,從概念、傳播途徑、惡意行為三個方面簡要介紹木馬,然後分析了特徵碼檢測、啟發式檢測、行為檢測、完整性檢測的原理。通過對比這些主流木馬檢測技術的優缺點,提出了特徵碼檢測與許可權檢測相結合的檢測方案,設計並實現了Android平台下的木馬檢測系統。最後,將該系統與靜態分析工具Androguard進行實驗對比,證明了該系統能有效提高木馬檢測率,達到了設計目的。

正文內容:

0 引 言

Android作為市場佔有率最大的移動操作平台,由於其開源特性,正頻繁遭受不法分子的惡意攻擊。2017年5月11日,360發布的《2017年中國手機安全風險報告》指出,2017年第一季度,360互聯網安全中心共截獲Android平台新增惡意程序樣本222.8萬個,平均每天截獲新增手機惡意程序樣本近2.5萬個。木馬因其良好的隱藏性、欺騙性和破壞性,已成為攻擊Android平台的主要手段,而由木馬造成的危害也越來越嚴重。因此,研究Android平台下的木馬檢測技術意義重大。

目前,特徵碼檢測是最成熟、最有效的木馬檢測技術。本文充分利用其誤報率低的優點,同時為規避其無法防範未知惡意軟體的缺點,結合許可權檢測,設計了一個基於Android平台的木馬檢測系統,實現了木馬檢測功能。

1 Android系統架構

Android系統採用分層架構,由高到低分為4層,依次是應用程序層(Applications)、應用程序框架層(Application Framework)、系統運行庫層(Libraries)和Linux內核層(Linux Kernel),如圖1所示。

應用程序層包含了核心應用程序,手機上的應用程序都屬於這一層,如系統自帶的聯繫人程序、簡訊程序等。應用程序框架層主要提供構建應用程序時用到的各種API。Android自帶的一些核心應用就是使用這些API完成的,如視圖(Views)、活動管理器(Activity Manager)等。系統運行庫層包含系統庫和Android運行環境,主要是通過C/C++庫來為Android系統提供主要的特性支持。Linux內核層為Android設備的各種硬體提供了底層的驅動,如顯示驅動、音頻驅動、藍牙驅動和電源管理驅動等[1]。

2 Android木馬介紹

2.1 木馬的概念

木馬是一個基於遠程控制的程序,由客戶端和服務端兩部分組成。客戶端部署在互聯網側,服務端以手機應用的形式植入到手機終端。木馬的攻擊方法是通過客戶端向服務端發送控制命令,服務端接收到控制命令後,在目標手機終端上執行相應的惡意行為[2]。現如今,Android平台下,木馬可以竊取並上傳用戶隱私信息、控制後台錄音、攝像等,基本架構如圖2所示。

2.2 木馬的傳播途徑

木馬主要通過網路、簡訊、彩信的方式傳播。它們偽裝成移動客戶端應用程序,誘導用戶訪問並下載安裝[3]。手機資源站、軟體捆綁是木馬傳播的主要途徑。一些手機資源網站缺乏對惡意程序的監管鑒別機制,導致下載時更易感染木馬。而軟體捆綁則是不法分子通過植入惡意代碼或惡意廣告插件捆綁知名軟體進行二次打包,造成用戶大規模感染。隨著手機網上支付的盛行,二維碼也逐漸成為木馬傳播的新途徑,並佔據較大比例。各大電子市場作為用戶下載APP的主力市場,更是木馬傳播的主要風險渠道。騰訊發布的《2017年第一季度手機木馬渠道來源比例》,如圖3所示。

2.3 木馬的惡意行為

木馬在Android平台下運行時通過各種技術隱藏自身,使得設備終端不斷受其控制,給用戶的生活和經濟造成了嚴重危害。目前,它的主要惡意行為如下。

(1)資費消耗:以廣告推銷、自動撥號等手段,增加用戶的額外資費來牟取暴利。這類惡意行為較隱秘,難以被用戶發現,可以長期潛伏在手機中,不斷造成話費、流量的損失。

(2)隱私竊取:竊取用戶的簡訊、通話、地理位置、賬號密碼等一系列隱私信息,並將信息發送到遠端伺服器[4]。

(3)流氓行為:誘導用戶下載安裝惡意軟體或將惡意程序打包到正常應用中,而用戶無法將其刪除和卸載,影響手機的正常使用。

(4)惡意扣費:偽裝成遊戲、播放器等誘使用戶下載安裝,一旦安裝,通過對外發送簡訊或聯網訂購,在用戶不知情或虛假描述下,直接訂購SP付費業務,給用戶造成經濟損失。

3 Android木馬檢測技術

目前,針對Android平台木馬檢測的主流技術有特徵碼檢測法、啟發式檢測法、行為檢測法和完整性檢測法。下面將對每種檢測技術進行分析。

3.1 特徵碼檢測法

特徵碼檢測法是一種簡單有效的木馬檢測技術。它首先收集大量已知木馬樣本,然後從中提取若干唯一、典型的位元組作為某種木馬及其變種的特徵碼,從而構建特徵庫對木馬進行查殺[5]。若掃描文件的特徵值與特徵庫中的特徵碼匹配,則判定目標程序是木馬程序,並指出是何種木馬。該技術必須不斷更新特徵庫,獲悉未知木馬提高查殺率。

3.2 啟發式檢測法

啟發式檢測法是將木馬分析過程中獲得的一些統計的、靜態的啟發知識,運用到特徵碼檢測上的一種反木馬檢測技術。它是一種先驗的程序行為預測方法,通過對程序文件進行反彙編,再對程序指令序列進行分析,從而判斷程序是否具有惡意的行為意圖[6]。該技術在掃描系統的基礎上,要能夠辨別程序指令序列,實現過程相對複雜。

3.3 行為檢測法

行為檢測法是通過監控程序在系統中的運行,根據其行為判斷是否具有惡意企圖的檢測技術。當木馬程序植入手機後,使用行為檢測工具實時監控該程序操作,並將其與安全行為策略作比較。當某些行為與安全策略相悖時,則終止該程序的執行,並給用戶以提示。該技術適用於已被木馬感染的系統,但誤報率較高。

3.4 完整性檢測法

完整性檢測法是根據木馬入侵時會將惡意代碼植入文件的這一特性來判斷木馬入侵的檢測技術。植入是木馬發揮作用的前提。它一般依附或寄生在其他正常的程序或文件中,導致正常的程序或文件發生諸如大小增加、更新日期被修改等變化。該技術通過記錄系統正常文件相關屬性信息,計算正常文件內容的校驗和。當每次打開該文件前,根據文件當前內容算出校驗和,並與正常值作對比。若二者不一致,則判斷文件被感染[7]。但是,文件內容的改變也有可能是因為軟體更新、運行參數變動等,因此該技術存在誤報。

3.5 幾種技術的比較

綜上,四種檢測技術原理各異,又各具優缺點。特徵碼檢測法技術成熟,使用最廣泛,檢測最準確,誤報率最低,但需要頻繁更新特徵庫,無法檢測未知木馬。啟發式檢測法在一定程度上能檢測未知木馬,但存在誤報,對系統性能要求較高。行為檢測法能防範未知木馬的攻擊,但存在誤報,可能系統實際已被感染。完整性檢測法能發現未知木馬,但誤報率較高,需要手機空間存儲量大。

4 Android木馬檢測系統的設計與實現

目前,移動終端的網路傳輸速率不夠理想。由於環境變化會對其穩定性造成影響,而特徵碼檢測法對網路傳輸的需求較少,技術成熟有效,誤報率低,故本文選擇特徵碼檢測法作為木馬檢測系統的核心。為了解決該技術對未知木馬漏檢的情況,本文結合許可權檢測技術,對應用程序的許可權進行檢測,並與敏感許可權進行比較,從而鑒別應用的安全性,增強木馬檢測效率。

4.1 系統整體架構

該系統主要分為5個模塊:文件掃描模塊、特徵碼匹配模塊、許可權掃描模塊、敏感許可權匹配模塊和結果顯示模塊。系統整體架構如圖4所示。

4.2 文件掃描模塊

Android應用程序主要由Java語言編寫,編譯後會生成APK文件。APK文件是zip格式的壓縮包。文件掃描模塊首先遍歷系統中的文件,判斷其是否是壓縮形式。如果是,進行解壓縮操作,然後對掃描的APK文件提取特徵值,並傳遞給特徵碼匹配模塊。該模塊工作流程圖如圖5所示。

4.3 特徵碼匹配模塊

該模塊將掃描文件的特徵碼與特徵庫中的特徵碼進行匹配。若匹配成功,則判定該掃描文件為可疑木馬文件,並輸出其路徑和名稱信息;否則,輸出未發現可疑木馬程序。該模塊工作流程圖如圖6所示。

4.4 許可權掃描模塊

正常情況下,Android系統中的應用程序無法對系統以及其他應用資源進行訪問。如果應用程序在系統運行時需要對一個有許可權保護的功能進行訪問,那麼必須在Android Manifest.xml中使用標籤聲明需求的許可權信息[8]。例如,一個申請「讀取用戶聯繫人信息」許可權的聲明形式如下:

XML文件中的

節點記錄了應用程序的許可權,本模塊就是對被掃描應用程序的許可權信息進行記錄。

4.5 敏感許可權匹配模塊

Android許可權管理機制對應用程序可以執行的操作在許可權方面進行了嚴格控制。根據訪問資源、系統API的不同,Android系統共封裝了145個許可權[9]。該模塊對封裝的所有許可權中涉及用戶隱私、資費耗損等敏感許可權進行統計,形成敏感許可權庫。然後,將掃描文件的許可權集與之對比,當應用包含敏感許可權時,判定為具有威脅性的木馬程序。

綜上,許可權檢測的工作流程圖如圖7所示。

5 實驗對比分析

Android木馬檢測系統的實現,如圖8所示。

為評估本文設計的Android木馬檢測系統的工作效率,特將其與著名的Android惡意軟體靜態分析工具Androguard進行實驗對比。實驗從國內各大安全論壇上收集了200個木馬樣本,其中涉及吸費、隱私、惡意廣告等惡意行為。實驗結果如表1所示。

由表1可以看出,本文設計的Android木馬檢測系統的檢測率明顯優於Androguard。Androguard採用特徵碼掃描技術只能對已知木馬程序進行檢測,而本文結合許可權檢測,能對未知木馬檢測能力有一定補充,達到了設計的預期目標。同時,不斷優化許可權預警模型,實現更加準確有效檢測,將是下一步的研究重點。

6 結 語

本文使用特徵碼檢測與許可權檢測相結合的方案,設計並實現了Android平台下的木馬檢測系統。經實驗對比分析可控制,該系統能彌補特徵碼掃描法對未知木馬漏檢的缺陷,一定程度上提高了木馬檢測效率。但是,許可權預警機制還不夠完善,下一步需要改進敏感許可權的劃分方式,以期實現更好的檢測效果。

參考文獻:

[1] 郭霖.第一行代碼——Android[M].第2版.北京:人民郵電出版社,2016.

[2] 董蕾,黃淑華,尹浩然等.基於Android平台的手機木馬關鍵技術分析[J].技術研究,2012(11):63-65.

[3] 康志博.基於Android平台的木馬機理與檢測技術研究[D].北京:北京郵電大學,2014.

[4] 曹歡歡,李永忠.Android平台下的安全檢測軟體的設計與實現[J].電子設計工程,2015(12):141-144.

[5] 夏彬,邱峰.基於Android的木馬檢測引擎的研究與實現[J].電信科學,2016(10):36-41.

[6] 莫宇祥,俞建鑾,王磊等.基於角色的Android手機平台木馬檢測系統[J].現代計算機,2011(12):51-55.

[7] 佟得天.基於行為分析的Android手機木馬檢測技術研究[D].廣州:中山大學,2012.

[8] 孟康,周小兵,韓強.基於Android簽名及敏感許可權分組的安全檢測系統[J].雲南民族大學學報:自然科學版,2015,24(05):418-421.

[9] 祝小蘭,王俊峰,杜垚等.基於敏感許可權及其函數調用圖的Android惡意代碼檢測[J].四川大學學報:自然科學版,2016,53(03):526-533.

作者:吳 勇,李永忠

單位:江蘇科技大學 計算機學院,江蘇 鎮江 212003

作者簡介:吳 勇,男,碩士,主要研究方向為網路與信息安全;

李永忠,男,碩士,教授,主要研究方向為網路安全、藏文信息處理。

本文刊登在《通信技術》2018年第1期(轉載請註明出處,否則禁止轉載)

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 通信技術編輯部 的精彩文章:

監控視頻幀間篡改檢測系統設計與性能優化研究

TAG:通信技術編輯部 |