亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于JDWP的Android應(yīng)用程序惡意行為檢測研究

        2017-05-02 15:14:48王宇曉
        移動通信 2017年7期

        王宇曉

        【摘 要】當(dāng)前Android惡意應(yīng)用程序威脅越來越多,因此首先介紹了當(dāng)前Android應(yīng)用程序動態(tài)檢測技術(shù)背景和發(fā)展趨勢,其后重點介紹以JDWP協(xié)議為基礎(chǔ)的惡意行為檢測方法和檢測技術(shù),最后與實際檢測經(jīng)驗結(jié)合,介紹如何依照檢測結(jié)果對應(yīng)用程序惡意行為進(jìn)行分析和判斷。

        【關(guān)鍵詞】Android應(yīng)用程序 動態(tài)檢測 JDWP 惡意行為分析

        1 引言

        近年來,智能手機(jī)深入應(yīng)用于人們生活當(dāng)中,Android操作系統(tǒng)因其本身開源性和免費(fèi)性,受到許多手機(jī)廠商和開發(fā)者的青睞和支持。據(jù)悉,2016年度Android系統(tǒng)在全球市場的占有率已經(jīng)高達(dá)80%。但隨之而來的是,與Android平臺相關(guān)的惡意應(yīng)用軟件攻擊也越來越多。OWASP[1]曾對比上百萬應(yīng)用軟件,發(fā)布了十大移動應(yīng)用惡意行為,其中涉及惡意扣費(fèi)、靜默下載、隱私竊取、資費(fèi)消耗、遠(yuǎn)程控制等多方面。2016年,360互聯(lián)網(wǎng)安全中心發(fā)布《2016年AnDroid惡意軟件專題報告》,其中提到2016年累計截獲Android平臺新增惡意程序樣本1403.3萬個,平均每天新增3.8萬惡意程序樣本,而新增惡意程序主要是資費(fèi)消耗,占比高達(dá)74.2%,其次是惡意扣費(fèi)(16.5%)、隱私竊取(6.1%)[2]。

        Android應(yīng)用軟件的惡意行為給廣大用戶帶來了財產(chǎn)安全和個人新信息安全的重大威脅,對行業(yè)造成不良影響。在此種情況下,對智能手機(jī)應(yīng)用軟件進(jìn)行檢測是必要的,以求達(dá)到對風(fēng)險可知、可控。當(dāng)前Android平臺上,對應(yīng)用軟件檢測主要分為靜態(tài)檢測技術(shù)和動態(tài)檢測技術(shù)兩個方面[3]。靜態(tài)檢測技術(shù)重點分析使用逆向技術(shù)[4]后得到的源碼,關(guān)注業(yè)務(wù)邏輯和相關(guān)算法,以達(dá)到對應(yīng)用軟件檢測的目的。動態(tài)檢測技術(shù)將應(yīng)用程序置于運(yùn)行環(huán)境中運(yùn)行,對其動態(tài)行為實時監(jiān)控、分析和判斷,以判定應(yīng)用軟件是否存在出現(xiàn)惡意行為的潛在風(fēng)險。

        本文基于JDWP協(xié)議監(jiān)控敏感行為API,對Android應(yīng)用程序進(jìn)行動態(tài)檢測并分析和判斷行為事件是否具備惡意行為特征,接下來會從動態(tài)檢測技術(shù)背景、JDWP監(jiān)控應(yīng)用程序API原理和過程、惡意行為分析和判斷這三個方面進(jìn)行介紹。

        2 動態(tài)檢測技術(shù)背景和相關(guān)工作

        2.1 通用動態(tài)檢測技術(shù)

        動態(tài)檢測技術(shù)通常會把Android應(yīng)用程序置于真實或者模擬環(huán)境中,監(jiān)控應(yīng)用程序的運(yùn)行情況,對應(yīng)用程序行為進(jìn)行實時記錄分析,以判斷其正常性。目前Android應(yīng)用程序動態(tài)監(jiān)控技術(shù)既包括內(nèi)核層監(jiān)控,也包括應(yīng)用層監(jiān)控。內(nèi)核層監(jiān)控可采用鉤子(hook)技術(shù)、掛鉤系統(tǒng)關(guān)鍵敏感API來實現(xiàn)動態(tài)監(jiān)測;而應(yīng)用層監(jiān)控采用重打包技術(shù)進(jìn)行檢測[5]。常用的動態(tài)檢測技術(shù)包括DroidBox、APIMonitor[6]等。

        DroidBox主要用于檢測隱私泄露,通過對隱私數(shù)據(jù)進(jìn)行標(biāo)識,使隱私數(shù)據(jù)成為污染源。一旦惡意程序獲取隱私數(shù)據(jù),并對其進(jìn)行操作,會使得新生成的數(shù)據(jù)被污染。如果出現(xiàn)污染數(shù)據(jù)流出或泄露的情況,證明應(yīng)用軟件出現(xiàn)隱私泄露行為[7],在其他方面比如文件讀寫操作、網(wǎng)絡(luò)傳輸數(shù)據(jù)、動態(tài)加載、短信以及電話等操作,都能起到監(jiān)控作用,但工具較大,容易在使用過程中出現(xiàn)問題。

        APIMonitor利用Dalvik層面代碼篡改和重打包技術(shù),監(jiān)控特定敏感API以追蹤應(yīng)用軟件的惡意行為。但隨著應(yīng)用程序安全越來越受到重視,應(yīng)用程序采用加固、反編譯、抗重打包、簽名驗證等技術(shù)增強(qiáng)安全性。這樣APIMonitor工具本身就有了很大的局限性,適用范圍受到限制。

        2.2 JDWP調(diào)試原理

        JDWP(JAVA調(diào)試協(xié)議)是JAVA平臺調(diào)試體系結(jié)構(gòu)的重要組成部分之一[8],作為調(diào)試器和目標(biāo)虛擬機(jī)交互的通信協(xié)議,在調(diào)試過程中起到重要作用。簡而言之,JDWP協(xié)議的作用就是通信,調(diào)試器可使用JDWP協(xié)議獲取虛擬機(jī)中程序的信息或者控制目標(biāo)程序運(yùn)行狀態(tài)。而虛擬機(jī)可通過JDWP協(xié)議通知調(diào)試器返回信息以執(zhí)行后續(xù)操作[9],包括握手和應(yīng)答兩個階段,在建立傳輸層連接之后,調(diào)試器會發(fā)送字符串“JDWP-Handshake”到虛擬機(jī),虛擬機(jī)回復(fù)字符串“JDWP-Handshake”。兩端握手結(jié)束,調(diào)試器即可對虛擬機(jī)發(fā)送命令。

        JDWP通信內(nèi)容包括命令和回復(fù),調(diào)試器和虛擬機(jī)兩端都有可能發(fā)送命令包和回復(fù)包。調(diào)試器發(fā)送命令給虛擬機(jī),獲取當(dāng)前在虛擬機(jī)中運(yùn)行程序的信息,虛擬機(jī)回復(fù)該命令是否成功執(zhí)行。同時虛擬機(jī)也可以向調(diào)試器發(fā)送命令包以通知部分事件的發(fā)生。JDWP執(zhí)行的異步性使得請求和回復(fù)之間不需要考慮順序,減少等待時間,可直接發(fā)送其他命令。同時任何語言都可以實現(xiàn)JDWP,使得檢測系統(tǒng)更加容易實現(xiàn)。

        3 惡意行為監(jiān)控過程

        本文的動態(tài)檢測技術(shù)利用JDWP協(xié)議、調(diào)試器與虛擬機(jī)通信獲得虛擬機(jī)工作狀態(tài),以達(dá)到監(jiān)控應(yīng)用程序的作用。但是JDWP協(xié)議只能獲取正在運(yùn)行的應(yīng)用程序信息,所以當(dāng)用戶開啟應(yīng)用程序時,需要根據(jù)之前獲取的應(yīng)用程序基本信息進(jìn)行JDWP通信,獲取應(yīng)用程序的運(yùn)行信息。

        在Android系統(tǒng)中,每一個Android應(yīng)用都運(yùn)行在一個虛擬機(jī)實例里,每一個虛擬機(jī)實例都是一個獨立的進(jìn)程空間。每一個進(jìn)程都有一個ID,被稱為Process ID(PID)[10]。調(diào)試器根據(jù)PID追蹤應(yīng)用程序運(yùn)行狀況,aapt工具可獲取當(dāng)前移動設(shè)備中所有應(yīng)用程序信息,比如應(yīng)用程序名稱、應(yīng)用程序包名、應(yīng)用程序權(quán)限等,使用aapt命令獲取應(yīng)用程序名稱。Android系統(tǒng)內(nèi)置ps命令,ps命令可根據(jù)具體應(yīng)用程序名稱獲取此進(jìn)程的PID。PC端使用ADB(Android Debug Bridge)調(diào)試器,根據(jù)正在運(yùn)行的應(yīng)用程序PID值向Android虛擬機(jī)發(fā)出JDWP命令,請求虛擬機(jī)應(yīng)用程序運(yùn)行狀態(tài),其后虛擬機(jī)返回應(yīng)用程序相關(guān)信息,PC實時輸出應(yīng)用軟件動態(tài)行為并判斷此應(yīng)用程序是否存在惡意行為。動態(tài)檢測過程示意圖如圖1所示:

        圖1 動態(tài)檢測過程示意圖

        JDWP監(jiān)控處理過程如下:

        (1)ADB調(diào)試器發(fā)送JDWP請求與Android虛擬機(jī)握手,建立連接。

        (2)根據(jù)用戶需求,ADB調(diào)試器發(fā)送JDWP命令到Android虛擬機(jī),獲取當(dāng)前某個運(yùn)行中應(yīng)用程序所加載的所有API地址。

        (3)匹配用戶需監(jiān)控API,確定地址,發(fā)送JDWP命令到Android虛擬機(jī),對具體地址進(jìn)行監(jiān)控。

        (4)ADB調(diào)試器處理監(jiān)控返回信息,判斷連接和監(jiān)控有效。

        (5)用戶執(zhí)行應(yīng)用程序輸入操作,一旦被監(jiān)控的API被觸發(fā),Android虛擬機(jī)返回相關(guān)信息到ADB調(diào)試器。

        (6)對返回信息分析和判斷,實時通過PC端展示給用戶,達(dá)到實時監(jiān)控目的。

        JDWP監(jiān)控過程時序圖如圖2所示。

        監(jiān)控過程使用多進(jìn)程監(jiān)控思想,對于多個應(yīng)用程序開啟多個進(jìn)程處理。進(jìn)程之間相互獨立,即使在監(jiān)控過程中某個應(yīng)用程序崩潰,也不會影響對其他應(yīng)用程序的監(jiān)控。同時多進(jìn)程提高了性能,每一個進(jìn)程都具有相同的地址空間和相同的資源,這樣能夠達(dá)到的性能上限相對較大。

        4 惡意行為分析和判斷

        本部分惡意行為分析和判斷是根據(jù)大量實際檢測經(jīng)驗分析而來,包括兩部分內(nèi)容,一是介紹如何對用戶信息泄露監(jiān)控;二是如何根據(jù)事件行為時間序列對惡意行為進(jìn)行監(jiān)控。

        在引言中提到,惡意行為中涉及惡意扣費(fèi)、靜默下載、隱私竊取、資費(fèi)消耗等占的百分比較大。惡意扣費(fèi)和資費(fèi)消耗相似,其行為都涉及后臺發(fā)送短信、撥打電話、連接網(wǎng)絡(luò)等。惡意行為分析中對短信發(fā)送相關(guān)API、撥打電話API以及連接網(wǎng)絡(luò)API監(jiān)控與分析是必不可少的部分[11]。因而本文在惡意行為分析與判斷部分,重點關(guān)注隱私竊取。隱私竊取行為會在用戶不知情的情況下,將手機(jī)內(nèi)涉及用戶隱私信息內(nèi)容通過互聯(lián)網(wǎng)上傳到服務(wù)器。獲取移動設(shè)備信息比如IMEI、IMSI等需監(jiān)控函數(shù)android.telephony.telephonyManager.getDeviceId和android.telephony.telephonyManager.getSubscriberId。在分析和判斷時,此類監(jiān)控API一旦出現(xiàn),可定義為相關(guān)惡意行為出現(xiàn)。除移動設(shè)備本身信息外,用戶信息以不同存儲方式保存在移動設(shè)備中。其他用戶私有數(shù)據(jù)存儲和共享部分借助Content Provider實現(xiàn),Content Provider為數(shù)據(jù)定義統(tǒng)一資源定位符(URI),讀取數(shù)據(jù)時只需訪問對應(yīng)URI。對于Content Provider,包括四種操作,查詢、插入、更新、刪除等行為需要監(jiān)控API如下:android.content.ContentResolver.query、android.content.ContentResolver.insert、android.content.ContentResolver.update、android.content.ContentResolver.delete。一旦出現(xiàn)此類函數(shù)監(jiān)控事件,表明應(yīng)用軟件對數(shù)據(jù)庫進(jìn)行操作。但由于Content Provider本身設(shè)計機(jī)制,會根據(jù)不同的輸入?yún)?shù)對不同的數(shù)據(jù)庫進(jìn)行操作,比如日歷、聯(lián)系人、短信、上網(wǎng)記錄、圖片、視頻、音頻等數(shù)據(jù),需要根據(jù)其對應(yīng)URI參數(shù)進(jìn)行特定監(jiān)控。

        應(yīng)用程序惡意行為分析內(nèi)容較多,部分涉及讀取的惡意行為根據(jù)監(jiān)控事件即可確認(rèn),如上文所介紹。而部分惡意行為本身只是敏感行為,需要根據(jù)敏感行為發(fā)生上下文環(huán)境和關(guān)系進(jìn)行分析判斷,來確定它是否可以被定義為惡意行為。

        本文將監(jiān)控實時事件行為與用戶輸入操作行為的時間序列進(jìn)行對比。若敏感行為發(fā)生時間未與用戶輸入操作時間對應(yīng),即可將敏感行為判定為惡意行為,這種分析方式符合可治可控原則。除此之外,惡意行為也需要借助實際運(yùn)行環(huán)境中上下文事件行為來進(jìn)行分析和判斷。

        以某一款錄音應(yīng)用程序為例介紹。錄制音頻函數(shù)包括android.media.MediaRecorder.start和android.media.AudioRecord.startRecording。錄制音頻和錄制視頻時都會使用到android.media.MediaRecorder.start函數(shù)。因而在對此款錄音應(yīng)用程序行為監(jiān)控時,android.media.MediaRecorder.start函數(shù)出現(xiàn),單純分析此事件,并不能確定此款錄音應(yīng)用程序只是在進(jìn)行其功能性錄音行為,后臺是否開啟視頻錄制無法確定。值得一提的是,在拍照和錄制視頻時,Android要求必須開啟相機(jī)預(yù)覽功能,而部分后臺錄制和拍照采取開啟相機(jī)預(yù)覽而設(shè)置預(yù)覽模塊大小為零的方案。用戶無法看到相機(jī)預(yù)覽,這就達(dá)到后臺拍照錄影的目的。在錄音應(yīng)用程序開啟時間段內(nèi),android.media.MediaRecorder.start事件發(fā)生本身屬于正常行為。但如果此時間段內(nèi)出現(xiàn)開啟相機(jī)預(yù)覽(android.hardware.Camera.startPreview)事件,錄音應(yīng)用軟件則具備惡意行為嫌疑。此錄音應(yīng)用程序在錄制音頻同時也在后臺錄制視頻,因而對敏感行為上下文事件行為發(fā)生分析和判斷是很有必要的,特別是由于Android系統(tǒng)的開放性,同一功能可能由不同方法完成,在惡意行為分析和判斷過程中特殊情況值得重視。

        5 優(yōu)勢和改進(jìn)

        本文中提到的動態(tài)檢測技術(shù)使用多進(jìn)程思想,本身性能會有較大的提高,但是如果移動設(shè)備本身需要監(jiān)控的應(yīng)用程序過多的話,對PC端性能有較高要求。所以每次監(jiān)控應(yīng)用程序數(shù)量可以在PC端性能允許的情況下達(dá)到盡量多的數(shù)目,以求提高監(jiān)控效率。

        利用JDWP原理對應(yīng)用程序事件進(jìn)行實時監(jiān)控和檢測,本身具有較高的時效性。但JDWP需要ADB調(diào)試器對Android虛擬機(jī)進(jìn)行通信,通信本身就有一定時耗。其次由于Android虛擬機(jī)的設(shè)計,每個虛擬機(jī)實例都是一個獨立進(jìn)程空間。當(dāng)有新的Android應(yīng)用程序開啟,創(chuàng)建一個新的虛擬機(jī)實例并被追蹤監(jiān)控,這期間也需要一定的時間消耗,所以在用戶使用過程中,監(jiān)控新開啟的應(yīng)用程序需要一定的時間緩沖,應(yīng)用程序用戶模擬輸入或?qū)嶋H輸入需要等待連接建立監(jiān)控開啟后進(jìn)行。即便虛擬機(jī)創(chuàng)建進(jìn)程采用Linux的fork機(jī)制復(fù)制進(jìn)程,相比較創(chuàng)建進(jìn)程會有更高的效率,但短時間停頓仍然存在。在此段時間內(nèi)如果應(yīng)用程序開啟用戶輸入行為,可能會出現(xiàn)無法監(jiān)控的情況。如果考慮應(yīng)用程序行為監(jiān)控完整性,就需要用戶輸入等待一段時間,這樣可能會造成不太良好的用戶體驗。在這一方面,期待在之后的研究和探索有一定的改進(jìn)。

        6 結(jié)束語

        本文介紹了當(dāng)前Android應(yīng)用程序動態(tài)檢測技術(shù)和發(fā)展現(xiàn)狀,重點研究了以JDWP為基礎(chǔ)的動態(tài)檢測技術(shù),并結(jié)合實際檢測經(jīng)驗分析惡意行為的判定。目前針對Android應(yīng)用程序動態(tài)檢測技術(shù)并不算少,但大多與實際應(yīng)用并不能很好的結(jié)合,具有一定的局限性。然而應(yīng)用程序越來越多地應(yīng)用到人們生活、學(xué)習(xí)和工作的方方面面,因而研究應(yīng)用程序的動態(tài)監(jiān)測技術(shù)以及如何對惡意行為分析判斷定性具有一定的意義。

        參考文獻(xiàn):

        [1] OWASP. Mobile Top 10 2016-Top 10[CP/OL]. (2017-02-

        13). https://www.owasp.org/index.php/Mobile_Top_10_

        2016-Top_10.

        [2] 360互聯(lián)網(wǎng)安全中心. 2016年Android惡意軟件專題報告[EB/OL]. (2017-02-28). http://blogs.#/360mobile/2017/02/28/review_android_malware_of_2016/.

        [3] Shabtai A. Malware Detection on Mobile Devices[A]. Mobile Data Management[C]. 2010: 289-290.

        [4] 豐生強(qiáng). Android軟件安全與逆向分析[M]. 北京: 人民郵電出版社, 2013: 6-7.

        [5] 王艷紅,楊丁寧,史德年. 當(dāng)前移動應(yīng)用軟件常用安全檢測技術(shù)[J]. 現(xiàn)代電信科技, 2012(9): 6-10.

        [6] WU D J, MAO C H, WEI T E, et al. Droidmat: Android malware detection through manifest and api calls tracing[A]. 7th Asia Joint Conference on Information Security[C]. 2012.

        [7] Sanz B, Santos I, Nieves J, et al. MADS: Malicious Android ApplicationsDetection through String Analysis[M]. Springer Berlin Heidelberg, 2013: 178-191.

        [8] IBM. 深入 Java 調(diào)試體系,第 3 部分: JDWP 協(xié)議及實現(xiàn)[EB/OL]. (2014-11-04). https://www.ibm.com/developerworks/cn/java/j-lo-jpda3/.

        [9] 史成潔. Android平臺應(yīng)用軟件保護(hù)技術(shù)的研究與實現(xiàn)[D]. 北京: 北京郵電大學(xué), 2015.

        [10] 周志明. 深入理解Java虛擬機(jī)[M]. 北京: 機(jī)械工業(yè)出版社, 2013.

        [11] 楊衛(wèi)軍,秦海權(quán),王鵬. Android移動應(yīng)用軟件檢測平臺[J]. 信息網(wǎng)絡(luò)安全, 2012(8): 64-66.★

        男人添女人囗交做爰视频| 国外亚洲成av人片在线观看| 欧美人与物videos另类xxxxx| 国产欧美日本亚洲精品一5区| 侵犯了美丽丰满人妻中文字幕| 4hu四虎永久免费地址ww416| 色狠狠av老熟女| 中文字幕精品一二三区| 在线观看亚洲视频一区二区| 欧美大胆性生话| 成熟人妻av无码专区| 亚洲成AV人片在一线观看| 伊人久久亚洲精品中文字幕| 人成午夜免费视频无码| 国产av一区二区三区日韩| 欧美人与动zozo| 日本精品一区二区三区在线播放 | 一区二区三区人妻少妇| 天天躁日日躁狠狠很躁| 国产精品高清视亚洲乱码有限公司| 免费人成网站在线播放| 国产一二三四2021精字窝| 国产69精品久久久久9999| 亚洲AV秘 片一区二区三区| 东京热加勒比久久精品| 亚洲av不卡一区二区三区| 國产AV天堂| 国产超碰在线91观看| 国产对白国语对白| 一本一本久久a久久精品综合| 亚洲国产日韩综一区二区在性色 | 日本精品中文字幕人妻| 日本最新免费二区三区| 国产v视频| 日韩av综合色区人妻| 高潮毛片无遮挡高清视频播放| 国产精品麻花传媒二三区别| 精品女同一区二区三区不卡| 亚洲av成人一区二区三区本码| 97精品人妻一区二区三区香蕉| 91情侣在线精品国产免费|