本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)安全領(lǐng)域,特別涉及一種動(dòng)態(tài)提取可執(zhí)行文件內(nèi)存映像的方法及系統(tǒng)。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的發(fā)展,惡意代碼與反病毒程序之間的對(duì)抗逐漸升級(jí),惡意代碼利用越來(lái)越多的手段隱藏自身,通過(guò)加密變形等手段逃避反病毒程序的查殺, 使得同樣一個(gè)惡意代碼經(jīng)過(guò)變換,在最終二進(jìn)制層面可以獲得海量的不同形勢(shì),導(dǎo)致反病毒程序通過(guò)靜態(tài)特征碼檢測(cè)的手段遇到極大的挑戰(zhàn)。為了對(duì)抗這種加密變形,防病毒程序可以采用一種延遲檢測(cè)的手段,即等待惡意代碼在內(nèi)存中加載完成,將原始二進(jìn)制代碼完全解密釋放到內(nèi)存種,再?gòu)膬?nèi)存中將惡意代碼的映像文件提取出來(lái)進(jìn)行檢測(cè)。但是,很多惡意代碼使用了用后刪除這樣的手段,即將變換后代碼釋放到內(nèi)存使用后便將其釋放掉,這樣傳統(tǒng)的提取內(nèi)存映像的方法就失去了作用。
同時(shí),一部分惡意代碼并不將變換后的惡意代碼釋放到可執(zhí)行文件的內(nèi)存空間內(nèi),而是將代碼釋放到??臻g或者后期分配的堆空間(例如使用堆噴射或棧噴射技術(shù)的shellcode)。那么傳統(tǒng)的方法由于只提取可執(zhí)行文件本身而無(wú)法獲取目標(biāo)進(jìn)程動(dòng)態(tài)分配的內(nèi)存空間,就無(wú)法對(duì)這些動(dòng)態(tài)分配出來(lái)的內(nèi)存地址空間里面的惡意代碼進(jìn)行檢測(cè)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提出一種動(dòng)態(tài)提取可執(zhí)行文件內(nèi)存映像的方法及系統(tǒng),利用一種隨程序運(yùn)行軌跡,動(dòng)態(tài)提取可執(zhí)行文件內(nèi)存映像的方法來(lái)解決解密變形后的惡意代碼釋放到動(dòng)態(tài)分配的內(nèi)存空間來(lái)躲避反病毒軟件通過(guò)提取可執(zhí)行文件內(nèi)存映像來(lái)進(jìn)行查殺的問(wèn)題。
一種動(dòng)態(tài)提取可執(zhí)行文件內(nèi)存映像的方法,包括:
利用虛擬機(jī)加載目標(biāo)可執(zhí)行文件;
根據(jù)預(yù)設(shè)間隔頻率定時(shí)提取目標(biāo)可執(zhí)行文件的內(nèi)存映像;
對(duì)提取出來(lái)的內(nèi)存映像進(jìn)行消重;
將消重后的所有內(nèi)存映像保存并提交檢測(cè)程序檢測(cè)。
所述的方法中,所述預(yù)設(shè)間隔頻率包括預(yù)設(shè)執(zhí)行步數(shù)間隔或預(yù)設(shè)時(shí)間間隔。
所述的方法中,所述目標(biāo)可執(zhí)行文件的內(nèi)存映像包括:目標(biāo)可執(zhí)行文件、進(jìn)程的棧內(nèi)存及動(dòng)態(tài)分配的堆內(nèi)存。
所述的方法中,對(duì)提取出來(lái)的內(nèi)存映像進(jìn)行消重具體為:將提取出來(lái)的內(nèi)存映像計(jì)算哈希,刪除哈希相同的內(nèi)存映像。
一種動(dòng)態(tài)提取可執(zhí)行文件內(nèi)存映像的系統(tǒng),包括:
目標(biāo)加載模塊,用于利用虛擬機(jī)加載目標(biāo)可執(zhí)行文件;
內(nèi)存映像提取模塊,用于根據(jù)預(yù)設(shè)間隔頻率定時(shí)提取目標(biāo)可執(zhí)行文件的內(nèi)存映像;
消重模塊,用于對(duì)提取出來(lái)的內(nèi)存映像進(jìn)行消重;
存儲(chǔ)模塊,用于將消重后的所有內(nèi)存映像保存并提交檢測(cè)程序檢測(cè)。
所述的系統(tǒng)中,所述預(yù)設(shè)間隔頻率包括預(yù)設(shè)執(zhí)行步數(shù)間隔或預(yù)設(shè)時(shí)間間隔。
所述的系統(tǒng)中,所述目標(biāo)可執(zhí)行文件的內(nèi)存映像包括:目標(biāo)可執(zhí)行文件、進(jìn)程的棧內(nèi)存及動(dòng)態(tài)分配的堆內(nèi)存。
所述的系統(tǒng)中,對(duì)提取出來(lái)的內(nèi)存映像進(jìn)行消重具體為:將提取出來(lái)的內(nèi)存映像計(jì)算哈希,刪除哈希相同的內(nèi)存映像。
本發(fā)明的優(yōu)勢(shì)在于不會(huì)遺漏可執(zhí)行文件本身內(nèi)存映像之外的惡意代碼,解決了惡意代碼按需釋放真實(shí)惡意代碼躲避查殺的問(wèn)題,并且通過(guò)哈希去重的方法避免了大量重復(fù)內(nèi)存片段的出現(xiàn),節(jié)省了資源消耗。
附圖說(shuō)明
為了更清楚地說(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ù)這些附圖獲得其他的附圖。
圖1為本發(fā)明一種動(dòng)態(tài)提取可執(zhí)行文件內(nèi)存映像的方法流程圖;
圖2為本發(fā)明一種動(dòng)態(tài)提取可執(zhí)行文件內(nèi)存映像的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明中技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。
本發(fā)明提出一種動(dòng)態(tài)提取可執(zhí)行文件內(nèi)存映像的方法及系統(tǒng),利用一種隨程序運(yùn)行軌跡,動(dòng)態(tài)提取可執(zhí)行文件內(nèi)存映像的方法來(lái)解決解密變形后的惡意代碼釋放到動(dòng)態(tài)分配的內(nèi)存空間來(lái)躲避反病毒軟件通過(guò)提取可執(zhí)行文件內(nèi)存映像來(lái)進(jìn)行查殺的問(wèn)題。
一種動(dòng)態(tài)提取可執(zhí)行文件內(nèi)存映像的方法,如圖1所示,包括:
S101:利用虛擬機(jī)加載目標(biāo)可執(zhí)行文件;所述虛擬機(jī)可以為VMWare、VirtualBox等;
S102:從程序的入口點(diǎn)開(kāi)始,根據(jù)預(yù)設(shè)間隔頻率定時(shí)提取目標(biāo)可執(zhí)行文件的內(nèi)存映像;
S103:對(duì)提取出來(lái)的內(nèi)存映像進(jìn)行消重;
S104:將消重后的所有內(nèi)存映像保存并提交檢測(cè)程序檢測(cè)。
所述的方法中,所述預(yù)設(shè)間隔頻率包括預(yù)設(shè)執(zhí)行步數(shù)間隔或預(yù)設(shè)時(shí)間間隔。
所述的方法中,所述目標(biāo)可執(zhí)行文件的內(nèi)存映像包括:目標(biāo)可執(zhí)行文件、進(jìn)程的棧內(nèi)存及動(dòng)態(tài)分配的堆內(nèi)存。
所述的方法中,對(duì)提取出來(lái)的內(nèi)存映像進(jìn)行消重具體為:將提取出來(lái)的內(nèi)存映像計(jì)算哈希,刪除哈希相同的內(nèi)存映像。
本發(fā)明還提出一種動(dòng)態(tài)提取可執(zhí)行文件內(nèi)存映像的系統(tǒng),如圖2所示,包括:
目標(biāo)加載模塊201,用于利用虛擬機(jī)加載目標(biāo)可執(zhí)行文件;
內(nèi)存映像提取模塊202,用于根據(jù)預(yù)設(shè)間隔頻率定時(shí)提取目標(biāo)可執(zhí)行文件的內(nèi)存映像;
消重模塊203,用于對(duì)提取出來(lái)的內(nèi)存映像進(jìn)行消重;
存儲(chǔ)模塊204,用于將消重后的所有內(nèi)存映像保存并提交檢測(cè)程序檢測(cè)。
所述的系統(tǒng)中,所述預(yù)設(shè)間隔頻率包括預(yù)設(shè)執(zhí)行步數(shù)間隔或預(yù)設(shè)時(shí)間間隔。
所述的系統(tǒng)中,所述目標(biāo)可執(zhí)行文件的內(nèi)存映像包括:目標(biāo)可執(zhí)行文件、進(jìn)程的棧內(nèi)存及動(dòng)態(tài)分配的堆內(nèi)存。
所述的系統(tǒng)中,對(duì)提取出來(lái)的內(nèi)存映像進(jìn)行消重具體為:將提取出來(lái)的內(nèi)存映像計(jì)算哈希,刪除哈希相同的內(nèi)存映像。
本發(fā)明的優(yōu)勢(shì)在于不會(huì)遺漏可執(zhí)行文件本身內(nèi)存映像之外的惡意代碼,解決了惡意代碼按需釋放真實(shí)惡意代碼躲避查殺的問(wèn)題,并且通過(guò)哈希去重的方法避免了大量重復(fù)內(nèi)存片段的出現(xiàn),節(jié)省了資源消耗。
雖然通過(guò)實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。