◆張海艦 方 舟
?
Android 惡意軟件檢測技術(shù)分析和應(yīng)用研究
◆張海艦 方 舟
(空軍預(yù)警學(xué)院 湖北 430019)
Android 惡意軟件檢測技術(shù)作為系統(tǒng)研發(fā)的重要內(nèi)容,為用戶提供了重要的安全保障。本文在研究中主要以 Android 惡意軟件檢測技術(shù)為核心,探究 Android 惡意軟件檢測技術(shù)分析與應(yīng)用,進而為相關(guān)研究人員提供一定的借鑒。
惡意軟件;檢測技術(shù);分析;應(yīng)用
Android系統(tǒng)的廣泛應(yīng)用使得Android惡意軟件數(shù)量逐漸增多,相比于傳統(tǒng)木馬危害而言,Android平臺手機木馬可以偷取用戶話費,并披露出手機通訊錄、短信、照片等用戶隱私,進而嚴重威脅到用戶個人信息,同時也給國家安全帶來極大的危害。而Android惡意軟件檢測技術(shù)起到了至關(guān)重要的作用,保證Android應(yīng)用程序的安全性。
1.1 系統(tǒng)結(jié)構(gòu)
Android屬于移動設(shè)備平臺,其軟件結(jié)構(gòu)主要涉及到操作系統(tǒng)層、Libraries與運行環(huán)境、應(yīng)用程序框架、應(yīng)用程序等內(nèi)容。在操作系統(tǒng)層中,作為Android系統(tǒng)底層,操作系統(tǒng)以Linux2.6為內(nèi)核,移動設(shè)備相關(guān)程序作為輔助,其中主要涉及到顯示驅(qū)動、音頻驅(qū)動、Wi-Fi驅(qū)動、鍵盤驅(qū)動、藍牙驅(qū)動、相機驅(qū)動、Binder IPC驅(qū)動以及能源管理系統(tǒng)等重要內(nèi)容,相比于其他子系統(tǒng)而言,操作系統(tǒng)層具有極大的開放性,與各個系統(tǒng)分支聯(lián)系緊密,是保證Android系統(tǒng)操作水平和性能的重要因素。
1.2 程序組件模型
Android系統(tǒng)應(yīng)用程序以組件應(yīng)用設(shè)計為核心,各個應(yīng)用程序均由配套組件構(gòu)成,以實現(xiàn)程序間的組件共享,提高運行效率和運行質(zhì)量。Android系統(tǒng)程序組件主要包括活動組件、服務(wù)組件、數(shù)據(jù)組件和觸發(fā)器組建,其中活動組建主要負責(zé)和使用者的交流工作,因此成為各個組件中的核心部分?;顒咏M件以界面形式呈現(xiàn),界面中被設(shè)置各個系統(tǒng)控件,在用戶進行系統(tǒng)操作的過程中,活動組建可以提供相應(yīng)的可視化界面,直接關(guān)系到用戶體驗與系統(tǒng)反應(yīng)能力。
1.3 安全機制
Android系統(tǒng)在實際運行中具有權(quán)限分離特性,各個應(yīng)用程序具備身份識別功能,其識別方式相對獨立,相比于Linux權(quán)限分離機制而言,Android應(yīng)用程序間的網(wǎng)絡(luò)訪問與數(shù)據(jù)管理處于隔離狀態(tài),利用系統(tǒng)程序需求進行UID與GID的分配,并在群體身份的基礎(chǔ)上,構(gòu)建權(quán)限平臺,進而保證Android系統(tǒng)運行中的安全功能。其安全層為以下幾點內(nèi)容:(1)POSIX層。在安裝APK格式程序安裝的過程中,系統(tǒng)會分配唯一ID,以防止程序運行過程中的相互干擾。從這一層面上看,Android系統(tǒng)會在各個應(yīng)用程序中建立獨立沙箱,其沙箱具有特定的訪問權(quán)限,與其他程序進行隔離,以實現(xiàn)各個應(yīng)用程序的有序運行。(2)文件訪問控制層。文件訪問控制層以Linux權(quán)限控制為技術(shù)支持,系統(tǒng)會分配各個文件與目錄的獨立訪問權(quán)限,穩(wěn)定和限制訪問身份,保證系統(tǒng)信息的安全性。
2.1 Taint Droid
Taint Droid在Android系統(tǒng)中可以對多粒度污點進行跟蹤,通過多級變量跟蹤對污點進行標記,設(shè)置污點標簽,在系統(tǒng)運行的過程中,也可以對更新后變量污點進行儲存管理,將各個污點根據(jù)標簽設(shè)置劃分到Parcel容器中,以Binder通信方式進行傳播。在實際運行中,Taint Droid會自動將用戶隱私數(shù)據(jù)轉(zhuǎn)化為污染源,并對其截取加密處理。移動設(shè)備中的敏感信息在轉(zhuǎn)化為污點后,污點接口通過的Dalvik虛擬機解釋器保存在制定位置,受信程序使用污點信息后會傳播數(shù)據(jù)流,實現(xiàn)多個虛擬機同時運行。同時,在使用污點信息時,Binder庫會對感染信息進行合并顯示,組成污點數(shù)據(jù)包,被不受信程序接受,Binder庫檢索污點標簽中可疑的數(shù)據(jù),并報告這些可疑事件。
2.2 Monkey
Monkey主要在Android模擬器與設(shè)備程序中運行,作為一種命令行工具,主要涉及到基本配置、運行約束和事件核查等測試選項。在實際運行的過程中,Monkey可以形成用戶點擊、手勢等事件偽隨機流,進而模擬用戶操作對Android系統(tǒng)進行系列安全檢測。在Monkey進行系統(tǒng)檢測的過程中,會將已生成事件重新傳輸?shù)紸ndroid系統(tǒng)中,并對系統(tǒng)行為開展跟蹤檢測,若被檢測對象接收到失控異?;蛘咝纬沙绦虿豁憫?yīng)錯誤提示,Monkey會及時停止傳輸,并提示報錯,進而保證惡意軟件檢測效果。同時,Monkey操作較為簡單,借助命令性或者是腳本啟動檢測程序,由于Monkey主要運行在Android模擬器與設(shè)備程序中,在實際操作過程中要考慮到Monkey運行環(huán)境,進入Shell后即可輸入Monkey命令,或者在操作命令前設(shè)置adbshell,以實現(xiàn)Android惡意軟件檢測。
2.3 Monkey Runner
從屬性方面看,Monkey Runner與Monkey均為自動化檢測工具,相比于Monkey而言,Monkey Runner主要借助API定義命令實現(xiàn)在模擬器或者是控制設(shè)備中的運行。作為一種開源工具,Monkey Runner提供Python腳本,幫助測試人員控制模擬器與真機,其檢測內(nèi)容主要涉及到安裝程序、自動運行、模擬用戶點擊、截取并保存用戶界面圖等內(nèi)容,進而實現(xiàn)對Android應(yīng)用程序的檢測。在實際運行中,Monkey Runner具有很大的檢測優(yōu)勢,一方面利用API測試套件,同時連接多個設(shè)備與模擬器,根據(jù)程序設(shè)置對各個測試對象進行檢測,進而實現(xiàn)多臺設(shè)備的控制,提高惡意軟件檢測效率。另一方面,Monkey Runner可以進行功能測試與回歸測試,用戶輸入事件數(shù)值即可得到檢測結(jié)果,并將結(jié)果截屏和正確結(jié)果進行對比,進而明確測試應(yīng)用的準確性與穩(wěn)定性。
3.1 設(shè)計動態(tài)檢測沙箱
動態(tài)檢測沙箱主要有黑名單匹配、模擬器動他檢測以及檢測結(jié)果分析反饋等三個檢測功能模塊,黑名單匹配主要對未知軟件進行初步篩選,模擬器對樣本進行軟件安裝、惡意行為觸發(fā)、行為記錄以及軟件卸載等功能,檢測結(jié)果以網(wǎng)頁形式呈現(xiàn),直觀顯示出惡意軟件檢測結(jié)果,并展示檢測過程。
3.2 搭建運行環(huán)境
為了提高動態(tài)沙箱檢測效率與質(zhì)量,要創(chuàng)造相應(yīng)的運行環(huán)境,進而保證動態(tài)沙箱在實際檢測中的有效性。在硬件環(huán)境方面,設(shè)置Linux服務(wù)器、計算機和Android手機,開發(fā)者會提供API,通過Java語言構(gòu)建應(yīng)用程序構(gòu)架,其中涉及到活動、服務(wù)、廣播意圖接受者、內(nèi)容提供者以及過濾器等部分。在應(yīng)用程序中,Google將Android SDK傳輸給程序員,并以此為基礎(chǔ)進行Android系統(tǒng)開發(fā),根據(jù)Java編寫程序,將各類資源信息組建成APK文件安裝到Android移動設(shè)備中即可。在軟件環(huán)境中,運行Android SDK,安裝NVC軟件,以輔助惡意軟件分析檢測。
本文通過對Android惡意軟件檢測技術(shù)分析與應(yīng)用的研究,在分析Android 系統(tǒng)平臺的基礎(chǔ)上,提出Taint Droid、Monkey、Monkey Runner等檢測技術(shù),并以動態(tài)檢測沙箱為核心設(shè)計Android惡意軟件檢測系統(tǒng),進而保證用戶的信息安全。
[1]劉曉東.基于行為特征的Android惡意軟件檢測技術(shù)研究[D].寧波大學(xué),2014.
[2]劉陽.應(yīng)用隨機森林與神經(jīng)網(wǎng)絡(luò)算法檢測與分析Android應(yīng)用惡意代碼[D].北京交通大學(xué),2015.
[3]李駿驍.基于監(jiān)督型機器學(xué)習(xí)分類方法的Android惡意軟件檢測技術(shù)研究[D].南京大學(xué),2014.