一種病毒apk的識別方法及裝置的制造方法
【專利說明】
[0001] 本發(fā)明專利申請是申請日為2012年5月4日、申請?zhí)枮?01210137453. X、名稱為 "一種病毒APK的識別方法及裝置"的中國發(fā)明專利申請的分案申請。
技術(shù)領(lǐng)域
[0002] 本申請涉及網(wǎng)絡(luò)信息安全的技術(shù)領(lǐng)域,特別是涉及一種病毒APK的識別方法,以 及,一種病毒APK的識別裝置。
【背景技術(shù)】
[0003] Android是一種以Linux為基礎(chǔ)的開放源碼操作系統(tǒng),主要使用于手機(jī)等移動終 端,目前尚未有統(tǒng)一中文名稱。Android平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組 成。
[0004] APK是 Android application package file 的縮寫,即 Android安裝包,也可以理 解為Android終端上安裝的應(yīng)用軟件。APK是類似Symbian Sis或Sisx的文件格式。通 過將APK文件直接傳到Android模擬器或Android終端中執(zhí)行即可安裝。apk文件和sis 一樣,把a(bǔ)ndroid sdk編譯的工程打包成一個安裝程序文件,格式為apk。APK文件其實是 zip格式,但后綴名被修改為apk,通過UnZip解壓后,可以看到Dex文件,Dex是Dalvik VM executes的全稱,即Android Dalvik執(zhí)行程序,并非標(biāo)準(zhǔn)的Java字節(jié)碼而是Dalvik 字節(jié)碼。Android在運(yùn)行一個程序時首先需要UnZip,然后類似Symbian那樣直接運(yùn)行,和 Windows Mobile中的PE文件有區(qū)別。
[0005] 具體而言,APK文件的結(jié)構(gòu)如下表所示:
[0006]
【主權(quán)項】
1. 一種病毒APK的識別方法,其特征在于,包括: 預(yù)置病毒數(shù)據(jù)庫,所述病毒數(shù)據(jù)庫中包括病毒特征碼及對應(yīng)的權(quán)重值; 檢測目標(biāo)Amlroid安裝包APK的指定文件中是否包含病毒特征碼,若是,則統(tǒng)計所述病 毒特征碼對應(yīng)的權(quán)重值之和; 若所述權(quán)重值之和大于等于某病毒判定闊值,則判定所述目標(biāo)An化oid安裝包APK中 存在相應(yīng)類型的病毒。
2. 如權(quán)利要求1所述的方法,其特征在于,還包括: 生成所述目標(biāo)Amlroid安裝包APK中存在該類型病毒的提示信息。
3. 如權(quán)利要求1所述的方法,其特征在于,還包括: 若所述權(quán)重值之和小于某病毒判定闊值,則判定所述目標(biāo)Amlroid安裝包APK為病毒 APK。
4. 如權(quán)利要求3所述的方法,其特征在于,還包括: 生成所述目標(biāo)An化oid安裝包APK為病毒APK的提示信息。
5. 如權(quán)利要求2或4所述的方法,其特征在于,還包括: 調(diào)用安全軟件接口,針對所述目標(biāo)An化oid安裝包APK進(jìn)行病毒查殺。
6. 如權(quán)利要求1所述的方法,其特征在于,所述指定文件包括可執(zhí)行文件,所述預(yù)置病 毒數(shù)據(jù)庫的步驟包括: 掃描源An化0id安裝包APK中的可執(zhí)行文件; 提取所述可執(zhí)行文件中的特定數(shù)據(jù),判斷所述特定數(shù)據(jù)是否包含病毒信息,其中,所述 特定數(shù)據(jù)包括可執(zhí)行文件的頭部信息、可執(zhí)行文件常量池中的常量,和/或,可執(zhí)行文件中 的操作指令; 若是,則根據(jù)所述特定數(shù)據(jù)生成病毒特征碼; 為所述病毒特征碼分配權(quán)重值; 將所述病毒特征碼及對應(yīng)的權(quán)重值保存至病毒數(shù)據(jù)庫中。
7. 如權(quán)利要求6所述的方法,其特征在于,所述可執(zhí)行文件包括Dex文件,所述Dex文 件包括classes,dex文件,擴(kuò)展名為.jar的文件,W及,Dex格式的文件。
8. 如權(quán)利要求7所述的方法,其特征在于,所述病毒特征碼包括:頭部信息特征碼、常 量特征碼、操作數(shù)特征碼、指令特征碼、指令特征碼序列、類名函數(shù)名特征碼;所述可執(zhí)行文 件中的操作指令包括操作碼和操作數(shù)兩部分. 所述頭部信息特征碼、常量特征碼、操作數(shù)特征碼、類名函數(shù)名特征碼根據(jù)包含病毒信 息的頭部信息、常量、操作數(shù)和類名函數(shù)名直接生成; 所述指令特征碼、指令特征碼序列根據(jù)包含病毒信息的操作指令直接生成,或者,根據(jù) 包含病毒信息的操作碼和操作數(shù)的字符串或通配符生成; 所述將病毒特征碼及對應(yīng)的權(quán)重值保存至病毒數(shù)據(jù)庫中的步驟包括: 將所述頭部信息特征碼、常量特征碼、操作數(shù)特征碼、指令特征碼、指令特征碼序列、類 名函數(shù)名特征碼,W及,對應(yīng)的權(quán)重值分別保存在數(shù)據(jù)庫中不同的存儲區(qū)域; 或者, 將所述頭部信息特征碼、常量特征碼、操作數(shù)特征碼、指令特征碼、指令特征碼序列、類 名函數(shù)名特征碼,W及,對應(yīng)的權(quán)重值保存在數(shù)據(jù)庫中,并分別標(biāo)記分類標(biāo)簽。
9. 如權(quán)利要求8所述的方法,其特征在于,所述檢測目標(biāo)An化oid安裝包APK中的指定 文件中是否包含所述病毒特征碼的步驟包括: 定位目標(biāo)Amlroid安裝包APK中可執(zhí)行文件的頭部信息,將所述頭部信息與病毒數(shù)據(jù) 庫中的頭部信息特征碼進(jìn)行匹配,若匹配,則判定目標(biāo)Amlroid安裝包APK中的指定文件中 包含病毒特征碼; 和/或, 定位目標(biāo)An化oid安裝包APK中可執(zhí)行文件常量池中的常量,將所述常量與病毒數(shù)據(jù) 庫中的常量特征碼進(jìn)行匹配,若匹配,則判定目標(biāo)Amlroid安裝包APK中的指定文件中包含 病毒特征碼; 和/或, 定位目標(biāo)Amlroid安裝包APK中可執(zhí)行文件操作指令中的操作數(shù),將所述操作數(shù)與病 毒數(shù)據(jù)庫中的操作數(shù)特征碼進(jìn)行匹配,若匹配,則判定目標(biāo)Amlroid安裝包APK中的指定文 件中包含病毒特征碼; 和/或, 定位目標(biāo)Amlroid安裝包APK中可執(zhí)行文件操作指令中的操作碼,將所述操作碼與病 毒數(shù)據(jù)庫中的指令特征碼進(jìn)行匹配,若匹配,則判定目標(biāo)Amlroid安裝包APK中的指定文件 中包含病毒特征碼; 和/或, 定位目標(biāo)Amlroid安裝包APK中可執(zhí)行文件操作指令中的操作碼,將所述操作碼與病 毒數(shù)據(jù)庫中的指令特征碼序列進(jìn)行匹配,若匹配,則判定目標(biāo)Amlroid安裝包APK中的指定 文件中包含病毒特征碼; 和/或, 定位目標(biāo)Amlroid安裝包APK中可執(zhí)行文件常量池中的常量W及操作指令中的操作數(shù) 所調(diào)用的類名和/或函數(shù)名,將所述類名和/或函數(shù)名與病毒數(shù)據(jù)庫中的類名函數(shù)名特征 碼進(jìn)行匹配,若匹配,則判定目標(biāo)Amlroid安裝包APK中的指定文件中包含病毒特征碼。
10. -種病毒APK的識別裝置,其特征在于,包括: 病毒數(shù)據(jù)庫生成模塊,用于預(yù)置病毒數(shù)據(jù)庫,所述病毒數(shù)據(jù)庫中包括病毒特征碼及對 應(yīng)的權(quán)重值; 病毒檢測模塊,用于檢測目標(biāo)Amlroid安裝包APK中的指定文件中是否包含所述病毒 特征碼;若是,則調(diào)用病毒權(quán)重值統(tǒng)計模塊; 病毒權(quán)重值統(tǒng)計模塊,用于統(tǒng)計所述病毒特征碼對應(yīng)的權(quán)重值之和; 闊值判斷模塊,用于判斷所述權(quán)重值之和是否大于等于某病毒判定闊值;若是,則調(diào)用 病毒判定模塊; 病毒判定模塊,用于判定所述目標(biāo)Amlroid安裝包APK中存在相應(yīng)類型的病毒。
【專利摘要】本申請?zhí)峁┝艘环N病毒APK的識別方法和裝置,其中,所述方法包括:預(yù)置病毒數(shù)據(jù)庫,所述病毒數(shù)據(jù)庫中包括病毒特征碼及對應(yīng)的權(quán)重值;檢測目標(biāo)Android安裝包APK的指定文件中是否包含病毒特征碼,若是,則統(tǒng)計所述病毒特征碼對應(yīng)的權(quán)重值之和;若所述權(quán)重值之和大于等于某病毒判定閾值,則判定所述目標(biāo)Android安裝包APK中存在相應(yīng)類型的病毒。本申請可以快速、準(zhǔn)確、有效地識別出病毒APK及其變種,提高APK應(yīng)用的安全性。
【IPC分類】G06F21-56
【公開號】CN104715200
【申請?zhí)枴緾N201510146264
【發(fā)明人】張旭, 王栒
【申請人】北京奇虎科技有限公司, 奇智軟件(北京)有限公司
【公開日】2015年6月17日
【申請日】2012年5月4日