亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

安卓系統(tǒng)下基于虛擬技術(shù)的惡意代碼檢測(cè)方法及系統(tǒng)的制作方法

文檔序號(hào):10613175閱讀:264來(lái)源:國(guó)知局
安卓系統(tǒng)下基于虛擬技術(shù)的惡意代碼檢測(cè)方法及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明提出了安卓系統(tǒng)下基于虛擬技術(shù)的惡意代碼檢測(cè)方法及系統(tǒng),首先對(duì)安卓系統(tǒng)下的可執(zhí)行文件進(jìn)行識(shí)別和解析,拆分出各可執(zhí)行文件的機(jī)器指令,利用虛擬技術(shù)模擬執(zhí)行機(jī)器指令,并模擬指令運(yùn)行時(shí)所需物理環(huán)境,并對(duì)可能的系統(tǒng)調(diào)用以及API調(diào)用進(jìn)行模擬,監(jiān)測(cè)并記錄模擬執(zhí)行以及模擬調(diào)用過(guò)程中產(chǎn)生的敏感信息,最終將敏感信息與規(guī)則庫(kù)匹配中的特征進(jìn)行匹配,判斷是否存在含有惡意代碼的可執(zhí)行文件。本發(fā)明彌補(bǔ)了現(xiàn)有針對(duì)安卓系統(tǒng)下惡意代碼靜態(tài)檢測(cè)技術(shù)中存在的不足,實(shí)現(xiàn)了對(duì)安卓系統(tǒng)下惡意代碼的深度檢測(cè)。
【專(zhuān)利說(shuō)明】
安卓系統(tǒng)下基于虛擬技術(shù)的惡意代碼檢測(cè)方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及惡意代碼監(jiān)測(cè)技術(shù)領(lǐng)域,尤其涉及一種安卓系統(tǒng)下基于虛擬技術(shù)的惡意代碼檢測(cè)方法及系統(tǒng)。
【背景技術(shù)】
[0002]當(dāng)前安卓系統(tǒng)下的惡意代碼呈現(xiàn)出更加復(fù)雜的發(fā)展趨勢(shì),其采用了更加復(fù)雜的混淆、加密手段,并且加密算法通常采用自定義算法,給惡意代碼的靜態(tài)檢測(cè)帶來(lái)很大挑戰(zhàn),惡意代碼將敏感字符串、執(zhí)行代碼、執(zhí)行模塊文件進(jìn)行加密,使得現(xiàn)有的靜態(tài)檢測(cè)方案不能有效的對(duì)其進(jìn)行智能檢測(cè)。
[0003]安卓系統(tǒng)目前支持多種可執(zhí)行文件格式,例如APK、DEX、ELF等,并且在Android4.4之后添加了一種新的運(yùn)行時(shí)環(huán)境ART,該運(yùn)行時(shí)環(huán)境下的可執(zhí)行文件格式為OAT,Android5.0以后,便將原來(lái)的Dalvik運(yùn)行時(shí)環(huán)境完全替代ART運(yùn)行時(shí)環(huán)境,并且安卓系統(tǒng)在運(yùn)行的CPU架構(gòu)上,除了ARM,還增加了對(duì)X86、MIPS以及ARM64位的支持,由于安卓系統(tǒng)可執(zhí)行文件和指令架構(gòu)的多樣化,惡意代碼也以多種形態(tài)存在,所以安卓系統(tǒng)下對(duì)惡意代碼的靜態(tài)檢測(cè)方案也必須支持多種格式和指令架構(gòu)。

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

[0004]針對(duì)現(xiàn)有安卓系統(tǒng)下惡意代碼靜態(tài)檢測(cè)技術(shù)中存在的不足,本發(fā)明提出了一種安卓系統(tǒng)下基于虛擬技術(shù)的惡意代碼檢測(cè)方法及系統(tǒng),首先對(duì)安卓系統(tǒng)下的可執(zhí)行文件進(jìn)行識(shí)別和解析,拆分出各可執(zhí)行文件的機(jī)器指令,利用虛擬技術(shù)模擬執(zhí)行機(jī)器指令,并模擬指令運(yùn)行時(shí)所需物理環(huán)境,監(jiān)測(cè)并記錄敏感執(zhí)行信息,以及敏感調(diào)用信息,最終通過(guò)規(guī)則庫(kù)匹配,判斷是否存在含有惡意代碼的可執(zhí)行文件。
[0005]具體
【發(fā)明內(nèi)容】
包括:
安卓系統(tǒng)下基于虛擬技術(shù)的惡意代碼檢測(cè)方法,包括:
對(duì)安卓系統(tǒng)下的可執(zhí)行文件進(jìn)行格式識(shí)別和解析,并確定各可執(zhí)行文件的代碼塊在內(nèi)存中的分布位置,該過(guò)程支持多種可執(zhí)行文件的格式識(shí)別和解析,包括APK、DEX、ELF、OAT等格式的可執(zhí)行文件;
解析代碼塊中的代碼指令,并將解析的代碼指令拆分為由操作碼、操作數(shù)兩部分組成的機(jī)器指令,該過(guò)程支持多種架構(gòu)下的代碼指令的識(shí)別和解析,包括Dal vik、ARM、Thumb、ARM64、X86、MIPS等架構(gòu)下的代碼指令,并將解析的各代碼指令拆分為相應(yīng)架構(gòu)下的機(jī)器指令;
解析并模擬執(zhí)行各可執(zhí)行文件的機(jī)器指令,對(duì)模擬執(zhí)行行為進(jìn)行監(jiān)測(cè),同時(shí)記錄敏感行為信息,并監(jiān)測(cè)系統(tǒng)下的調(diào)用行為,該過(guò)程支持對(duì)不同架構(gòu)下的機(jī)器指令進(jìn)行解析和模擬執(zhí)行;
將監(jiān)測(cè)的模擬執(zhí)行狀態(tài)以及調(diào)用行為與檢測(cè)規(guī)則庫(kù)中的特征進(jìn)行匹配,判斷相應(yīng)的可執(zhí)行文件中是否包含惡意代碼,所述檢測(cè)規(guī)則庫(kù)中的特征包括:惡意代碼字符串、惡意代碼序列、惡意代碼釋放的代碼模塊名稱(chēng)、惡意API簽名、惡意文件路徑、惡意API調(diào)用序列。
[0006]進(jìn)一步地,所述模擬執(zhí)行各可執(zhí)行文件的機(jī)器指令,包括模擬實(shí)現(xiàn)每條機(jī)器指令、模擬不同架構(gòu)的寄存器、模擬內(nèi)存分配,所述寄存器包括通用寄存器、狀態(tài)寄存器。
[0007]進(jìn)一步地,所述模擬執(zhí)行行為包括:模擬對(duì)寄存器的操作、模擬對(duì)內(nèi)存的操作、模擬對(duì)棧的操作,具體為:根據(jù)所要模擬執(zhí)行的機(jī)器指令在執(zhí)行過(guò)程中所占的內(nèi)存,模擬分配一定的內(nèi)存空間,實(shí)現(xiàn)模擬對(duì)內(nèi)存的操作,并將模擬分配的內(nèi)存空間中的一部分模擬為??臻g,利用模擬對(duì)寄存器的操作來(lái)模擬使用所述??臻g,從而實(shí)現(xiàn)對(duì)各可執(zhí)行文件的機(jī)器指令進(jìn)行模擬執(zhí)行。
[0008]進(jìn)一步地,所述監(jiān)測(cè)系統(tǒng)下的調(diào)用行為,包括:對(duì)模擬執(zhí)行機(jī)器指令過(guò)程中的系統(tǒng)調(diào)用以及API調(diào)用進(jìn)行模擬,并監(jiān)測(cè)模擬的調(diào)用行為,對(duì)敏感調(diào)用行為進(jìn)行記錄,所述敏感調(diào)用行為包括文件系統(tǒng)寫(xiě)入、網(wǎng)絡(luò)連接、通信、文件創(chuàng)建、文件刪除、修改參數(shù)、修改返回值等。
[0009]進(jìn)一步地,還包括對(duì)可執(zhí)行文件的代碼塊進(jìn)行加密、解密入口識(shí)別,模擬執(zhí)行加密、解密代碼,獲取加密代碼塊的明文信息,對(duì)所述明文信息中的敏感信息進(jìn)行記錄,并將記錄的敏感信息與檢測(cè)規(guī)則庫(kù)中的特征進(jìn)行匹配,判斷相應(yīng)的可執(zhí)行文件中是否包含惡意代碼,所述敏感信息包括敏感字符串、敏感代碼、敏感執(zhí)行信息等。
[0010]安卓系統(tǒng)下基于虛擬技術(shù)的惡意代碼檢測(cè)系統(tǒng),包括:
可執(zhí)行文件解析模塊,用于對(duì)安卓系統(tǒng)下的可執(zhí)行文件進(jìn)行格式識(shí)別和解析,并確定各可執(zhí)行文件的代碼塊在內(nèi)存中的分布位置,該過(guò)程支持多種可執(zhí)行文件的格式識(shí)別和解析,包括APK、DEX、ELF、OAT等格式的可執(zhí)行文件;
指令架構(gòu)解析模塊,用于解析代碼塊中的代碼指令,并將解析的代碼指令拆分為由操作碼、操作數(shù)兩部分組成的機(jī)器指令,該過(guò)程支持多種架構(gòu)下的代碼指令的識(shí)別和解析,包括Dalvik、ARM、Thumb、ARM64、X86、MIPS等架構(gòu)下的代碼指令,并將解析的各代碼指令拆分為相應(yīng)架構(gòu)下的機(jī)器指令;
虛擬執(zhí)行模塊,用于解析并模擬執(zhí)行各可執(zhí)行文件的機(jī)器指令,對(duì)模擬執(zhí)行行為進(jìn)行監(jiān)測(cè),同時(shí)記錄敏感行為信息,并監(jiān)測(cè)系統(tǒng)下的調(diào)用行為,該過(guò)程支持對(duì)不同架構(gòu)下的機(jī)器指令進(jìn)行解析和模擬執(zhí)行;
規(guī)則庫(kù)匹配模塊,用于將監(jiān)測(cè)的模擬執(zhí)行狀態(tài)以及調(diào)用行為與檢測(cè)規(guī)則庫(kù)中的特征進(jìn)行匹配,判斷相應(yīng)的可執(zhí)行文件中是否包含惡意代碼,所述檢測(cè)規(guī)則庫(kù)中的特征包括:惡意代碼字符串、惡意代碼序列、惡意代碼釋放的代碼模塊名稱(chēng)、惡意API簽名、惡意文件路徑、惡意API調(diào)用序列。
[0011]進(jìn)一步地,所述模擬執(zhí)行各可執(zhí)行文件的機(jī)器指令,包括模擬實(shí)現(xiàn)每條機(jī)器指令、模擬不同架構(gòu)的寄存器、模擬內(nèi)存分配,所述寄存器包括通用寄存器、狀態(tài)寄存器。
[0012]進(jìn)一步地,所述模擬執(zhí)行行為包括:模擬對(duì)寄存器的操作、模擬對(duì)內(nèi)存的操作、模擬對(duì)棧的操作,具體為:根據(jù)所要模擬執(zhí)行的機(jī)器指令在執(zhí)行過(guò)程中所占的內(nèi)存,模擬分配一定的內(nèi)存空間,實(shí)現(xiàn)模擬對(duì)內(nèi)存的操作,并將模擬分配的內(nèi)存空間中的一部分模擬為??臻g,利用模擬對(duì)寄存器的操作來(lái)模擬使用所述棧空間,從而實(shí)現(xiàn)對(duì)各可執(zhí)行文件的機(jī)器指令進(jìn)行模擬執(zhí)行。
[0013]進(jìn)一步地,所述監(jiān)測(cè)系統(tǒng)下的調(diào)用行為,包括:對(duì)模擬執(zhí)行機(jī)器指令過(guò)程中的系統(tǒng)調(diào)用以及API調(diào)用進(jìn)行模擬,并監(jiān)測(cè)模擬的調(diào)用行為,對(duì)敏感調(diào)用行為進(jìn)行記錄,所述敏感調(diào)用行為包括文件系統(tǒng)寫(xiě)入、網(wǎng)絡(luò)連接、通信、文件創(chuàng)建、文件刪除、修改參數(shù)、修改返回值等。
[0014]進(jìn)一步地,還包括對(duì)可執(zhí)行文件的代碼塊進(jìn)行加密、解密入口識(shí)別,模擬執(zhí)行加密、解密代碼,獲取加密代碼塊的明文信息,對(duì)所述明文信息中的敏感信息進(jìn)行記錄,并將記錄的敏感信息與檢測(cè)規(guī)則庫(kù)中的特征進(jìn)行匹配,判斷相應(yīng)的可執(zhí)行文件中是否包含惡意代碼,所述敏感信息包括敏感字符串、敏感代碼、敏感執(zhí)行信息等。
[0015]本發(fā)明的有益效果是:
本發(fā)明適用于現(xiàn)有安卓系統(tǒng)的多運(yùn)行環(huán)境、多格式可執(zhí)行文件以及多指令架構(gòu);
本發(fā)明將可執(zhí)行文件解析為含有操作碼和操作數(shù)的機(jī)器指令,并對(duì)機(jī)器指令進(jìn)行模擬執(zhí)行,而不是直接將解析的指令代碼進(jìn)行模擬執(zhí)行,有效的減少了執(zhí)行指令過(guò)程中所占用的內(nèi)存;
本發(fā)明采用虛擬執(zhí)行技術(shù),在不安裝或者運(yùn)行可執(zhí)行文件的前提下,對(duì)惡意代碼進(jìn)行靜態(tài)檢測(cè),并且由于本發(fā)明實(shí)現(xiàn)的方法及系統(tǒng)具有占用內(nèi)存小,運(yùn)行時(shí)消耗資源少的優(yōu)勢(shì),本發(fā)明可以直接實(shí)現(xiàn)在移動(dòng)終端上;
本發(fā)明在模擬實(shí)現(xiàn)機(jī)器指令的同時(shí),模擬了指令運(yùn)行過(guò)程中所需環(huán)境,包括模擬寄存器、模擬內(nèi)存分配、模擬棧操作,使得模擬執(zhí)行結(jié)果更真實(shí)更精確,并且本發(fā)明還對(duì)指令執(zhí)行過(guò)程中可能調(diào)用的系統(tǒng)指令以及API進(jìn)行模擬操作,使得檢測(cè)范圍更全面,有效提高檢測(cè)精度;
本發(fā)明只對(duì)指令執(zhí)行過(guò)程中可能出現(xiàn)的系統(tǒng)調(diào)用以及API調(diào)用進(jìn)行監(jiān)測(cè),而不是對(duì)全部系統(tǒng)指令以及API進(jìn)行監(jiān)測(cè),使得在保障檢測(cè)結(jié)果的同時(shí),有效提高了檢測(cè)速度,減少了在模擬執(zhí)行和監(jiān)測(cè)過(guò)程中的資源消耗;
進(jìn)一步地,本發(fā)明還實(shí)現(xiàn)了對(duì)加密代碼塊的監(jiān)測(cè),首先識(shí)別代碼塊的加密、解密入口,其次通過(guò)模擬執(zhí)行加密、解密代碼來(lái)獲取加密代碼塊的明文信息,并對(duì)明文信息中的敏感信息進(jìn)行記錄,實(shí)現(xiàn)了安卓系統(tǒng)下對(duì)惡意代碼的深度檢測(cè),有效避免了通過(guò)加密手段進(jìn)行隱藏的惡意代碼所造成的威脅。
【附圖說(shuō)明】
[0016]為了更清楚地說(shuō)明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0017]圖1為本發(fā)明安卓系統(tǒng)下基于虛擬技術(shù)的惡意代碼檢測(cè)的方法流程圖;
圖2為本發(fā)明安卓系統(tǒng)下基于虛擬技術(shù)的惡意代碼檢測(cè)的系統(tǒng)結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0018]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明中技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。
[0019]本發(fā)明給出了安卓系統(tǒng)下基于虛擬技術(shù)的惡意代碼檢測(cè)的方法實(shí)施例,如圖1所示,包括:
SlOl:對(duì)安卓系統(tǒng)下的可執(zhí)行文件進(jìn)行格式識(shí)別和解析,并確定各可執(zhí)行文件的代碼塊在內(nèi)存中的分布位置,該過(guò)程支持多種可執(zhí)行文件的格式識(shí)別和解析,包括APK、DEX、ELF、OAT等格式的可執(zhí)行文件;
S102:解析代碼塊中的代碼指令,并將解析的代碼指令拆分為由操作碼、操作數(shù)兩部分組成的機(jī)器指令,該過(guò)程支持多種架構(gòu)下的代碼指令的識(shí)別和解析,包括Dalvik、ARM、Thumb、ARM64、X86、MIPS等架構(gòu)下的代碼指令,并將解析的各代碼指令拆分為相應(yīng)架構(gòu)下的機(jī)器指令;
S103:解析并模擬執(zhí)行各可執(zhí)行文件的機(jī)器指令,對(duì)模擬執(zhí)行行為進(jìn)行監(jiān)測(cè),同時(shí)記錄敏感行為信息,并監(jiān)測(cè)系統(tǒng)下的調(diào)用行為,該過(guò)程支持對(duì)不同架構(gòu)下的機(jī)器指令進(jìn)行解析和模擬執(zhí)行;
S104:將監(jiān)測(cè)的模擬執(zhí)行狀態(tài)以及調(diào)用行為與檢測(cè)規(guī)則庫(kù)中的特征進(jìn)行匹配,判斷相應(yīng)的可執(zhí)行文件中是否包含惡意代碼,所述檢測(cè)規(guī)則庫(kù)中的特征包括:惡意代碼字符串、惡意代碼序列、惡意代碼釋放的代碼模塊名稱(chēng)、惡意API簽名、惡意文件路徑、惡意API調(diào)用序列。
[0020]進(jìn)一步地,所述模擬執(zhí)行各可執(zhí)行文件的機(jī)器指令,包括模擬實(shí)現(xiàn)每條機(jī)器指令、模擬不同架構(gòu)的寄存器、模擬內(nèi)存分配,所述寄存器包括通用寄存器、狀態(tài)寄存器。
[0021]進(jìn)一步地,所述模擬執(zhí)行行為包括:模擬對(duì)寄存器的操作、模擬對(duì)內(nèi)存的操作、模擬對(duì)棧的操作,具體為:根據(jù)所要模擬執(zhí)行的機(jī)器指令在執(zhí)行過(guò)程中所占的內(nèi)存,模擬分配一定的內(nèi)存空間,實(shí)現(xiàn)模擬對(duì)內(nèi)存的操作,并將模擬分配的內(nèi)存空間中的一部分模擬為??臻g,利用模擬對(duì)寄存器的操作來(lái)模擬使用所述??臻g,從而實(shí)現(xiàn)對(duì)各可執(zhí)行文件的機(jī)器指令進(jìn)行模擬執(zhí)行。
[0022]進(jìn)一步地,所述監(jiān)測(cè)系統(tǒng)下的調(diào)用行為,包括:對(duì)模擬執(zhí)行機(jī)器指令過(guò)程中的系統(tǒng)調(diào)用以及API調(diào)用進(jìn)行模擬,并監(jiān)測(cè)模擬的調(diào)用行為,對(duì)敏感調(diào)用行為進(jìn)行記錄,該過(guò)程可以由以下兩種方法實(shí)現(xiàn):
方法一:根據(jù)具體的可執(zhí)行文件的機(jī)器指令,針對(duì)模擬執(zhí)行機(jī)器指令過(guò)程中可能的系統(tǒng)調(diào)用以及API調(diào)用,編寫(xiě)簡(jiǎn)易代碼,模擬實(shí)現(xiàn)所述系統(tǒng)調(diào)用以及API調(diào)用,并利用Hook技術(shù)攔截調(diào)用過(guò)程中的函數(shù)入口和出口,實(shí)現(xiàn)對(duì)調(diào)用行為的監(jiān)測(cè),并對(duì)敏感調(diào)用行為進(jìn)行記錄;方法二:根據(jù)具體的可執(zhí)行文件的機(jī)器指令,針對(duì)模擬執(zhí)行機(jī)器指令過(guò)程中可能的系統(tǒng)調(diào)用以及API調(diào)用,記錄調(diào)用值以及調(diào)用參數(shù),并根據(jù)人工操作,返回虛擬調(diào)用執(zhí)行結(jié)果,監(jiān)測(cè)執(zhí)行過(guò)程,并對(duì)敏感調(diào)用行為進(jìn)行記錄;
所述敏感調(diào)用行為包括文件系統(tǒng)寫(xiě)入、網(wǎng)絡(luò)連接、通信、文件創(chuàng)建、文件刪除、修改參數(shù)、修改返回值等。
[0023]進(jìn)一步地,還包括對(duì)可執(zhí)行文件的代碼塊進(jìn)行加密、解密入口識(shí)別,模擬執(zhí)行加密、解密代碼,獲取加密代碼塊的明文信息,對(duì)所述明文信息中的敏感信息進(jìn)行記錄,并將記錄的敏感信息與檢測(cè)規(guī)則庫(kù)中的特征進(jìn)行匹配,判斷相應(yīng)的可執(zhí)行文件中是否包含惡意代碼,所述敏感信息包括敏感字符串、敏感代碼、敏感執(zhí)行信息等。
[0024]本發(fā)明還給出了安卓系統(tǒng)下基于虛擬技術(shù)的惡意代碼檢測(cè)的系統(tǒng)實(shí)施例,如圖2所示,包括:
可執(zhí)行文件解析模塊201,用于對(duì)安卓系統(tǒng)下的可執(zhí)行文件進(jìn)行格式識(shí)別和解析,并確定各可執(zhí)行文件的代碼塊在內(nèi)存中的分布位置,該過(guò)程支持多種可執(zhí)行文件的格式識(shí)別和解析,包括APK、DEX、ELF、OAT等格式的可執(zhí)行文件;
指令架構(gòu)解析模塊202,用于解析代碼塊中的代碼指令,并將解析的代碼指令拆分為由操作碼、操作數(shù)兩部分組成的機(jī)器指令,該過(guò)程支持多種架構(gòu)下的代碼指令的識(shí)別和解析,包括Dalvik、ARM、Thumb、ARM64、X86、MIPS等架構(gòu)下的代碼指令,并將解析的各代碼指令拆分為相應(yīng)架構(gòu)下的機(jī)器指令;
虛擬執(zhí)行模塊203,用于解析并模擬執(zhí)行各可執(zhí)行文件的機(jī)器指令,對(duì)模擬執(zhí)行行為進(jìn)行監(jiān)測(cè),同時(shí)記錄敏感行為信息,并監(jiān)測(cè)系統(tǒng)下的調(diào)用行為,該過(guò)程支持對(duì)不同架構(gòu)下的機(jī)器指令進(jìn)行解析和模擬執(zhí)行;
規(guī)則庫(kù)匹配模塊204,用于將監(jiān)測(cè)的模擬執(zhí)行狀態(tài)以及調(diào)用行為與檢測(cè)規(guī)則庫(kù)中的特征進(jìn)行匹配,判斷相應(yīng)的可執(zhí)行文件中是否包含惡意代碼,所述檢測(cè)規(guī)則庫(kù)中的特征包括:惡意代碼字符串、惡意代碼序列、惡意代碼釋放的代碼模塊名稱(chēng)、惡意API簽名、惡意文件路徑、惡意API調(diào)用序列。
[0025]進(jìn)一步地,所述模擬執(zhí)行各可執(zhí)行文件的機(jī)器指令,包括模擬實(shí)現(xiàn)每條機(jī)器指令、模擬不同架構(gòu)的寄存器、模擬內(nèi)存分配,所述寄存器包括通用寄存器、狀態(tài)寄存器。
[0026]進(jìn)一步地,所述模擬執(zhí)行行為包括:模擬對(duì)寄存器的操作、模擬對(duì)內(nèi)存的操作、模擬對(duì)棧的操作,具體為:根據(jù)所要模擬執(zhí)行的機(jī)器指令在執(zhí)行過(guò)程中所占的內(nèi)存,模擬分配一定的內(nèi)存空間,實(shí)現(xiàn)模擬對(duì)內(nèi)存的操作,并將模擬分配的內(nèi)存空間中的一部分模擬為??臻g,利用模擬對(duì)寄存器的操作來(lái)模擬使用所述??臻g,從而實(shí)現(xiàn)對(duì)各可執(zhí)行文件的機(jī)器指令進(jìn)行模擬執(zhí)行。
[0027]進(jìn)一步地,所述監(jiān)測(cè)系統(tǒng)下的調(diào)用行為,包括:對(duì)模擬執(zhí)行機(jī)器指令過(guò)程中的系統(tǒng)調(diào)用以及API調(diào)用進(jìn)行模擬,并監(jiān)測(cè)模擬的調(diào)用行為,對(duì)敏感調(diào)用行為進(jìn)行記錄,所述敏感調(diào)用行為包括文件系統(tǒng)寫(xiě)入、網(wǎng)絡(luò)連接、通信、文件創(chuàng)建、文件刪除、修改參數(shù)、修改返回值等。
[0028]進(jìn)一步地,還包括對(duì)可執(zhí)行文件的代碼塊進(jìn)行加密、解密入口識(shí)別,模擬執(zhí)行加密、解密代碼,獲取加密代碼塊的明文信息,對(duì)所述明文信息中的敏感信息進(jìn)行記錄,并將記錄的敏感信息與檢測(cè)規(guī)則庫(kù)中的特征進(jìn)行匹配,判斷相應(yīng)的可執(zhí)行文件中是否包含惡意代碼,所述敏感信息包括敏感字符串、敏感代碼、敏感執(zhí)行信息等。
[0029]本說(shuō)明書(shū)中方法的實(shí)施例采用遞進(jìn)的方式描述,對(duì)于系統(tǒng)的實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。針對(duì)現(xiàn)有安卓系統(tǒng)下惡意代碼靜態(tài)檢測(cè)技術(shù)存在的不足,本發(fā)明提出了安卓系統(tǒng)下基于虛擬技術(shù)的惡意代碼檢測(cè)方法及系統(tǒng),并且適用于現(xiàn)有安卓系統(tǒng)的多運(yùn)行環(huán)境、多格式可執(zhí)行文件以及多指令架構(gòu);本發(fā)明將可執(zhí)行文件解析為含有操作碼和操作數(shù)的機(jī)器指令,并對(duì)機(jī)器指令進(jìn)行模擬執(zhí)行,而不是直接將解析的指令代碼進(jìn)行模擬執(zhí)行,有效的減少了執(zhí)行指令過(guò)程中所占用的內(nèi)存;本發(fā)明采用虛擬執(zhí)行技術(shù),在不安裝或者運(yùn)行可執(zhí)行文件的前提下,對(duì)惡意代碼進(jìn)行靜態(tài)檢測(cè),并且由于本發(fā)明實(shí)現(xiàn)的方法及系統(tǒng)具有占用內(nèi)存小,運(yùn)行時(shí)消耗資源少的優(yōu)勢(shì),本發(fā)明可以直接實(shí)現(xiàn)在移動(dòng)終端上;本發(fā)明在模擬實(shí)現(xiàn)機(jī)器指令的同時(shí),模擬了指令運(yùn)行過(guò)程中所需環(huán)境,包括模擬寄存器、模擬內(nèi)存分配、模擬棧操作,使得模擬執(zhí)行結(jié)果更真實(shí)更精確,并且本發(fā)明還對(duì)指令執(zhí)行過(guò)程中可能調(diào)用的系統(tǒng)指令以及API進(jìn)行模擬操作,使得檢測(cè)范圍更全面,有效提高檢測(cè)精度;本發(fā)明只對(duì)指令執(zhí)行過(guò)程中可能出現(xiàn)的系統(tǒng)調(diào)用以及API調(diào)用進(jìn)行監(jiān)測(cè),而不是對(duì)全部系統(tǒng)指令以及API進(jìn)行監(jiān)測(cè),使得在保障檢測(cè)結(jié)果的同時(shí),有效提高了檢測(cè)速度,減少了在模擬執(zhí)行和監(jiān)測(cè)過(guò)程中的資源消耗;進(jìn)一步地,本發(fā)明還實(shí)現(xiàn)了對(duì)加密代碼塊的監(jiān)測(cè),首先識(shí)別代碼塊的加密、解密入口,其次通過(guò)模擬執(zhí)行加密、解密代碼來(lái)獲取加密代碼塊的明文信息,并對(duì)明文信息中的敏感信息進(jìn)行記錄,實(shí)現(xiàn)了安卓系統(tǒng)下對(duì)惡意代碼的深度檢測(cè),有效避免了通過(guò)加密手段進(jìn)行隱藏的惡意代碼所造成的威脅。
[0030]雖然通過(guò)實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
【主權(quán)項(xiàng)】
1.安卓系統(tǒng)下基于虛擬技術(shù)的惡意代碼檢測(cè)方法,其特征在于,包括: 對(duì)安卓系統(tǒng)下的可執(zhí)行文件進(jìn)行格式識(shí)別和解析,并確定各可執(zhí)行文件的代碼塊在內(nèi)存中的分布位置; 解析代碼塊中的代碼指令,并將解析的代碼指令拆分為由操作碼、操作數(shù)兩部分組成的機(jī)器指令; 解析并模擬執(zhí)行各可執(zhí)行文件的機(jī)器指令,對(duì)模擬執(zhí)行行為進(jìn)行監(jiān)測(cè),同時(shí)記錄敏感行為信息,并監(jiān)測(cè)系統(tǒng)下的調(diào)用行為; 將監(jiān)測(cè)的模擬執(zhí)行狀態(tài)以及調(diào)用行為與檢測(cè)規(guī)則庫(kù)中的特征進(jìn)行匹配,判斷相應(yīng)的可執(zhí)行文件中是否包含惡意代碼。2.如權(quán)利要求1所述的方法,其特征在于,所述模擬執(zhí)行各可執(zhí)行文件的機(jī)器指令,包括模擬實(shí)現(xiàn)每條機(jī)器指令、模擬不同架構(gòu)的寄存器、模擬內(nèi)存分配,所述寄存器包括通用寄存器、狀態(tài)寄存器。3.如權(quán)利要求1所述的方法,其特征在于,所述模擬執(zhí)行行為包括:模擬對(duì)寄存器的操作、模擬對(duì)內(nèi)存的操作、模擬對(duì)棧的操作。4.如權(quán)利要求1所述的方法,其特征在于,所述監(jiān)測(cè)系統(tǒng)下的調(diào)用行為,包括:對(duì)模擬執(zhí)行機(jī)器指令過(guò)程中的系統(tǒng)調(diào)用以及API調(diào)用進(jìn)行模擬,并監(jiān)測(cè)模擬的調(diào)用行為,對(duì)敏感調(diào)用行為進(jìn)行記錄。5.如權(quán)利要求1所述的方法,其特征在于,還包括對(duì)可執(zhí)行文件的代碼塊進(jìn)行加密、解密入口識(shí)別,模擬執(zhí)行加密、解密代碼,獲取加密代碼塊的明文信息,對(duì)所述明文信息中的敏感信息進(jìn)行記錄,并將記錄的敏感信息與檢測(cè)規(guī)則庫(kù)中的特征進(jìn)行匹配,判斷相應(yīng)的可執(zhí)行文件中是否包含惡意代碼。6.安卓系統(tǒng)下基于虛擬技術(shù)的惡意代碼檢測(cè)系統(tǒng),其特征在于,包括: 可執(zhí)行文件解析模塊,用于對(duì)安卓系統(tǒng)下的可執(zhí)行文件進(jìn)行格式識(shí)別和解析,并確定各可執(zhí)行文件的代碼塊在內(nèi)存中的分布位置; 指令架構(gòu)解析模塊,用于解析代碼塊中的代碼指令,并將解析的代碼指令拆分為由操作碼、操作數(shù)兩部分組成的機(jī)器指令; 虛擬執(zhí)行模塊,用于解析并模擬執(zhí)行各可執(zhí)行文件的機(jī)器指令,對(duì)模擬執(zhí)行行為進(jìn)行監(jiān)測(cè),同時(shí)記錄敏感行為信息,并監(jiān)測(cè)系統(tǒng)下的調(diào)用行為; 規(guī)則庫(kù)匹配模塊,用于將監(jiān)測(cè)的模擬執(zhí)行狀態(tài)以及調(diào)用行為與檢測(cè)規(guī)則庫(kù)中的特征進(jìn)行匹配,判斷相應(yīng)的可執(zhí)行文件中是否包含惡意代碼。7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述模擬執(zhí)行各可執(zhí)行文件的機(jī)器指令,包括模擬實(shí)現(xiàn)每條機(jī)器指令、模擬不同架構(gòu)的寄存器、模擬內(nèi)存分配,所述寄存器包括通用寄存器、狀態(tài)寄存器。8.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述模擬執(zhí)行行為包括:模擬對(duì)寄存器的操作、模擬對(duì)內(nèi)存的操作、模擬對(duì)棧的操作。9.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述監(jiān)測(cè)系統(tǒng)下的調(diào)用行為,包括:對(duì)模擬執(zhí)行機(jī)器指令過(guò)程中的系統(tǒng)調(diào)用以及API調(diào)用進(jìn)行模擬,并監(jiān)測(cè)模擬的調(diào)用行為,對(duì)敏感調(diào)用行為進(jìn)行記錄。10.如權(quán)利要求6所述的系統(tǒng),其特征在于,還包括加密代碼監(jiān)測(cè)模塊,用于對(duì)可執(zhí)行文件的代碼塊進(jìn)行加密、解密入口識(shí)別,模擬執(zhí)行加密、解密代碼,獲取加密代碼塊的明文信息,對(duì)所述明文信息中的敏感信息進(jìn)行記錄,并將記錄的敏感信息與檢測(cè)規(guī)則庫(kù)中的特征進(jìn)行匹配,判斷相應(yīng)的可執(zhí)行文件中是否包含惡意代碼。
【文檔編號(hào)】G06F21/56GK105975858SQ201510889821
【公開(kāi)日】2016年9月28日
【申請(qǐng)日】2015年12月8日
【發(fā)明人】潘博文, 喬偉
【申請(qǐng)人】武漢安天信息技術(shù)有限責(zé)任公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1