專利名稱:惡意代碼的檢測方法、系統(tǒng)及相關(guān)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)安全技術(shù)領(lǐng)域,尤其涉及一種惡意代碼的檢測方法、一種宿主機(jī)、一種惡意代碼的檢測裝置和一種惡意代碼的檢測系統(tǒng)。
背景技術(shù):
硬件虛擬化技術(shù)被廣泛應(yīng)用于軟件測試、并行計算等領(lǐng)域。硬件虛擬化技術(shù)在一臺物理主機(jī)上虛擬出一臺或多臺虛擬機(jī),從而使得幾個甚至幾十個虛擬機(jī)可以共用一個物理主機(jī)的硬件資源,該物理主機(jī)也被稱為宿主機(jī)。云計算將各個終端設(shè)備的數(shù)據(jù)處理任務(wù)集中交給網(wǎng)絡(luò)來執(zhí)行,以便由網(wǎng)絡(luò)向使用多種不同終端設(shè)備的用戶提供數(shù)據(jù)服務(wù),從而克服終端設(shè)備的差異性。云計算中網(wǎng)絡(luò)側(cè)的分布式計算成為硬件虛擬化技術(shù)的一個新的重要應(yīng)用場景。由于同一宿主機(jī)上的各個虛擬機(jī)之間可以不通過網(wǎng)絡(luò)設(shè)備,而是僅通過公共的宿主機(jī)產(chǎn)生數(shù)據(jù)交互,因此采用硬件虛擬化技術(shù)實現(xiàn)云計算時,一個感染病毒的虛擬機(jī)很容易通過宿主機(jī)感染其他與其同在一個宿主機(jī)上的虛擬機(jī)。因此云計算容易成為計算機(jī)病毒和網(wǎng)絡(luò)攻擊的對象。針對如何在以上場景中檢測包括病毒在內(nèi)的惡意代碼(Malware),現(xiàn)有技術(shù)提出 在同一個宿主機(jī)的各個虛擬機(jī)上分別安裝殺毒軟件,利用每個虛擬機(jī)上所安裝的殺毒軟件對該虛擬機(jī)上的惡意代碼進(jìn)行查殺。發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)存在以下缺陷惡意代碼執(zhí)行時實際發(fā)生作用的場所是宿主機(jī)的內(nèi)存、CPU等物理硬件,并不是邏輯上的虛擬機(jī)中。但現(xiàn)有方案要求在同一宿主機(jī)上的所有虛擬機(jī)上都分別安裝殺毒軟件,并在虛擬機(jī)上執(zhí)行惡意代碼檢測,因此使用該方案檢測惡意代碼存在效率低下、占用宿主機(jī)較多存儲資源和處理資源的問題。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種惡意代碼的檢測方法,用以解決現(xiàn)有技術(shù)中檢測效率低、 占用資源較多的問題。對應(yīng)地,本發(fā)明實施例還提供了一種宿主機(jī)、一種惡意代碼的檢測裝置和一種惡意代碼的檢測系統(tǒng)。本發(fā)明實施例提供的技術(shù)方案如下一種惡意代碼的檢測方法,包括在宿主機(jī)的虛擬機(jī)監(jiān)視器中監(jiān)控指令的執(zhí)行情況,所述指令是該宿主機(jī)的虛擬機(jī)中執(zhí)行程序代碼時產(chǎn)生的讀寫請求被下發(fā)至虛擬機(jī)監(jiān)視器時,轉(zhuǎn)義生成的;根據(jù)所述指令的執(zhí)行情況,獲得所述程序代碼的執(zhí)行特征;將獲得的所述執(zhí)行特征與預(yù)先存儲的已知惡意代碼的執(zhí)行特征進(jìn)行比對,在比對結(jié)果相符時確定所述程序代碼為惡意代碼。一種惡意代碼的檢測方法,包括
接收宿主機(jī)發(fā)來的程序代碼,在預(yù)先構(gòu)建的用于模擬虛擬機(jī)監(jiān)視器環(huán)境的第一沙箱中執(zhí)行所述程序代碼,獲得執(zhí)行結(jié)束后所述第一沙箱的安全狀態(tài)報告;和/或在預(yù)先構(gòu)建的用于模擬虛擬機(jī)環(huán)境的第二沙箱中執(zhí)行所述程序代碼,獲得執(zhí)行結(jié)束后所述第二沙箱的安全狀態(tài)報告;根據(jù)所述安全狀態(tài)報告中預(yù)設(shè)參數(shù)的參數(shù)值、以及預(yù)設(shè)的判別規(guī)則的集合,判定所述程序代碼是否為惡意代碼,所述判別規(guī)則中包含至少一個所述預(yù)設(shè)參數(shù)的閾值判斷范圍;將判定結(jié)果發(fā)送給所述宿主機(jī)。一種宿主機(jī),包括虛擬機(jī)監(jiān)視器和至少一個虛擬機(jī),還包括惡意代碼的檢測裝置, 其中所述惡意代碼的檢測裝置,用于在宿主機(jī)的虛擬機(jī)監(jiān)視器中監(jiān)控指令的執(zhí)行情況,所述指令是該宿主機(jī)的虛擬機(jī)中執(zhí)行程序代碼時產(chǎn)生的讀寫請求被下發(fā)至虛擬機(jī)監(jiān)視器時,轉(zhuǎn)義生成的;根據(jù)所述指令的執(zhí)行情況,獲得所述程序代碼的執(zhí)行特征;將獲取單元獲得的所述執(zhí)行特征與預(yù)先存儲的已知惡意代碼的執(zhí)行特征進(jìn)行比對,并在比對結(jié)果不相符時確定所述程序代碼為惡意代碼。一種惡意代碼的檢測裝置,包括監(jiān)控單元,用于在宿主機(jī)的虛擬機(jī)監(jiān)視器中監(jiān)控指令的執(zhí)行情況,所述指令是該宿主機(jī)的虛擬機(jī)中執(zhí)行程序代碼時產(chǎn)生的讀寫請求被下發(fā)至虛擬機(jī)監(jiān)視器時,轉(zhuǎn)義生成的;獲取單元,用于根據(jù)所述指令的執(zhí)行情況,獲得所述程序代碼的執(zhí)行特征;確定單元,用于將獲取單元獲得的所述執(zhí)行特征與預(yù)先存儲的已知惡意代碼的執(zhí)行特征進(jìn)行比對,并在比對結(jié)果相符時確定所述程序代碼為惡意代碼。一種惡意代碼的檢測裝置,包括第一接收單元,用于接收宿主機(jī)發(fā)來的程序代碼;執(zhí)行單元,用于在預(yù)先構(gòu)建的用于模擬虛擬機(jī)監(jiān)視器環(huán)境的第一沙箱中執(zhí)行所述程序代碼,獲得執(zhí)行結(jié)束后所述第一沙箱的安全狀態(tài)報告;和/或在預(yù)先構(gòu)建的用于模擬虛擬機(jī)環(huán)境的第二沙箱中執(zhí)行所述程序代碼,獲得執(zhí)行結(jié)束后所述第二沙箱的安全狀態(tài)報
生 P=I ;判定單元,用于根據(jù)所述安全狀態(tài)報告中預(yù)設(shè)參數(shù)的參數(shù)值、以及預(yù)設(shè)的判別規(guī)則的集合,判定所述程序代碼是否為惡意代碼,所述判別規(guī)則中包含至少一個所述預(yù)設(shè)參數(shù)的閾值判斷范圍;第一發(fā)送單元,用于將判定單元的判定結(jié)果發(fā)送給所述宿主機(jī)。一種惡意代碼的檢測系統(tǒng),包括至少一個宿主機(jī)和至少一個集群查殺設(shè)備,其中所述宿主機(jī),用于在該宿主機(jī)的虛擬機(jī)監(jiān)視器中捕獲指令,所述執(zhí)行指令是該宿主機(jī)的虛擬機(jī)中執(zhí)行程序代碼時產(chǎn)生的讀寫請求被下發(fā)至虛擬機(jī)監(jiān)視器時,轉(zhuǎn)義生成的; 根據(jù)所述指令獲得所述程序代碼的執(zhí)行特征;將獲得的所述執(zhí)行特征與本地數(shù)據(jù)庫黑名單中的已知惡意代碼的執(zhí)行特征進(jìn)行比對,若比對結(jié)果相符,則確定所述程序代碼為惡意代碼;若比對結(jié)果不相符,則將所述程序代碼發(fā)送給集群查殺設(shè)備,并接收所述集群查殺設(shè)備返回的所述程序代碼是否為惡意代碼的判定結(jié)果;所述集群查殺設(shè)備,用于接收宿主機(jī)發(fā)來的程序代碼,在預(yù)先構(gòu)建的用于模擬虛擬機(jī)監(jiān)視器環(huán)境的第一沙箱中執(zhí)行所述程序代碼,獲得執(zhí)行結(jié)束后所述第一沙箱的安全狀態(tài)報告;和/或在預(yù)先構(gòu)建的用于模擬虛擬機(jī)環(huán)境的第二沙箱中執(zhí)行所述程序代碼,獲得執(zhí)行結(jié)束后所述第二沙箱的安全狀態(tài)報告;根據(jù)所述安全狀態(tài)報告中預(yù)設(shè)參數(shù)的參數(shù)值、 以及預(yù)設(shè)的判別規(guī)則的集合,判定所述程序代碼是否為惡意代碼,所述判別規(guī)則中包含至少一個所述預(yù)設(shè)參數(shù)的參數(shù)值范圍;將判定結(jié)果發(fā)送給所述宿主機(jī)。本發(fā)明實施例提供的惡意代碼的檢測方法在宿主機(jī)的虛擬機(jī)監(jiān)視器中監(jiān)控轉(zhuǎn)義生成的指令,并根據(jù)指令獲得所述程序代碼的執(zhí)行特征;將獲得的執(zhí)行特征與預(yù)先存儲的已知惡意代碼的執(zhí)行特征進(jìn)行比對,并根據(jù)比對結(jié)果確定所述程序代碼是否為惡意代碼。 提高了檢測效率,節(jié)約了在各虛擬機(jī)中重復(fù)安裝殺毒軟件所占用的宿主機(jī)的存儲資源、以及各虛擬機(jī)分別運行殺毒軟件所占用的宿主機(jī)的處理資源。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本實施例中硬件虛擬化場景下的宿主機(jī)的結(jié)構(gòu)原理示意圖;圖2為本發(fā)明實施例一提供的惡意代碼的檢測方法的流程圖;圖3為本發(fā)明實施例二提供的惡意代碼判定方法的流程圖;圖如為本發(fā)明實施例三提供的惡意代碼判定方法的流程圖;圖4b為本發(fā)明實施例三提供的另一種惡意代碼判定方法的流程圖;圖5為本發(fā)明實施例五提供的宿主機(jī)上本地數(shù)據(jù)庫更新方法的流程圖;圖6a為本發(fā)明實施例六提供的惡意代碼的檢測方法的流程圖;圖6b為本發(fā)明實施例六提供的另一種惡意代碼的檢測方法的流程圖;圖7為本發(fā)明實施例七提供的集群查殺設(shè)備上數(shù)據(jù)庫的更新方法的流程圖;圖8為本發(fā)明實施例七提供的集群查殺設(shè)備中數(shù)據(jù)庫的架構(gòu)示意圖;圖9為本發(fā)明實施例七提供的集群查殺設(shè)備上數(shù)據(jù)庫的更新方法的詳細(xì)流程圖;圖10為本發(fā)明實施例八提供的宿主機(jī)設(shè)備的結(jié)構(gòu)示意圖;圖11為本發(fā)明實施例八提供的惡意代碼的檢測裝置的結(jié)構(gòu)示意圖;圖12為本發(fā)明實施例八提供的另一種惡意代碼的檢測裝置的結(jié)構(gòu)示意圖;圖13為本發(fā)明實施例九提供的一種集群查殺設(shè)備的結(jié)構(gòu)示意圖;圖14為本發(fā)明實施例十提供的一種惡意代碼的檢測系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式由于惡意代碼在虛擬機(jī)上的執(zhí)行時,無論是惡意代碼讀寫宿主機(jī)存儲器的操作、 還是訪問CPU的操作都由虛擬化平臺轉(zhuǎn)發(fā)給宿主機(jī)的物理硬件,所以惡意代碼執(zhí)行時實際發(fā)生作用的場所是宿主機(jī)的物理硬件,并不是邏輯上的虛擬機(jī)。而現(xiàn)有虛擬機(jī)惡意代碼檢測方案要求在同一宿主機(jī)上的所有虛擬機(jī)上都分別安裝殺毒軟件執(zhí)行惡意代碼檢測,因此現(xiàn)有技術(shù)存在著檢測效率低下、占用宿主機(jī)資源較多的問題。另外,在升級殺毒軟件時要保證同步升級所有虛擬機(jī)上的殺毒軟件,否則殺毒軟件版本較低的虛擬機(jī)仍然可能被感染惡意代碼,因此現(xiàn)有技術(shù)還存在著管理更新維護(hù)較為復(fù)雜的問題。本發(fā)明實施例一至實施例五從宿主機(jī)的角度對惡意代碼的檢測方法進(jìn)行介紹。實施例六、實施例七從集群查殺設(shè)備的角度對惡意代碼的檢測方法進(jìn)行介紹。下面結(jié)合各個附圖對本發(fā)明實施例技術(shù)方案的主要實現(xiàn)原理具體實施方式
及其對應(yīng)能夠達(dá)到的有益效果進(jìn)行詳細(xì)的闡述。實施例一附圖1為本實施例中硬件虛擬化場景下的宿主機(jī)的結(jié)構(gòu)原理示意圖。為了便于描述,這里將宿主機(jī)抽象為三層邏輯架構(gòu),分別為上層的各個虛擬機(jī)VM1 VMn、中間層的虛擬機(jī)監(jiān)視器(hypervisor)和底層硬件。底層硬件包括中央處理器(CPU,Center Processing Unit)、內(nèi)存、網(wǎng)絡(luò)適配器、磁盤等等。請參照附圖2a,對本發(fā)明實施例提供的惡意代碼的檢測方法的流程進(jìn)行詳細(xì)描述步驟201,在宿主機(jī)的虛擬機(jī)監(jiān)視器中監(jiān)控指令的執(zhí)行情況;具體地,當(dāng)虛擬機(jī)上執(zhí)行程序代碼時,對各種物理硬件設(shè)備的讀寫訪問請求被發(fā)送到虛擬機(jī)監(jiān)視器時,會被轉(zhuǎn)義為所述虛擬機(jī)所在的宿主機(jī)虛擬機(jī)監(jiān)視器中的執(zhí)行指令, 并通過虛擬機(jī)監(jiān)視器來真正地訪問物理硬件設(shè)備。其中,轉(zhuǎn)義操作是現(xiàn)有虛擬機(jī)監(jiān)視器本身的功能,轉(zhuǎn)義操作將虛擬機(jī)對虛擬硬件設(shè)備的訪問轉(zhuǎn)換成虛擬機(jī)監(jiān)視器對真正物理硬件設(shè)備的訪問,是虛擬機(jī)中的程序代碼在執(zhí)行過程中不可缺少的一個環(huán)節(jié),其詳細(xì)的技術(shù)細(xì)節(jié)在這里不再贅述。需要說明的是,本發(fā)明實施例在宿主機(jī)的虛擬機(jī)監(jiān)視器中所監(jiān)控的指令的執(zhí)行情況,是指虛擬機(jī)監(jiān)視器轉(zhuǎn)義后的指令的執(zhí)行情況,而并非轉(zhuǎn)義前虛擬機(jī)中程序代碼的執(zhí)行情況。步驟202,根據(jù)所述指令的執(zhí)行情況,獲得所述程序代碼的執(zhí)行特征;其中,程序代碼的執(zhí)行特征包括執(zhí)行該程序代碼時產(chǎn)生的讀寫訪問請求轉(zhuǎn)義生成的指令的內(nèi)容、所述指令在所述虛擬機(jī)監(jiān)視器中的行為特征、或所述指令訪問物理硬件設(shè)備的行為特征。其中,所述指令在虛擬機(jī)監(jiān)視器中的行為特征包括該指令所要修改的該虛擬機(jī)監(jiān)視器中的系統(tǒng)文件的內(nèi)容、存儲位置、或者文件參數(shù)信息等,文件參數(shù)信息包括系統(tǒng)文件的名稱標(biāo)識、生成時間、版本號、訪問權(quán)限等等。所述指令訪問物理硬件設(shè)備的行為特征,包括訪問內(nèi)存、硬盤、閃存等存儲設(shè)備的存儲空間超過第一設(shè)定閾值的情況所持續(xù)時間、占用CPU比例超過第二設(shè)定閾值的持續(xù)時間、是否讀寫設(shè)定范圍的輸入輸出接口等等??蛇x地,所述第一設(shè)定閾值可以為預(yù)先根據(jù)已知惡意代碼轉(zhuǎn)義后的指令訪問存儲設(shè)備的情況統(tǒng)計得出的,所述第二設(shè)定閾值可以為預(yù)先根據(jù)已知惡意代碼轉(zhuǎn)義后的指令執(zhí)行時占用CPU的情況統(tǒng)計得出的。下面將結(jié)合附圖2b所示的實例,對獲得所述程序代碼的執(zhí)行特征的具體過程進(jìn)
9行介紹。虛擬機(jī)中的程序代碼al. exe在執(zhí)行時所產(chǎn)生的讀寫訪問請求集被轉(zhuǎn)義后的指令集為al,,其中包含cmdO cmd9總共10個指令;通過讀取監(jiān)控到的指令的內(nèi)容,可以獲得執(zhí)行所述程序代碼時產(chǎn)生的讀寫請求所轉(zhuǎn)義生成的指令的內(nèi)容(如表1所示),可選地,可以只讀取其中部分指令的內(nèi)容,例如讀取 cmdl的內(nèi)容為“0xl95fd3”,讀取cmd6的內(nèi)容為“0xl3457e”。表 權(quán)利要求
1.一種惡意代碼的檢測方法,其特征在于,包括在宿主機(jī)的虛擬機(jī)監(jiān)視器中監(jiān)控指令的執(zhí)行情況,所述指令是該宿主機(jī)的虛擬機(jī)中執(zhí)行程序代碼時產(chǎn)生的讀寫請求被下發(fā)至虛擬機(jī)監(jiān)視器時,轉(zhuǎn)義生成的;根據(jù)所述指令的執(zhí)行情況,獲得所述程序代碼的執(zhí)行特征;將獲得的所述執(zhí)行特征與預(yù)先存儲的已知惡意代碼的執(zhí)行特征進(jìn)行比對,在比對結(jié)果相符時確定所述程序代碼為惡意代碼。
2.如權(quán)利要求1所述的方法,其特征在于,所述執(zhí)行特征包括以下任意一個、或多個的組合執(zhí)行該程序代碼時產(chǎn)生的讀寫訪問請求轉(zhuǎn)義生成的指令的內(nèi)容、所述指令在所述虛擬機(jī)監(jiān)視器中的行為特征、或所述指令訪問硬件的行為特征;當(dāng)所述執(zhí)行特征包括轉(zhuǎn)義生成的指令的內(nèi)容時,所述根據(jù)所述指令的執(zhí)行情況,獲得所述程序代碼的執(zhí)行特征,具體為通過讀取監(jiān)控到的指令的內(nèi)容,獲得轉(zhuǎn)義生成的指令的內(nèi)容;當(dāng)所述執(zhí)行特征包括所述指令在所述虛擬機(jī)監(jiān)視器中的行為特征時,所述根據(jù)所述指令的執(zhí)行情況,獲得所述程序代碼的執(zhí)行特征,具體為通過監(jiān)控虛擬機(jī)監(jiān)視器中預(yù)定應(yīng)用程序編程接口 API被所述指令調(diào)用時傳入的參數(shù),獲得所述指令在所述虛擬機(jī)監(jiān)視器中的行為特征;當(dāng)所述執(zhí)行特征包括所述指令訪問硬件的行為特征時,所述根據(jù)所述指令的執(zhí)行情況,獲得所述程序代碼的執(zhí)行特征,具體為通過監(jiān)控虛擬機(jī)監(jiān)視器中預(yù)定API被所述指令調(diào)用時傳入的參數(shù)、或者監(jiān)控所述指令執(zhí)行過程中宿主機(jī)上存儲資源或處理資源使用情況,獲得所述指令訪問硬件的行為特征的。
3.如權(quán)利要求2所述的方法,其特征在于,所述指令在所述虛擬機(jī)監(jiān)視器中的行為特征包括以下任意一個、或多個的組合修改所述虛擬機(jī)監(jiān)視器中的系統(tǒng)文件的內(nèi)容、位置或參數(shù)信息;所述指令訪問硬件的行為特征包括以下任意一個、或多個的組合訪問存儲空間超過第一設(shè)定閾值的持續(xù)時間、占用CPU比例超過第二設(shè)定閾值的持續(xù)時間、或是否讀寫設(shè)定范圍的輸入輸出接口。
4.如權(quán)利要求1至3任一所述的方法,其特征在于,所述將獲得的所述執(zhí)行特征與預(yù)先存儲的已知惡意代碼的執(zhí)行特征進(jìn)行比對,比對結(jié)果不相符之后,還包括將獲得的所述執(zhí)行特征發(fā)送給集群查殺設(shè)備,并接收所述集群查殺設(shè)備返回的所述程序代碼是否為惡意代碼的判定結(jié)果,所述判定結(jié)果是所述集群查殺設(shè)備將所述特征與該集群查殺設(shè)備數(shù)據(jù)庫中已知惡意代碼的執(zhí)行特征進(jìn)行比對確定出的,或者將所述程序代碼發(fā)送給集群查殺設(shè)備,并接收所述集群查殺設(shè)備返回的所述程序代碼是否為惡意代碼的判定結(jié)果,所述判定結(jié)果是所述集群查殺設(shè)備利用沙箱技術(shù)執(zhí)行所述程序代碼后,根據(jù)執(zhí)行結(jié)果確定出的。
5.如權(quán)利要求1所述的方法,其特征在于,在確定出所述程序代碼為惡意代碼后,還包括記錄該程序代碼的標(biāo)識,并根據(jù)記錄結(jié)果統(tǒng)計設(shè)定時間段內(nèi)該程序代碼被檢測到的次數(shù);將所述程序代碼的標(biāo)識及所述次數(shù)發(fā)送給集群查殺設(shè)備;接收集群查殺設(shè)備返回的數(shù)據(jù)庫內(nèi)容,并根據(jù)接收到數(shù)據(jù)庫內(nèi)容替換本地數(shù)據(jù)庫的內(nèi)容,所述接收到的數(shù)據(jù)庫內(nèi)容是所述集群查殺設(shè)備根據(jù)所述程序代碼的標(biāo)識及所述次數(shù)篩選出的,所述數(shù)據(jù)庫內(nèi)容包含已知惡意代碼的執(zhí)行特征。
6.如權(quán)利要求1、2、3、或5所述的方法,其特征在于,當(dāng)確定出所述程序代碼為惡意代碼后,還包括阻止執(zhí)行所述程序代碼的讀寫請求轉(zhuǎn)義生成的指令。
7.—種惡意代碼的檢測方法,其特征在于,包括接收宿主機(jī)發(fā)來的程序代碼,在預(yù)先構(gòu)建的用于模擬虛擬機(jī)監(jiān)視器環(huán)境的第一沙箱中執(zhí)行所述程序代碼,獲得執(zhí)行結(jié)束后所述第一沙箱的安全狀態(tài)報告;和/或在預(yù)先構(gòu)建的用于模擬虛擬機(jī)環(huán)境的第二沙箱中執(zhí)行所述程序代碼,獲得執(zhí)行結(jié)束后所述第二沙箱的安全狀態(tài)報告;根據(jù)所述安全狀態(tài)報告中預(yù)設(shè)參數(shù)的參數(shù)值、以及預(yù)設(shè)的判別規(guī)則的集合,判定所述程序代碼是否為惡意代碼,所述判別規(guī)則中包含至少一個所述預(yù)設(shè)參數(shù)的閾值判斷范圍;將判定結(jié)果發(fā)送給所述宿主機(jī)。
8.如權(quán)利要求7所述的方法,其特征在于,當(dāng)判定所述程序代碼是否為惡意代碼后,還包括若判定所述程序代碼為惡意代碼,則將該程序代碼的標(biāo)識和對應(yīng)的執(zhí)行特征添加到數(shù)據(jù)庫的黑名單中;所述將判斷結(jié)果發(fā)送給所述宿主機(jī)之后,還包括接收宿主機(jī)發(fā)來的程序代碼的標(biāo)識和設(shè)定時間段內(nèi)該程序代碼的標(biāo)識被檢測到的次數(shù);根據(jù)預(yù)定的篩選規(guī)則、以及所述程序代碼的標(biāo)識和所述次數(shù),從所述數(shù)據(jù)庫中篩選出部分內(nèi)容,所述篩選規(guī)則包括統(tǒng)計指標(biāo)判斷閾值,所述統(tǒng)計指標(biāo)的值根據(jù)所述程序代碼的標(biāo)識和所述次數(shù)確定出;將篩選出的數(shù)據(jù)庫的內(nèi)容發(fā)送給宿主機(jī),以便宿主機(jī)更新本地數(shù)據(jù)庫。
9.一種宿主機(jī),包括虛擬機(jī)監(jiān)視器和至少一個虛擬機(jī),其特征在于,還包括惡意代碼的檢測裝置,其中所述惡意代碼的檢測裝置,用于在宿主機(jī)的虛擬機(jī)監(jiān)視器中監(jiān)控指令的執(zhí)行情況,所述指令是該宿主機(jī)的虛擬機(jī)中執(zhí)行程序代碼時產(chǎn)生的讀寫請求被下發(fā)至虛擬機(jī)監(jiān)視器時, 轉(zhuǎn)義生成的;根據(jù)所述指令的執(zhí)行情況,獲得所述程序代碼的執(zhí)行特征;將獲取單元獲得的所述執(zhí)行特征與預(yù)先存儲的已知惡意代碼的執(zhí)行特征進(jìn)行比對,并在比對結(jié)果不相符時確定所述程序代碼為惡意代碼。
10.一種惡意代碼的檢測裝置,其特征在于,包括監(jiān)控單元,用于在宿主機(jī)的虛擬機(jī)監(jiān)視器中監(jiān)控指令的執(zhí)行情況,所述指令是該宿主機(jī)的虛擬機(jī)中執(zhí)行程序代碼時產(chǎn)生的讀寫請求被下發(fā)至虛擬機(jī)監(jiān)視器時,轉(zhuǎn)義生成的;獲取單元,用于根據(jù)所述指令的執(zhí)行情況,獲得所述程序代碼的執(zhí)行特征;確定單元,用于將獲取單元獲得的所述執(zhí)行特征與預(yù)先存儲的已知惡意代碼的執(zhí)行特征進(jìn)行比對,并在比對結(jié)果相符時確定所述程序代碼為惡意代碼。
11.如權(quán)利要求10所述的裝置,其特征在于,還包括第一發(fā)送單元,用于在確定單元的比對結(jié)果不相符時,將獲得的所述執(zhí)行特征發(fā)送給集群查殺設(shè)備,或者將所述程序代碼發(fā)送給集群查殺設(shè)備;第一接收單元,用于接收所述集群查殺設(shè)備根據(jù)第一發(fā)送單元發(fā)送的所述執(zhí)行特征, 返回的所述程序代碼是否為惡意代碼的判定結(jié)果,所述判定結(jié)果是所述集群查殺設(shè)備將所述特征與該集群查殺設(shè)備數(shù)據(jù)庫中已知惡意代碼的執(zhí)行特征進(jìn)行比對確定出的;或者接收所述集群查殺設(shè)備根據(jù)第一發(fā)送單元發(fā)送的程序代碼,返回的所述程序代碼是否為惡意代碼的判定結(jié)果,所述判定結(jié)果是所述集群查殺設(shè)備利用沙箱技術(shù)執(zhí)行所述程序代碼后,根據(jù)執(zhí)行結(jié)果確定出的。
12.如權(quán)利要求10、或11所述的裝置,其特征在于,還包括記錄統(tǒng)計單元,用于在確定單元確定出所述程序代碼為惡意代碼后,記錄該程序代碼的標(biāo)識,并根據(jù)記錄結(jié)果統(tǒng)計設(shè)定時間段內(nèi)該程序代碼被檢測到的次數(shù);第二發(fā)送單元,用于將所述程序代碼的標(biāo)識及所述次數(shù)發(fā)送給集群查殺設(shè)備; 第二接收單元,用于接收集群查殺設(shè)備返回的數(shù)據(jù)庫內(nèi)容,并根據(jù)接收到數(shù)據(jù)庫內(nèi)容替換本地數(shù)據(jù)庫的內(nèi)容,所述接收到的數(shù)據(jù)庫內(nèi)容是所述集群查殺設(shè)備根據(jù)所述程序代碼的標(biāo)識及所述次數(shù)確定出的,所述數(shù)據(jù)庫內(nèi)容包含已知惡意代碼的執(zhí)行特征。
13.—種惡意代碼的檢測裝置,其特征在于,包括 第一接收單元,用于接收宿主機(jī)發(fā)來的程序代碼;執(zhí)行單元,用于在預(yù)先構(gòu)建的用于模擬虛擬機(jī)監(jiān)視器環(huán)境的第一沙箱中執(zhí)行所述程序代碼,獲得執(zhí)行結(jié)束后所述第一沙箱的安全狀態(tài)報告;和/或在預(yù)先構(gòu)建的用于模擬虛擬機(jī)環(huán)境的第二沙箱中執(zhí)行所述程序代碼,獲得執(zhí)行結(jié)束后所述第二沙箱的安全狀態(tài)報告;判定單元,用于根據(jù)所述安全狀態(tài)報告中預(yù)設(shè)參數(shù)的參數(shù)值、以及預(yù)設(shè)的判別規(guī)則的集合,判定所述程序代碼是否為惡意代碼,所述判別規(guī)則中包含至少一個所述預(yù)設(shè)參數(shù)的閾值判斷范圍;第一發(fā)送單元,用于將判定單元的判定結(jié)果發(fā)送給所述宿主機(jī)。
14.如權(quán)利要求13所述的設(shè)備,其特征在于,還包括第一更新單元,用于在判定單元判定所述程序代碼為惡意代碼時,則將該程序代碼的標(biāo)識和對應(yīng)的執(zhí)行特征添加到數(shù)據(jù)庫的黑名單中;第二接收單元,用于接收宿主機(jī)發(fā)來的程序代碼的標(biāo)識和設(shè)定時間段內(nèi)該程序代碼的標(biāo)識被檢測到的次數(shù);篩選單元,用于根據(jù)第二接收單元接收的所述程序代碼的標(biāo)識、所述次數(shù)、以及所述集群查殺設(shè)備中預(yù)定的篩選規(guī)則,從所述數(shù)據(jù)庫中篩選出部分內(nèi)容,所述篩選規(guī)則包括統(tǒng)計指標(biāo)判斷閾值,所述統(tǒng)計指標(biāo)的值根據(jù)所述程序代碼的標(biāo)識和所述次數(shù)確定出;第二發(fā)送單元,用于將所述篩選單元篩選出的內(nèi)容發(fā)送給宿主機(jī),以便宿主機(jī)更新本地數(shù)據(jù)庫。
15.一種惡意代碼的檢測系統(tǒng),其特征在于,包括至少一個宿主機(jī)和至少一個集群查殺設(shè)備,其中所述宿主機(jī),用于在該宿主機(jī)的虛擬機(jī)監(jiān)視器中捕獲指令,所述執(zhí)行指令是該宿主機(jī)的虛擬機(jī)中執(zhí)行程序代碼時產(chǎn)生的讀寫請求被下發(fā)至虛擬機(jī)監(jiān)視器時,轉(zhuǎn)義生成的;根據(jù)所述指令獲得所述程序代碼的執(zhí)行特征;將獲得的所述執(zhí)行特征與本地數(shù)據(jù)庫黑名單中的已知惡意代碼的執(zhí)行特征進(jìn)行比對,若比對結(jié)果相符,則確定所述程序代碼為惡意代碼;若比對結(jié)果不相符,則將所述程序代碼發(fā)送給集群查殺設(shè)備,并接收所述集群查殺設(shè)備返回的所述程序代碼是否為惡意代碼的判定結(jié)果;所述集群查殺設(shè)備,用于接收宿主機(jī)發(fā)來的程序代碼,在預(yù)先構(gòu)建的用于模擬虛擬機(jī)監(jiān)視器環(huán)境的第一沙箱中執(zhí)行所述程序代碼,獲得執(zhí)行結(jié)束后所述第一沙箱的安全狀態(tài)報告;和/或在預(yù)先構(gòu)建的用于模擬虛擬機(jī)環(huán)境的第二沙箱中執(zhí)行所述程序代碼,獲得執(zhí)行結(jié)束后所述第二沙箱的安全狀態(tài)報告;根據(jù)所述安全狀態(tài)報告中預(yù)設(shè)參數(shù)的參數(shù)值、以及預(yù)設(shè)的判別規(guī)則的集合,判定所述程序代碼是否為惡意代碼,所述判別規(guī)則中包含至少一個所述預(yù)設(shè)參數(shù)的參數(shù)值范圍;將判定結(jié)果發(fā)送給所述宿主機(jī)。
全文摘要
本發(fā)明公開了一種惡意代碼的檢測方法、系統(tǒng)及相關(guān)裝置,用以解決現(xiàn)有技術(shù)中檢測效率低、占用資源較多的問題。該方法包括在宿主機(jī)的虛擬機(jī)監(jiān)視器中監(jiān)控指令的執(zhí)行情況,所述指令是該宿主機(jī)的虛擬機(jī)中執(zhí)行程序代碼時產(chǎn)生的讀寫請求被下發(fā)至虛擬機(jī)監(jiān)視器時,轉(zhuǎn)義生成的;根據(jù)所述指令的執(zhí)行情況,獲得所述程序代碼的執(zhí)行特征;將獲得的所述執(zhí)行特征與預(yù)先存儲的已知惡意代碼的執(zhí)行特征進(jìn)行比對,在比對結(jié)果相符時確定所述程序代碼為惡意代碼。提高了檢測效率,節(jié)約了在各虛擬機(jī)中重復(fù)安裝殺毒軟件所占用的宿主機(jī)的存儲資源、以及各虛擬機(jī)分別運行殺毒軟件所占用的宿主機(jī)的處理資源。
文檔編號G06F21/00GK102254120SQ201110226659
公開日2011年11月23日 申請日期2011年8月9日 優(yōu)先權(quán)日2011年8月9日
發(fā)明者云朋, 王鵬 申請人:成都市華為賽門鐵克科技有限公司