本發(fā)明涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種獲取被感染的宿主程序的解密方法及系統(tǒng)。
背景技術(shù):
病毒感染宿主程序,并不是要?dú)⑺浪拗?,而是在用戶運(yùn)行宿主程序時(shí)先運(yùn)行自身,完成惡性事件后,再運(yùn)行宿主程序。
制作病毒的解毒程序是分析被該病毒感染的宿主程序,找到宿主程序所在位置將入口點(diǎn)直接指向宿主程序,并清除病毒代碼,即完成解毒工作。
病毒感染時(shí)往往會(huì)把宿主程序進(jìn)行加密,如果分析人員要獲得宿主程序,必須要找到病毒的解密代碼部分,充分了解病毒的解密算法,才能根據(jù)該算法寫出解毒程序。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)方案的不足,本發(fā)明提供一種獲取被感染的宿主程序的解密方法及系統(tǒng),包括分析已感染的宿主程序,確定惡意代碼的解密函數(shù)的信息位置及狀態(tài)參數(shù);根據(jù)所述狀態(tài)參數(shù)編寫匯編代碼,將宿主文件寫入內(nèi)存中;根據(jù)所述解密函數(shù)的位置信息以及狀態(tài)參數(shù),將寫入內(nèi)存中的宿主文件中的解密函數(shù)移動(dòng)至代碼段并進(jìn)行相應(yīng)配置;運(yùn)行移動(dòng)至代碼段的解密函數(shù),獲得宿主程序代碼,調(diào)整程序入口點(diǎn)并保存。本發(fā)明中分析人員從始至終都不需要了解病毒的解密方法,以及所需要的參數(shù)信息的含義,可以提高分析人員的分析效率,充分利用在動(dòng)態(tài)分析病毒的過(guò)程中獲得到的病毒的解密方法。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:一種獲取被感染的宿主程序的解密方法,包括如下步驟:
(s101)分析已感染的宿主程序,確定惡意代碼的解密函數(shù)的信息位置及狀態(tài)參數(shù);
(s102)根據(jù)所述狀態(tài)參數(shù)編寫匯編代碼,將宿主文件寫入內(nèi)存中;
(s103)根據(jù)所述解密函數(shù)的位置信息以及狀態(tài)參數(shù),將寫入內(nèi)存中的宿主文件中的解密函數(shù)移動(dòng)至代碼段并進(jìn)行相應(yīng)配置;
(s104)運(yùn)行移動(dòng)至代碼段的解密函數(shù),獲得宿主程序代碼,調(diào)整程序入口點(diǎn)并保存。
作為本發(fā)明一種優(yōu)選的技術(shù)方案,所述步驟(s103)中所態(tài)參數(shù)包括:匯編環(huán)境od中寄存器、堆、棧所需參數(shù)以及解密明文所存儲(chǔ)的位置。
作為本發(fā)明一種優(yōu)選的技術(shù)方案,所述步驟(s103)中進(jìn)行相應(yīng)配置具體為:將寫入內(nèi)存中的宿主文件中相應(yīng)的狀態(tài)參數(shù)配置到寄存器、堆、棧。
另外本發(fā)明還設(shè)計(jì)了一種獲取被感染的宿主程序的解密系統(tǒng),包括:
分析模塊,用于分析已感染的宿主程序,確定惡意代碼的解密函數(shù)的信息位置及狀態(tài)參數(shù);
寫入模塊,用于根據(jù)所述狀態(tài)參數(shù)編寫匯編代碼,將宿主文件寫入內(nèi)存中;
配置模塊,用于根據(jù)所述解密函數(shù)的位置信息以及狀態(tài)參數(shù),將寫入內(nèi)存中的宿主文件中的解密函數(shù)移動(dòng)至代碼段并進(jìn)行相應(yīng)配置;
運(yùn)行模塊,用于運(yùn)行移動(dòng)至代碼段的解密函數(shù),獲得宿主程序代碼,調(diào)整程序入口點(diǎn)并保存。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明設(shè)計(jì)的方法和系統(tǒng),分析人不必知道惡意代碼的解密方法就可以通過(guò)本方法模擬病毒解密,從而實(shí)現(xiàn)解密的過(guò)程。節(jié)省分析人員的時(shí)間和精力,僅僅需要分析人員找到解密程序的入口以及所需要的狀態(tài)環(huán)境以及參數(shù)即可,很大提高分析人員的分析效率,充分利用在動(dòng)態(tài)分析病毒的過(guò)程中獲得到的病毒的解密方法。
附圖說(shuō)明
圖1為本發(fā)明一種獲取被感染的宿主程序的解密方法流程圖;
圖2為本發(fā)明一種獲取被感染的宿主程序的解密系統(tǒng)結(jié)構(gòu)圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例:
如圖1所示,本發(fā)明給出了一種獲取被感染的宿主程序的解密方法,其具體步驟包括:
s101、分析已感染的宿主程序,確定惡意代碼的解密函數(shù)的信息位置及狀態(tài)參數(shù);
s102、根據(jù)所述狀態(tài)參數(shù)編寫匯編代碼,將宿主文件寫入內(nèi)存中;
s103、根據(jù)所述解密函數(shù)的位置信息以及狀態(tài)參數(shù),將寫入內(nèi)存中的宿主文件中的解密函數(shù)移動(dòng)至代碼段并進(jìn)行相應(yīng)配置;
s104、運(yùn)行移動(dòng)至代碼段的解密函數(shù),獲得宿主程序代碼,調(diào)整程序入口點(diǎn)并保存。
所述狀態(tài)參數(shù)包括:匯編環(huán)境od中寄存器、堆、棧所需參數(shù)以及解密明文所存儲(chǔ)的位置;所述進(jìn)行相應(yīng)配置具體為:將寫入內(nèi)存中的宿主文件中相應(yīng)的狀態(tài)參數(shù)配置到寄存器、堆、棧。
如圖2所示,本發(fā)明還給出了一種獲取被感染的宿主程序的解密系統(tǒng)實(shí)施例包括:
分析模塊201,用于分析已感染的宿主程序,確定惡意代碼的解密函數(shù)的信息位置及狀態(tài)參數(shù);
寫入模塊202,用于根據(jù)所述狀態(tài)參數(shù)編寫匯編代碼,將宿主文件寫入內(nèi)存中;
配置模塊203,用于根據(jù)所述解密函數(shù)的位置信息以及狀態(tài)參數(shù),將寫入內(nèi)存中的宿主文件中的解密函數(shù)移動(dòng)至代碼段并進(jìn)行相應(yīng)配置;
運(yùn)行模塊204,用于運(yùn)行移動(dòng)至代碼段的解密函數(shù),獲得宿主程序代碼,調(diào)整程序入口點(diǎn)并保存。
本說(shuō)明書中系統(tǒng)的實(shí)施例采用遞進(jìn)的方式描述,對(duì)于方法的實(shí)施例而言,由于其基本相似于系統(tǒng)實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。本發(fā)明提出一種獲取被感染的宿主程序的解密方法及系統(tǒng),包括分析已感染的宿主程序,確定惡意代碼的解密函數(shù)的信息位置及狀態(tài)參數(shù);根據(jù)所述狀態(tài)參數(shù)編寫匯編代碼,將宿主文件寫入內(nèi)存中;根據(jù)所述解密函數(shù)的位置信息以及狀態(tài)參數(shù),將寫入內(nèi)存中的宿主文件中的解密函數(shù)移動(dòng)至代碼段并進(jìn)行相應(yīng)配置;運(yùn)行移動(dòng)至代碼段的解密函數(shù),獲得宿主程序代碼,調(diào)整程序入口點(diǎn)并保存。本發(fā)明中分析人員從始至終都不需要了解病毒的解密方法,以及所需要的參數(shù)信息的含義,可以提高分析人員的分析效率,充分利用在動(dòng)態(tài)分析病毒的過(guò)程中獲得到的病毒的解密方法。
對(duì)于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本發(fā)明。因此,無(wú)論從哪一點(diǎn)來(lái)看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說(shuō)明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化囊括在本發(fā)明內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求。