病毒檢測(cè)方法和裝置制造方法
【專利摘要】本發(fā)明實(shí)施例公開了一種病毒檢測(cè)方法和裝置。其中,一種病毒檢測(cè)方法可包括:在第一虛擬機(jī)啟動(dòng)之前,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的主引導(dǎo)扇區(qū)MBR存儲(chǔ)的第一數(shù)據(jù);在第一虛擬機(jī)啟動(dòng)之后,將可疑病毒樣本導(dǎo)入到第一虛擬機(jī)中運(yùn)行;在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù);將讀取到的第二數(shù)據(jù)和第一數(shù)據(jù)進(jìn)行比較,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,則確定可疑病毒樣本為病毒樣本。本發(fā)明實(shí)施例提供的技術(shù)方案有利于提高對(duì)可能修改MBR的病毒的檢測(cè)準(zhǔn)確性。
【專利說明】病毒檢測(cè)方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)安全【技術(shù)領(lǐng)域】,具體涉及病毒檢測(cè)方法和裝置。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,病毒的種類越來越多,破壞性和隱蔽性很強(qiáng)的病毒長期存在。主引導(dǎo)記錄(MBR,Master Boot Record),又稱主引導(dǎo)扇區(qū),是計(jì)算機(jī)開機(jī)后訪問硬盤時(shí)所必須要讀取的首個(gè)扇區(qū),MBR通常存儲(chǔ)著硬盤本身的相關(guān)信息以及硬盤各個(gè)分區(qū)的大小及位置信息等,是數(shù)據(jù)信息的重要入口。有些病毒在傳播感染過程中,可能會(huì)通過篡改MBR中存儲(chǔ)數(shù)據(jù)來實(shí)現(xiàn)自啟動(dòng)的目的。
[0003]現(xiàn)有技術(shù)利用安裝在計(jì)算機(jī)中的中的MBR檢測(cè)軟件檢測(cè)該計(jì)算機(jī)的MBR是否被修改過。本發(fā)明的發(fā)明人研究和實(shí)踐發(fā)現(xiàn),現(xiàn)有技術(shù)至少存在以下技術(shù)問題,若病毒破壞了MBR導(dǎo)致該計(jì)算機(jī)無法啟動(dòng),安裝于該計(jì)算機(jī)中的檢測(cè)軟件也沒有辦法檢測(cè)MBR存儲(chǔ)的數(shù)據(jù)是否被修改,在這種情況下就難以準(zhǔn)確鎖定故障原因。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供病毒檢測(cè)方法和裝置,以期提高對(duì)可能修改MBR的病毒的檢測(cè)準(zhǔn)確性。
[0005]本發(fā)明實(shí)施例一方面提供一種病毒檢測(cè)方法,可包括:
[0006]在第一虛擬機(jī)啟動(dòng)之前,讀取所述第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的主引導(dǎo)扇區(qū)MBR存儲(chǔ)的第一數(shù)據(jù);
[0007]在所述第一虛擬機(jī)啟動(dòng)之后,將可疑病毒樣本導(dǎo)入到所述第一虛擬機(jī)中運(yùn)行;
[0008]在所述第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取所述第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù);將讀取到的所述第二數(shù)據(jù)和所述第一數(shù)據(jù)進(jìn)行比較,若比較出所述第二數(shù)據(jù)和所述第一數(shù)據(jù)不同,則確定所述可疑病毒樣本為病毒樣本。
[0009]本發(fā)明實(shí)施例另一方面提供一種病毒檢測(cè)裝置,可包括:
[0010]第一讀取單元,用于在第一虛擬機(jī)啟動(dòng)之前,讀取所述第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的主引導(dǎo)扇區(qū)MBR存儲(chǔ)的第一數(shù)據(jù);
[0011]樣本導(dǎo)入單兀,用于在所述第一虛擬機(jī)啟動(dòng)之后,將可疑病毒樣本導(dǎo)入所述第一虛擬機(jī)中運(yùn)行;
[0012]第二讀取單元,用于在所述第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取所述第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù);
[0013]比較確定單元,用于將所述第二讀取單元讀取到的所述第二數(shù)據(jù)和所述第一讀取單元讀取到的所述第一數(shù)據(jù)進(jìn)行比較,若比較出所述第二數(shù)據(jù)和所述第一數(shù)據(jù)不同,則確定所述可疑病毒樣本為病毒樣本。
[0014]由上可見,本發(fā)明實(shí)施例提供的病毒檢測(cè)方案中,在第一虛擬機(jī)啟動(dòng)之前讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第一數(shù)據(jù);在第一虛擬機(jī)啟動(dòng)之后,將可疑病毒樣本導(dǎo)入到第一虛擬機(jī)中運(yùn)行;在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù);將讀取到的第二數(shù)據(jù)和第一數(shù)據(jù)進(jìn)行比較,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,則確定可疑病毒樣本為病毒樣本。由于利用虛擬機(jī)作為測(cè)試可疑病毒樣本的實(shí)驗(yàn)機(jī),且分別獲取可疑病毒樣本導(dǎo)入第一虛擬機(jī)的前后的MBR存儲(chǔ)數(shù)據(jù),通過比較可疑病毒樣本導(dǎo)入第一虛擬機(jī)的前后的MBR存儲(chǔ)數(shù)據(jù)是否相同,來確定可疑病毒樣本是否為病毒樣本,如此,有利于最大限度的剔除病毒本身的干擾,進(jìn)而有利于提高可能修改MBR的病毒的檢測(cè)準(zhǔn)確性和可控性。
【專利附圖】
【附圖說明】
[0015]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1是本發(fā)明實(shí)施例提供一種病毒檢測(cè)方法的流程示意圖;
[0017]圖2是本發(fā)明實(shí)施例提供的一種計(jì)算機(jī)系統(tǒng)的示意圖;
[0018]圖3是本發(fā)明實(shí)施例提供另一種病毒檢測(cè)方法的流程示意圖;
[0019]圖4是本發(fā)明實(shí)施例提供的一種病毒檢測(cè)裝置的示意圖;
[0020]圖5是本發(fā)明實(shí)施例提供的另一種計(jì)算機(jī)系統(tǒng)的示意圖。
【具體實(shí)施方式】
[0021]本發(fā)明實(shí)施例提供病毒檢測(cè)方法和裝置,以期提高對(duì)可能修改MBR的病毒的檢測(cè)準(zhǔn)確性。
[0022]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
[0023]以下分別進(jìn)行詳細(xì)說明。
[0024]本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三” “第四”等(如果存在)是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例例如能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0025]本發(fā)明病毒檢測(cè)方法的一個(gè)實(shí)施例,一種病毒檢測(cè)方法可包括:在第一虛擬機(jī)啟動(dòng)之前,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第一數(shù)據(jù);在第一虛擬機(jī)啟動(dòng)之后,將可疑病毒樣本導(dǎo)入到第一虛擬機(jī)中運(yùn)行;在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù);將讀取到的第二數(shù)據(jù)和第一數(shù)據(jù)進(jìn)行比較,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,則確定上述可疑病毒樣本為病毒樣本。
[0026]參見圖1,圖1是本發(fā)明實(shí)施例提供的一種病毒檢測(cè)方法的流程示意圖。如圖1所示,本發(fā)明實(shí)施例提供的一種病毒檢測(cè)方法可包括以下內(nèi)容:
[0027]101、在第一虛擬機(jī)啟動(dòng)之前,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第一數(shù)據(jù)。
[0028]102、在第一虛擬機(jī)啟動(dòng)之后將可疑病毒樣本(例如可疑的defo病毒樣本)導(dǎo)入到第一虛擬機(jī)中運(yùn)行。
[0029]103、在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù)。
[0030]在本發(fā)明的一些實(shí)施例中,可在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后關(guān)閉第一虛擬機(jī),讀取關(guān)閉后的第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù)。當(dāng)然,在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后也可不關(guān)閉第一虛擬機(jī),讀取處于運(yùn)行狀態(tài)的第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù)。
[0031]在本發(fā)明的一些實(shí)施例中,第一設(shè)定時(shí)長的取值范圍例如為10-1000分鐘或其它更長或更短的取值。例如第一設(shè)定時(shí)長可為5分鐘、15分鐘、25分鐘或100分鐘、200分鐘、500分鐘或其它時(shí)長。
[0032]104、將讀取到的第二數(shù)據(jù)和第一數(shù)據(jù)進(jìn)行比較,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,則可確定上述可疑病毒樣本為病毒樣本。
[0033]在本發(fā)明一些實(shí)施例中,可直接比較第二數(shù)據(jù)和第一數(shù)據(jù)是否相同,也可將第二數(shù)據(jù)和第一數(shù)據(jù)按相同處理方式進(jìn)行處理,通過比較處理結(jié)果是否相同來確定第二數(shù)據(jù)和第一數(shù)據(jù)是否相同。例如,可計(jì)算得到第一數(shù)據(jù)對(duì)應(yīng)的第一哈希值;計(jì)算得到第二數(shù)據(jù)對(duì)應(yīng)的第二哈希值;將計(jì)算得到的第一哈希值和第二哈希值進(jìn)行比較;若比較出第一哈希值和第二哈希值不同(其中,第一哈希值和第二哈希值不同也就表示第二數(shù)據(jù)和第一數(shù)據(jù)不同),則確定上述可疑病毒樣本為病毒樣本。
[0034]在本發(fā)明一些實(shí)施例中,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,可輸出第二數(shù)據(jù)中與第一數(shù)據(jù)不同的部分,以便用戶或分析程序根據(jù)第二數(shù)據(jù)中與第一數(shù)據(jù)不同的部分來分析病毒的運(yùn)行機(jī)理或發(fā)作方式等等,以得出防范或控制該類病毒的策略。
[0035]在本發(fā)明一些實(shí)施例中,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)相同,則可確定上述可疑病毒樣本為非病毒樣本。當(dāng)然也可進(jìn)一步核實(shí)檢測(cè)結(jié)果的準(zhǔn)確性,例如若比較出第二數(shù)據(jù)和第一數(shù)據(jù)相同,也可在第二虛擬機(jī)啟動(dòng)之前,讀取第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第三數(shù)據(jù);在第二虛擬機(jī)啟動(dòng)之后將上述可疑病毒樣本導(dǎo)入到第二虛擬機(jī)中運(yùn)行;在第二虛擬機(jī)運(yùn)行時(shí)長超過第二設(shè)定時(shí)長之后,讀取第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第四數(shù)據(jù);將讀取到的第三數(shù)據(jù)和第四數(shù)據(jù)進(jìn)行比較,若比較出第三數(shù)據(jù)和第四數(shù)據(jù)不同,則確定上述可疑病毒樣本為病毒樣本。當(dāng)然亦可通過其它方式來進(jìn)一步核實(shí)檢測(cè)結(jié)果的準(zhǔn)確性。 [0036]在本發(fā)明一些實(shí)施例中,第二設(shè)定時(shí)長的取值范圍例如為10-1000分鐘或其它更長或更短的取值。例如第二設(shè)定時(shí)長可為5分鐘、15分鐘、25分鐘或100分鐘、200分鐘、500分鐘或其它時(shí)長。其中,第二設(shè)定時(shí)長可等于或長于或短與第一設(shè)定時(shí)長。[0037]在本發(fā)明的一些實(shí)施例中,可在第二虛擬機(jī)運(yùn)行時(shí)長超過第二設(shè)定時(shí)長之后關(guān)閉第二虛擬機(jī),讀取關(guān)閉后的第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第四數(shù)據(jù)。當(dāng)然,在第一虛擬機(jī)運(yùn)行時(shí)長超過第二設(shè)定時(shí)長之后也可不關(guān)閉第二虛擬機(jī),讀取處于運(yùn)行狀態(tài)的第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第四數(shù)據(jù)。
[0038]在本發(fā)明一些實(shí)施例中,可直接比較第四數(shù)據(jù)和第三數(shù)據(jù)是否相同,也可將第四數(shù)據(jù)和第三數(shù)據(jù)按相同處理方式進(jìn)行處理,通過比較處理結(jié)果是否相同來確定第四數(shù)據(jù)和第三數(shù)據(jù)是否相同。例如,可計(jì)算得到第三數(shù)據(jù)對(duì)應(yīng)的第三哈希值;計(jì)算得到第四數(shù)據(jù)對(duì)應(yīng)的第四哈希值;將計(jì)算得到的第三哈希值和第四哈希值進(jìn)行比較;若比較出第三哈希值和第四哈希值不同(其中,第三哈希值和第四哈希值不同也就表示第三數(shù)據(jù)和第四數(shù)據(jù)不同),則確定上述可疑病毒樣本為病毒樣本。
[0039]在本發(fā)明一些實(shí)施例中,若比較出第三數(shù)據(jù)和第四數(shù)據(jù)不同,可輸出第四數(shù)據(jù)中與第三數(shù)據(jù)不同的部分,以便用戶或分析程序根據(jù)第四數(shù)據(jù)中與第三數(shù)據(jù)不同的部分來分析病毒的運(yùn)行機(jī)理或發(fā)作方式等等,以得出防范或控制該類病毒的策略。
[0040]需要說明的是,本實(shí)施例的上步驟的執(zhí)行主體可以是第一虛擬機(jī)所屬計(jì)算機(jī)系統(tǒng)中的宿主機(jī)(第一虛擬機(jī)可運(yùn)行于該宿主機(jī)之上)、運(yùn)行在該Host之上的檢測(cè)程序或不同于第一虛擬機(jī)的其它虛擬機(jī)(該其它虛擬機(jī)亦可運(yùn)行于該宿主機(jī)之上)。
[0041]由上可見,本發(fā)明實(shí)施例提供的病毒檢測(cè)方案中,在第一虛擬機(jī)啟動(dòng)之前讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第一數(shù)據(jù);在第一虛擬機(jī)啟動(dòng)之后,將可疑病毒樣本導(dǎo)入到第一虛擬機(jī)中運(yùn)行;在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù);將讀取到的第二數(shù)據(jù)和第一數(shù)據(jù)進(jìn)行比較,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,則確定可疑病毒樣本為病毒樣本。由于利用虛擬機(jī)作為測(cè)試可疑病毒樣本的實(shí)驗(yàn)機(jī),且分別獲取可疑病毒樣本導(dǎo)入第一虛擬機(jī)的前后的MBR存儲(chǔ)數(shù)據(jù),通過比較可疑病毒樣本導(dǎo)入第一虛擬機(jī)的前后的MBR存儲(chǔ)數(shù)據(jù)是否相同,來確定可疑病毒樣本是否為病毒樣本,如此,有利于最大限度的剔除病毒本身的干擾,進(jìn)而有利于提高可能修改MBR的病毒的檢測(cè)準(zhǔn)確性和可控性。
[0042]為便于更好的理解和實(shí)施本發(fā)明實(shí)施例的上述方面,下面通過舉例應(yīng)用場(chǎng)景進(jìn)行進(jìn)一步介紹。
[0043]為了方便理解本實(shí)施例的舉例方案,首先在此介紹本實(shí)施例描述中會(huì)引入的幾個(gè)
要素;
[0044]虛擬機(jī):通過虛擬機(jī)軟件可以在一臺(tái)物理計(jì)算機(jī)上模擬出一臺(tái)或者多臺(tái)虛擬的計(jì)算機(jī),而這些虛擬機(jī)就像真正的計(jì)算機(jī)那樣進(jìn)行工作,虛擬機(jī)上可以安裝操作系統(tǒng)和應(yīng)用程序,虛擬機(jī)還可訪問網(wǎng)絡(luò)資源。對(duì)于在虛擬機(jī)中運(yùn)行的應(yīng)用程序而言,虛擬機(jī)就像是在真正的計(jì)算機(jī)中進(jìn)行工作。
[0045]硬件層:虛擬化環(huán)境運(yùn)行的硬件平臺(tái)。其中硬件層可包括多種硬件,例如某計(jì)算節(jié)點(diǎn)的硬件層可包括中央處理器(CPU, Central Processing Unit)和內(nèi)存等,還可以包括網(wǎng)卡、存儲(chǔ)器等等高速/低速輸入/輸出設(shè)備,當(dāng)然還可包括具有特定處理功能的其它器件。
[0046]宿主機(jī)(Host):作為管理層,用以完成硬件資源的管理、分配;為虛擬機(jī)呈現(xiàn)虛擬硬件平臺(tái);實(shí)現(xiàn)虛擬機(jī)的調(diào)度和隔離。其中,Host可能是虛擬機(jī)監(jiān)控器(VMM, VirtualMachine Monitor);此外,有時(shí)VMM和I個(gè)特權(quán)虛擬機(jī)配合,兩者結(jié)合組成Host。其中,虛擬硬件平臺(tái)對(duì)其上運(yùn)行的各個(gè)虛擬機(jī)提供各種硬件資源,如提供虛擬CPU、內(nèi)存、虛擬磁盤、虛擬網(wǎng)卡等等。其中,該虛擬磁盤可對(duì)應(yīng)Host的一個(gè)文件或者一個(gè)邏輯塊設(shè)備。虛擬機(jī)則運(yùn)行在Host為其準(zhǔn)備的虛擬硬件平臺(tái)上,Host上可運(yùn)行一個(gè)或多個(gè)虛擬機(jī)。
[0047]參見圖2,圖2是本發(fā)明實(shí)施例提供的一種計(jì)算節(jié)點(diǎn)架構(gòu)圖,計(jì)算節(jié)點(diǎn)包括硬件層、運(yùn)行在硬件層之上的宿主機(jī)(Host)、以及運(yùn)行在該Host之上的多個(gè)虛擬機(jī)(例如包括第一虛擬機(jī)、第二虛擬機(jī)、第三虛擬機(jī)等)。
[0048]參見圖3,圖3是本發(fā)明實(shí)施例提供的一種病毒檢測(cè)方法的流程示意圖。如圖3所示,本發(fā)明實(shí)施例提供的一種病毒檢測(cè)方法可包括以下內(nèi)容:
[0049]301、在第一虛擬機(jī)啟動(dòng)之前,Host讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第一數(shù)據(jù)。
[0050]302、Host在第一虛擬機(jī)啟動(dòng)之后將可疑病毒樣本導(dǎo)入到第一虛擬機(jī)中運(yùn)行。
[0051]303、在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,Host讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù)。
[0052]在本發(fā)明的一些實(shí)施例中,Host可在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后關(guān)閉第一虛擬機(jī),讀取關(guān)閉后的第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù)。當(dāng)然,Host在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后也可不關(guān)閉第一虛擬機(jī),讀取處于運(yùn)行狀態(tài)的第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù)。
[0053]在本發(fā)明的一些實(shí)施例中,第一設(shè)定時(shí)長的取值范圍例如為10-1000分鐘或其它更長或更短的取值。例如第一設(shè)定時(shí)長可為5分鐘、15分鐘、25分鐘或100分鐘、200分鐘、500分鐘或其它時(shí)長。
[0054]304、Host將讀取到的第二數(shù)據(jù)和第一數(shù)據(jù)進(jìn)行比較,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,則可確定上述可疑病毒樣本為病毒樣本。
[0055]在本發(fā)明的一些實(shí)施例中,Host可直接比較第二數(shù)據(jù)和第一數(shù)據(jù)是否相同,Host也可將第二數(shù)據(jù)和第一數(shù)據(jù)按相同處理方式進(jìn)行處理,通過比較處理結(jié)果是否相同來確定第二數(shù)據(jù)和第一數(shù)據(jù)是否相同。例如,Host可計(jì)算得到第一數(shù)據(jù)對(duì)應(yīng)的第一哈希值;計(jì)算得到第二數(shù)據(jù)對(duì)應(yīng)的第二哈希值;將計(jì)算得到的第一哈希值和第二哈希值進(jìn)行比較;Host若比較出第一哈希值和第二哈希值不同(其中,第一哈希值和第二哈希值不同也就表示第二數(shù)據(jù)和第一數(shù)據(jù)不同),則確定上述可疑病毒樣本為病毒樣本。
[0056]在本發(fā)明一些實(shí)施例中,Host若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,可輸出第二數(shù)據(jù)中與第一數(shù)據(jù)不同的部分(可輸出給分析程序),以便用戶或分析程序根據(jù)第二數(shù)據(jù)中與第一數(shù)據(jù)不同的部分來分析病毒的運(yùn)行機(jī)理或發(fā)作方式等等,以得出防范或控制該類病毒的策略。
[0057]在本發(fā)明一些實(shí)施例中,Host若比較出第二數(shù)據(jù)和第一數(shù)據(jù)相同,則可確定上述可疑病毒樣本為非病毒樣本。當(dāng)然Host也可進(jìn)一步核實(shí)檢測(cè)結(jié)果的準(zhǔn)確性,例如若比較出第二數(shù)據(jù)和第一數(shù)據(jù)相同,Host也可在第二虛擬機(jī)啟動(dòng)之前讀取第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第三數(shù)據(jù);在第二虛擬機(jī)啟動(dòng)之后將上述可疑病毒樣本導(dǎo)入到第二虛擬機(jī)中運(yùn)行;在第二虛擬機(jī)運(yùn)行時(shí)長超過第二設(shè)定時(shí)長之后,讀取第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第四數(shù)據(jù);將讀取到的第三數(shù)據(jù)和第四數(shù)據(jù)進(jìn)行比較,若比較出第三數(shù)據(jù)和第四數(shù)據(jù)不同,Host則確定上述可疑病毒樣本為病毒樣本。當(dāng)然亦可通過其它方式來進(jìn)一步核實(shí)檢測(cè)結(jié)果的準(zhǔn)確性。
[0058]在本發(fā)明一些實(shí)施例中,第二設(shè)定時(shí)長的取值范圍例如為10-1000分鐘或其它更長或更短的取值。例如第二設(shè)定時(shí)長可為5分鐘、15分鐘、25分鐘或100分鐘、200分鐘、500分鐘或其它時(shí)長。其中,第二設(shè)定時(shí)長可等于或長于或短與第一設(shè)定時(shí)長。
[0059]在本發(fā)明的一些實(shí)施例中,Host可在第二虛擬機(jī)運(yùn)行時(shí)長超過第二設(shè)定時(shí)長之后關(guān)閉第二虛擬機(jī),讀取關(guān)閉后的第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第四數(shù)據(jù)。當(dāng)然,Host在第一虛擬機(jī)運(yùn)行時(shí)長超過第二設(shè)定時(shí)長之后也可不關(guān)閉第二虛擬機(jī),讀取處于運(yùn)行狀態(tài)的第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第四數(shù)據(jù)。
[0060]在本發(fā)明的一些實(shí)施例中,Host可直接比較第四數(shù)據(jù)和第三數(shù)據(jù)是否相同,Host也可將第四數(shù)據(jù)和第三數(shù)據(jù)按相同處理方式進(jìn)行處理,通過比較處理結(jié)果是否相同來確定第四數(shù)據(jù)和第三數(shù)據(jù)是否相同。例如,Host可計(jì)算得到第三數(shù)據(jù)對(duì)應(yīng)的第三哈希值;計(jì)算得到第四數(shù)據(jù)對(duì)應(yīng)的第四哈希值;將計(jì)算得到的第三哈希值和第四哈希值進(jìn)行比較;Host若比較出第三哈希值和第四哈希值不同(其中,第三哈希值和第四哈希值不同也就表示第三數(shù)據(jù)和第四數(shù)據(jù)不同),則確定上述可疑病毒樣本為病毒樣本。
[0061]在本發(fā)明一些實(shí)施例中,Host若比較出第三數(shù)據(jù)和第四數(shù)據(jù)不同,可輸出第四數(shù)據(jù)中與第三數(shù)據(jù)不同的部分,以便用戶或分析程序根據(jù)第四數(shù)據(jù)中與第三數(shù)據(jù)不同的部分來分析病毒的運(yùn)行機(jī)理或發(fā)作方式等等,以得出防范或控制該類病毒的策略。 [0062]可以理解的是,由于Host獨(dú)立于試驗(yàn)虛擬機(jī)(例如第一虛擬機(jī)和第二虛擬機(jī)),因此,即使病毒樣本破壞了試驗(yàn)虛擬機(jī)的虛擬磁盤鏡像中的MBR,使得試驗(yàn)虛擬機(jī)無法再次啟動(dòng),或病毒樣本釋放了驅(qū)動(dòng)文件并隱藏試驗(yàn)虛擬機(jī)的MBR存儲(chǔ)信息,Host仍可檢測(cè)出試驗(yàn)虛擬機(jī)的虛擬磁盤鏡像中的MBR存儲(chǔ)信息是否被篡改。
[0063]下面再舉例一種由虛擬機(jī)執(zhí)行病毒檢測(cè)方案的場(chǎng)景。
[0064]例如,在第一虛擬機(jī)啟動(dòng)之前,第三虛擬機(jī)讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第一數(shù)據(jù);第三虛擬機(jī)在第一虛擬機(jī)啟動(dòng)之后將可疑病毒樣本導(dǎo)入到第一虛擬機(jī)中運(yùn)行;第三虛擬機(jī)在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù)。將讀取到的第二數(shù)據(jù)和第一數(shù)據(jù)進(jìn)行比較,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,則可確定上述可疑病毒樣本為病毒樣本。
[0065]在本發(fā)明的一些實(shí)施例中,第三虛擬機(jī)可在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后關(guān)閉第一虛擬機(jī),讀取關(guān)閉后的第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù)。當(dāng)然,第三虛擬機(jī)在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后也可不關(guān)閉第一虛擬機(jī),讀取處于運(yùn)行狀態(tài)的第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù)。
[0066]在本發(fā)明的一些實(shí)施例中,第一設(shè)定時(shí)長的取值范圍例如為10-1000分鐘或其它更長或更短的取值。例如第一設(shè)定時(shí)長可為5分鐘、15分鐘、25分鐘或100分鐘、200分鐘、500分鐘或其它時(shí)長。
[0067]在本發(fā)明的一些實(shí)施例中,第三虛擬機(jī)可直接比較第二數(shù)據(jù)和第一數(shù)據(jù)是否相同,第三虛擬機(jī)也可將第二數(shù)據(jù)和第一數(shù)據(jù)按相同處理方式進(jìn)行處理,通過比較處理結(jié)果是否相同來確定第二數(shù)據(jù)和第一數(shù)據(jù)是否相同。例如,第三虛擬機(jī)可計(jì)算得到第一數(shù)據(jù)對(duì)應(yīng)的第一哈希值;計(jì)算得到第二數(shù)據(jù)對(duì)應(yīng)的第二哈希值;將計(jì)算得到的第一哈希值和第二哈希值進(jìn)行比較;第三虛擬機(jī)若比較出第一哈希值和第二哈希值不同(其中,第一哈希值和第二哈希值不同也就表示第二數(shù)據(jù)和第一數(shù)據(jù)不同),則確定上述可疑病毒樣本為病毒樣本。
[0068]在本發(fā)明的一些實(shí)施例中,第三虛擬機(jī)若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,可輸出第二數(shù)據(jù)中與第一數(shù)據(jù)不同的部分(可輸出給分析程序),以便用戶或分析程序根據(jù)第二數(shù)據(jù)中與第一數(shù)據(jù)不同的部分來分析病毒的運(yùn)行機(jī)理或發(fā)作方式等等,以得出防范或控制該類病毒的策略。
[0069]可以理解,由于第三虛擬機(jī)獨(dú)立于試驗(yàn)虛擬機(jī)(例如第一虛擬機(jī)和第二虛擬機(jī)),因此,即使病毒樣本破壞了試驗(yàn)虛擬機(jī)的虛擬磁盤鏡像中的MBR,使得試驗(yàn)虛擬機(jī)無法再次啟動(dòng),或病毒樣本釋放了驅(qū)動(dòng)文件并隱藏試驗(yàn)虛擬機(jī)的MBR存儲(chǔ)信息,第三虛擬機(jī)仍可檢測(cè)出試驗(yàn)虛擬機(jī)的虛擬磁盤鏡像中的MBR存儲(chǔ)信息是否被篡改。
[0070]由上可見,本實(shí)施例提供的病毒檢測(cè)方案中,Host (或第三虛擬機(jī))在第一虛擬機(jī)啟動(dòng)之前讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第一數(shù)據(jù);在第一虛擬機(jī)啟動(dòng)之后,將可疑病毒樣本導(dǎo)入到第一虛擬機(jī)中運(yùn)行;在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù);將第二數(shù)據(jù)和第一數(shù)據(jù)進(jìn)行比較,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,則確定可疑病毒樣本為病毒樣本。由于Host (或第三虛擬機(jī))利用虛擬機(jī)作為測(cè)試可疑病毒樣本的實(shí)驗(yàn)機(jī),且分別獲取可疑病毒樣本導(dǎo)入第一虛擬機(jī)的前后的MBR存儲(chǔ)數(shù)據(jù),通過比較可疑病毒樣本導(dǎo)入第一虛擬機(jī)的前后的MBR存儲(chǔ)數(shù)據(jù)是否相同,來確定可疑病毒樣本是否為病毒樣本,如此,有利于最大限度的剔除病毒本身的干擾,進(jìn)而有利于提高可能修改MBR的病毒的檢測(cè)準(zhǔn)確性和可控性。
[0071]為便于更好的實(shí)施本發(fā)明實(shí)施例的上述方案,下面還提供用于實(shí)施上述方案的相
關(guān)裝置。
[0072]參見圖4,本發(fā)明實(shí)施例還提供一種病毒檢測(cè)裝置400,可包括:
[0073]第一讀取單元410、樣本導(dǎo)入單元420、第二讀取單元430和比較確定單元440。
[0074]其中,第一讀取單元410,用于在第一虛擬機(jī)啟動(dòng)之前,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第一數(shù)據(jù);
[0075]樣本導(dǎo)入單兀420,用于在第一虛擬機(jī)啟動(dòng)之后,將可疑病毒樣本導(dǎo)入第一虛擬機(jī)中運(yùn)行。
[0076]第二讀取單元430,用于在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù)。
[0077]在本發(fā)明的一些實(shí)施例中,第一設(shè)定時(shí)長的取值范圍例如為10-1000分鐘或其它更長或更短的取值。例如第一設(shè)定時(shí)長可為5分鐘、15分鐘、25分鐘或100分鐘、200分鐘、500分鐘或其它時(shí)長。
[0078]比較確定單元440,用于將第二讀取單元430讀取到的第二數(shù)據(jù)和第一讀取單元410讀取到的第一數(shù)據(jù)進(jìn)行比較,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,則確定上述可疑病毒樣本為病毒樣本。
[0079]在本發(fā)明的一些實(shí)施例中,第二讀取單元430可具體用于,在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后關(guān)閉第一虛擬機(jī),讀取關(guān)閉后的第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù)。
[0080]在本發(fā)明的一些實(shí)施例中,比較確定單元440可直接比較第二數(shù)據(jù)和第一數(shù)據(jù)是否相同,比較確定單元440也可將第二數(shù)據(jù)和第一數(shù)據(jù)按相同處理方式進(jìn)行處理,通過比較按相同處理方式處理得到的處理結(jié)果是否相同,來確定第二數(shù)據(jù)和第一數(shù)據(jù)是否相同。舉例來說,比較確定單元440可具體用于,計(jì)算得到第一數(shù)據(jù)對(duì)應(yīng)的第一哈希值;計(jì)算得到第二數(shù)據(jù)對(duì)應(yīng)的第二哈希值;將計(jì)算得到的第一哈希值和第二哈希值進(jìn)行比較;若比較出第一哈希值和第二哈希值不同,則確定上述可疑病毒樣本為病毒樣本。
[0081]在本發(fā)明一些實(shí)施例中,病毒檢測(cè)裝置400還包括:
[0082]輸出單元450,用于輸出第二讀取單元430讀取到的第二數(shù)據(jù)中與第一讀取單元410讀取的第一數(shù)據(jù)不同的部分。以便于用戶或分析程序根據(jù)第二數(shù)據(jù)中與第一數(shù)據(jù)不同的部分來分析病毒的運(yùn)行機(jī)理或發(fā)作方式等等,以得出防范或控制該類病毒的策略。
[0083]在本發(fā)明一些實(shí)施例中,比較確定單元440若比較出第二數(shù)據(jù)和第一數(shù)據(jù)相同,則可確定上述可疑病毒樣本為非病毒樣本。當(dāng)然也可進(jìn)一步核實(shí)檢測(cè)結(jié)果的準(zhǔn)確性。
[0084]在本發(fā)明的另一些實(shí)施例中,第一讀取單元410還可用于,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)相同,可在第二虛擬機(jī)啟動(dòng)之前,讀取第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第三數(shù)據(jù)。
[0085]樣本導(dǎo)入單元420還可用于,在第二虛擬機(jī)啟動(dòng)之后將上述可疑病毒樣本導(dǎo)入到第二虛擬機(jī)中運(yùn)行。
[0086]第二讀取單元430還可用于,在第二虛擬機(jī)運(yùn)行時(shí)長超過第二設(shè)定時(shí)長之后讀取第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第四數(shù)據(jù)。
[0087]比較確定單元440,用于將第一讀取單元410讀取到的第三數(shù)據(jù)和第二讀取單元430讀取到的第四數(shù)據(jù)進(jìn)行比較,若比較出第三數(shù)據(jù)和第四數(shù)據(jù)不同,則確定上述可疑病毒樣本為病毒樣本。當(dāng)然,亦可通過其它方式來進(jìn)一步核實(shí)檢測(cè)結(jié)果的準(zhǔn)確性。
[0088]在本發(fā)明一些實(shí)施例中,第二設(shè)定時(shí)長的取值范圍例如為10-1000分鐘或其它更長或更短的取值。例如第二設(shè)定時(shí)長可為5分鐘、15分鐘、25分鐘或100分鐘、200分鐘、500分鐘或其它時(shí)長。其中,第二設(shè)定時(shí)長可等于或長于或短與第一設(shè)定時(shí)長。
[0089]在本發(fā)明的一些實(shí)施例中,第二讀取單元430可在第二虛擬機(jī)運(yùn)行時(shí)長超過第二設(shè)定時(shí)長之后關(guān)閉第二虛擬機(jī),讀取關(guān)閉后的第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第四數(shù)據(jù)。當(dāng)然,在第一虛擬機(jī)運(yùn)行時(shí)長超過第二設(shè)定時(shí)長之后也可不關(guān)閉第二虛擬機(jī),第二讀取單元430讀取處于運(yùn)行狀態(tài)的第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第四數(shù)據(jù)。
[0090]在本發(fā)明一些實(shí)施例中,比較確定單元440可直接比較第四數(shù)據(jù)和第三數(shù)據(jù)是否相同,也可將第四數(shù)據(jù)和第三數(shù)據(jù)按相同處理方式進(jìn)行處理,通過比較處理結(jié)果是否相同來確定第四數(shù)據(jù)和第三數(shù)據(jù)是否相同。例如,比較確定單元440可計(jì)算得到第三數(shù)據(jù)對(duì)應(yīng)的第三哈希值;計(jì)算得到第四數(shù)據(jù)對(duì)應(yīng)的第四哈希值;將計(jì)算得到的第三哈希值和第四哈希值進(jìn)行比較;若比較出第三哈希值和第四哈希值不同(其中,第三哈希值和第四哈希值不同也就表示第三數(shù)據(jù)和第四數(shù)據(jù)不同),則確定上述可疑病毒樣本為病毒樣本。
[0091] 在本發(fā)明一些實(shí)施例中,若比較確定單元440比較出第三數(shù)據(jù)和第四數(shù)據(jù)不同,輸出單元450還可用于,輸出第四數(shù)據(jù)中與第三數(shù)據(jù)不同的部分,以便用戶或分析程序根據(jù)第四數(shù)據(jù)中與第三數(shù)據(jù)不同的部分來分析病毒的運(yùn)行機(jī)理或發(fā)作方式等等,以得出防范或控制該類病毒的策略。
[0092]可以理解的是,由于病毒檢測(cè)裝置400獨(dú)立于試驗(yàn)虛擬機(jī)(例如第一虛擬機(jī)和第二虛擬機(jī)),因此,即使病毒樣本破壞了試驗(yàn)虛擬機(jī)的虛擬磁盤鏡像中的MBR,使得試驗(yàn)虛擬機(jī)無法再次啟動(dòng),或病毒樣本釋放了驅(qū)動(dòng)文件并隱藏試驗(yàn)虛擬機(jī)的MBR存儲(chǔ)信息,病毒檢測(cè)裝置400仍可檢測(cè)出試驗(yàn)虛擬機(jī)的虛擬磁盤鏡像中的MBR存儲(chǔ)信息是否被篡改。
[0093]可以理解的是,本實(shí)施例的病毒檢測(cè)裝置400的各功能模塊的功能可根據(jù)上述方法實(shí)施例中的方法具體實(shí)現(xiàn),其具體實(shí)現(xiàn)過程可以參照上述方法實(shí)施例的相關(guān)描述,此處不再贅述。
[0094]由上可見,本實(shí)施例病毒檢測(cè)裝置400在第一虛擬機(jī)啟動(dòng)之前,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第一數(shù)據(jù);在第一虛擬機(jī)啟動(dòng)之后,將可疑病毒樣本導(dǎo)入到第一虛擬機(jī)中運(yùn)行;在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù);將讀取到的第二數(shù)據(jù)和第一數(shù)據(jù)進(jìn)行比較,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,則確定可疑病毒樣本為病毒樣本。由于利用虛擬機(jī)作為測(cè)試可疑病毒樣本的實(shí)驗(yàn)機(jī),且分別獲取可疑病毒樣本導(dǎo)入第一虛擬機(jī)的前后的MBR存儲(chǔ)數(shù)據(jù),通過比較可疑病毒樣本導(dǎo)入第一虛擬機(jī)的前后的MBR存儲(chǔ)數(shù)據(jù)是否相同,來確定可疑病毒樣本是否為病毒樣本,如此,有利于最大限度的剔除病毒本身的干擾,進(jìn)而有利于提高可能修改MBR的病毒的檢測(cè)準(zhǔn)確性和可控性。
[0095]參見圖5,本發(fā)明實(shí)施例提供一種計(jì)算機(jī)系統(tǒng)500,可包括:
[0096]如圖5所示,本實(shí)施例的算機(jī)系統(tǒng)500包括至少一個(gè)總線501、與總線501相連的至少一個(gè)處理器502以及與總線501相連的至少一個(gè)存儲(chǔ)器503。
[0097]其中,處理器502通過總線501,調(diào)用存儲(chǔ)器503中存儲(chǔ)的代碼以用于,在第一虛擬機(jī)啟動(dòng)之前,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像(VMDX)中的MBR存儲(chǔ)的第一數(shù)據(jù);在第一虛擬機(jī)啟動(dòng)之后,將可疑病毒樣本導(dǎo)入到第一虛擬機(jī)中運(yùn)行;在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù);將讀取到的第二數(shù)據(jù)和第一數(shù)據(jù)進(jìn)行比較,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,則確定上述可疑病毒樣本為病毒樣本。
[0098]在本發(fā)明的一些實(shí)施例中,處理器502可在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后關(guān)閉第一虛擬機(jī),讀取關(guān)閉后的第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù)。當(dāng)然,處理器502在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后也可不關(guān)閉第一虛擬機(jī),讀取處于運(yùn)行狀態(tài)的第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù)。
[0099]在本發(fā)明的一些實(shí)施例中,第一設(shè)定時(shí)長的取值范圍例如為10-1000分鐘或其它更長或更短的取值。例如第一設(shè)定時(shí)長可為5分鐘、15分鐘、25分鐘或100分鐘、200分鐘、500分鐘或其它時(shí)長。
[0100]在本發(fā)明一些實(shí)施例中,處理器502可直接比較第二數(shù)據(jù)和第一數(shù)據(jù)是否相同,也可將第二數(shù)據(jù)和第一數(shù)據(jù)按相同處理方式進(jìn)行處理,通過比較處理結(jié)果是否相同來確定第二數(shù)據(jù)和第一數(shù)據(jù)是否相同。例如,處理器502可計(jì)算得到第一數(shù)據(jù)對(duì)應(yīng)的第一哈希值;計(jì)算得到第二數(shù)據(jù)對(duì)應(yīng)的第二哈希值;將計(jì)算得到的第一哈希值和第二哈希值進(jìn)行比較;若比較出第一哈希值和第二哈希值不同(其中,第一哈希值和第二哈希值不同也就表示第二數(shù)據(jù)和第一數(shù)據(jù)不同),則確定上述可疑病毒樣本為病毒樣本。
[0101]在本發(fā)明一些實(shí)施例中,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,處理器502可輸出第二數(shù)據(jù)中與第一數(shù)據(jù)不同的部分,以便用戶或分析程序根據(jù)第二數(shù)據(jù)中與第一數(shù)據(jù)不同的部分來分析病毒的運(yùn)行機(jī)理或發(fā)作方式等等,以得出防范或控制該類病毒的策略。
[0102]在本發(fā)明一些實(shí)施例中,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)相同,則處理器502可確定上述可疑病毒樣本為非病毒樣本。當(dāng)然處理器502也可進(jìn)一步核實(shí)檢測(cè)結(jié)果的準(zhǔn)確性,例如若比較出第二數(shù)據(jù)和第一數(shù)據(jù)相同,處理器502也可在第二虛擬機(jī)啟動(dòng)之前,讀取第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第三數(shù)據(jù);在第二虛擬機(jī)啟動(dòng)之后將上述可疑病毒樣本導(dǎo)入到第二虛擬機(jī)中運(yùn)行;在第二虛擬機(jī)運(yùn)行時(shí)長超過第二設(shè)定時(shí)長之后,讀取第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第四數(shù)據(jù);將讀取到的第三數(shù)據(jù)和第四數(shù)據(jù)進(jìn)行比較,若比較出第三數(shù)據(jù)和第四數(shù)據(jù)不同,則確定上述可疑病毒樣本為病毒樣本。當(dāng)然亦可通過其它方式來進(jìn)一步核實(shí)檢測(cè)結(jié)果的準(zhǔn)確性。
[0103]在本發(fā)明一些實(shí)施例中,第二設(shè)定時(shí)長的取值范圍例如為10-1000分鐘或其它更長或更短的取值。例如第二設(shè)定時(shí)長可為5分鐘、15分鐘、25分鐘或100分鐘、200分鐘、500分鐘或其它時(shí)長。其中,第二設(shè)定時(shí)長可等于或長于或短與第一設(shè)定時(shí)長。
[0104]在本發(fā)明的一些實(shí)施例中,處理器502可在第二虛擬機(jī)運(yùn)行時(shí)長超過第二設(shè)定時(shí)長之后關(guān)閉第二虛擬機(jī),讀取關(guān)閉后的第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第四數(shù)據(jù)。當(dāng)然,處理器502在第一虛擬機(jī)運(yùn)行時(shí)長超過第二設(shè)定時(shí)長之后也可不關(guān)閉第二虛擬機(jī),讀取處于運(yùn)行狀態(tài)的第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第四數(shù)據(jù)。
[0105]在本發(fā)明一些實(shí)施例中,處理器502可直接比較第四數(shù)據(jù)和第三數(shù)據(jù)是否相同,也可將第四數(shù)據(jù)和第三數(shù)據(jù)按相同處理方式進(jìn)行處理,通過比較處理結(jié)果是否相同來確定第四數(shù)據(jù)和第三數(shù)據(jù)是否相同。例如,處理器502可計(jì)算得到第三數(shù)據(jù)對(duì)應(yīng)的第三哈希值;計(jì)算得到第四數(shù)據(jù)對(duì)應(yīng)的第四哈希值;將計(jì)算得到的第三哈希值和第四哈希值進(jìn)行比較;若比較出第三哈希值和第四哈希值不同(其中,第三哈希值和第四哈希值不同也就表示第三數(shù)據(jù)和第四數(shù)據(jù)不同),則確定上述可疑病毒樣本為病毒樣本。
[0106]在本發(fā)明一些實(shí)施例中,若比較出第三數(shù)據(jù)和第四數(shù)據(jù)不同,處理器502可輸出第四數(shù)據(jù)中與第三數(shù)據(jù)不同的部分,以便用戶或分析程序根據(jù)第四數(shù)據(jù)中與第三數(shù)據(jù)不同的部分來分析病毒的運(yùn)行機(jī)理或發(fā)作方式等等,以得出防范或控制該類病毒的策略。
[0107]可以理解的是,本實(shí)施例的計(jì)算機(jī)系統(tǒng)500的各功能器件的功能可根據(jù)上述方法實(shí)施例中的方法具體實(shí)現(xiàn),其具體實(shí)現(xiàn)過程可以參照上述方法實(shí)施例的相關(guān)描述,此處不再贅述。
[0108]由上可見,本發(fā)明實(shí)施例提供的病毒檢測(cè)方案中,處理器在第一虛擬機(jī)啟動(dòng)之前讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第一數(shù)據(jù);在第一虛擬機(jī)啟動(dòng)之后,將可疑病毒樣本導(dǎo)入到第一虛擬機(jī)中運(yùn)行;在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù);將讀取到的第二數(shù)據(jù)和第一數(shù)據(jù)進(jìn)行比較,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,則確定可疑病毒樣本為病毒樣本。由于利用虛擬機(jī)作為測(cè)試可疑病毒樣本的實(shí)驗(yàn)機(jī),且分別獲取可疑病毒樣本導(dǎo)入第一虛擬機(jī)的前后的MBR存儲(chǔ) 數(shù)據(jù),通過比較可疑病毒樣本導(dǎo)入第一虛擬機(jī)的前后的MBR存儲(chǔ)數(shù)據(jù)是否相同,來確定可疑病毒樣本是否為病毒樣本,如此,有利于最大限度的剔除病毒本身的干擾,進(jìn)而有利于提高可能修改MBR的病毒的檢測(cè)準(zhǔn)確性和可控性。
[0109]本發(fā)明實(shí)施例還提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,該計(jì)算機(jī)存儲(chǔ)介質(zhì)可存儲(chǔ)有程序,該程序執(zhí)行時(shí)包括上述方法實(shí)施例中記載的病毒檢測(cè)方法的部分或全部步驟。
[0110]需要說明的是,對(duì)于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
[0111]在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
[0112]綜上,本發(fā)明實(shí)施例提供的方案中,病毒檢測(cè)裝置在第一虛擬機(jī)啟動(dòng)之前,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第一數(shù)據(jù);在第一虛擬機(jī)啟動(dòng)之后,將可疑病毒樣本導(dǎo)入到第一虛擬機(jī)中運(yùn)行;在第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù);將讀取到的第二數(shù)據(jù)和第一數(shù)據(jù)進(jìn)行比較,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,則確定可疑病毒樣本為病毒樣本。由于利用虛擬機(jī)作為測(cè)試可疑病毒樣本的實(shí)驗(yàn)機(jī),且分別獲取可疑病毒樣本導(dǎo)入第一虛擬機(jī)的前后的MBR存儲(chǔ)數(shù)據(jù),通過比較可疑病毒樣本導(dǎo)入第一虛擬機(jī)的前后的MBR存儲(chǔ)數(shù)據(jù)是否相同,來確定可疑病毒樣本是否為病毒樣本,如此,有利于最大限度的剔除病毒本身的干擾,進(jìn)而有利于提高可能修改MBR的病毒的檢測(cè)準(zhǔn)確性和可控性。
[0113]進(jìn)一步的,若比較出第二數(shù)據(jù)和第一數(shù)據(jù)不同,可輸出第二數(shù)據(jù)中與第一數(shù)據(jù)不同的部分,以便用戶或分析程序根據(jù)第四數(shù)據(jù)中與第三數(shù)據(jù)不同的部分來分析病毒的運(yùn)行機(jī)理或發(fā)作方式等等,以得出防范或控制該類病毒的策略。
[0114]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置,可通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性或其它的形式。
[0115]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
[0116]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
[0117]所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM, Random Access Memory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0118]以上所述,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【權(quán)利要求】
1.一種病毒檢測(cè)方法,其特征在于,包括: 在第一虛擬機(jī)啟動(dòng)之前,讀取所述第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的主引導(dǎo)扇區(qū)MBR存儲(chǔ)的第一數(shù)據(jù); 在所述第一虛擬機(jī)啟動(dòng)之后,將可疑病毒樣本導(dǎo)入到所述第一虛擬機(jī)中運(yùn)行; 在所述第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取所述第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù);將讀取到的所述第二數(shù)據(jù)和所述第一數(shù)據(jù)進(jìn)行比較,若比較出所述第二數(shù)據(jù)和所述第一數(shù)據(jù)不同,則確定所述可疑病毒樣本為病毒樣本。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在所述第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取所述第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù),包括:在所述第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后關(guān)閉所述第一虛擬機(jī),讀取關(guān)閉后的所述第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù)。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于, 所述將讀取的所述第二數(shù)據(jù)和所述第一數(shù)據(jù)進(jìn)行比較,若比較出所述第二數(shù)據(jù)和所述第一數(shù)據(jù)不同,則確定所述可疑病毒樣本為病毒,包括: 計(jì)算得到所述第一數(shù)據(jù)對(duì)應(yīng)的第一哈希值; 計(jì)算得到所述第二數(shù)據(jù)對(duì)應(yīng)的第二哈希值; 將計(jì)算得到的所述第一哈希值和所述第二哈希值進(jìn)行比較; 若比較出所述第一哈希值和所述第二哈希值不同,則確定所述可疑病毒樣本為病毒樣本。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于, 所述方法還包括:輸出所述第二數(shù)據(jù)中與所述第一數(shù)據(jù)不同的部分。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于, 所述第一設(shè)定時(shí)長的取值范圍為10-1000分鐘。
6.根據(jù)權(quán)利要求1或2所述的方法,其特征在于, 所述方法還包括: 若比較出所述第二數(shù)據(jù)和所述第一數(shù)據(jù)相同,在第二虛擬機(jī)啟動(dòng)之前讀取所述第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第三數(shù)據(jù); 在所述第二虛擬機(jī)啟動(dòng)之后,將所述可疑病毒樣本導(dǎo)入到所述第二虛擬機(jī)中運(yùn)行; 在所述第二虛擬機(jī)運(yùn)行時(shí)長超過第二設(shè)定時(shí)長之后,讀取所述第二虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第四數(shù)據(jù);將讀取到的所述第三數(shù)據(jù)和所述第四數(shù)據(jù)進(jìn)行比較,若比較出所述第三數(shù)據(jù)和所述第四數(shù)據(jù)不同,則確定所述可疑病毒樣本為病毒樣本。
7.一種病毒檢測(cè)裝置,其特征在于,包括: 第一讀取單元,用于在第一虛擬機(jī)啟動(dòng)之前,讀取所述第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的主引導(dǎo)扇區(qū)MBR存儲(chǔ)的第一數(shù)據(jù); 樣本導(dǎo)入單元,用于在所述第一虛擬機(jī)啟動(dòng)之后,將可疑病毒樣本導(dǎo)入所述第一虛擬機(jī)中運(yùn)行; 第二讀取單元,用于在所述第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后,讀取所述第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù); 比較確定單元,用于將所述第二讀取單元讀取到的所述第二數(shù)據(jù)和所述第一讀取單元讀取到的所述第一數(shù)據(jù)進(jìn)行比較,若比較出所述第二數(shù)據(jù)和所述第一數(shù)據(jù)不同,則確定所述可疑病毒樣本為病毒樣本。
8.根據(jù)權(quán)利要求7所述的病毒檢測(cè)裝置,其特征在于, 所述第二讀取單元具體用于,在所述第一虛擬機(jī)運(yùn)行時(shí)長超過第一設(shè)定時(shí)長之后關(guān)閉所述第一虛擬機(jī),讀取關(guān)閉后的所述第一虛擬機(jī)對(duì)應(yīng)的虛擬磁盤鏡像中的MBR存儲(chǔ)的第二數(shù)據(jù)。
9.根據(jù)權(quán)利要求7或8所述的病毒檢測(cè)裝置,其特征在于,所述比較確定單元具體用于,計(jì)算得到所述第一數(shù)據(jù)對(duì)應(yīng)的第一哈希值;計(jì)算得到所述第二數(shù)據(jù)對(duì)應(yīng)的第二哈希值;將計(jì)算得到的所述第一哈希值和所述第二哈希值進(jìn)行比較;若比較出所述第一哈希值和所述第二哈希值不同,則確定所述可疑病毒樣本為病毒樣本。
10.根據(jù)權(quán)利要求7或8所述的病毒檢測(cè)裝置,其特征在于, 所述病毒檢測(cè)裝置還包括: 輸出單元,用于輸出所述第二讀取單元讀取的所述第二數(shù)據(jù)中與所述第一讀取單元讀取的所述第 一數(shù)據(jù)不同的部分。
【文檔編號(hào)】G06F21/56GK103914650SQ201210591639
【公開日】2014年7月9日 申請(qǐng)日期:2012年12月31日 優(yōu)先權(quán)日:2012年12月31日
【發(fā)明者】朱科錠 申請(qǐng)人:騰訊科技(深圳)有限公司