欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Android應(yīng)用程序的靜態(tài)分析方法及裝置制造方法

文檔序號(hào):6521848閱讀:269來(lái)源:國(guó)知局
Android應(yīng)用程序的靜態(tài)分析方法及裝置制造方法
【專利摘要】本發(fā)明提供一種Android應(yīng)用程序靜態(tài)分析方法及裝置,涉及安全檢測(cè)【技術(shù)領(lǐng)域】。該方法包含:S1、解壓待測(cè)應(yīng)用程序,得到Smali文件;S2、遍歷所述Smali文件,獲取源碼信息,并構(gòu)建所述源碼信息的控制流圖和數(shù)據(jù)流圖;S3、根據(jù)所述惡意行為判斷引擎遍歷所述控制流圖及所述數(shù)據(jù)流圖,將應(yīng)用程序的API與預(yù)定義惡意行為庫(kù)中的API分別進(jìn)行匹配,將匹配成功的應(yīng)用程序的API標(biāo)記為惡意行為API;S4、求取所述待測(cè)應(yīng)用程序的惡意度量值;S5、將所述惡意程序度量值與預(yù)設(shè)的惡意程度指標(biāo)進(jìn)行匹配,得到所述待測(cè)應(yīng)用程序的風(fēng)險(xiǎn)等級(jí)。本發(fā)明通過(guò)對(duì)行為進(jìn)行分析及組合規(guī)則綜合判斷,能夠減少對(duì)Android應(yīng)用程序的進(jìn)行病毒檢測(cè)的誤判率。
【專利說(shuō)明】Android應(yīng)用程序的靜態(tài)分析方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及安全檢測(cè)【技術(shù)領(lǐng)域】,具體涉及一種Android應(yīng)用程序的靜態(tài)分析方法
及裝置。
【背景技術(shù)】
[0002]目前Android應(yīng)用程序檢測(cè)方法的研究很多,常見(jiàn)的檢測(cè)工具包括:DroidRange,TaintDroid, AppInspector等,所采用的技術(shù)通常為基于特征碼靜態(tài)檢測(cè)技術(shù)和動(dòng)態(tài)檢測(cè)技術(shù)?;诓《咎卣鞔a靜態(tài)檢測(cè)技術(shù)是在病毒運(yùn)行之前執(zhí)行的,對(duì)病毒程序文件進(jìn)行檢測(cè),若發(fā)現(xiàn)病毒特征則判定其為病毒;此外,還有將病毒掃描的特征碼技術(shù)與啟發(fā)式技術(shù)相結(jié)合,根據(jù)病毒防范經(jīng)驗(yàn)定義預(yù)掃描操作,把病毒特征庫(kù)劃分為一些特定分類,然后將病毒先進(jìn)行分類再進(jìn)行特征碼掃描,從而提升病毒掃描效率,或在特征碼掃描法基礎(chǔ)上引入了 BP神經(jīng)網(wǎng)絡(luò)技術(shù),先將病毒切割成字節(jié)碎片再進(jìn)行模式學(xué)習(xí)。動(dòng)態(tài)檢測(cè)技術(shù)是通過(guò)動(dòng)態(tài)實(shí)時(shí)監(jiān)控應(yīng)用程序的執(zhí)行及其與外部環(huán)境的交互進(jìn)行檢測(cè)。是在病毒運(yùn)行過(guò)程中執(zhí)行的,對(duì)病毒在運(yùn)行過(guò)程中的各種行為進(jìn)行監(jiān)測(cè),若發(fā)現(xiàn)與病毒特征相符則判定其為病毒。
[0003]然而,基于病毒特征碼靜態(tài)檢測(cè)技術(shù)需要依賴于持續(xù)更新的病毒特征庫(kù),根據(jù)已知的特征碼對(duì)病毒進(jìn)行檢測(cè),基于病毒特征碼靜態(tài)檢測(cè)技術(shù)的這個(gè)特點(diǎn)決定了該技術(shù)的滯后性,無(wú)法對(duì)未知病毒進(jìn)行檢測(cè),對(duì)于當(dāng)前手機(jī)病毒的快速增長(zhǎng)無(wú)法進(jìn)行有效遏制。另一方面,病毒為了應(yīng)對(duì)特征碼掃描,已經(jīng)出現(xiàn)了加殼技術(shù)和多態(tài)變形技術(shù)等手段。這使得對(duì)于特征碼的掃描難度越來(lái)越高。當(dāng)前主流的手機(jī)病毒是一個(gè)包含客戶端和服務(wù)端的病毒,只有在服務(wù)端下發(fā)命令時(shí)它才呈現(xiàn)出病毒特征,與傳統(tǒng)病毒固定、靜態(tài)的特征不同,手機(jī)病毒是動(dòng)態(tài)可變的,因此基于動(dòng)態(tài)檢測(cè)技術(shù)的檢測(cè)方法也無(wú)法有效發(fā)現(xiàn)與確認(rèn)手機(jī)病毒的攻擊行為。
[0004]因此,尋找一種更及時(shí)、有效的針對(duì)Android應(yīng)用程序的病毒檢測(cè)方法是當(dāng)前急需要解決的問(wèn)題。

【發(fā)明內(nèi)容】

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

的惡意度量值的表達(dá)式為
5.一種Android應(yīng)用程序的靜態(tài)分析裝置,其特征在于,包含以下部分: 反編譯模塊,用于解壓待測(cè)應(yīng)用程序,提取Classes, dex文件,并對(duì)Classes, dex文件進(jìn)行反編譯,得到Smali文件; 源代碼語(yǔ)法解析模塊,用于遍歷所述Smali文件,獲取源碼信息,并構(gòu)建所述源碼信息的控制流圖和數(shù)據(jù)流圖; 惡意行為API分析模塊,用于解析所述源碼信息,構(gòu)建惡意行為判斷引擎;根據(jù)所述惡意行為判斷引擎遍歷所述控制流圖及所述數(shù)據(jù)流圖,將應(yīng)用程序的API與預(yù)定義惡意行為庫(kù)中的API分別進(jìn)行匹配,將匹配成功的應(yīng)用程序的API標(biāo)記為惡意行為API ; 綜合判斷模塊,依據(jù)所述預(yù)定義惡意行為庫(kù)分別得到所述惡意行為API所占權(quán)重;依據(jù)所述惡意行為API所占權(quán)重,求取所述待測(cè)應(yīng)用程序的惡意度量值; 風(fēng)險(xiǎn)等級(jí)評(píng)估模塊,用于將所述惡意程序度量值與預(yù)設(shè)的惡意程度指標(biāo)進(jìn)行匹配,得到所述待測(cè)應(yīng)用程序的風(fēng)險(xiǎn)等級(jí)。
6.如權(quán)利要求5所述的靜態(tài)分析裝置,其特征在于,所述惡意行為API分析模塊進(jìn)一步包括用戶行為API分析模塊,用于構(gòu)建用戶行為判斷引擎,根據(jù)所述用戶行為判斷引擎遍歷所述控制流圖及所述數(shù)據(jù)流圖,找出與用戶行為觸發(fā)相關(guān)聯(lián)的惡意行為API,并將該惡意行為API附帶用戶行為標(biāo)記。
7.如權(quán)利要求5所述的靜態(tài)分析裝置,其特征在于,所述綜合判斷模塊中計(jì)算所述待tl測(cè)應(yīng)用程序的惡意度量值的表達(dá)式為= Σ A~:,η表示檢測(cè)出的惡意行為API的數(shù)A量; 式中,B表示所述待測(cè)應(yīng)用程序的惡意度量值;ai表示檢測(cè)出的第i個(gè)惡意行為API在所述預(yù)定義惡意行為庫(kù)中所占的權(quán)重;當(dāng)檢測(cè)出的第i個(gè)惡意行為API所述惡意行為API附帶用戶行為標(biāo) 記時(shí),r,取值0.25,否則取值為I。
【文檔編號(hào)】G06F21/56GK103793650SQ201310634856
【公開日】2014年5月14日 申請(qǐng)日期:2013年12月2日 優(yōu)先權(quán)日:2013年12月2日
【發(fā)明者】郭燕慧, 李靜, 董航, 李承澤, 張程鵬, 費(fèi)會(huì), 董楓, 胡陽(yáng)雨, 楊昕雨, 胡鴿 申請(qǐng)人:北京郵電大學(xué), 國(guó)家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
香港| 三都| 清河县| 精河县| 得荣县| 常熟市| 盐池县| 临高县| 商南县| 玉龙| 东光县| 蓝田县| 革吉县| 重庆市| 林州市| 西藏| 井冈山市| 商都县| 西和县| 县级市| 长岭县| 永顺县| 荃湾区| 修水县| 左贡县| 临洮县| 桐城市| 英吉沙县| 伽师县| 昭觉县| 射阳县| 锡林郭勒盟| 湖北省| 中阳县| 新邵县| 古蔺县| 洛宁县| 六安市| 乐至县| 扬中市| 通渭县|