新四季網

Android應用程式的靜態分析方法及裝置製造方法

2023-05-22 15:10:16

Android應用程式的靜態分析方法及裝置製造方法
【專利摘要】本發明提供一種Android應用程式靜態分析方法及裝置,涉及安全檢測【技術領域】。該方法包含:S1、解壓待測應用程式,得到Smali文件;S2、遍歷所述Smali文件,獲取源碼信息,並構建所述源碼信息的控制流圖和數據流圖;S3、根據所述惡意行為判斷引擎遍歷所述控制流圖及所述數據流圖,將應用程式的API與預定義惡意行為庫中的API分別進行匹配,將匹配成功的應用程式的API標記為惡意行為API;S4、求取所述待測應用程式的惡意度量值;S5、將所述惡意程序度量值與預設的惡意程度指標進行匹配,得到所述待測應用程式的風險等級。本發明通過對行為進行分析及組合規則綜合判斷,能夠減少對Android應用程式的進行病毒檢測的誤判率。
【專利說明】Android應用程式的靜態分析方法及裝置
【技術領域】
[0001]本發明涉及安全檢測【技術領域】,具體涉及一種Android應用程式的靜態分析方法
及裝置。
【背景技術】
[0002]目前Android應用程式檢測方法的研究很多,常見的檢測工具包括:DroidRange,TaintDroid, AppInspector等,所採用的技術通常為基於特徵碼靜態檢測技術和動態檢測技術。基於病毒特徵碼靜態檢測技術是在病毒運行之前執行的,對病毒程序文件進行檢測,若發現病毒特徵則判定其為病毒;此外,還有將病毒掃描的特徵碼技術與啟發式技術相結合,根據病毒防範經驗定義預掃描操作,把病毒特徵庫劃分為一些特定分類,然後將病毒先進行分類再進行特徵碼掃描,從而提升病毒掃描效率,或在特徵碼掃描法基礎上引入了 BP神經網絡技術,先將病毒切割成字節碎片再進行模式學習。動態檢測技術是通過動態實時監控應用程式的執行及其與外部環境的交互進行檢測。是在病毒運行過程中執行的,對病毒在運行過程中的各種行為進行監測,若發現與病毒特徵相符則判定其為病毒。
[0003]然而,基於病毒特徵碼靜態檢測技術需要依賴於持續更新的病毒特徵庫,根據已知的特徵碼對病毒進行檢測,基於病毒特徵碼靜態檢測技術的這個特點決定了該技術的滯後性,無法對未知病毒進行檢測,對於當前手機病毒的快速增長無法進行有效遏制。另一方面,病毒為了應對特徵碼掃描,已經出現了加殼技術和多態變形技術等手段。這使得對於特徵碼的掃描難度越來越高。當前主流的手機病毒是一個包含客戶端和服務端的病毒,只有在服務端下發命令時它才呈現出病毒特徵,與傳統病毒固定、靜態的特徵不同,手機病毒是動態可變的,因此基於動態檢測技術的檢測方法也無法有效發現與確認手機病毒的攻擊行為。
[0004]因此,尋找一種更及時、有效的針對Android應用程式的病毒檢測方法是當前急需要解決的問題。

【發明內容】

[0005](一)解決的技術問題
[0006]針對現有技術的不足,本發明提供一種Android應用程式的靜態分析方法,能夠減少對Android應用程式的進行病毒檢測的誤判率。
[0007](二)技術方案
[0008]為實現以上目的,本發明通過以下技術方案予以實現:
[0009]本發明提供了一種Android應用程式的靜態分析方法,包含以下步驟:
[0010]S1、解壓待測應用程式,提取Classes, dex文件,並對Classes, dex文件進行反編譯,得到Smali文件;
[0011]S2、遍歷所述Smali文件,獲取源碼信息,並構建所述源碼信息的控制流圖和數據流圖;[0012]S3、解析所述源碼信息,構建惡意行為判斷引擎;根據所述惡意行為判斷引擎遍歷所述控制流圖及所述數據流圖,將應用程式的API與預定義惡意行為庫中的API分別進行匹配,將匹配成功的應用程式的API標記為惡意行為API ;
[0013]S4、依據所述預定義惡意行為庫分別得到所述惡意行為API所佔權重;依據所述惡意行為API所佔權重,求取所述待測應用程式的惡意度量值;
[0014]S5、將所述惡意程序度量值與預設的惡意程度指標進行匹配,得到所述待測應用程式的風險等級。
[0015]優選的,步驟S2中構建所述源碼信息的控制流圖和數據流圖的方法為:
[0016]S21、對所述Smali文件進行詞法和語法解析,輸出樹結構組織的抽象語法樹;
[0017]S22、以所述抽象語法樹為基礎,構造自定義的「中間結構」,將生成的所述抽象語法樹中字符串表示的信息映射成「中間結構」中的程序元素;
[0018]S23、以「中間結構」中的程序元素為分析對象,分別進行程序關鍵數據和程序關係識別分析,建立控制流圖和數據流圖。
[0019]優選的,步驟S3中進一步包括步驟:構建用戶行為判斷引擎,根據所述用戶行為判斷引擎遍歷所述控制流圖及所述數據流圖,找出與用戶行為觸發相關聯的惡意行為API,並將該惡意行為API附帶用戶行為標記。
[0020]優選的,步驟S4中計算所述待測應用程式的惡意度量值的表達式為:Β = Σ aW η表示檢測出的惡意 行為API的數量;
1.[0021]式中,B表示所述待測應用程式的惡意度量值&表示檢測出的第i個惡意行為API在所述預定義惡意行為庫中所佔的權重;當檢測出的第i個惡意行為API所述惡意行為API附帶用戶行為標記時,^取值0.25,否則取值為I。
[0022]本發明還提供了一種Android應用程式的靜態分析裝置,包含以下部分:
[0023]反編譯模塊,用於解壓待測應用程式,提取Classes, dex文件,並對Classes, dex文件進行反編譯,得到Smali文件;
[0024]原始碼語法解析模塊,用於遍歷所述Smali文件,獲取源碼信息,並構建所述源碼信息的控制流圖和數據流圖;
[0025]惡意行為API分析模塊,用於解析所述源碼信息,構建惡意行為判斷引擎;根據所述惡意行為判斷引擎遍歷所述控制流圖及所述數據流圖,將應用程式的API與預定義惡意行為庫中的API分別進行匹配,將匹配成功的應用程式的API標記為惡意行為API ;
[0026]綜合判斷模塊,依據所述預定義惡意行為庫分別得到所述惡意行為API所佔權重;依據所述惡意行為API所佔權重,求取所述待測應用程式的惡意度量值;
[0027]風險等級評估模塊,用於將所述惡意程序度量值與預設的惡意程度指標進行匹配,得到所述待測應用程式的風險等級。
[0028]優選的,所述惡意行為API分析模塊進一步包括用戶行為API分析模塊,用於構建用戶行為判斷引擎,根據所述用戶行為判斷引擎遍歷所述控制流圖及所述數據流圖,找出與用戶行為觸發相關聯的惡意行為API,並將該惡意行為API附帶用戶行為標記。
[0029]優選的,所述綜合判斷模塊中計算所述待測應用程式的惡意度量值的表達式為:
【權利要求】
1.一種Android應用程式的靜態分析方法,其特徵在於,包含以下步驟: 51、解壓待測應用程式,提取Classes,dex文件,並對Classes, dex文件進行反編譯,得到Smali文件; 52、遍歷所述Smali文件,獲取源碼信息,並構建所述源碼信息的控制流圖和數據流圖; 53、解析所述源碼信息,構建惡意行為判斷引擎;根據所述惡意行為判斷引擎遍歷所述控制流圖及所述數據流圖,將應用程式的API與預定義惡意行為庫中的API分別進行匹配,將匹配成功的應用程式的API標記為惡意行為API ; 54、依據所述預定義惡意行為庫分別得到所述惡意行為API所佔權重;依據所述惡意行為API所佔權重,求取所述待測應用程式的惡意度量值; 55、將所述惡意程序度量值與預設的惡意程度指標進行匹配,得到所述待測應用程式的風險等級。
2.如權利要求1所述的靜態分析方法,其特徵在於,步驟S2中構建所述源碼信息的控制流圖和數據流圖的方法為: 521、對所述Smali文件進行詞法和語法解析,輸出樹結構組織的抽象語法樹; 522、以所述抽象語法樹為基礎,構造自定義的「中間結構」,將生成的所述抽象語法樹中字符串表示的信息映射成「中間結構」中的程序元素; 523、以「中間結構」中的程序元素為分析對象,分別進行程序關鍵數據和程序關係識別分析,建立控制流圖和數據流圖。
3.如權利要求1所述的靜態分析方法,其特徵在於,步驟S3中進一步包括步驟:構建用戶行為判斷引擎,根據所述用戶行為判斷引擎遍歷所述控制流圖及所述數據流圖,找出與用戶行為觸發相關聯的惡意行為API,並將該惡意行為API附帶用戶行為標記。
4.如權利要求3所述的靜態分析方法,其特徵在於,步驟S4中計算所述待測應用程式

的惡意度量值的表達式為
5.一種Android應用程式的靜態分析裝置,其特徵在於,包含以下部分: 反編譯模塊,用於解壓待測應用程式,提取Classes, dex文件,並對Classes, dex文件進行反編譯,得到Smali文件; 原始碼語法解析模塊,用於遍歷所述Smali文件,獲取源碼信息,並構建所述源碼信息的控制流圖和數據流圖; 惡意行為API分析模塊,用於解析所述源碼信息,構建惡意行為判斷引擎;根據所述惡意行為判斷引擎遍歷所述控制流圖及所述數據流圖,將應用程式的API與預定義惡意行為庫中的API分別進行匹配,將匹配成功的應用程式的API標記為惡意行為API ; 綜合判斷模塊,依據所述預定義惡意行為庫分別得到所述惡意行為API所佔權重;依據所述惡意行為API所佔權重,求取所述待測應用程式的惡意度量值; 風險等級評估模塊,用於將所述惡意程序度量值與預設的惡意程度指標進行匹配,得到所述待測應用程式的風險等級。
6.如權利要求5所述的靜態分析裝置,其特徵在於,所述惡意行為API分析模塊進一步包括用戶行為API分析模塊,用於構建用戶行為判斷引擎,根據所述用戶行為判斷引擎遍歷所述控制流圖及所述數據流圖,找出與用戶行為觸發相關聯的惡意行為API,並將該惡意行為API附帶用戶行為標記。
7.如權利要求5所述的靜態分析裝置,其特徵在於,所述綜合判斷模塊中計算所述待tl測應用程式的惡意度量值的表達式為= Σ A~:,η表示檢測出的惡意行為API的數A量; 式中,B表示所述待測應用程式的惡意度量值;ai表示檢測出的第i個惡意行為API在所述預定義惡意行為庫中所佔的權重;當檢測出的第i個惡意行為API所述惡意行為API附帶用戶行為標 記時,r,取值0.25,否則取值為I。
【文檔編號】G06F21/56GK103793650SQ201310634856
【公開日】2014年5月14日 申請日期:2013年12月2日 優先權日:2013年12月2日
【發明者】郭燕慧, 李靜, 董航, 李承澤, 張程鵬, 費會, 董楓, 胡陽雨, 楊昕雨, 胡鴿 申請人:北京郵電大學, 國家計算機網絡應急技術處理協調中心

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀