• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Android惡意程序常用權(quán)限分析及統(tǒng)計研究

      2017-11-20 11:12:56李紅靈
      計算機技術(shù)與發(fā)展 2017年11期
      關(guān)鍵詞:應用程序靜態(tài)代碼

      李紅靈,詹 翊

      (1.云南大學 信息學院 計算機科學與工程系,云南 昆明 650091;2.云南省信息安全測評中心,云南 昆明 650000)

      Android惡意程序常用權(quán)限分析及統(tǒng)計研究

      李紅靈1,詹 翊2

      (1.云南大學 信息學院 計算機科學與工程系,云南 昆明 650091;2.云南省信息安全測評中心,云南 昆明 650000)

      為解決Android惡意程序檢測中代碼分析量大、核心代碼定位難、檢測判斷效率低等問題,提出了將靜態(tài)分析與動態(tài)分析相結(jié)合的Android惡意程序行為監(jiān)測和分析的復合檢測方法。該方法在對收集整理的226個和開放的惡意程序樣本進行綜合分析的基礎(chǔ)上,用Python語言編寫了自動化Android惡意程序權(quán)限統(tǒng)計程序,并統(tǒng)計分析了打開網(wǎng)絡(luò)套接字、將數(shù)據(jù)寫到外部存儲設(shè)備和接收系統(tǒng)啟動時的廣播事件動作等15種常用權(quán)限,確定了靜態(tài)分析中需要重點關(guān)注的權(quán)限及其調(diào)用函數(shù)。以Android惡意程序CutePuppiesWallpaper.apk作為實例,應用Apktool工具對待檢測APK文件進行反編譯,得到反匯編后的Smali文件,通過定位程序關(guān)鍵代碼、定位重要權(quán)限關(guān)聯(lián)API函數(shù)兩種途徑快速找到程序的入口和其重要功能代碼部分。同時,采用沙箱系統(tǒng)的Android惡意軟件動態(tài)分析方法,得到開機啟動、應用程序變更等事件及其對應的激活方式。研究表明,使用該復合檢測方法可以有效提高分析效率,縮短惡意代碼分析時間,快速定位核心代碼,及時阻止惡意程序傳播。

      Android惡意程序;檢測;常用權(quán)限;靜態(tài)分析;動態(tài)分析

      1 概 述

      隨著移動智能設(shè)備的普及,Android系統(tǒng)的發(fā)展也十分迅速,同時也使Android惡意程序快速發(fā)展和廣泛傳播,給Android用戶帶來了嚴重的安全隱患[1]。

      惡意程序是一種軟件程序代碼,旨在干擾正常的使用,收集系統(tǒng)/用戶的敏感信息,獲取未經(jīng)授權(quán)的信息等等。惡意程序包括病毒、蠕蟲、木馬、后門、邏輯炸彈、漏洞攻擊程序、間諜軟件、廣告軟件、rootkit后門以及其他惡意程序代碼[2]。Android惡意程序是指在用戶不知情或未授權(quán)的情況下,在移動智能終端系統(tǒng)中安裝、運行,以達到不正當目的的APK文件[3]。

      國內(nèi)在Android安全研究及Android惡意程序檢測等方面卓有成效。例如,蔣紹林等[4]通過分析Android安全機制,認為Android通過adb工具可以獲取系統(tǒng)root權(quán)限,會對文件造成安全威脅,指出增強Android應用框架層的安全機制;張志遠等[5]通過靜態(tài)分析和動態(tài)調(diào)試以及反逆向技術(shù)等方法來介紹怎樣對Android應用進行逆向分析,從而實現(xiàn)Android應用的安全可控;李子鋒等[6]提出一種采用靜態(tài)分析檢測Android惡意程序的方法。該方法使用靜態(tài)數(shù)據(jù)流分析技術(shù)實現(xiàn)常量分析算法,通過追蹤Android應用程序使用常量值的序列,達到檢測應用程序惡意行為的目的。吳俊昌等[7]提出一種基于Android權(quán)限分類的靜態(tài)分析方法,用于檢測Android應用程序的惡意代碼。王志強等[8]采用靜態(tài)分析與動態(tài)分析相結(jié)合的方式,對Android應用程序的關(guān)鍵系統(tǒng)調(diào)用和方法的控制流序列進行提取。研究分析了已知惡意軟件樣本庫,成功訓練出惡意軟件特征集合和惡意判定閾值,通過比對Android應用程序與惡意特征集的相似度判定是否為惡意程序。最終設(shè)計并實現(xiàn)了Android惡意行為檢測系統(tǒng)SCADect。Zhou Yajin等[9]通過分析1 260個正常應用的權(quán)限使用,與收集的惡意應用申請的權(quán)限進行對比,在惡意應用和正常應用中,訪問網(wǎng)絡(luò)、讀手機狀態(tài)、訪問網(wǎng)絡(luò)狀態(tài)、寫SD卡等權(quán)限都被廣泛使用,但惡意應用更傾向于使用短信相關(guān)的權(quán)限、開機自啟動權(quán)限、更改網(wǎng)絡(luò)狀態(tài)的權(quán)限,正常應用很少使用這些權(quán)限。在國外,Akash Malhotra等[10]通過靜態(tài)分析和動態(tài)分析結(jié)合黑白名單的方法,對Android惡意軟件進行研究,使用逆向分析檢查惡意代碼,又使用工具來識別包結(jié)構(gòu),再用白名單過濾的策略來識別惡意程序。Thomas等[11]提出一種Android應用程序沙箱。該沙箱使用Android SDK中的Monkey工具,生成偽隨機事件流,并模擬用戶點擊、觸摸、手勢或系統(tǒng)事件等操作,通過監(jiān)測系統(tǒng)和庫函數(shù)調(diào)用,生成的日志記錄,來分析Android應用程序是否存在惡意行為。

      在對工作中收集整理到的226份Android惡意程序樣本和一些公開的惡意程序樣本進行綜合分析的基礎(chǔ)上,應用Python編寫了相關(guān)的統(tǒng)計程序,統(tǒng)計出Android惡意程序常用的權(quán)限類型與使用頻度,并確定了靜態(tài)分析環(huán)節(jié)中需要重點關(guān)注的權(quán)限。另外,結(jié)合信息安全測評工作的實踐活動,基于沙箱系統(tǒng)的Android惡意程序動態(tài)分析方法,進行了Android惡意程序激活方式研究,歸納了動態(tài)分析中激活惡意程序的方法。結(jié)合靜態(tài)分析與動態(tài)分析,總結(jié)出惡意程序行為分析的有效方法。

      2 Android惡意程序常用權(quán)限統(tǒng)計

      訪問控制是系統(tǒng)實施安全控制的有效手段之一,而訪問控制具體體現(xiàn)在主體對客體的訪問權(quán),即主體對系統(tǒng)資源的訪問權(quán)限上[12],因此對惡意程序常用權(quán)限的統(tǒng)計分析是惡意程序行為研究的基礎(chǔ)。

      2.1Android惡意程序常用權(quán)限統(tǒng)計的目的

      Android系統(tǒng)在應用程序框架中提供了權(quán)限許可機制,為開發(fā)者定義了一百多種權(quán)限用于保護系統(tǒng)資源,并提供了對應的API用于訪問上述系統(tǒng)資源。

      由于Android嚴格的權(quán)限許可機制,惡意程序如果試圖獲取用戶隱私、系統(tǒng)信息或者執(zhí)行系統(tǒng)操作,都必須在AndroidManifest.xml文件中申明相應的權(quán)限,否則在程序運行時就會觸發(fā)安全異常[13]。Android系統(tǒng)也規(guī)定應用程序在運行過程中無法動態(tài)地改變自身權(quán)限。故惡意權(quán)限的使用情況可以作為Android應用惡意行為判別的重要依據(jù)。因此有必要針對Android惡意程序進行權(quán)限統(tǒng)計,由此得到惡意程序最常用的權(quán)限。這些權(quán)限使用情況及其對應的API函數(shù),是靜態(tài)分析的核心部分,優(yōu)先分析這些權(quán)限組合及函數(shù)調(diào)用可以大幅縮減代碼分析量,有效降低人為分析的強度,提高惡意程序分析的效率。

      2.2Android惡意程序樣本介紹

      對于此次研究,統(tǒng)計分析的Android惡意程序樣本部分源于以下各開放網(wǎng)站:https://zeltser.com/malware-sample-sources/;https://www.mediafire.com/?78npy8h7h0g9y;http://contagiodump.blogspot.com/。其余樣本是由實際工作中收集整理的,共226個。

      2.3Android惡意程序常用權(quán)限統(tǒng)計的實現(xiàn)

      所用命令與參數(shù)如下:

      main.py -i -o

      程序輸出結(jié)果略(鑒于篇幅)。

      2.4Android惡意程序常用權(quán)限統(tǒng)計結(jié)果分析

      根據(jù)以上樣本及程序分析得出如表1所示的統(tǒng)計結(jié)果。表中所反映的這些權(quán)限及相關(guān)的API函數(shù)就是在靜態(tài)分析中需要重點關(guān)注的部分。

      3 Android惡意程序反編譯實例

      3.1Android惡意程序反編譯

      下面以分析Android惡意程序CutePuppiesWallpaper.apk為例進行說明。通過使用Apktool工具可對待檢測APK文件進行反編譯(過程略)。

      編譯后可以產(chǎn)生和程序包層次結(jié)構(gòu)相同的Smali目錄,目錄中包含著反匯編后的Smali文件[14]。

      表1 惡意程序常用權(quán)限及使用頻率

      反編譯后的Smali文件代碼通常較長,而且指令繁多,代碼分析時很難捕捉到重點,因此有必要快速定位程序關(guān)鍵代碼,提高分析效率,降低分析強度。

      3.2快速定位程序關(guān)鍵代碼

      Android程序由一個或多個Activity以及其他組件構(gòu)成,不同的Activity實現(xiàn)不同的功能,但每個程序有且只有一個主Activity。對于大多數(shù)應用程序而言,主Activity的OnCreate()就是程序的代碼入口,所有功能從這里開始執(zhí)行[14]。

      以下是快速定位的操作步驟。

      步驟1:先解析出AndroidManifest.xml文件,找到主Activity,如圖1所示。

      圖1 解析AndroidManifest.xml文件找到主Activity

      步驟2:查看其所在類的OnCreate()方法的反匯編代碼,提高分析效率,如圖2所示。

      virtualmethods.methodpubliconBind(Landroid/content/Intent;)Landroid/os/IBinder;.locals1.paramp1,"arg0"#Landroid/content/Intent;.prologue.line17const/4v0,0x0return-objectv0.endmethod.methodpubliconCreate()V.locals0.prologue.line22invoke-super{p0},Landroid/app/Service;->onCreate()V.line23return-void.endmethod

      圖2 定位OnCreate()方法

      通過以上兩個步驟就可以定位到程序的代碼入口。

      3.3快速定位重要權(quán)限關(guān)聯(lián)API函數(shù)

      還需要根據(jù)表1,重點分析惡意程序常用權(quán)限的函數(shù)調(diào)用情況。

      通過定位程序關(guān)鍵代碼、定位重要權(quán)限關(guān)聯(lián)API函數(shù)兩種途徑,就可以快速找到程序的入口及其重要功能代碼部分。在源代碼分析過程中,優(yōu)先分析程序關(guān)鍵代碼可以避免順序分析中閱讀大量無關(guān)代碼,加快了分析速度,提高了分析效率。

      4 Android惡意程序動態(tài)分析

      Android惡意程序動態(tài)分析利用沙箱原理,即在計算機系統(tǒng)內(nèi)部構(gòu)造一個獨立的虛擬空間,惡意程序所作的任何寫磁盤操作,都將重定向到這個虛擬空間[15]。這樣將阻止可疑程序?qū)ο到y(tǒng)訪問,轉(zhuǎn)變成將可疑程序?qū)Υ疟P、注冊表等的訪問重定向到指定文件夾下,從而消除惡意程序?qū)ο到y(tǒng)的危害。

      4.1分析環(huán)境搭建

      將裝有Droidbox、Wireshark、Androguard等檢測分析工具的主機(或是筆記本電腦)通過有線或無線方式接入互聯(lián)網(wǎng),打開筆記本電腦無線網(wǎng)絡(luò),將其設(shè)置為訪問接入點AP(SSID:Test),打開待檢測手機的WIFI功能,接入無線網(wǎng)絡(luò),這樣就完成了分析環(huán)境的搭建。其拓撲結(jié)構(gòu)如圖3所示。

      4.2觸發(fā)惡意程序

      以下從分析惡意程序的激活方式,創(chuàng)建激活條件激活惡意程序,使用APIMonitor對惡意程序進行分析三個方面進行介紹。

      圖3 分析環(huán)境網(wǎng)絡(luò)拓撲

      (1)惡意程序激活方式。

      經(jīng)對Android惡意程序?qū)嵗治霾⒔Y(jié)合工作實踐經(jīng)驗,分析和總結(jié)了Android惡意程序的主要激活方式,如表2所示。

      表2 運行main.py程序的輸出內(nèi)容

      (2)創(chuàng)建激活條件激活惡意程序。

      通過以下四個步驟可以完成惡意程序激活的全過程。

      步驟1:提供WIFI與移動數(shù)據(jù)網(wǎng)絡(luò)兩個Internet網(wǎng)絡(luò)出口。有些惡意程序為了規(guī)避流量監(jiān)測,采取了智能判斷,僅當有WIFI連接時才有網(wǎng)絡(luò)行為。

      步驟2:需更改測試環(huán)境的時區(qū)及時間設(shè)置。有些惡意程序,為了提高其隱蔽性,在其源代碼中加入了時間判斷,在正常工作時間(07:00-24:00)不工作,有效規(guī)避了分析人員在正常時間內(nèi)對其進行動態(tài)分析。

      步驟3:盡可能嘗試多種網(wǎng)絡(luò)協(xié)議類型的操作。有些惡意程序通常在用戶主動進行網(wǎng)絡(luò)操作時才運行,如打開瀏覽器(HTTP)、網(wǎng)絡(luò)下載(FTP)等,因此在動態(tài)分析時需要主動嘗試多種網(wǎng)絡(luò)行為。

      步驟4:根據(jù)表2總結(jié)的惡意程序激活方式盡可能模擬很多的監(jiān)聽事件,觸發(fā)木馬惡意行為。

      (3)使用APIMonitor對惡意程序進行分析。

      APIMonitor是DroidBox中獨立的動態(tài)分析工具,它通過向目標APK包中插入監(jiān)視代碼來監(jiān)測應用程序在運行過程中調(diào)用的API。

      APIMonitor首先反編譯所要處理的APK包,接著遍歷Smali代碼。如果找到在配置文件中配置的需要監(jiān)測的API,則分析這個API參數(shù),插入DroidBox包下相應的類的靜態(tài)函數(shù),最后重新打包這個APK包。這樣,當應用程序在運行過程中調(diào)用到插入了監(jiān)視代碼的API后,系統(tǒng)日志就會出現(xiàn)標簽DroidBox標記的日志信息,只需過濾出這些日志信息,就可以獲得應用程序調(diào)用系統(tǒng)API的信息。

      默認監(jiān)控的API列表存放在config/default_api_collection文件下。其內(nèi)容如圖4所示。

      #DEFAULTAPILIST#IntentLandroid/content/Intent;->#signatureofmethodswiththesamenameLandroid/content/ContextWrapper;->sendBroadcast#signa-tureofonemethodsLandroid/content/ContextWrapper;->sendOrderedBroadcastLandroid/content/ContextWrapper;->sendStickyBroadcastLandroid/content/ContextWrapper;->sendStickyOrdered-BroadcastLandroid/content/ContextWrapper;->startActivityLandroid/content/ContextWrapper;->startActivities#UriLandroid/net/Uri;->parse(Ljava/lang/String;)

      圖4 程序調(diào)用系統(tǒng)API的信息

      通過靜態(tài)分析結(jié)合動態(tài)分析,可在短時間內(nèi)快速全面掌握Android惡意程序的基本功能、程序流程、網(wǎng)絡(luò)行為。較傳統(tǒng)分析而言,大大縮短了分析時間,提高了分析效率。

      5 結(jié)束語

      為解決Android惡意程序檢測中代碼分析量大、核心代碼定位難、檢測判斷效率低等問題,提出了將靜態(tài)分析與動態(tài)分析相結(jié)合的Android惡意程序行為監(jiān)測和分析的復合檢測方法。該方法對收集整理的226個和開放的惡意程序樣本進行了綜合分析,應用Python語言編寫了自動化Android惡意程序權(quán)限統(tǒng)計程序,統(tǒng)計分析了打開網(wǎng)絡(luò)套接字、將數(shù)據(jù)寫到外部存儲設(shè)備和接收系統(tǒng)啟動時的廣播事件動作等15種常用權(quán)限,并以此確定靜態(tài)分析中需要重點關(guān)注的權(quán)限及其調(diào)用函數(shù)。以Android惡意程序CutePuppiesWallpaper.apk為驗證實例,使用Apktool工具對待檢測的APK文件進行了反編譯,得到了反匯編后的Smali文件,通過定位程序關(guān)鍵代碼、定位重要權(quán)限關(guān)聯(lián)API函數(shù)兩種途徑快速找到程序入口及其重要功能代碼部分。同時,采用沙箱系統(tǒng)的Android惡意軟件動態(tài)分析方法,得到開機啟動、應用程序變更等事件及其對應的激活方式。使用該方法,可以有效提高分析效率,縮短惡意代碼分析時間,快速定位核心代碼,及時阻止惡意程序傳播。

      [1] 張藝騰.基于并行計算弱KMP模式挖掘算法的Android惡意應用檢測[EB/OL].2014.http://d.wanfangdata.com.cn/Thesis/Y2695006.

      [2] Stallings W,Brown L.計算機安全原理與實踐[M].賈春福,劉春波,高敏芬,等,譯.北京:機械工業(yè)出版社,2008:75-142.

      [3] 王 葉.PC與智能手機黑客攻防大全[M].北京:機械工業(yè)出版社,2015.

      [4] 蔣紹林,王金雙,張 濤,等.Android安全研究綜述[J].計算機應用與軟件,2012,29(10):205-210.

      [5] 張志遠,萬月亮,翁越龍,等.Android應用逆向分析方法研究[J].信息網(wǎng)絡(luò)安全,2013(6):65-68.

      [6] 李子鋒,程紹銀,蔣 凡.一種Android應用程序惡意行為的靜態(tài)檢測方法[J].計算機系統(tǒng)應用,2013,22(7):148-151.

      [7] 吳俊昌,駱培杰,程紹銀,等.基于權(quán)限分類的Android應用程序的靜態(tài)分析[C]//第四屆信息安全漏洞分析與風險評估大會.出版地不詳:出版者不詳,2011:24-28.

      [8] 王志強,張玉清,劉奇旭,等.一種Android惡意行為檢測算法[J].西安電子科技大學學報,2015,42(3):8-14.

      [9] Zhou Y,Jiang X.Dissecting android malware:characterization and evolution[C]//2012 IEEE symposium on security and privacy.[s.l.]:IEEE,2012:95-109.

      [10] Malhotra A.Android malware:study and analysis of malware for privacy leak in ad-hoc network[J].International Journal of Computer Science & Network Security,2013,12(3):39-43.

      [11] Bl?sing T,Batyuk T,Schmidt L,et al.An Android application sandbox system for suspicious software detection[C]//International conference on malicious and unwanted software.[s.l.]:[s.n.],2010:55-62.

      [12] 李 洋.Android安全架構(gòu)及權(quán)限控制機制剖析[EB/OL].2013-09-08.http://tieba.baidu.com/p/2582088334.

      [13] 高 岳,胡愛群.基于權(quán)限分析的Android隱私數(shù)據(jù)泄露動態(tài)檢測方法[EB/OL].2013-08-09.http://www.docin.com/p-1395465408.html.

      [14] 豐生強.Android軟件安全與逆向分析[M].北京:人民郵電出版社,2013.

      [15] 劉志永,王紅凱,李高磊,等.一種基于主機特征的未知惡意程序動態(tài)識別系統(tǒng)[J].計算機與現(xiàn)代化,2016(3):105-110.

      StatisticsAnalysisandResearchonCommonPermissionsofAndroidMalwares

      LI Hong-ling1,ZHAN Yi2

      (1.Department of Computer Science and Engineering,School of Information Science and Engineering,Yunnan University,Kunming 650091,China;2.Information Security Evaluation Center of Yunnan Province,Kunming 650000,China)

      In order to solve problems including excessive codes,key-permission orientation difficulty and low detection efficiency in Android malware detection,a composite detection solution with static and dynamic analysis is proposed for Android malware monitoring and analyzing.On the basis of synthetic analysis of collected 226 samples and public malware samples,it uses Python language to compile an automatic Android malware permissions statistical program.Besides,15 most common permissions including unfolding network socket and activating broadcast event action while transferring data to external storage device or receiving system are carried on statistical analysis,determination of those key permissions and corresponding call functions which required further attention.Malware CutePuppiesWallpaper.apk,taken as an example,has been decompiled via APKtool and the decompiled Smali file has been obtained.By locating key codes of the malware and locating crucial permission-related API functions the entering and crucial functioning parts of the codes have been efficiently located.Meanwhile,Sandbox Android malware dynamic analysis on events including booting up and application change along with their corresponding activation patterns have been summarized.The time consumption of codes analysis has been reduced by using it and the key codes have been quickly located while spreading of malware is terminated in time.

      Android malware program;detection;common permissions;static analysis;dynamic analysis

      2016-10-19

      2017-02-23 < class="emphasis_bold">網(wǎng)絡(luò)出版時間

      時間:2017-08-01

      國家自然科學基金資助項目(61562090);云南大學教育教學改革研究項目

      李紅靈(1966-),女,副教授,研究方向為計算機網(wǎng)絡(luò)、信息安全。

      http://kns.cnki.net/kcms/detail/61.1450.TP.20170801.1550.030.html

      TP309;TP393

      A

      1673-629X(2017)11-0132-05

      10.3969/j.issn.1673-629X.2017.11.029

      猜你喜歡
      應用程序靜態(tài)代碼
      靜態(tài)隨機存儲器在軌自檢算法
      刪除Win10中自帶的應用程序
      電腦報(2019年12期)2019-09-10 05:08:20
      創(chuàng)世代碼
      動漫星空(2018年11期)2018-10-26 02:24:02
      創(chuàng)世代碼
      動漫星空(2018年2期)2018-10-26 02:11:00
      創(chuàng)世代碼
      動漫星空(2018年9期)2018-10-26 01:16:48
      創(chuàng)世代碼
      動漫星空(2018年5期)2018-10-26 01:15:02
      機床靜態(tài)及動態(tài)分析
      機電信息(2015年9期)2015-02-27 15:55:56
      具7μA靜態(tài)電流的2A、70V SEPIC/升壓型DC/DC轉(zhuǎn)換器
      50t轉(zhuǎn)爐靜態(tài)控制模型開發(fā)及生產(chǎn)實踐
      上海金屬(2013年6期)2013-12-20 07:57:59
      關(guān)閉應用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      环江| 孟连| 江陵县| 乃东县| 澜沧| 河西区| 江油市| 牟定县| 元朗区| 多伦县| 浮梁县| 友谊县| 肇东市| 邻水| 凤翔县| 同心县| 西安市| 泸定县| 谢通门县| 霍城县| 墨脱县| 东方市| 新蔡县| 滨州市| 盱眙县| 东丽区| 合水县| 饶平县| 东阳市| 河北区| 浦江县| 尖扎县| 通城县| 陈巴尔虎旗| 正宁县| 绥滨县| 东乡县| 石柱| 江西省| 华阴市| 黑龙江省|