999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于程序分析的Android應(yīng)用惡意行為檢測﹡

2013-10-31 06:49:18吳俊昌程紹銀
通信技術(shù) 2013年7期
關(guān)鍵詞:指令程序污染

吳俊昌,蔣 凡,程紹銀

(①中國科學(xué)技術(shù)大學(xué)信息安全測評中心,安徽 合肥 230027;②中國科學(xué)技術(shù)大學(xué)計算機科學(xué)與技術(shù)學(xué)院,安徽 合肥 230027;③安徽省計算與通訊軟件重點實驗室,安徽 合肥 230027)

0 引言

目前,智能手機用戶日益增多,根據(jù)分析機構(gòu)Strategy Analytics給出的最新統(tǒng)計數(shù)據(jù)表明,2012年第三季度的全球的在用智能手機數(shù)已經(jīng)突破 10億大關(guān),達10.38億[1],已經(jīng)超過個人電腦的數(shù)量。

Google的Android智能操作系統(tǒng)得到廣大應(yīng)用程序開發(fā)者的追捧,成為目前主流的智能手機系統(tǒng)。然而 Android市場上的應(yīng)用程序管理混亂,這導(dǎo)致了 Android系統(tǒng)上的惡意應(yīng)用程序頻發(fā),使用戶能夠放心安全的使用應(yīng)用程序成為亟待解決的問題。為此,學(xué)者們進行了深入的研究,文獻[2]對Android后臺監(jiān)聽實現(xiàn)機制進行了較為深入的研究,便于對Android系統(tǒng)的機制進行了解。文獻[3]對Rootkit攻擊進行了深入研究,并給出了解決方法。TaintDroid[4]以在Android系統(tǒng)中添加中間件的方式使用一個輕量級的動態(tài)污點分析引擎來監(jiān)測應(yīng)用程序中的隱私泄漏問題。當出現(xiàn)隱私泄漏時,系統(tǒng)會通知用戶問題出現(xiàn)。Enck等[5]實現(xiàn)了Dalvik字節(jié)碼反匯編工具ded,將字節(jié)碼轉(zhuǎn)換為源碼,通過現(xiàn)有的Java源碼分析工具,分析出應(yīng)用程序中存在的安全問題。AppInspector[6]采用動態(tài)分析方法,可以自動生成輸入并在程序執(zhí)行過程中記錄日志,通過分析記錄的日志信息來檢測應(yīng)用程序當中是否存在隱私泄露行為。該方法依賴于特定的觸發(fā)條件,對于觸發(fā)邏輯較為復(fù)雜的應(yīng)用程序,存在明顯的不足。

本文提出一種基于程序分析的方法,對應(yīng)用程序進行惡意行為檢測,進而分析應(yīng)用程序的安全性。首先,對需要分析的應(yīng)用程序進行預(yù)處理,可以快速的識別出不存在惡意行為的應(yīng)用程序;然后,對通過預(yù)處理的應(yīng)用程序構(gòu)建函數(shù)摘要,即針對應(yīng)用程序中函數(shù)本身的特征,構(gòu)建與之相對應(yīng)的函數(shù)摘要;最后,在已構(gòu)建函數(shù)摘要的基礎(chǔ)上,使用污點傳播方法,分析出應(yīng)用程序中存在的惡意行為,并將檢測出的惡意行為輸出。本文對該方法進行了詳細介紹,實驗表明,該方法可以有效檢測出應(yīng)用程序當中存在的惡意行為,具有較高的實用價值。

1 方法概述

檢測方法總體框架如圖1所示,通過預(yù)處理、反匯編、函數(shù)摘要構(gòu)建以及惡意行為檢測等步驟,最終給出檢測結(jié)果。

圖1 檢測方法流程

對 Android應(yīng)用程序惡意行為檢測主要包含以下五個過程:

1)預(yù)處理模塊通過分析APK文件中的Android Manifest.xml文件中的權(quán)限[7](Permission)列表、注冊的監(jiān)聽器[8](Receiver)列表以及注冊的服務(wù)[9](Server)列表,快速篩除不存在惡意行為的應(yīng)用程序。

2)反匯編模塊對classes.dex文件進行反匯編,收集分析時需要的程序信息,例如,指令結(jié)構(gòu),函數(shù)結(jié)構(gòu)以及函數(shù)中的基本塊結(jié)構(gòu),控制流圖以及函數(shù)調(diào)用圖等構(gòu)建函數(shù)摘要必需的結(jié)構(gòu)。

3)函數(shù)摘要構(gòu)建模塊是本方法中非常關(guān)鍵模塊,函數(shù)摘要是對應(yīng)用程序中的函數(shù)體的一種抽象解釋[10]。函數(shù)摘要的構(gòu)建是通過對函數(shù)體中指令模擬執(zhí)行進行的,每條指令都有固定的操作語義。

4)惡意行為檢測模塊是在函數(shù)摘要基礎(chǔ)上,使用污點傳播方法,檢測設(shè)置的污點信息(例如,訪問通訊錄返回的數(shù)據(jù)即可認為是有污點的)能否傳播危險函數(shù)(例如,發(fā)送短信的函數(shù)、連接網(wǎng)絡(luò)的函數(shù)等)調(diào)用點。

5)根據(jù)檢測結(jié)果生成惡意行為的詳細說明,詳細描述當前惡意行為的觸發(fā)流程、關(guān)鍵參數(shù)含有的常量值及帶來的危害等信息。提供圖形化顯示,方便查看。

2 關(guān)鍵模塊設(shè)計實現(xiàn)

(1)預(yù)處理

預(yù)處理是本方法的基礎(chǔ),確定應(yīng)用程序是否需要進行進一步分析。預(yù)處理的檢查時相當嚴格的,所以還是有相當?shù)膽?yīng)用程序需要進一步分析。主要步驟如下:

1)解壓APK文件,從中獲取AndroidManifest.xml文件和classes.dex文件,其中AndroidManifest.xml文件中包含了該應(yīng)用程序中所使用到的權(quán)限,監(jiān)聽器以及服務(wù)等必要的組件。

2)解析AndroidManifest.xml文件,從中獲取申請的權(quán)限列表、監(jiān)聽器列表以及服務(wù)列表。通過將上述列表與經(jīng)驗庫(通過分析大量的惡意應(yīng)用程序獲得)中的模式進行匹配,若匹配成功,則說明應(yīng)用程序中可能存在惡意行為,需要進一步分析;若匹配不成功,則說明應(yīng)用程序中不存在危險行為。例如,惡意應(yīng)用程序一般都需要訪問網(wǎng)絡(luò)的權(quán)限,要獲取這個權(quán)限只有兩種方法:一種是通過申請訪問網(wǎng)絡(luò)的權(quán)限(INTERNET),另一種是使用已具有網(wǎng)絡(luò)權(quán)限的服務(wù)。只需匹配上述兩種情況,只有具有網(wǎng)絡(luò)權(quán)限的應(yīng)用程序需要進一步分析。

(2)函數(shù)摘要構(gòu)建

函數(shù)摘要是基于格程序分析技術(shù)的,是對函數(shù)的一種抽象解釋。抽象解釋只對被分析代碼抽取出感興趣的程序?qū)傩裕@些屬性進行解釋分析。對代碼的抽象解釋通過對需檢測的程序?qū)傩詷?gòu)建程序?qū)傩约希俣x一種偏序關(guān)系,由此構(gòu)成該程序?qū)傩缘囊粋€完全格。格為每條指令指定一種抽象的解釋。在程序模擬執(zhí)行時,遍歷函數(shù)的每條指令,并將其傳遞給格進行解釋,隨著程序的模擬執(zhí)行,格將更新分析關(guān)注的程序?qū)傩孕畔ⅲ敝梁瘮?shù)執(zhí)行結(jié)束,得到一個最終的程序?qū)傩孕畔ⅰ?/p>

函數(shù)摘要是在Android字節(jié)碼指令上構(gòu)建的,對函數(shù)體中的指令進行模擬執(zhí)行的過程。根據(jù)Dalvik字節(jié)碼的語義,對每條指令進行模擬。例如指令new- instance v6, ,是新建一個Sms對象,將該對象放入v6中。在模擬執(zhí)行過程中,則會構(gòu)建一個與Sms相對應(yīng)的對象,保存Sms的信息。

根據(jù)函數(shù)的運行邏輯,對函數(shù)體內(nèi)每條指令進行模擬執(zhí)行,在模擬執(zhí)行過程遇到INVOKE_XXX指令時,則對當前所有與被調(diào)函數(shù)相關(guān)的實參信息保存到函數(shù)摘要中,本文中所構(gòu)建的函數(shù)摘要主要是在函數(shù)調(diào)用點所有變量的信息。

(3)惡意行為檢測

惡意行為檢測使用污點傳播分析方法,圖2為污點傳播分析對應(yīng)的格結(jié)構(gòu),含有Top、Untainted、Tainted和Bottom這4種狀態(tài),任何2種狀態(tài)都存在偏序關(guān)系。污染格分析關(guān)注程序變量的污染狀態(tài),每個變量關(guān)聯(lián)一個污染狀態(tài),分析時將變量解釋為其污染狀態(tài),指令操作解釋為污染狀態(tài)間的操作,得到一個結(jié)果污染狀態(tài)并更新相關(guān)變量的污染狀態(tài)。通過污染格的抽象解釋方法,可確定代碼中每個位置的每個變量的污染狀態(tài)。

圖2 污染格

本文對 Android開發(fā)文檔[11]進行收集整理,并結(jié)合一些已經(jīng)的惡意行為模式,構(gòu)建了一個惡意模式庫,庫中包含三個部分:源函數(shù)(引入污染的函數(shù))模式庫、危險函數(shù)模式庫以及惡意行為模式庫。惡意行為檢測根據(jù)潛在危險函數(shù)參數(shù)信息的不同,標記為不同類型的危險行為。比如對于發(fā)送短信的庫函數(shù)SmsManager.sendTextMessage(…),第1個參數(shù)為目的號碼,如果目的號碼為一個SP號碼,則可能是一種訂購SP服務(wù)的行為。

惡意行為檢測模塊包括以下四個步驟:

1)可疑行為識別。在函數(shù)摘要模擬函數(shù)調(diào)用,匹配函數(shù)調(diào)用路徑上存在的源函數(shù),標記相應(yīng)變量為污染,并將標記的污染信息通過函數(shù)間的調(diào)用進行傳播。在污染信息傳播過程中,若污染信息傳播到與危險函數(shù)模式庫中相同的函數(shù)時,則識別出一條可疑行為。

2)危險行為匹配。對步驟1)識別出的可疑行為進行危險確認,通過詳細分析當前函數(shù)調(diào)用點處的參數(shù)個數(shù)、類型以及常量值信息,并根據(jù)惡意行為模式庫中的詳細配置信息進行危險行為識別。

3)危險等級確定。對步驟2)匹配成功的危險行為確定其危險等級。先根據(jù)當前惡意行為對應(yīng)的函數(shù)名制定一個初步的危險等級,再根據(jù)關(guān)鍵參數(shù)的值信息對當前危險等級進一步調(diào)整,以確定最終的危險等級。

4)檢測結(jié)果保存。保存檢測出的惡意行為的詳細信息,給后面的結(jié)果顯示提供豐富的輸入。

3 實驗評估

根據(jù)上述方法設(shè)計實現(xiàn)了一個原型系統(tǒng),可以惡意扣費、隱私竊取、資費消耗、本地代碼、廣告鏈接等五種類型的惡意行為,惡意行為的分類和描述如表1所示。為了更好的描述不同惡意行為的危害程度,將不同類型的惡意行為分為高中低三個等級。

表1 惡意行為分類

為了驗證所述方法的有效性,對文獻[12]中惡意應(yīng)用程序樣本庫中 1260個惡意應(yīng)用程序樣本進行檢測。危險等級檢測結(jié)果如圖3所示。由于數(shù)據(jù)庫中樣本的DEX文件存在相同的MD5值,最終檢測了865個應(yīng)用程序,存在不同等級的惡意行為。其中檢測到含有高危險行為的應(yīng)用程序 393個(45.4%),不含高危險而含有中危險行為的應(yīng)用有400個(46.2%),不含高危險和中危險只含有低危險行為的應(yīng)用有46個(5.3%)。 由于只關(guān)心以上五種類型的惡意行為,且沒有對惡意樣本進行實際執(zhí)行,分析過程中存在一定程度的檢測誤差,有27個應(yīng)用(3.1%)未檢測到任何惡意行為。

樣本中惡意行為檢測的結(jié)果如圖4所示,可以發(fā)現(xiàn)惡意應(yīng)用程序中存在大量的廣告鏈接,這與Android手機收費模式相關(guān),一般應(yīng)用程序開發(fā)者都是通過廣告獲取利潤的,所以講廣告鏈接設(shè)為低危險行為。本地代碼出現(xiàn)的頻率僅次于廣告鏈接,Java程序通過逆向工具較容易提升到源碼,代碼的保護較難,開發(fā)者越來越傾向于本地庫的使用,故也將其設(shè)置為低危險。惡意程序主要通過惡意扣費、隱私竊取以及資費消耗獲取利潤,他們各占檢測樣本總數(shù)的4.97%、43.35%和37.35%。

圖3 危險等級分布

圖4 危險行為分布

此外,使用原型系統(tǒng)對一些比較常用的應(yīng)用程序進行檢測,發(fā)現(xiàn)酷6播放器(v2.5.8)中存在惡意扣費的行為,向1065502180988和10690882兩個SP服務(wù)商發(fā)送短信。通過進一步的手工分析確認了這個惡意行為,而且該惡意行為也被用戶舉報過。

4 結(jié)語

本文提出了一種基于程序分析的Android應(yīng)用程序惡意行為檢測方法,通過預(yù)處理可以快速的剔除不存在惡意行為的應(yīng)用程序,再將可能存在惡意行為的應(yīng)用程序進行進一步的分析。在應(yīng)用程序的字節(jié)碼上進行模擬執(zhí)行構(gòu)建應(yīng)用程序的函數(shù)摘要,對函數(shù)摘要使用污染傳播方法,從而檢測出應(yīng)用程序中存在的惡意行為。通過對公開的惡意樣本庫進行檢測,實驗結(jié)果表明本方法可以有效檢測出Android應(yīng)用程序的惡意行為,具有較高的實用性。

[1]Strategy Analytics.2012年Q3全球智能手機數(shù)量突破10億 耗時16年[EB/OL].(2012-10-18). [2012-10-18].http://www.199it.com/archives/73840.html.

[2]蔡羅成. Android后臺監(jiān)聽實現(xiàn)機制淺析[J].信息安全與通信保密,2010(06):39-41.

[3]祝為,王軼駿,薛質(zhì).基于VFS的Android Rootkit技術(shù)研究[J].信息安全與通信保密,2012(12):68-69,74.

[4]ENCK W,GILBERT P,CHUN B G,et al. TaintDroid: an Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones[M].USA:ACM,2010:1-6.

[5]ENCK W,OCTEAU D,MCDANIEL P,et al. A Study of Android Application Security[M].USA:ACM, 2011:21-21.

[6]Gilbert P,Chun BG,Cox L P, et al. Vision: Automated Security Validation of Mobile Apps at App Markets[M].USA:ACM,2011.

[7]Google. Permissions[EB/OL].(2012-04-23)[2012-09-18].http://developer.android.com/guide/topics/securi ty/permissions.html.

[8]Google. BroadcastReceiver[EB/OL]. (2012-04-23).[2012-09-18].http://developer.android.com/reference/android/content/BroadcastReceiver.html.

[9]Google. Servers[EB/OL]. (2012-04-23)[2012-09-18].http://developer.android.com/guide/components/se rvices.html.

[10]COUSOT P. Abstract Interpretation [EB/OL].(2010-03-26)[2012-06-15].http://www.di.ens.fr/~c ousot/AI/.

[11]Google.Android SDK[EB/OL].(2012-04-23)[2012-09-18].http://developer.android.com/sdk/index.html.

[12]ZHOU Y, JIANG X. Dissecting Android Malware:Characterization and Evolution[C].USA:IEEE, 2012:95-109.

[13]馮芳梅,邵長庚,劉丹.基于分層語義認知的惡意代碼檢測方法研究[J].通信技術(shù),2012,45(05):53-56.

[14]胡明,劉嘉勇,劉亮.一種基于代碼特征的網(wǎng)頁木馬改良模型研究[J].通信技術(shù),2010,42(08):155-157.

猜你喜歡
指令程序污染
聽我指令:大催眠術(shù)
試論我國未決羈押程序的立法完善
堅決打好污染防治攻堅戰(zhàn)
當代陜西(2019年7期)2019-04-25 00:22:18
ARINC661顯控指令快速驗證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
堅決打好污染防治攻堅戰(zhàn)
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
創(chuàng)衛(wèi)暗訪程序有待改進
對抗塵污染,遠離“霾”伏
都市麗人(2015年5期)2015-03-20 13:33:49
主站蜘蛛池模板: 91成人精品视频| 日韩欧美在线观看| 国产av色站网站| 国产成人精品免费av| 国产精品夜夜嗨视频免费视频| 亚洲精品色AV无码看| 在线观看91精品国产剧情免费| 99热这里只有免费国产精品| 亚洲精品无码日韩国产不卡| 第一页亚洲| 色国产视频| 日韩在线2020专区| 综合色88| 国产精品第一区| 狠狠色综合久久狠狠色综合| 成人在线综合| 午夜免费小视频| 亚洲欧美人成电影在线观看| 国产午夜精品一区二区三| 久久女人网| 在线观看欧美国产| 欧美精品1区| 九色在线观看视频| 在线国产你懂的| 农村乱人伦一区二区| 欧美中文字幕在线视频| 成人久久精品一区二区三区| 精品无码人妻一区二区| 99久久精品国产精品亚洲| 免费在线看黄网址| 色综合国产| 亚洲视频一区| 精品国产香蕉在线播出| 欧美日韩久久综合| 中国精品自拍| 国产特级毛片aaaaaa| 国产精品毛片在线直播完整版| 中文字幕不卡免费高清视频| 日韩国产黄色网站| 国产亚洲精品97AA片在线播放| 国产美女一级毛片| 亚洲中文字幕久久无码精品A| 精品午夜国产福利观看| 久久久噜噜噜| 日韩av无码DVD| 中文无码精品A∨在线观看不卡| 国产乱视频网站| 欧美色视频日本| 国产免费好大好硬视频| 九九香蕉视频| 91福利国产成人精品导航| 91黄视频在线观看| 亚洲一区第一页| 久久综合色88| 国内精品小视频在线| 久久99国产综合精品女同| 国产精品一区在线麻豆| 国产精品对白刺激| 2024av在线无码中文最新| 在线免费亚洲无码视频| 色噜噜综合网| 午夜啪啪网| 亚洲日韩精品欧美中文字幕| 91人妻日韩人妻无码专区精品| 女人爽到高潮免费视频大全| 欧美日韩亚洲国产| 久久精品国产亚洲AV忘忧草18| 免费国产黄线在线观看| 青青草原国产| 午夜精品区| 久久这里只精品热免费99| 国产青青草视频| 午夜视频在线观看免费网站| 99爱视频精品免视看| 91在线中文| 日韩一区精品视频一区二区| 国产在线高清一级毛片| 国产三级视频网站| 呦视频在线一区二区三区| 无码啪啪精品天堂浪潮av| 99热国产这里只有精品9九| 国产激情国语对白普通话|