一種識別病毒的方法及裝置制造方法
【專利摘要】本發(fā)明提供一種識別病毒的方法及裝置,其中方法包括:獲取用戶訪問在線支付網(wǎng)站時的內(nèi)存中的原始內(nèi)存信息,并對所述原始內(nèi)存信息進行轉(zhuǎn)存;對轉(zhuǎn)存后的所述原始內(nèi)存信息進行分析,獲得訪問所述在線支付網(wǎng)站中被訪問過程中運行的進程的相關(guān)信息;根據(jù)所述進程的相關(guān)信息,對當(dāng)前運行的進程是否是病毒樣本對應(yīng)的進程進行識別。本發(fā)明的方案可以準(zhǔn)確快速識別盜取網(wǎng)銀賬號信息的木馬病毒。
【專利說明】—種識別病毒的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機安全領(lǐng)域,特別是指一種識別病毒的方法及裝置。
【背景技術(shù)】
[0002]目前網(wǎng)購木馬猖獗,經(jīng)常出現(xiàn)新的對抗殺毒軟件的手法,人工的方式進行病毒識別速度已經(jīng)跟不上病毒的更新速度,因此自動準(zhǔn)確識別支付網(wǎng)站木馬病毒的亟待解決的問題。
[0003]目前已有的網(wǎng)購木馬的識別方法可以分為三類:
[0004](I)人工分析的方法進行識別:通過反匯編代碼分析、文件靜態(tài)內(nèi)容比對以及一系列啟發(fā)式規(guī)則對比來給樣本文件定性。這種方法的優(yōu)點是:識別準(zhǔn)確;缺點是:低速,無法處理大量樣本。
[0005](2)動態(tài)分析的方法進行識別:通過動態(tài)執(zhí)行網(wǎng)購樣本文件,并記錄運行過程中進行動態(tài)行為分析,并對文件定性。這種方法的優(yōu)點是:精準(zhǔn)度高;缺點是:低速,吞吐量低,且受到運行環(huán)境限制。
[0006](3)靜態(tài)識別的方法:通過總結(jié)網(wǎng)購木馬的靜態(tài)文件特征,識別網(wǎng)購木馬。這種方法的優(yōu)點是:速度快;缺點是:準(zhǔn)確性低。
【發(fā)明內(nèi)容】
[0007]本發(fā)明要解決的技術(shù)問題是提供一種識別病毒的方法及裝置,通過對木馬病毒運行過程中的內(nèi)存內(nèi)容進行轉(zhuǎn)存,從而可以從內(nèi)存中獲得木馬病毒運行過程中使用的數(shù)據(jù),根據(jù)這些數(shù)據(jù)識別網(wǎng)購木馬,避免由于病毒樣本文件被加密處理,通過數(shù)字簽名軟件加載的木馬病毒無法被正確識別的問題。
[0008]為解決上述技術(shù)問題,本發(fā)明的實施例提供一種識別病毒的方法,包括:
[0009]獲取用戶訪問在線支付網(wǎng)站時的內(nèi)存中的原始內(nèi)存信息,并對所述原始內(nèi)存信息進行轉(zhuǎn)存;
[0010]對轉(zhuǎn)存后的所述原始內(nèi)存信息進行分析,獲得訪問所述在線支付網(wǎng)站中被訪問過程中運行的進程的相關(guān)信息;
[0011]根據(jù)所述進程的相關(guān)信息,對當(dāng)前運行的進程是否是病毒樣本對應(yīng)的進程進行識別。
[0012]其中,所述獲取用戶訪問在線支付網(wǎng)站時的內(nèi)存中的原始內(nèi)存信息,并對所述原始內(nèi)存信息進行轉(zhuǎn)存的步驟包括:
[0013]提高查看系統(tǒng)權(quán)限的權(quán)限值;
[0014]基于提高后的權(quán)限值,獲得要轉(zhuǎn)存的進程的內(nèi)存空間地址;其中所述要轉(zhuǎn)存的進程為訪問所述在線支付網(wǎng)站中被訪問過程;
[0015]根據(jù)所述內(nèi)存空間地址,對所述內(nèi)存空間中的內(nèi)容進行轉(zhuǎn)存,并將轉(zhuǎn)存的內(nèi)容保存為一個文件。[0016]其中,對轉(zhuǎn)存后的所述原始內(nèi)存信息進行分析,獲得訪問所述在線支付網(wǎng)站中被訪問過程中運行的進程的相關(guān)信息的步驟包括:
[0017]對所述文件進行分析,獲得訪問所述在線支付網(wǎng)站中被訪問過程中運行的病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù)。
[0018]其中,對所述文件進行分析,獲得訪問所述在線支付網(wǎng)站中被訪問過程中運行的病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù)的步驟包括:
[0019]根據(jù)字符編碼集或者病毒特征庫,對所述文件進行全文字符串匹配,獲得匹配不成功的無效字符串,并過濾掉所述無效字符串
[0020]過濾掉所述無效字符串,得到匹配成功的字符串對應(yīng)的文件;
[0021]根據(jù)所述匹配成功的字符串對應(yīng)的文件,獲得病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù)。
[0022]其中,根據(jù)所述進程的相關(guān)信息,對當(dāng)前運行的進程是否是病毒樣本對應(yīng)的進程進行識別的步驟包括:
[0023]根據(jù)病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù),在所述匹配成功的字符串對應(yīng)的文件中查找若有與所述數(shù)據(jù)以及調(diào)用的函數(shù)相匹配的:節(jié)點IE的內(nèi)容、節(jié)點Patch的內(nèi)容和節(jié)點TargetAddr的內(nèi)容,則確定該進程為病毒進程;其中,所述節(jié)點IE的內(nèi)容為搜索IE窗口控件時使用的內(nèi)容,所述節(jié)點Patch的內(nèi)容為修改IE網(wǎng)頁內(nèi)容時使用的內(nèi)容,所述TargetAddr的內(nèi)容為網(wǎng)購木馬病毒要盜取的對應(yīng)網(wǎng)購地址。
[0024]本發(fā)明的實施例還提供一種識別病毒的裝置,包括:
[0025]內(nèi)存截取模塊,用于獲取用戶訪問在線支付網(wǎng)站時的內(nèi)存中的原始內(nèi)存信息,并對所述原始內(nèi)存信息進行轉(zhuǎn)存;
[0026]獲取模塊,用于對轉(zhuǎn)存后的所述原始內(nèi)存信息進行分析,獲得訪問所述在線支付網(wǎng)站中被訪問過程中運行的進程的相關(guān)信息;
[0027]識別模塊,用于根據(jù)所述進程的相關(guān)信息,對當(dāng)前運行的進程是否是病毒樣本對應(yīng)的進程進行識別。
[0028]其中,所述內(nèi)存截取模塊包括:
[0029]設(shè)置模塊,用于提高查看系統(tǒng)權(quán)限的權(quán)限值;
[0030]獲得模塊,用于基于提高后的權(quán)限值,獲得要轉(zhuǎn)存的進程的內(nèi)存空間地址;其中所述要轉(zhuǎn)存的進程為訪問所述在線支付網(wǎng)站中被訪問過程;
[0031]轉(zhuǎn)存模塊,用于根據(jù)所述內(nèi)存空間地址,對所述內(nèi)存空間中的內(nèi)容進行轉(zhuǎn)存,并將轉(zhuǎn)存的內(nèi)容保存為一個文件。
[0032]其中,所述獲得模塊具體用于:對轉(zhuǎn)存后的所述文件進行分析,獲得訪問所述在線支付網(wǎng)站中被訪問過程中運行的病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù)。
[0033]其中,所述獲得模塊還用于:根據(jù)字符編碼集或者病毒特征庫,對所述文件進行全文字符串匹配,獲得匹配不成功的無效字符串,并過濾掉所述無效字符串;過濾掉所述無效字符串,得到匹配成功的字符串對應(yīng)的文件;根據(jù)所述匹配成功的字符串對應(yīng)的文件,獲得病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù)。
[0034]其中,所述識別模塊具體用于:根據(jù)病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù),在所述匹配成功的字符串對應(yīng)的文件中查找若有與所述數(shù)據(jù)以及調(diào)用的函數(shù)相匹配的:節(jié)點IE的內(nèi)容、節(jié)點Patch的內(nèi)容和節(jié)點TargetAddr的內(nèi)容,則確定該進程為病毒進程;其中,所述節(jié)點IE的內(nèi)容為搜索IE窗口控件時使用的內(nèi)容,所述節(jié)點Patch的內(nèi)容為修改IE網(wǎng)頁內(nèi)容時使用的內(nèi)容,所述TargetAddr的內(nèi)容為網(wǎng)購木馬病毒要盜取的對應(yīng)網(wǎng)購地址。
[0035]本發(fā)明的上述技術(shù)方案的有益效果如下:
[0036]上述方案中,通過對木馬病毒運行過程中的內(nèi)存內(nèi)容進行轉(zhuǎn)存,從而可以從內(nèi)存中獲得木馬病毒運行過程中使用的數(shù)據(jù),根據(jù)這些數(shù)據(jù)識別網(wǎng)購木馬,避免由于病毒樣本文件被加密處理,通過數(shù)字簽名軟件加載的木馬病毒無法被正確識別的問題。
【專利附圖】
【附圖說明】
[0037]圖1為本發(fā)明的實施例識別病毒的方法的流程圖;
[0038]圖2為本發(fā)明的實施例識別病毒的裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0039]為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例進行詳細描述。
[0040]如圖1所示,本發(fā)明的實施例提供一種識別病毒的方法,包括:
[0041]步驟11,獲取用戶訪問在線支付網(wǎng)站時的內(nèi)存中的原始內(nèi)存信息,并對所述原始內(nèi)存信息進行轉(zhuǎn)存;
[0042]步驟12,對轉(zhuǎn)存后的所述原始內(nèi)存信息進行分析,獲得訪問所述在線支付網(wǎng)站中被訪問過程中運行的進程的相關(guān)信息;
[0043]步驟13,根據(jù)所述進程的相關(guān)信息,對當(dāng)前運行的進程是否是病毒樣本對應(yīng)的進程進行識別。
[0044]本發(fā)明的該實施例通過對木馬病毒運行過程中的內(nèi)存內(nèi)容進行轉(zhuǎn)存,從而可以從內(nèi)存中獲得木馬病毒運行過程中使用的數(shù)據(jù),根據(jù)這些數(shù)據(jù)識別網(wǎng)購木馬,從而可以在木馬病毒樣本被解密完就能被識別出來,避免由于病毒樣本文件被加密處理,通過數(shù)字簽名軟件加載的木馬病毒無法被正確識別的問題。
[0045]在本發(fā)明的另一實施例中,包括上述步驟11 - 13的基礎(chǔ)上,其中,所述步驟11包括:
[0046]步驟111,提高查看系統(tǒng)權(quán)限的權(quán)限值;
[0047]步驟112,基于提高后的權(quán)限值,獲得要轉(zhuǎn)存的進程的內(nèi)存空間地址;其中所述要轉(zhuǎn)存的進程為訪問所述在線支付網(wǎng)站中被訪問過程;
[0048]步驟113,根據(jù)所述內(nèi)存空間地址,對所述內(nèi)存空間中的內(nèi)容進行轉(zhuǎn)存,并將轉(zhuǎn)存的內(nèi)容保存為一個文件。
[0049]具體實現(xiàn)過程如下:得到進程令牌句柄,根據(jù)進程令牌句柄,查看系統(tǒng)權(quán)限的特權(quán)值,提升進程權(quán)限為SeDubegPrivilege ;
[0050]獲取要轉(zhuǎn)存的進程的內(nèi)存空間起始地址,為轉(zhuǎn)存內(nèi)存做準(zhǔn)備;
[0051]對當(dāng)前系統(tǒng)進程做一個進程的快照,根據(jù)起始地址讀取內(nèi)存內(nèi)容,獲取第一個模塊的信息,如果失敗就退出;
[0052]遍歷系統(tǒng)進程找到pModuleName指定的進程,并遍歷它的模塊信息得到模塊的內(nèi)存起始地址,按照上述過程對所有進程進行遍歷。
[0053]在上述實施列中,步驟12具體包括:對所述文件進行分析,獲得訪問所述在線支付網(wǎng)站中被訪問過程中運行的病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù)。如此可以得到動態(tài)分析由于環(huán)境原因得不到的信息。
[0054]具體實現(xiàn)過程包括:根據(jù)字符編碼集或者病毒特征庫,對所述文件進行全文字符串匹配,獲得匹配不成功的無效字符串,并過濾掉所述無效字符串;過濾掉所述無效字符串,得到匹配成功的字符串對應(yīng)的文件;根據(jù)所述匹配成功的字符串對應(yīng)的文件,獲得病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù)。
[0055]相應(yīng)地,步驟13可以包括:根據(jù)病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù),在所述匹配成功的字符串對應(yīng)的文件中查找若有與所述數(shù)據(jù)以及調(diào)用的函數(shù)相匹配的:節(jié)點IE((Internet Explore,即IE瀏覽器))的內(nèi)容、節(jié)點Patch (補丁)的內(nèi)容和節(jié)點TargetAddr(目標(biāo)地址)的內(nèi)容,則確定該進程為病毒進程;其中,所述節(jié)點IE的內(nèi)容為搜索IE窗口控件時使用的內(nèi)容,所述節(jié)點Patch的內(nèi)容為修改IE網(wǎng)頁內(nèi)容時使用的內(nèi)容,所述TargetAddr的內(nèi)容為網(wǎng)購木馬病毒要盜取的對應(yīng)網(wǎng)購地址。當(dāng)然這里的瀏覽器還可以是其它內(nèi)核的瀏覽器,如搜狗瀏覽器等。
[0056]如在下述的XML文件中,包括了:節(jié)點IE的內(nèi)容(如〈IE id=〃1000〃description=〃搜索 IE 窗口 控件 〃XSubstrl crc=〃aad4b9f0〃descrip=〃 搜索 IE 窗口 控件"X! [CDATA[INTERNET EXPLORER_SERVER]]>〈/Substrl>)、節(jié)點 Patch 的內(nèi)容(如〈PatchlEid=〃1001" description="疑似修改網(wǎng)頁">
[0057]〈Substrl crc=""desc rip="修改網(wǎng)頁 〃>〈![CDATA[DOCUMENT.WRITE]]>〈/Substrl>
[0058]<Substr2 crc=""descrip=獲取網(wǎng)頁輸入內(nèi)容〃X![CDATA[DOCUMENT.GETELEMENTBYID]]></Substr2>
[0059]<Substr3 crc= " " descrip="獲取網(wǎng)頁輸入內(nèi)容"X! [CDATA [DOCUMENT.EBANKDEP0SITF0RM.GETELEMENTSBYTAGN AME]]>)和節(jié)點 TargetAddr (如〈/TargetAddr〉)的內(nèi)容,因此,可斷定該進程為網(wǎng)購木馬病毒。
[0060]XML樣本文件如下:
[0061]
【權(quán)利要求】
1.一種識別病毒的方法,其特征在于,包括: 獲取用戶訪問在線支付網(wǎng)站時的內(nèi)存中的原始內(nèi)存信息,并對所述原始內(nèi)存信息進行轉(zhuǎn)存; 對轉(zhuǎn)存后的所述原始內(nèi)存信息進行分析,獲得訪問所述在線支付網(wǎng)站中被訪問過程中運行的進程的相關(guān)信息; 根據(jù)所述進程的相關(guān)信息,對當(dāng)前運行的進程是否是病毒樣本對應(yīng)的進程進行識別。
2.根據(jù)權(quán)利要求1所述的識別病毒的方法,其特征在于,所述獲取用戶訪問在線支付網(wǎng)站時的內(nèi)存中的原始內(nèi)存信息,并對所述原始內(nèi)存信息進行轉(zhuǎn)存的步驟包括: 提高查看系統(tǒng)權(quán)限的權(quán)限值; 基于提高后的權(quán)限值,獲得要轉(zhuǎn)存的進程的內(nèi)存空間地址;其中所述要轉(zhuǎn)存的進程為訪問所述在線支付網(wǎng)站中被訪問過程; 根據(jù)所述內(nèi)存空間地址,對所述內(nèi)存空間中的內(nèi)容進行轉(zhuǎn)存,并將轉(zhuǎn)存的內(nèi)容保存為一個文件。
3.根據(jù)權(quán)利要求2所述的識別病毒的方法,其特征在于,對轉(zhuǎn)存后的所述原始內(nèi)存信息進行分析,獲得訪問所述在線支付網(wǎng)站中被訪問過程中運行的進程的相關(guān)信息的步驟包括: 對轉(zhuǎn)存后的所述文件進行分析,獲得訪問所述在線支付網(wǎng)站中被訪問過程中運行的病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù)。
4.根據(jù)權(quán)利要求3所述的識別病毒的方法,其特征在于,對所述文件進行分析,獲得訪問所述在線支付網(wǎng)站中被訪問過程中運行的病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù)的步驟包括: 根據(jù)字符編碼集或者病毒特征庫,對所述文件進行全文字符串匹配,獲得匹配不成功的無效字符串,并過濾掉所述無效字符串 過濾掉所述無效字符串,得到匹配成功的字符串對應(yīng)的文件; 根據(jù)所述匹配成功的字符串對應(yīng)的文件,獲得病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù)。
5.根據(jù)權(quán)利要求4所述的識別病毒的方法,其特征在于,根據(jù)所述進程的相關(guān)信息,對當(dāng)前運行的進程是否是病毒樣本對應(yīng)的進程進行識別的步驟包括: 根據(jù)病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù),在所述匹配成功的字符串對應(yīng)的文件中查找若有與所述數(shù)據(jù)以及調(diào)用的函數(shù)相匹配的:節(jié)點IE的內(nèi)容、節(jié)點Patch的內(nèi)容和節(jié)點TargetAddr的內(nèi)容,則確定該進程為病毒進程;其中,所述節(jié)點IE的內(nèi)容為搜索IE窗口控件時使用的內(nèi)容,所述節(jié)點Patch的內(nèi)容為修改IE網(wǎng)頁內(nèi)容時使用的內(nèi)容,所述TargetAddr的內(nèi)容為網(wǎng)購木馬病毒要盜取的對應(yīng)網(wǎng)購地址。
6.一種識別病毒的裝置,其特征在于,包括: 內(nèi)存截取模塊,用于獲取用戶訪問在線支付網(wǎng)站時的內(nèi)存中的原始內(nèi)存信息,并對所述原始內(nèi)存信息進行轉(zhuǎn)存; 獲取模塊,用于對轉(zhuǎn)存后的所述原始內(nèi)存信息進行分析,獲得訪問所述在線支付網(wǎng)站中被訪問過程中運行的進程的相關(guān)信息; 識別模塊,用于根據(jù)所述進程的相關(guān)信息,對當(dāng)前運行的進程是否是病毒樣本對應(yīng)的進程進行識別。
7.根據(jù)權(quán)利要求6所述的識別病毒的裝置,其特征在于,所述內(nèi)存截取模塊包括: 設(shè)置模塊,用于提高查看系統(tǒng)權(quán)限的權(quán)限值; 獲得模塊,用于基于提高后的權(quán)限值,獲得要轉(zhuǎn)存的進程的內(nèi)存空間地址;其中所述要轉(zhuǎn)存的進程為訪問所述在線支付網(wǎng)站中被訪問過程; 轉(zhuǎn)存模塊,用于根據(jù)所述內(nèi)存空間地址,對所述內(nèi)存空間中的內(nèi)容進行轉(zhuǎn)存,并將轉(zhuǎn)存的內(nèi)容保存為一個文件。
8.根據(jù)權(quán)利要求7所述的識別病毒的裝置,其特征在于,所述獲得模塊具體用于:對轉(zhuǎn)存后的所述文件進行分析,獲得訪問所述在線支付網(wǎng)站中被訪問過程中運行的病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù)。
9.根據(jù)權(quán)利要求8所述的識別病毒的裝置,其特征在于,所述獲得模塊還用于:根據(jù)字符編碼集或者病毒特征庫,對所述文件進行全文字符串匹配,獲得匹配不成功的無效字符串,并過濾掉所述無效字符串;過濾掉所述無效字符串,得到匹配成功的字符串對應(yīng)的文件;根據(jù)所述匹配成功的字符串對應(yīng)的文件,獲得病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù)。
10.根據(jù)權(quán)利要求9所述的識別病毒的裝置,其特征在于,所述識別模塊具體用于:根據(jù)病毒進程要使用的數(shù)據(jù)以及調(diào)用的函數(shù),在所述匹配成功的字符串對應(yīng)的文件中查找若有與所述數(shù)據(jù)以及調(diào)用的函數(shù)相匹配的:節(jié)點IE的內(nèi)容、節(jié)點Patch的內(nèi)容和節(jié)點TargetAddr的內(nèi)容,則確定該進程為病毒進程;其中,所述節(jié)點IE的內(nèi)容為搜索IE窗口控件時使用的內(nèi)容,所述節(jié)點Patch的內(nèi)容為修改IE網(wǎng)頁內(nèi)容時使用的內(nèi)容,所述TargetAddr的內(nèi)容為網(wǎng)購木馬`病毒要盜取的對應(yīng)網(wǎng)購地址。
【文檔編號】G06F21/56GK103455757SQ201210177733
【公開日】2013年12月18日 申請日期:2012年5月31日 優(yōu)先權(quán)日:2012年5月31日
【發(fā)明者】焦國強, 蘇海峰, 徐鳴, 張楠 申請人:北京金山安全軟件有限公司, 可牛網(wǎng)絡(luò)技術(shù)(北京)有限公司, 貝殼網(wǎng)際(北京)安全技術(shù)有限公司