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

Android系統惡意程序檢測技術在電子取證中的應用

2019-12-14 07:18:52龍,藺
中國司法鑒定 2019年6期
關鍵詞:程序分析檢測

楊 龍,藺 楊

(1.湖南省公安廳,湖南 長沙 410001;2.長沙市公安局,湖南 長沙 410005)

據北京奇虎科技有限公司互聯網安全中心發布的《2014年中國手機安全狀況報告》對當時市場較為流行的幾種智能終端應用調查[1]表明:不論是Google公司的Android還是Apple公司的iOS都不同程度的存在被病毒程序攻擊的問題。Android系統的惡意程序雖然出現的比較晚,但近年來Android系統惡意病毒應用呈井噴狀態,伴隨而來,針對Android開展電子取證的工作量也急劇增加,加強Android系統應用程序的管理也突顯緊迫[2]。

1 Android系統惡意程序取證研究

研究惡意程序的電子物證技術,主要是通過逆向工程技術和動態監測完成對惡意應用的電子取證,為司法訴訟提供相關證據。

1.1 Android應用程序靜態檢測分析

根據目前Android安全數據分析,惡意程序的行為特征主要體現在惡意資源消耗、范圍失控傳播、隱私數據盜用、數據擦除等方面,其方式包括開機自啟動、靜默執行等。根據惡意程序各種行為特征,可以通過對其行為實現原理上進行分析,進而映射到代碼層。

一個程序的惡意判斷可以從多個方面來進行。在靜態檢測過程中,我們主要采用逆向工程技術,對程序反編譯后,再從特征值匹配、權限檢測、敏感API分析等多個角度進行綜合分析,將多方面靜態檢測出來的結果合理賦值,采用危險特征值加權評估的方式,進行程序的危險定級,與此同時,開展電子取證工作,視具體情況出具相關檢驗報告或意見。靜態檢測取證整體框架如圖1所示。

圖1 靜態檢測取證系統框圖

1.1.1 逆向工程原理

逆向工程也稱為反向工程(Reverse Engineering)[3],其含義是根據已有的應用程序,通過逆向工程來得到源碼,進而分析掌握其設計框架。目前該方法被很多公司采用,也可用來分析應用程序是否有安全隱患和漏洞。

逆向工程的功能模塊以Android APK應用程序文件作為輸入,以配置文件和代碼文件作為輸出。其中APK應用程序文件屬于Android系統安裝的文件,是我們熟知的ZIP格式文件。Android逆向工程主要處理兩部分[4]:xml和dex。 對于xml文件的反編譯一般采用工具有兩種,APKtool和 AXMLPrinter2.jar。 反編譯dex一般分為兩步:第一步,從dex文件反編譯出class文件,通常使用 dex2jar.bat和 APKtool。 從 class文件反編譯到java可以使用jd-gui、Jodeclipse以及JadClipse工具。

APK文件經過逆向工程后生成dex和smali兩種不同格式的文件,使用dex2jar工具可以將android的.dex 文件轉換生成 classes.dex.dex2jar.jar文件,再用rar解壓工具解壓出jar文件中的class文件,然后用jad或者DJ Java Decomplier反編譯工具將Java的.class文件反編譯成.java文件,單獨java文件還不足以掌握程序的特征,雖smali匯編代碼的可讀性不如java,但是它可以與java代碼解析出來的源碼進行功能比對,所以,要想完整的反映一個應用程序的所有特性,必須要smali和java兩種類型文件各一份[5]。結合對比審查不僅能夠快速找到可疑點,還能夠保證分析結果的準確性。

1.1.2 打包校驗

打包校驗過程處于整個靜態分析取證的前端,主要分析應用程序的簽名信息和應用程序包的信息,如PackageName等[1],通過查尋數據庫中相應的包名對應的簽名信息進行校驗。如果發現簽名不統一,則可以判斷此安裝文件有一定的安全隱患。

二次打包技術是惡意程序作者最常用的技術。惡意程序作者會分析并下載流行的程序,反編譯而后導入惡意的Payloads,再二次打包生成APK。最后惡意程序作者會把二次打包的APK上傳到第三方Android應用市場。用戶很容易會被誘騙安裝受到感染的惡意應用。

在Android系統中,Android程序必須經過數字證書的簽名后才可以進行安裝。數字證書用以標識應用程序的作者并與應用綁定。故可以通過打包校驗,及時的發現被修改或者植入了惡意程序段的惡意應用。這個方法通過提取APK中的公鑰信息和PackageName信息,然后和樣本數據庫中對應的PackageName進行匹配視其公鑰信息是否和樣本數據庫中的一致。如果發現簽名不一致,則可以判斷此安裝文件有一定的安全隱患,需要進一步檢測。

1.1.3 APK 反編譯

通過打包校驗后,我們可以初步篩選出有安全隱患的程序,接著開始進行APK反編譯工作。通過反編譯程序(APKtool)實現對APK文件的反編譯,獲取其源代碼文件以及各類資源文件。此過程也可以被稱為資源獲取過程。

通過APKtool反編譯之后可以得到應用程序所包含的資源文件,存放在res目錄下,通過修改和替換這些資源文件可以改變這個應用程序的界面,所以Android應用程序的漢化和去廣告都是用APK-tool完成的。而APKtool同時會將.dex文件反編譯成.smali文件,而smali目錄中的文件與Java源文件是相對應的,這是APKtool常用的兩個命令:

反編譯命令 APKtool d<app_path/filename.APK>[<dir>]

編譯命令 APKtool b[<app_path/filename.APK>][<out_file>]

通過APKtool逆向出來的資源包括了res資源庫、smali文件夾、original文件夾、unknown文件夾以及 AndroidManifest.xml文件。

res包含了應用的所有圖片資源、布局文件以及 style.xml、string.xml等 value 文件。

smali文件夾下是整個應用的smali文件,smali是Dalvik VM內部執行的核心代碼。通過閱讀smali代碼,我們可以正確的理解程序的意思和思想。在smali中有對應于Java語法的自身語法,包括數據類型和方法表示。

unknown文件夾中防止的是反編譯器不識別的文件,一般.html文件都放在這個文件夾中。

在 AndroidManifest.xml文件中我們可以看到工程的整個結構,包括權限,組件等信息。因此AndroidManifest.xml是逆向工程第一個需要分析的文件。

1.1.4敏感權限檢測

在Android系統中,一個應用如果需要實現某些特殊功能,都需要向系統申請權限。申請權限的方式主要是在源代碼的Manifest.xml中進行聲明。一些高危權限如隱私數據擁有操作權限的申明需要格外注意。

一般情況下,除非移動應用已經通過申請或者利用系統Linux內核存在的漏洞獲取了最高管理員的權限,一個移動應用只能訪問自己的私有數據(/scared目錄中的數據需要申請寫外部存儲器的權限才可以訪問)。所以,通過對APK的權限進行分析,如果沒有申請一些敏感的權限,并且也不存在ROOT的Exploit,那么就可以判定一個應用是一個正常的應用,如果申請了一些敏感權限,則需要進一步的檢測。

1.1.5 權重分析

以上述的權限檢測為例,即使一個應用申請了大量的冗余權限,且權限中有敏感權限,但是其在實際API調用中并沒有調用敏感API,單單依靠敏感權限申請的檢測無法得到該程序合理的安全性解釋。

我們一般采用平均權重分配法,對上述參考因子進行隨機權重分配。并抽取市場上主流的、安全的應用進行測試,獲得各自的參考值,然后對參考值通過聚類算法,獲得聚類中心。將聚類中心作為標準參考值。如果測試APK的危險值小于標準參考值,則判斷危險程度為高,并需要進一步人工檢查。如果危險值大于標準參考值,則危險程度為低。

1.2 Android應用動態監測分析

在實際取證應用中,我們還會采用動態監測分析,應用程序最基本的行為是在系統中執行的一條條指令,包括邏輯、運算、執行控制、存儲處理和接口處理等。但是孤立的研究每一條指令其意義并不大。從軟件工程角度出發,可以把一系列命令看作是一個程序行為,通過檢測程序行為,與靜態檢測中獲取的權限聲明相比較,如果發現程序行為比申請的權限大,說明這個程序是惡意程序的概率就大[6]。

Android應用動態監測一般由兩部分組成:應用運行實時行為監測和監測結果分析。常用的動態監測技術由沙箱技術、鉤子技術等。

總體來看,動態監測技術就是實時的檢測被測程序的行為,所發送的數據,并對相關信息、行為和數據等進行捕獲。因此對于惡意應用取證來說,靜態檢測技術和動態監測技術都是必不可少的。

2 Android惡意程序樣本檢測與分析

2.1 Android惡意樣本程序檢測分析概述

前文已詳細闡述了如何通過靜態檢測技術和動態監測技術實現針對Android系統惡意程序開展電子取證。具體流程一般為檢測環境準備、樣本獲取、惡意程序檢測、電子證物提取以及出具報告這幾個環節。其中惡意程序檢測環節又分為APK逆向、靜態檢測和動態監測三個子項目。

筆者將對工作中捕獲的一個Android惡意程序“相冊.APK”進行檢測和取證。該惡意程序偽裝成相冊程序,無基本相冊功能,實際上該程序運行后,會申請大量敏感權限,能夠群發惡意短信,獲取大量用戶信息,屬于典型的惡意程序。

2.2 檢測環境準備

在進行惡意程序檢測取證之前,首先準備實驗環境的搭建。其中包括硬件設備和軟件環境兩大部分。

硬件設備有:取證工作站、手機信息號屏蔽設備、手機專用檢驗設備、照相機等。

軟件環境有:殺毒軟件、手機取證系統、Wireshark、手機PC套件等。

2.3 Android惡意程序樣本獲取

本次檢測實驗是以一臺安裝了“相冊.APK”木馬的手機(聯想手機A288T型號)作為樣本,該樣本手機由于用戶的疏忽,點擊了其短信內含有惡意鏈接地址,下載安裝了手機木馬程序,導致用戶手機內大量隱私信息被泄露。惡意程序植入用戶手機后,以致該手機用戶遭受到詐騙犯罪侵害。為查明該手機樣本中是否含有惡意程序、惡意程序的數量、惡意程序具體行為以及相關涉案線索,需對該樣本手機進行檢測取證,獲取手機中的惡意程序進,并開展檢測取證工作。

2.4 Android惡意程序檢測取證

2.4.1 樣本登記

對已感染了“相冊.APK”木馬的手機進行唯一性編號,并對手機型號、手機IMEI碼、Android版本號、內核版本號等相關信息進行登記。隨后,再對具有唯一編號的實驗手機進行拍照和保全備份。

2.4.2 數據提取

首先,啟動檢驗工作站的殺毒軟件對工作站自身工作系統進行殺毒,其次,在手機通信信號屏蔽的狀態下,運行手機檢驗系統,分別獲取其內存和SD卡信息,找出所有APK文件。

2.4.3 篩查分析

將所有提取的APK文件進行靜態篩查過濾,排除正常APK程序包,通過識別簽名、查看權限申請等方法,將剩下未知來歷的APK文件,批量導入手機取證系統中,通過敏感權限檢測,發現只有“相冊.APK”申請了大量與其描述功能完全不一致的敏感權限,因此它的危險等級高。

2.4.4 逆向工程

為了能夠更好的確定風險函數的調用檢測,需要對原始的可執行應用程序進行反編譯,在反匯編實現過程中,綜合比較 Dexdump、APKtool、Dedexer等工具性能,發現APKtool可以對所有資源進行處理,功能強大,可以重新打包,能夠快速地解析出應用程序中的manifest.xml配置文件,通過Android-Manifest.xml文件的掃描比對,提高了檢測速度,避免對所有代碼進行全部特征值掃描比對。通過APKtool反編譯APK,獲取資源文件。進而可對資源文件進行綜合分析評估,判定該程序是否具有安全風險性。

2.4.5 靜態檢測

靜態檢測主要還是指在程序沒有實際運行的情況下,通過程序控制流、數據流等信息來研究分析程序的行為[7]。因為“相冊.APK”樣本的風險評估高,屬惡意程序。首先需要在不運行的情況下,通過dex2jar反編譯出惡意程序的源代碼,使用jd-gui工具閱讀jar文件代碼。但是經一系列操作后,發現無法進一步查看源代碼文件。因此對“相冊.APK”內的lib.so文件進行分析,經過逆向分析源程序解密出的字符串,如圖2所示。

經分析發現AB為分隔符,前面的數字為字符ASCII碼減去51所以100AB等于1,102AB等于3依此類推。得到一個郵箱名a1353347****@vip.*.com,手機號 1353347****,密碼:****168。

圖2 逆向結果

2.4.6 動態監測

由于AndroidManifest.xml文件的靜態分析不能反映應用程序數據流的走向和遠程服務端,在此我們還需采用動態監測技術進行分析。本實驗網絡抓包使用Linux支持的Tcpdump工具。為實時監測掌握“相冊.APK”程序運行后的具體行為特征,在此,將“相冊.APK”程序安裝到聯網的實驗機中。操作流程如下:

(1)加載實驗機,即加載聯想手機A288T,如圖3所示。

圖3 加載實驗機

(2)向實驗機中 Tcpdump文件賦值,如圖 4所示。

圖4 權限賦值

(3)為抓包的文件進行命名,命名為1_capture.Pcap,如圖5所示。

圖5 重命名

在抓包工具Tcpdump打開后,運行“相冊.APK”,間隔數十幾秒鐘后,關閉該應用程序。將1_capture.pcap文件pull到電子檢驗工作站中,通過Wireshark讀取網絡數據通信包。通過抓包分析能夠發現實驗機聯網后數據的流向,明確了“相冊.APK”惡意程序運行時數據回傳的地址,為案件偵查提供線索支撐。

至此,我們已掌握該惡意程序聯網后數據的流向為某郵件服務器IP地址,與靜態檢測的結果進行比對吻合。為獲取動態監測出來的郵箱地址信息。我們還需要進行抓包解析工作,如圖6所示。

圖6 捕捉到的數據包

經實驗發現,郵件發件人和收件人均為a1353347****@vip.*.com,因此,我們可以證實,a1353347****@vip.*.com 郵箱為惡意程序編寫用于接收手機使用者通話記錄、短信內容等個人手機信息。

同時,動態監測發現,該惡意程序會向通信錄列表內用戶群發惡意短信,該惡意短信包括了接收人姓名,因此極易欺騙用戶,如圖7所示。

圖7 截獲的惡意短信

對惡意短信內的連接URL地址進行調查發現,用戶如果點擊鏈接,則會出現下載安裝一個“相冊.APK”程序的提示,被害者通過幾次點擊“下一步”安裝后,該惡意程序便成功地實現感染和傳播。

2.5 Android惡意程序取證結果

本次實驗中所捕獲并分析的惡意程序“相冊.APK”,屬于木馬型惡意APK,調用大量敏感權限,且該惡意程序會讀取手機聯系人信息和用戶收件箱信息。同時對聯系人列表內的聯系人群發惡意短信。通過短信完成該惡意程序的傳播過程。同時該惡意程序會將用戶隱私信息如聯系人列表、短信等相關信息發送到指定郵箱,因此本惡意程序具有極高的危害性。

3 結論

在現有Android安全機制下,需要在第三方的參與下對應用程序進行檢測分析,及時發現應用程序可能帶來的威脅,為發布預警信息、案件調查和取證提供技術支撐和保障。

猜你喜歡
程序分析檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
隱蔽失效適航要求符合性驗證分析
試論我國未決羈押程序的立法完善
人大建設(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缺陷檢測中的應用
主站蜘蛛池模板: 欧美不卡视频在线观看| 国产一区二区色淫影院| 亚洲一区二区成人| 国内精品免费| 国产无遮挡猛进猛出免费软件| 色老二精品视频在线观看| 四虎永久免费地址| 日本欧美成人免费| 国产91九色在线播放| 激情無極限的亚洲一区免费| 69视频国产| 国产永久在线观看| 成年女人18毛片毛片免费| 日本91在线| 国产91导航| 亚洲人成人无码www| 国产精品无码AV中文| 五月婷婷导航| 国产成人超碰无码| 91免费在线看| 成人韩免费网站| 本亚洲精品网站| 激情综合激情| 国产h视频免费观看| 亚洲经典在线中文字幕| 欧美福利在线观看| 精品一区二区久久久久网站| 国内精自视频品线一二区| 无遮挡国产高潮视频免费观看| V一区无码内射国产| 欧美a√在线| 亚洲欧美日韩高清综合678| 欧美伦理一区| 最近最新中文字幕在线第一页| 中文字幕乱码二三区免费| 欧美日韩一区二区在线免费观看 | 亚洲AV无码不卡无码| 欧美日韩一区二区三| 一级一级一片免费| 亚洲午夜国产精品无卡| 国产探花在线视频| 欧美一级在线看| 日本亚洲国产一区二区三区| 国产成人AV大片大片在线播放 | 亚洲成年人片| 国产欧美视频综合二区| 黄色三级网站免费| 亚洲性色永久网址| 97无码免费人妻超级碰碰碰| 亚洲AV电影不卡在线观看| 久久99国产综合精品1| 亚洲精品日产AⅤ| 毛片基地美国正在播放亚洲 | 国产人在线成免费视频| 欧洲成人在线观看| 亚洲人成影视在线观看| 久久黄色免费电影| 亚洲专区一区二区在线观看| 日韩欧美中文字幕在线韩免费| 日韩高清一区 | 日日碰狠狠添天天爽| 午夜无码一区二区三区| 福利在线不卡| 国产午夜看片| 欧美精品黑人粗大| 亚洲无码高清免费视频亚洲 | 99国产在线视频| 国产免费a级片| www.亚洲一区| 亚洲欧美日韩久久精品| 日韩精品亚洲一区中文字幕| 欧美性爱精品一区二区三区| 伊人久久婷婷五月综合97色| 国产欧美视频综合二区| 国产乱子伦手机在线| 久久精品亚洲专区| 女人18毛片久久| 国产精品女同一区三区五区| 免费在线视频a| 麻豆精品在线| 狠狠综合久久| 亚洲VA中文字幕|