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

Android惡意程序常用權限分析及統計研究

2017-11-20 11:12:56李紅靈
計算機技術與發展 2017年11期
關鍵詞:程序分析檢測

李紅靈,詹 翊

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

Android惡意程序常用權限分析及統計研究

李紅靈1,詹 翊2

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

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

Android惡意程序;檢測;常用權限;靜態分析;動態分析

1 概 述

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

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

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

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

2 Android惡意程序常用權限統計

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

2.1Android惡意程序常用權限統計的目的

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

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

2.2Android惡意程序樣本介紹

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

2.3Android惡意程序常用權限統計的實現

所用命令與參數如下:

main.py -i -o

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

2.4Android惡意程序常用權限統計結果分析

根據以上樣本及程序分析得出如表1所示的統計結果。表中所反映的這些權限及相關的API函數就是在靜態分析中需要重點關注的部分。

3 Android惡意程序反編譯實例

3.1Android惡意程序反編譯

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

編譯后可以產生和程序包層次結構相同的Smali目錄,目錄中包含著反匯編后的Smali文件[14]。

表1 惡意程序常用權限及使用頻率

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

3.2快速定位程序關鍵代碼

Android程序由一個或多個Activity以及其他組件構成,不同的Activity實現不同的功能,但每個程序有且只有一個主Activity。對于大多數應用程序而言,主Activity的OnCreate()就是程序的代碼入口,所有功能從這里開始執行[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快速定位重要權限關聯API函數

還需要根據表1,重點分析惡意程序常用權限的函數調用情況。

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

4 Android惡意程序動態分析

Android惡意程序動態分析利用沙箱原理,即在計算機系統內部構造一個獨立的虛擬空間,惡意程序所作的任何寫磁盤操作,都將重定向到這個虛擬空間[15]。這樣將阻止可疑程序對系統訪問,轉變成將可疑程序對磁盤、注冊表等的訪問重定向到指定文件夾下,從而消除惡意程序對系統的危害。

4.1分析環境搭建

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

4.2觸發惡意程序

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

圖3 分析環境網絡拓撲

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

經對Android惡意程序實例分析并結合工作實踐經驗,分析和總結了Android惡意程序的主要激活方式,如表2所示。

表2 運行main.py程序的輸出內容

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

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

步驟1:提供WIFI與移動數據網絡兩個Internet網絡出口。有些惡意程序為了規避流量監測,采取了智能判斷,僅當有WIFI連接時才有網絡行為。

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

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

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

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

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

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

默認監控的API列表存放在config/default_api_collection文件下。其內容如圖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 程序調用系統API的信息

通過靜態分析結合動態分析,可在短時間內快速全面掌握Android惡意程序的基本功能、程序流程、網絡行為。較傳統分析而言,大大縮短了分析時間,提高了分析效率。

5 結束語

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

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

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

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

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

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

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

[7] 吳俊昌,駱培杰,程紹銀,等.基于權限分類的Android應用程序的靜態分析[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安全架構及權限控制機制剖析[EB/OL].2013-09-08.http://tieba.baidu.com/p/2582088334.

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

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

[15] 劉志永,王紅凱,李高磊,等.一種基于主機特征的未知惡意程序動態識別系統[J].計算機與現代化,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">網絡出版時間

時間:2017-08-01

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

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

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

猜你喜歡
程序分析檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
隱蔽失效適航要求符合性驗證分析
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
電力系統及其自動化發展趨勢分析
小波變換在PCB缺陷檢測中的應用
主站蜘蛛池模板: 亚洲热线99精品视频| 午夜a视频| a亚洲视频| 亚洲人成电影在线播放| 亚洲一区国色天香| v天堂中文在线| 久久激情影院| 青青青视频91在线 | 真实国产乱子伦高清| 亚亚洲乱码一二三四区| 在线五月婷婷| 五月婷婷丁香色| 九九视频免费看| 国产欧美日本在线观看| 亚洲日韩每日更新| aⅴ免费在线观看| 一本大道香蕉久中文在线播放| 国产成人做受免费视频| 动漫精品中文字幕无码| av在线人妻熟妇| 国产第一页第二页| 久久天天躁夜夜躁狠狠| 欧美成人二区| 久久婷婷五月综合97色| 99精品热视频这里只有精品7| 欧美午夜一区| 欧美亚洲一区二区三区在线| 人妻一本久道久久综合久久鬼色| 永久免费精品视频| 日本道综合一本久久久88| 538精品在线观看| 丁香婷婷久久| 色婷婷在线影院| 亚洲日韩久久综合中文字幕| 欧美黄网在线| 国产精品香蕉在线| 在线综合亚洲欧美网站| 永久免费无码日韩视频| 国产h视频在线观看视频| 国产欧美精品专区一区二区| 亚洲人成在线免费观看| 成人午夜视频在线| 亚洲人成日本在线观看| 久久综合一个色综合网| 亚洲国产日韩欧美在线| 狠狠色丁香婷婷综合| 国产成年女人特黄特色毛片免| 欧美高清视频一区二区三区| 五月激情综合网| 午夜国产精品视频黄| 97色伦色在线综合视频| 午夜啪啪网| 97国产成人无码精品久久久| 国产丝袜91| 91精品啪在线观看国产60岁 | 五月天福利视频| 欧美va亚洲va香蕉在线| 色成人综合| 国产综合精品日本亚洲777| 亚洲国产日韩一区| 五月激激激综合网色播免费| 午夜一区二区三区| 日韩av资源在线| 久久精品丝袜高跟鞋| 亚洲男人天堂网址| 999国产精品| 九九免费观看全部免费视频| 国产成人精品男人的天堂| 97av视频在线观看| 性色生活片在线观看| 国产精品成人一区二区不卡 | 久久久精品无码一区二区三区| 亚洲成aⅴ人片在线影院八| 91人妻日韩人妻无码专区精品| 久久精品午夜视频| 国产本道久久一区二区三区| Jizz国产色系免费| av无码久久精品| 国产成人三级| 国产毛片久久国产| 香蕉网久久| 国产精品美女自慰喷水|