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

Android重包裝應用程序靜態(tài)分析系統(tǒng)的設計

2017-12-12 10:48:16孫翌博邰淳亮宮婧
科技資訊 2017年29期

孫翌博+邰淳亮+宮婧

摘 要:本文以Android重包裝應用程序的檢測為研究內(nèi)容,通過對當前主流的靜態(tài)分析技術(shù)進行對比與總結(jié),提出了一種基于眾包的Android重包裝應用程序靜態(tài)分析方法。該方法選取能表征Android應用程序唯一性的信息作為特征字符串,利用眾包構(gòu)建Android應用程序注冊與數(shù)據(jù)庫服務平臺,對比簽名鑒別重包裝應用程序。最后為驗證所提出方法的有效性,構(gòu)建原型系統(tǒng)進行實驗測試。實驗結(jié)果表明,本方法能夠有效進行Android重包裝應用程序的靜態(tài)分析。

關(guān)鍵詞:Android應用程序 重包裝 靜態(tài)分析 眾包

中圖分類號:TP399 文獻標識碼:A 文章編號:1672-3791(2017)10(b)-0119-03

1 相關(guān)技術(shù)研究

現(xiàn)在的Android惡意應用程序分析方法主要是利用動態(tài)分析技術(shù)或靜態(tài)分析技術(shù)進行惡意應用的檢測。Android惡意程序的各種攻擊方式中,應用程序重新打包是極為常見的手段。文獻[1]研究發(fā)現(xiàn),當攻擊者通過反編譯手段獲得一個良性Android應用程序的源碼后,可以實施的惡意操作通常有三類。

(1)注入廣告SDK。向原程序中加入廣告SDK,實現(xiàn)廣告收入。

(2)替換應用內(nèi)廣告。替換掉原程序作者在其應用中設置的廣告SDK的發(fā)布者ID,實現(xiàn)竊取程序開發(fā)者的廣告收入。

(3)添加惡意代碼。在大體了解代碼流程的基礎上,加入惡意代碼片段,使得用戶執(zhí)行過程中觸發(fā)惡意操作。

前兩種惡意操作方式主要是對知識產(chǎn)權(quán)的侵害,后一種的危害則是十分巨大的。攻擊者在實施惡意操作后只需要重新打包簽名形成新的安裝包APK文件就可以上傳至應用商城。用戶看到的貌似是正常的一款應用程序安裝包,安裝后也能使用程序功能,但Android終端實際上已經(jīng)遭到了惡意程序的入侵。文獻[1]研究顯示許多流行的Android應用程序包括QQ、AngryBirds等都已經(jīng)出現(xiàn)了被重包裝的情況。

由于靜態(tài)分析不需要運行程序,可以實現(xiàn)代碼的全覆蓋以及沒有運行時開銷等優(yōu)勢,特別適合進行Android重包裝應用程序的分析。文獻[2]就設計了一種DroidMOSS檢測系統(tǒng),對官方來源的應用實現(xiàn)反編譯獲得源碼,然后采用模糊哈希技術(shù)對程序切片提取Android應用行為模式作為特征形成指紋,構(gòu)建應用數(shù)據(jù)庫進行分析。該研究發(fā)現(xiàn)第三方應用商城中至少有5%至13%的Android應用存在重新包裝的情況,多數(shù)植入了惡意代碼和添加了廣告SDK,情況不容樂觀。但是該方法對于惡意攻擊者可以在代碼中加入無效冗余代碼以降低形成指紋的相似性來逃避分析和可以進行高度的混淆加密進而導致無法生成指紋的情況沒有考慮到。

文獻[3]則綜合選取了Android應用程序的簽名、權(quán)限和可執(zhí)行文件作為對比的依據(jù),指標具有綜合性。但是該方案仍然存在文獻[2]中需要在源代碼中嵌入代碼的缺點,適用性比較受限。

綜上,如何快速、有效地分析Android平臺中重包裝應用程序仍是亟待解決的問題。主要難點就是如何快速判斷兩個安裝包APK文件是屬于同一個程序。事實上,只要能夠知道兩款軟件其實是一個程序,那么比較一下程序的開發(fā)者簽名,就能夠立即得知其中是否存在重包裝的情況。

2 基于眾包的Android重包裝應用程序靜態(tài)分析方法

2.1 眾包機制

眾包(crowdsourcing)指的是一個公司或機構(gòu)把過去由員工執(zhí)行的工作任務,以自由自愿的形式外包給非特定的大眾網(wǎng)絡的做法。它本身描述了一種新的商業(yè)模式,現(xiàn)在也指從廣泛群體,特別是在線社區(qū),獲取所需想法、服務或內(nèi)容貢獻的實踐。在軟件安全性分析領域,眾包多用來收集數(shù)據(jù),需要社會成員廣泛的參與,可以取得很好的效果[4]。但與此同時,眾包也會帶來很大的隱私爭議[5]。

近年來,文獻[5]都提出使用眾包(crowdsourcing)機制來參與Android應用程序的分析,希望通過監(jiān)測大量真實的用戶使用程序的數(shù)據(jù),來獲取充足特征值判斷程序的性質(zhì)。本文即是基于此提出了一種基于眾包的Android重包裝應用程序靜態(tài)分析方法,使用眾包機制搜集信息來判斷程序的一致性,以此來快速分析程序重新打包問題,并設計了一種高效的重包裝分析原型系統(tǒng)。

2.2 特征獲取

分析Android重包裝應用程序首要解決的問題就是如何判斷兩個安裝包APK文件是屬于同一個程序。判斷安裝包APK文件是否屬于同一個程序,Android本身是提供現(xiàn)有機制的。Android應用程序發(fā)布時會生成一個APK文件,即應用程序的安裝文件,其本質(zhì)上是一個zip格式的壓縮包。除了源代碼及資源文件,它還包含名為AndroidManifest.xml的清單文件,以向Android系統(tǒng)聲明必要的信息,見圖1。

Android系統(tǒng)使用包名(Package Name)來唯一標識一個應用程序,包名在開發(fā)時由開發(fā)者指定,位于清單文件AndroidManifest.xml的“package”屬性。包名相同的程序可以升級覆蓋原先版本的程序。除了包名,AndroidManifest.xml清單文件Int類型的android:versionCode主要用于版本標識,確定升級信息。String類型的android:versionName用于顯示給用戶版本號信息。

另外,Android系統(tǒng)使用簽名在用戶、程序和進程之間建立信任關(guān)系,對應用程序的完整性和發(fā)布機構(gòu)的唯一性進行校驗。一般使用JDK自帶的Keytool和Jarsigner給程序簽名。Keytool是個密鑰和證書管理工具。Jarsigner利用密鑰倉庫中的信息來對APK文件進行簽名。如果不同開發(fā)者使用了相同的包名,簽名不同的程序不會被升級替換,這樣可防止已安裝的應用被相似的惡意軟件通過升級替換掉。開發(fā)者持有簽名的私鑰,APK文件內(nèi)META-INF\CERT.RSA存放公鑰,通過比較公鑰可以判斷私鑰是否一致。因此可以提取以上信息,組拼成字符串來唯一標識一個Android應用程序。endprint

基于以上信息,可以利用眾包機制,構(gòu)建出一個數(shù)據(jù)庫服務作為Android應用程序的注冊平臺,要求開發(fā)者向平臺提供程序唯一性標識信息。平臺采用先到先注冊的機制,并檢查保持包名的唯一性。當用戶需要安裝一款應用程序時,只要查尋一下Android應用程序的注冊平臺就可以知道Android應用程序是否存在重新包裝情況。

2.3 分析流程

從APK類型文件中提取唯一性信息需要以下工具:

(1)keytool.exe:JDK(Java Development Kit)自帶的密鑰和證書管理工具,主要用于密鑰和證書的創(chuàng)建、修改、刪除等。keytool工具利用以下命令查詢APK文件中的簽名信息:

keytool.exe -printcert -file apk\CERT.RSA

(2)aapt.exe:Android Asset Packaging Tool是Android SDK(Software Development Kit)自帶的資源打包工具,具備查看APK文件內(nèi)資源的功能。aapt工具利用以下命令查詢APK文件中的唯一標識信息:

aapt.exe dump badging [.apk文件路徑]

使用腳本程序調(diào)用keytool和aapt工具,并對結(jié)果字符串信息提取,獲得所需的查詢信息(Package Name,versionCode,versionName,Application signing),生成字符串,進行數(shù)據(jù)庫查詢。

具體重包裝分析流程如下。

Step1:輸入APK文件OR應用程序安裝文件URL地址。

Step2:預處理。

If(輸入為URL地址)啟動網(wǎng)絡爬蟲工具下載APK類型文件。

Step3:信息提取。

提取APK文件信息構(gòu)造成字符串信息。

(Package Name,versionCode,versionName,Application signing)

Step4:查詢。

提交查詢信息至Android應用程序注冊平臺;

利用Package Name、versionCode、versionName查詢唯一相同的應用;

比較Application signing字段。

Step5:輸出結(jié)果。

If(兩相同應用的Application signing相同)輸出非重包裝程序;

If(兩相同應用的Application signing不同)輸出重包裝程序;

If(未查詢到相同應用)輸出應用未曾注冊,不能判別。

Android應用程序的注冊平臺利用眾包機制要求非特定群體提供出Android應用程序的唯一性標識信息。Android應用程序的注冊平臺不提供應用程序下載推廣工作,僅為維護Android平臺安全,不會對其他應用商城構(gòu)成競爭,還會有促進與規(guī)范作用。因此,利用眾包機制構(gòu)建一個應用程序的注冊平臺并實施重包裝分析具備可行性。

3 Android重包裝應用程序靜態(tài)分析原型系統(tǒng)設計

3.1 系統(tǒng)流程框架設計

Android重包裝應用程序靜態(tài)分析原型系統(tǒng)需要對進行過重包裝的Android惡意軟件進行快速分析識別,同時功能模塊也要考慮到服務器運算能力、網(wǎng)絡等資源緊張的現(xiàn)實,主要分析步驟如下。

(1)用戶通過手機客戶端提交需要檢測的APK文件,或者選擇提交APK文件下載路徑的URL地址到服務器端。

(2)服務器對接收到的信息進行校驗。如果接收到的是URL地址,啟動網(wǎng)絡爬蟲工具下載地址對應的APK文件,對獲得的APK文件進行解壓等預處理。

(3)服務器對被預處理的APK文件進行信息提取,組拼成特征字符串。

(4)服務器將提取的特征字符串通過網(wǎng)絡通信模塊,送至注冊平臺查詢數(shù)據(jù)庫記錄,對比簽名信息,生成報告返回到客戶端展示。

3.2 系統(tǒng)功能模塊

根據(jù)圖2可以看出該系統(tǒng)設計為客戶端和服務器兩部分,五大功能模塊。其中客戶端含有“文件提交模塊”,負責用來提交需要分析的APK文件。繁重的分析工作由服務器端進行,主要有“提交接收模塊”“網(wǎng)頁抓取模塊”“信息提取處理模塊”和“網(wǎng)絡通信模塊”4個部分。“提交接收模塊”首先需要接收用戶提交的應用安裝包信息,校驗提交的文件格式是否正確。若用戶上傳的是應用程序安裝文件URL地址,則啟動“網(wǎng)頁抓取模塊”,利用網(wǎng)絡爬蟲工具下載APK類型文件。服務器順利獲取APK文件后,“信息提取處理模塊”開始解析APK類型文件,獲取應用獨特的包名、簽名和版本號等信息,生成特征字符串唯一標識該程序。然后通過“網(wǎng)絡通信模塊”與Android應用程序注冊平臺的數(shù)據(jù)庫記錄對比,查看同樣包名的應用程序是否存在一致的簽名信息,如果發(fā)現(xiàn)同樣的程序出現(xiàn)不同簽名,則判定為重新打包生成的惡意程序,直接反饋結(jié)果給客戶端。無論出于什么目的,重新打包原作者的應用程序后再發(fā)布,就判斷為惡意軟件。若簽名一致,則排除為重新打包的情況。

3.3 推薦系統(tǒng)的實現(xiàn)

該系統(tǒng)采用Client/Server架構(gòu)進行開發(fā),客戶端運行環(huán)境是Android 6.0系統(tǒng),服務器運行環(huán)境是Ubuntu 14.10系統(tǒng)。在“重包裝分析工具”中點擊輸入框,選取需要分析的APK文件,使用“應用上傳”按鈕,啟動文件提交模塊向服務器提交數(shù)據(jù)。待上傳成功后,啟動“開啟分析”按鈕,通知服務器端開啟分析過程,依次啟動提交接收模塊、信息提取處理模塊和網(wǎng)絡通信模塊。分析結(jié)束后,服務器端將分析結(jié)果反饋給客戶端進行展示。

4 結(jié)語

準確、高效地分析和鑒別Android重包裝應用程序,對于只能訪問第三方應用商店的中國Android系統(tǒng)用戶具有重要意義。本文提出的基于眾包的Android重包裝應用程序靜態(tài)分析方法,利用現(xiàn)有的Android安全機制,提出構(gòu)建Android應用程序注冊平臺,實現(xiàn)對Android惡意程序的綜合、高效分析,可以大大加快Android重包裝應用程序靜態(tài)分析的速度和提高準確性。

參考文獻

[1] Zhou W,Zhou Y,Jiang X,et al.Detecting repackaged smartphone applications in third-party android marketplaces[A].Proceedings of the second ACM conference on Data and Application Security and Privacy[C].ACM,2012:317-326.

[2] 余小秋.基于行為分析的Android應用程序安全評估技術(shù)研究與系統(tǒng)設計[D].北京郵電大學,2015.

[3] 李少輝.基于靜態(tài)分析的安卓重新打包程序檢測方法研究[D].北京交通大學,2014.

[4] Brabham D C.Crowdsourcing as a model for problem solving:An introduction and cases[J]. Convergence,2008,14(1):75-90.

[5] Amos B,Turner H,White J.Applying machine learning classifiers to dynamic android malware detection at scale[A].2013 9th international wireless communications and mobile computing conference(IWCMC)[C].IEEE,2013:1666-1671.endprint

主站蜘蛛池模板: 欧美人与牲动交a欧美精品 | 久草国产在线观看| 国产日韩欧美中文| 欧美亚洲中文精品三区| 在线亚洲精品自拍| 国产成人久久综合777777麻豆| 在线欧美一区| 欧美无专区| 亚洲国产日韩欧美在线| 欧美区一区| 欧美中文字幕在线视频| 国产黄色免费看| 婷婷丁香色| 国产成人免费高清AⅤ| 沈阳少妇高潮在线| 日本精品中文字幕在线不卡 | 日韩免费成人| 就去色综合| 久久国产拍爱| 人与鲁专区| 亚洲αv毛片| 精品人妻无码区在线视频| 99伊人精品| 久久黄色毛片| 中文字幕永久视频| 狠狠综合久久久久综| 国产剧情无码视频在线观看| 亚洲国产成人综合精品2020 | 国产亚洲成AⅤ人片在线观看| 亚洲无码高清视频在线观看| 日a本亚洲中文在线观看| 波多野结衣视频网站| 69综合网| 欧洲一区二区三区无码| h视频在线播放| 亚洲香蕉久久| 97se亚洲综合在线| 中文字幕欧美日韩高清| 99热线精品大全在线观看| 亚洲an第二区国产精品| 国产女同自拍视频| 国产综合欧美| 日本少妇又色又爽又高潮| a毛片在线免费观看| 国产美女一级毛片| 亚洲一区黄色| 亚洲不卡网| 国产香蕉一区二区在线网站| 久草热视频在线| 日本三级精品| 成人av手机在线观看| 五月婷婷伊人网| 亚洲国产亚综合在线区| 国产丝袜无码一区二区视频| 91成人在线免费视频| 91在线精品麻豆欧美在线| 在线免费无码视频| 国产办公室秘书无码精品| www.国产福利| 国产白浆一区二区三区视频在线| 国产在线自揄拍揄视频网站| 国产白浆一区二区三区视频在线| 亚洲精品免费网站| 日韩一区二区在线电影| 欧美成人精品一级在线观看| 99青青青精品视频在线| 最新国产麻豆aⅴ精品无| 五月婷婷导航| 波多野结衣一区二区三区四区视频| 91精品aⅴ无码中文字字幕蜜桃 | 日韩欧美一区在线观看| 亚洲av成人无码网站在线观看| 国产综合精品日本亚洲777| 99热这里只有精品5| 精品久久久久久成人AV| 国产精品自在在线午夜区app| 最新日本中文字幕| 欧美在线精品一区二区三区| 97视频免费看| 国产波多野结衣中文在线播放| 中文字幕无码电影| 久久婷婷国产综合尤物精品|