專利名稱:一種虛擬化環(huán)境下的反病毒系統(tǒng)及其反病毒方法
技術(shù)領(lǐng)域:
本發(fā)明涉及反病毒技術(shù)領(lǐng)域,尤其涉及一種虛擬化環(huán)境下的反病毒系統(tǒng),以及使用該反病毒系統(tǒng)進行反病毒的方法。
背景技術(shù):
當(dāng)今信息時代,網(wǎng)絡(luò)技術(shù)迅猛發(fā)展,隨之而來的各類病毒也同時四處傳播,甚至到了無孔不入的地步,對計算機和網(wǎng)絡(luò)造成極大的威脅。另一方面,隨著虛擬化技術(shù)的不斷發(fā)展,虛擬化技術(shù)的實際應(yīng)用也越來越廣泛,無論是服務(wù)器虛擬化還是桌面虛擬化,其應(yīng)用都在不斷地增加,根據(jù)Gartner (Gartner是美國一家從事信息技術(shù)研究和咨詢的公司)的預(yù)測,在2009年x86服務(wù)器上面安裝的虛擬機數(shù)量將會超過400萬臺,而且虛擬桌面的數(shù)量也將會從2007年的不到500萬臺增加到2011年的6. 8億臺。因此,在虛擬化環(huán)境下,也必然會面對各類病毒對虛擬機的安全造成威脅這樣一個問題,這也就使得虛擬化環(huán)境下的反病毒解決方案成為了必然。對于普通的單個計算機用戶來說,通常只需要在自己的計算機上安裝反病毒軟件,保證對病毒庫的及時更新,并定期對計算機進行掃描以查殺病毒,就基本上可以在一定程度上(要想僅依靠反病毒軟件就來百分之百保證計算機不受病毒侵擾是不現(xiàn)實的)保護計算機免受病毒的侵擾了。并且,反病毒軟件通??梢栽O(shè)定病毒庫的自動更新,以及定時掃描查殺病毒,用戶基本上不用手動去進行任何操作。以上這些就是我們所熟悉的通常的反病毒方法。在虛擬化環(huán)境下的數(shù)據(jù)中心中,一臺機器上可以創(chuàng)建多臺虛擬機,要對數(shù)據(jù)中心的每一臺虛擬機進行反病毒保護,可以按照常規(guī)思路,即像普通的單個計算機用戶一樣,在每一臺虛擬機中都分別裝上反病毒軟件。這樣一來,也就的確實現(xiàn)了對數(shù)據(jù)中心的每一臺虛擬機的反病毒保護,但是,還需要考慮到,反病毒軟件在進行掃描時,是要占用一定資源的,特別是在進行全盤掃描時,反病毒軟件對CPU的使用,以及對磁盤數(shù)據(jù)的讀取,這些資源占用可不是能夠忽略不計的;而且全盤掃描是比較耗時的,也就是說這種較大的資源占用的情形將會持續(xù)一個比較長的時間段。雖然很多的反病毒軟件都在資源占用率上做了很大的優(yōu)化,但這也只是對于單用戶環(huán)境而言的。對于單個用戶來說,他獨占一臺計算機的全部資源,所以反病毒軟件工作時對資源的占用,相對于全部資源來說,也只是很小的一部分,在部分性能強勁的計算機上,用戶甚至感覺不到這種資源占用。但在虛擬化環(huán)境下, 情況就大不相同了,每一臺虛擬機只擁有一臺實體計算機一定比例的資源,這樣一來,在一臺虛擬機上反病毒軟件對資源的占用程度(反病毒軟件占用的資源相對于虛擬機的全部資源)就要高于在一臺實體計算機上反病毒軟件對資源的占用程度(反病毒軟件占用的資源相對于實體計算機的全部資源);另一方面,每一臺實體計算機上都有多臺虛擬機在運行, 如果每一臺虛擬機上的反病毒軟件都同時開始進行病毒掃描的話,整個實體計算機的資源使用率就會很高了,甚至可能會影響到虛擬機用戶對虛擬機的正常使用。所以,如果在虛擬化環(huán)境下采取這種常規(guī)方式,來對數(shù)據(jù)中心中的各虛擬機進行反病毒保護的話,可能會很容易遇到性能瓶頸。圖1對比說明了把常規(guī)的反病毒方法運用于虛擬化環(huán)境下可能產(chǎn)生的問題。圖1 的上半部分描述的是單個用戶的常規(guī)反病毒方法對實體計算機資源的占用情況,圖1的下半部分描述的是把常規(guī)的反病毒方法運用于虛擬化環(huán)境中時,對實體計算機資源的占用情況。圖1中的黑色粗線條表示的是反病毒軟件在掃描病毒時對資源的占用情況,線條的寬度表示反病毒軟件的資源使用率。從圖1中可以直觀地看到,對于單個用戶來說,全部的實體計算機資源只面對一個反病毒軟件(暫時忽略其它運行于計算機上的應(yīng)用軟件,當(dāng)前僅考慮反病毒軟件),就算反病毒軟件的資源使用率再高(黑色粗線條變得更寬),也比較難達到實體計算機的資源極限值;但對于虛擬化環(huán)境來說,全部的實體計算機資源要同時面對η個虛擬機中的反病毒軟件,一旦η個反病毒軟件同時進行掃描,很容易會達到實體計算機的資源極限值(如圖1 中所示情形),而且就算單個反病毒軟件的資源使用率很低(黑色粗線條變得很細),虛擬機的數(shù)量較多的話,也比較容易達到實體計算機的資源極限值。簡言之,如果在虛擬化環(huán)境下直接采用常規(guī)的反病毒方法(即在每一臺虛擬機上分別裝各自獨立的反病毒軟件),很容易遇到性能瓶頸,而在出現(xiàn)性能瓶頸時,甚至?xí)绊懙接脩魧μ摂M機的正常使用,因為在實體計算機的資源使用率接近或達到極限值時,虛擬機操作系統(tǒng)的響應(yīng)時間會變得很長。
發(fā)明內(nèi)容
基于上述原因,本發(fā)明旨在提供一種虛擬化環(huán)境下的反病毒方法,該方法是專門針對虛擬化環(huán)境,結(jié)合了虛擬化環(huán)境的特點而提出的,以期達到在為虛擬機提供安全保護的同時,不至于影響虛擬機的正常使用的目的。本發(fā)明目的在于,結(jié)合虛擬化環(huán)境的特點和現(xiàn)有常規(guī)的反病毒技術(shù),提出了一種適合于虛擬化環(huán)境的反病毒系統(tǒng)。該反病毒系統(tǒng)是專門針對虛擬化環(huán)境,因此整個方法的理念都是和虛擬化環(huán)境的特點緊密相關(guān)的。為達上述目的本發(fā)明提供了一種虛擬化環(huán)境下的反病毒系統(tǒng),其包括反病毒主體模塊及全局掃描緩存,該反病毒主體模塊能監(jiān)控識別、掃描和清除病毒以及自動升級并且一直監(jiān)聽來自反病毒代理模塊發(fā)出的請求,并維護全局掃描緩存;反病毒代理模塊及本地掃描緩存,反病毒代理模塊能監(jiān)控虛擬機的文件系統(tǒng)和內(nèi)存以及向反病毒主體模塊發(fā)出病毒掃描請求,并能維護虛擬機上的本地掃描緩存。其中
該反病毒主體模塊設(shè)置在一臺獨立的、專門的反病毒虛擬機中。而各反病毒代理模塊設(shè)置在各需要接受反病毒保護服務(wù)的工作虛擬機中。該系統(tǒng)還包括工作虛擬機創(chuàng)建模板,該創(chuàng)建模板為先把反病毒代理模塊集成到普通虛擬機中,并執(zhí)行了首次全盤掃描之后,而發(fā)布成的用于采用基于模板的創(chuàng)建方式建工作虛擬機的模板。本發(fā)明還提供了一種虛擬化環(huán)境下的反病毒方法,其在反病毒虛擬機和工作虛擬機上分別安裝反病毒主體程序和反病毒代理程序;并且由反病毒虛擬機一直監(jiān)聽來自工作虛擬機中的反病毒代理程序的請求,當(dāng)反病毒代理程序向反病毒虛擬機發(fā)送掃描請求時,反病毒虛擬機的反病毒主體程序接收該請求,在這兩臺虛擬機之間建立通信信道,并對工作虛擬機進行掃描。其進一步方案為
其掃描策略為掃描時,該反病毒虛擬機先使用發(fā)出請求的工作虛擬機上的反病毒代理程序所維護的本地掃描緩存,再使用該反病毒虛擬機所維護的全局掃描緩存,檢查該被掃描的文件在本地掃描緩存或全局掃描緩存中是否有匹配項,最后才使用反病毒虛擬機的殺毒引擎進行掃描。本地掃描緩存和全局掃描緩存中記錄著已經(jīng)掃描過的無病毒文件的標識信息,如果在掃描本地掃描緩存或全局掃描緩存時能夠找到匹配項,則表示這個被掃描的文件是無病毒的。殺毒引擎每次對文件進行掃描之后,將更新全局掃描緩存,同時各工作虛擬機的本地掃描緩存也會定期和反病毒虛擬機的全局掃描緩存進行同步。其包括以下步驟
1)在反病毒虛擬機和工作虛擬機上分別安裝反病毒主體程序(步驟501)和反病毒代理程序。2)反病毒虛擬機一直監(jiān)聽來自工作虛擬機中的反病毒代理程序的請求。3)系統(tǒng)首次運行時,工作虛擬機上的反病毒代理程序向反病毒虛擬機發(fā)送一個全盤掃描的請求。4)反病毒虛擬機上的反病毒主體程序接收到步驟3)中反病毒代理程序的請求之后,在這兩臺虛擬機之間建立通信信道,并對工作虛擬機進行全盤掃描。5)初次掃描時在工作虛擬機上建立本地掃描緩存。6)反病毒代理程序?qū)ぷ魈摂M機的文件系統(tǒng)和內(nèi)存進行實時監(jiān)控。當(dāng)檢測到有文件修改操作時,首先在本地掃描緩存中檢查是否存在匹配項,如果存在匹配項,則繼續(xù)進行監(jiān)控;如果不存在匹配項,則請求查找全局掃描緩存中是否有匹配項。7)反病毒虛擬機接收到步驟6)中反病毒代理程序的請求之后,在這兩臺虛擬機之間建立通信信道進行緩存查找,并在反病毒虛擬機的全局掃描緩存中檢查是否存在匹配項,如果存在匹配項,則說明該文件曾在其它虛擬機上被掃描過,是無病毒的;如果不存在匹配項,則請求反病毒虛擬機對該文件進行掃描。8)反病毒虛擬機接收到步驟7)中反病毒代理程序的請求之后,在這兩臺虛擬機之間建立通信信道,使用殺毒引擎對該文件進行掃描,更新并同步本地掃描緩存和全局掃描緩存。另外,在步驟1)中,其還可包括一個虛擬機模板制作步驟,其是先安裝好反病毒代理程序到一臺工作虛擬機中,并對其進行全盤掃描,再發(fā)布為模板;這樣,并基于這個模板創(chuàng)建其他工作虛擬機,這樣,就不用在首次運行時再進行全盤掃描了。本發(fā)明的有益技術(shù)效果在于本發(fā)明所提出的反病毒系統(tǒng)和反病毒方法結(jié)合了虛擬化環(huán)境的特點,采用反病毒虛擬機進行集中管理,在普通工作虛擬機上分別設(shè)置代理的邏輯結(jié)構(gòu);掃描策略采取先在本地掃描緩存中進行匹配,再到全局掃描緩存中進行匹配,最后才使用殺毒引擎進行文件掃描;結(jié)合基于模板創(chuàng)建虛擬機的方式提供安全模板,免去了同一模板創(chuàng)建的虛擬機初次運行時的全盤掃描;通過這些與虛擬化環(huán)境相契合的特性,可以避免將常規(guī)反病毒方法直接運用于虛擬化環(huán)境時可能出現(xiàn)的“掃描風(fēng)暴”(即一段時間內(nèi)資源利用率可能達到極限值),達到在為虛擬機提供安全保護的同時,不至于影響虛擬機的正常使用的目的。
圖1為把現(xiàn)有常規(guī)的反病毒方法運用于虛擬化環(huán)境下產(chǎn)生的問題示意圖; 圖2為把現(xiàn)有常規(guī)的反病毒方法運用于虛擬化環(huán)境下的系統(tǒng)結(jié)構(gòu)圖3為本發(fā)明所提出的虛擬化環(huán)境下的反病毒系統(tǒng)結(jié)構(gòu)圖4為本發(fā)明的反病毒系統(tǒng)運用于包含多個虛擬網(wǎng)絡(luò)的虛擬化環(huán)境下的邏輯結(jié)構(gòu)示意圖5為反病毒主體程序在反病毒虛擬機上運行的基本流程圖; 圖6為反病毒代理程序在普通工作虛擬機上運行的基本流程圖; 圖7為本發(fā)明的反病毒系統(tǒng)在實際應(yīng)用環(huán)境中的邏輯結(jié)構(gòu)圖; 圖8為本發(fā)明的反病毒方法實現(xiàn)的具體流程圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。如圖所示,圖2為把現(xiàn)有常規(guī)的反病毒方法運用于虛擬化環(huán)境下的系統(tǒng)結(jié)構(gòu)圖。 圖3為本發(fā)明所提出的虛擬化環(huán)境下的反病毒系統(tǒng)結(jié)構(gòu)圖。如圖2所示,傳統(tǒng)的反病毒系統(tǒng)通常就是一個獨立的單個應(yīng)用程序,這個獨立的單個應(yīng)用程序被安裝在實體計算機上,對該實體計算機進行反病毒保護。本發(fā)明所提出的本發(fā)明所提出的虛擬化環(huán)境下的反病毒系統(tǒng),其體系結(jié)構(gòu)不同于傳統(tǒng)的反病毒系統(tǒng),本發(fā)明的反病毒系統(tǒng)不再是一個獨立的單個應(yīng)用程序。如圖3所示,本發(fā)明所提出的反病毒系統(tǒng)被分成了兩個部分
一個部分稱之為反病毒主體程序,反病毒主體程序被安裝在一臺獨立的、專門的虛擬機中,在這臺專門的虛擬機中安裝有一個操作系統(tǒng),在此操作系統(tǒng)中只安裝反病毒主體程序,不再安裝其它應(yīng)用程序,即這臺虛擬機是專門用來反病毒的,所以把這臺虛擬機稱為反病毒虛擬機。反病毒虛擬機類似于現(xiàn)有常規(guī)的傳統(tǒng)的反病毒軟件系統(tǒng),其反病毒主體程序的功能也包括了監(jiān)控識別、掃描和清除病毒和自動升級等現(xiàn)有常規(guī)的傳統(tǒng)反病毒軟件系統(tǒng)的基本功能。另一部分稱之為反病毒代理程序,反病毒代理程序被安裝在每一臺需要接受反病毒保護服務(wù)的普通工作虛擬機中,主要用來對普通工作虛擬機的文件系統(tǒng)進行監(jiān)控以及和反病毒虛擬機進行通信交互。普通工作虛擬機的反病毒代理程序的主要功能是監(jiān)控虛擬機的文件系統(tǒng)和內(nèi)存; 通過網(wǎng)絡(luò)連接,向反病毒虛擬機發(fā)出病毒掃描的請求,由反病毒虛擬機對請求病毒掃描的虛擬機進行病毒查殺掃描;維護普通工作虛擬機上的本地掃描緩存。
此外,本發(fā)明所提出的反病毒系統(tǒng)在創(chuàng)建普通工作虛擬機時可以盡可能采用基于模板的創(chuàng)建方式。在制作模板時,把反病毒代理程序集成到普通工作虛擬機中,并在執(zhí)行了首次全盤掃描之后,再發(fā)布為模板。這樣,如果有多臺相同系統(tǒng)的虛擬機,只需執(zhí)行一次首次運行時的全盤掃描就可以了,而不需要分別執(zhí)行多次全盤掃描,大大的節(jié)省了時間和資源的消耗。本發(fā)明還提出了一種使用該反病毒系統(tǒng)進行反病毒的方法,如圖8所示,包括以下步驟
1)在反病毒虛擬機和普通工作虛擬機上分別安裝反病毒主體程序(步驟501)和反病毒代理程序(步驟601)。2)反病毒虛擬機一直監(jiān)聽來自普通工作虛擬機中的反病毒代理程序的請求(步驟 801)。3)系統(tǒng)首次運行時,普通工作虛擬機上的反病毒代理程序向反病毒虛擬機發(fā)送一個全盤掃描的請求(步驟602 )。4)反病毒虛擬機上的反病毒主體程序接收到3)中反病毒代理程序的請求之后,在這兩臺虛擬機之間建立通信信道,并對普通工作虛擬機進行全盤掃描(步驟802)。5)初次掃描時在普通工作虛擬機上建立本地掃描緩存(步驟603)。6)反病毒代理程序?qū)ζ胀üぷ魈摂M機的文件系統(tǒng)和內(nèi)存進行實時監(jiān)控(步驟 604)。當(dāng)檢測到有文件修改操作(步驟605)時,首先在本地掃描緩存中檢查是否存在匹配項(步驟606),如果存在匹配項,則繼續(xù)進行監(jiān)控(步驟604);如果不存在匹配項,則請求查找全局掃描緩存中是否有匹配項(步驟607)。7)反病毒虛擬機接收到6)中反病毒代理程序的請求之后,在這兩臺虛擬機之間建立通信信道進行緩存查找(步驟803),并在反病毒虛擬機的全局掃描緩存中檢查是否存在匹配項(步驟608),如果存在匹配項,則說明該文件曾在其它虛擬機上被掃描過,是無病毒的;如果不存在匹配項,則請求反病毒虛擬機對該文件進行掃描(步驟609)。8)反病毒虛擬機接收到7)中反病毒代理程序的請求之后,在這兩臺虛擬機之間建立通信信道,使用殺毒引擎對該文件進行掃描(步驟802),更新并同步本地掃描緩存和全局掃描緩存(步驟603、804)。在本發(fā)明所提出的反病毒的方法中,反病毒虛擬機對普通工作虛擬機進行掃描的策略為反病毒虛擬機先使用發(fā)出請求的普通工作虛擬機上的反病毒代理程序所維護的本地掃描緩存,再使用該反病毒虛擬機所維護的全局掃描緩存,最后才使用反病毒虛擬機的殺毒引擎進行掃描,檢查該被掃描的文件在本地掃描緩存或全局掃描緩存中是否有匹配項。由于本地掃描緩存和全局掃描緩存中記錄著掃描過的無病毒文件的標識信息,如果在掃描本地掃描緩存或全局掃描緩存時能夠找到匹配項,則說明這個被掃描的文件是無病毒的。殺毒引擎每次對文件進行掃描之后,都會更新全局掃描緩存,同時各普通工作虛擬機的本地掃描緩存也會定期和反病毒虛擬機的全局掃描緩存進行同步。為使本發(fā)明的特征及優(yōu)點得到更清楚的了解,以下結(jié)合圖7做進一步說明。首先描述一下本發(fā)明所提出的反病毒方法在實際應(yīng)用環(huán)境中的邏輯結(jié)構(gòu)。如圖7 所示,在這個應(yīng)用環(huán)境中,最底層是實體計算機硬件1,虛擬機管理程序2作為中間媒介,和實體計算機硬件進行交互,為虛擬機提供相應(yīng)的資源。虛擬機分為反病毒虛擬機3和普通工作虛擬機4,所有虛擬機上都需要安裝虛擬機操作系統(tǒng)5,反病毒虛擬機3和普通工作虛擬機4的區(qū)別在于,反病毒虛擬機3僅僅在操作系統(tǒng)中安裝反病毒主體程序6,不再安裝其它應(yīng)用軟件,即該虛擬機是專用于反病毒的;而其它所有的普通工作虛擬機上都需要安裝反病毒代理程序7,除此之外還可以安裝普通工作虛擬機用戶想要使用的任何其它應(yīng)用軟件。所有安裝了反病毒代理程序7的普通工作虛擬機4上都維護著一個本地掃描緩存8,在反病毒虛擬機上則維護著一個全局掃描緩存9。普通工作虛擬機和反病毒虛擬機之間通過虛擬網(wǎng)絡(luò)進行通信。反病毒虛擬機3的反病毒主體程序6包含了監(jiān)控識別、掃描和清除病毒和自動升級等現(xiàn)有常規(guī)的傳統(tǒng)反病毒軟件系統(tǒng)的基本功能。除此之外,反病毒主體程序6還包含與反病毒代理程序7進行網(wǎng)絡(luò)通信的功能,以及對整個虛擬化環(huán)境下,所有與之相關(guān)聯(lián)的反病毒代理程序?qū)?yīng)的虛擬機的定時掃描進行統(tǒng)籌管理,即采用一定的策略,統(tǒng)一規(guī)劃并實施對虛擬機的定時掃描,以達到對有限資源進行優(yōu)化使用的目的。反病毒主體程序在反病毒虛擬機上運行的基本流程(即反病毒主體程序所要進行的主要工作)如圖5所示。在反病毒虛擬機上安裝運行反病毒主體程序(步驟501)之后, 它會不斷地自動更新病毒庫(步驟502)(也可能會進行主體程序的整體升級或更新殺毒引擎)。同時,反病毒主體程序會按照用戶所選擇的定時掃描策略,安排并實施普通工作虛擬機的定時掃描(步驟503)。反病毒虛擬機上會建立一個全局掃描緩存,每次使用殺毒引擎對文件進行掃描之后,都會更新這個全局掃描緩存,并將其和普通工作虛擬機上的本地掃描緩存進行同步(步驟504)。反病毒虛擬機的另一項重要任務(wù)就是實時監(jiān)聽來自反病毒代理程序的請求,為普通工作虛擬機提供按需掃描服務(wù)(步驟505)。綜上所述,反病毒虛擬機3負責(zé)集中管理與其相關(guān)聯(lián)的所有普通工作虛擬機4,根據(jù)用戶選擇的定時掃描策略,統(tǒng)籌規(guī)劃并執(zhí)行對各普通工作虛擬機的定時全盤掃描。這些掃描策略可以包括空閑時掃描、指定時間段掃描等。此外,反病毒虛擬機3中的反病毒主體程序6還負責(zé)定期把全局掃描緩存和各普通工作虛擬機中的本地掃描緩存進行同步,讓各虛擬機及時共享掃描信息,以盡可能減少文件掃描的發(fā)生次數(shù)。反病毒代理程序7在普通工作虛擬機4上運行的基本流程如圖6所示。首先在普通工作虛擬機上安裝好反病毒代理程序(步驟601)之后,初次運行反病毒代理程序時,會請求反病毒虛擬機進行全盤掃描(步驟602),并在該普通工作虛擬機上建立本地掃描緩存(步驟603)。之后,在普通工作虛擬機正常的工作過程中,反病毒代理程序會實時監(jiān)控虛擬機的文件系統(tǒng)和內(nèi)存(步驟604)。當(dāng)檢測到文件修改(步驟605)時,反病毒代理程序會首先在本地掃描緩存中進行查找,查看是否有該文件的匹配項(步驟606)。如果找到了匹配項, 則說明該文件是無病毒的,返回繼續(xù)進行實時監(jiān)控(步驟604)。如果未找到匹配項,則向反病毒虛擬機發(fā)出請求(步驟607),在全局掃描緩存中進行查找,查看是否有該文件的匹配項 (步驟608)。如果找到了匹配項,則說明該文件是無病毒的,返回繼續(xù)進行實時監(jiān)控(步驟 604)。如果未找到匹配項,則向反病毒虛擬機發(fā)出請求,使用殺毒引擎對該文件進行掃描 (步驟609),根據(jù)掃描結(jié)果更新并同步本地掃描緩存和全局掃描緩存(步驟603、804)。本發(fā)明所提出的反病毒方法的掃描策略為首先在反病毒代理所維護的本地掃描緩存中進行檢查(步驟604、605);如果在本地掃描緩存中未找到匹配項(步驟606),再向反病毒虛擬機發(fā)送請求(步驟607),在反病毒虛擬機所維護的全局掃描緩存中進行檢查(步驟803);如果在全局掃描緩存中也未找到匹配項(步驟608),再向反病毒虛擬機發(fā)送請求(步驟609),由反病毒虛擬機使用殺毒引擎對其進行文件掃描(步驟802),檢查該被掃描的文件在本地掃描緩存或全局掃描緩存中是否有匹配項。由于掃描緩存中記錄著掃描過的無病毒文件的標識信息,如果在掃描緩存中能夠找到匹配項,那就說明這個文件是無病毒的。殺毒引擎每次對文件進行掃描之后,都會更新全局掃描緩存,同時各虛擬機的本地掃描緩存會更新并定期和反病毒虛擬機的全局掃描緩存進行同步(步驟603、804)。這樣,一個已經(jīng)在某臺虛擬機上掃描過的文件,在另一臺虛擬機上再出現(xiàn)時,就不必使用殺毒引擎對其進行掃描了。在緩存中進行查找匹配(步驟606、 608),比直接用殺毒引擎進行掃描效率更高,而且使用的資源更少。此外,本發(fā)明提出的反病毒系統(tǒng)可以結(jié)合虛擬機基于模板的創(chuàng)建方式提供安全模板,即在制作虛擬機模板時,先安裝好反病毒代理程序到一臺普通工作虛擬機中,并對其進行全盤掃描。這樣,基于這個模板創(chuàng)建的其他所有普通工作虛擬機就不用在初次運行時進行全盤掃描了。假如有10臺虛擬機是基于安全模板創(chuàng)建的,那么將會省去10次首次運行時的全盤掃描,10次全盤掃描所占用的時間和資源是相當(dāng)可觀的,因此該方式也是節(jié)省時間、減少資源消耗的一種有效手段。本發(fā)明所提出的反病毒系統(tǒng)也可運用于包含多個虛擬網(wǎng)絡(luò)的虛擬化環(huán)境下,其邏輯結(jié)構(gòu)示意圖如圖4所示。由于虛擬化環(huán)境下可以很方便地劃分虛擬網(wǎng)絡(luò),不同的虛擬網(wǎng)絡(luò)之間是可以實現(xiàn)網(wǎng)絡(luò)隔離的,對于包含了多個虛擬網(wǎng)絡(luò)的虛擬化環(huán)境,則每一個獨立的虛擬網(wǎng)絡(luò)都需要有自己的反病毒虛擬機,該反病毒虛擬機負責(zé)為同一虛擬網(wǎng)絡(luò)內(nèi)的其它普通工作虛擬機提供安全保護。了解了本發(fā)明所提出的反病毒系統(tǒng)的邏輯結(jié)構(gòu)之后,下面再結(jié)合圖8說明一下使用該反病毒系統(tǒng)進行反病毒的方法的具體實現(xiàn)流程
1)首先在反病毒虛擬機和普通工作虛擬機上分別安裝反病毒主體程序(步驟501)和反病毒代理程序(步驟601),普通工作虛擬機上安裝配置好反病毒代理程序后,首次運行時需要進行全盤掃描。2)反病毒虛擬機安裝配置好反病毒主體程序(步驟501)后,會一直監(jiān)聽網(wǎng)絡(luò)中來自普通工作虛擬機中的反病毒代理程序的請求(步驟801)。3)首次運行時,普通工作虛擬機上的反病毒代理程序向反病毒虛擬機發(fā)送一個全盤掃描的請求(步驟602)。4)反病毒虛擬機中的反病毒主體程序接收到3)中反病毒代理程序的請求之后,在這兩臺虛擬機之間建立通信信道,開始對普通工作虛擬機進行全盤掃描(步驟802)。5)初次掃描時,會在普通工作虛擬機上建立本地掃描緩存,將掃描過的無病毒的文件的標識信息保存在本地掃描緩存中,掃描結(jié)束后再將本地掃描緩存合并到全局掃描緩存中。同時,本地掃描緩存在以后的運行過程中,也會更新并定期和反病毒虛擬機上的全局掃描緩存進行同步(步驟603、804)。6)在通常的虛擬機使用過程中,普通工作虛擬機上的反病毒代理程序會一直對虛擬機的文件系統(tǒng)和內(nèi)存進行實時監(jiān)控(步驟604)。當(dāng)檢測到有文件修改操作(步驟605)時, 首先在本地掃描緩存中檢查是否存在匹配項(步驟606),如果存在匹配項,則說明該文件是曾被掃描過的,是無病毒的,繼續(xù)進行監(jiān)控(步驟604);如果在本地掃描緩存中不存在匹配項,則請求查找全局掃描緩存中是否有匹配項(步驟607)。7)反病毒虛擬機接收到6)中反病毒代理程序的請求之后,在兩臺虛擬機之間建立通信信道,建立連接進行緩存查找(步驟803),并在反病毒虛擬機的全局掃描緩存中檢查是否存在匹配項(步驟608),如果存在匹配項,則說明該文件曾在其它虛擬機上被掃描過,是無病毒的(即該文件可能在本地掃描緩存和全局掃描緩存的最近一次同步到下一次同步之間的這段時間內(nèi),在其它虛擬機上被掃描過);如果不存在匹配項,則請求反病毒虛擬機對該文件進行掃描(步驟609)。8)反病毒虛擬機接收到7)中反病毒代理程序的請求之后,在這兩臺虛擬機之間建立通信信道,使用殺毒引擎對該文件進行掃描(步驟802),更新并同步本地掃描緩存和全局掃描緩存(步驟603、804)。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種虛擬化環(huán)境下的反病毒系統(tǒng),其特征在于,包括反病毒主體模塊及全局掃描緩存,該反病毒主體模塊能監(jiān)控識別、掃描和清除病毒以及自動升級并且一直監(jiān)聽來自反病毒代理模塊發(fā)出的請求,并維護全局掃描緩存;反病毒代理模塊及本地掃描緩存,反病毒代理模塊能監(jiān)控虛擬機的文件系統(tǒng)和內(nèi)存以及向反病毒主體模塊發(fā)出病毒掃描請求,并能維護虛擬機上的本地掃描緩存。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,該反病毒主體模塊是設(shè)置于在一臺獨立的、 專門的反病毒虛擬機中。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,各反病毒代理模塊設(shè)置在各需要接受反病毒保護服務(wù)的工作虛擬機中。
4.如權(quán)利要求3所述的系統(tǒng),其特征在于,該系統(tǒng)還包括工作虛擬機創(chuàng)建模板,該創(chuàng)建模板為先把把反病毒代理模塊集成到普通虛擬機中,并執(zhí)行了首次全盤掃描之后,而發(fā)布成的用于采用基于模板的創(chuàng)建方式建工作虛擬機的模板。
5.一種虛擬化環(huán)境下的反病毒方法,其特征在于,其在反病毒虛擬機和工作虛擬機上分別安裝反病毒主體程序和反病毒代理程序;并且由反病毒虛擬機一直監(jiān)聽來自工作虛擬機中的反病毒代理程序的請求,當(dāng)反病毒代理程序向反病毒虛擬機發(fā)送掃描請求時,反病毒虛擬機的反病毒主體程序接收該請求,在這兩臺虛擬機之間建立通信信道,并對工作虛擬機進行掃描。
6.如權(quán)利要求5所述的方法,其特征在于,其掃描策略為掃描時,該反病毒虛擬機先使用發(fā)出請求的工作虛擬機上的反病毒代理程序所維護的本地掃描緩存,再使用該反病毒虛擬機所維護的全局掃描緩存,檢查該被掃描的文件在本地掃描緩存或全局掃描緩存中是否有匹配項,最后才使用反病毒虛擬機的殺毒引擎進行掃描。
7.如權(quán)利要求6所述的方法,其特征在于,本地掃描緩存和全局掃描緩存中記錄著已經(jīng)掃描過的無病毒文件的標識信息,如果在掃描本地掃描緩存或全局掃描緩存時能夠找到匹配項,則表示這個被掃描的文件是無病毒的。
8.如權(quán)利要求6所述的方法,其特征在于,殺毒引擎每次對文件進行掃描之后,將更新全局掃描緩存,同時各工作虛擬機的本地掃描緩存也會定期和反病毒虛擬機的全局掃描緩存進行同步。
9.如權(quán)利要求5所述的方法,其特征在于,其包括以下步驟1)在反病毒虛擬機和工作虛擬機上分別安裝反病毒主體程序和反病毒代理程序;2)反病毒虛擬機一直監(jiān)聽來自工作虛擬機中的反病毒代理程序的請求;3)系統(tǒng)首次運行時,工作虛擬機上的反病毒代理程序向反病毒虛擬機發(fā)送一個全盤掃描的請求;4)反病毒虛擬機上的反病毒主體程序接收到步驟3)中反病毒代理程序的請求之后,在這兩臺虛擬機之間建立通信信道,并對工作虛擬機進行全盤掃描;5)初次掃描時在工作虛擬機上建立本地掃描緩存;6)反病毒代理程序?qū)ぷ魈摂M機的文件系統(tǒng)和內(nèi)存進行實時監(jiān)控;當(dāng)檢測到有文件修改操作時,首先在本地掃描緩存中檢查是否存在匹配項,如果存在匹配項,則繼續(xù)進行監(jiān)控;如果不存在匹配項,則請求查找全局掃描緩存中是否有匹配項;7)反病毒虛擬機接收到步驟6)中反病毒代理程序的請求之后,在這兩臺虛擬機之間建立通信信道進行緩存查找,并在反病毒虛擬機的全局掃描緩存中檢查是否存在匹配項, 如果存在匹配項,則說明該文件曾在其它虛擬機上被掃描過,是無病毒的;如果不存在匹配項,則請求反病毒虛擬機對該文件進行掃描;8)反病毒虛擬機接收到步驟7)中反病毒代理程序的請求之后,在這兩臺虛擬機之間建立通信信道,使用殺毒引擎對該文件進行掃描,更新并同步本地掃描緩存和全局掃描緩存。
10.如權(quán)利要求9所述的方法,其特征在于,在步驟1)中,其還包括一個虛擬機模板制作步驟,其是先安裝好反病毒代理程序到一臺工作虛擬機中,并對其進行全盤掃描,再發(fā)布為模板;并基于這個模板創(chuàng)建其他工作虛擬機。
全文摘要
本發(fā)明提出了一種虛擬化環(huán)境下的反病毒系統(tǒng),以及使用該反病毒系統(tǒng)進行反病毒的方法。本發(fā)明提出的反病毒系統(tǒng)包括反病毒主體程序和反病毒代理程序,反病毒主體程序安裝在反病毒虛擬機上,用來完成監(jiān)控識別、掃描和清除病毒和自動升級等現(xiàn)有常規(guī)的傳統(tǒng)反病毒軟件系統(tǒng)的基本功能;反病毒代理程序安裝在工作虛擬機上,用來對普通虛擬機的文件系統(tǒng)進行監(jiān)控以及和反病毒虛擬機進行通信交互。通過上述這些與虛擬化環(huán)境相契合的特性,可以避免將現(xiàn)有常規(guī)反病毒方法直接運用于虛擬化環(huán)境時可能出現(xiàn)的“掃描風(fēng)暴”(即一段時間內(nèi)資源利用率可能達到極限值),達到在為虛擬機提供安全保護的同時,不至于影響虛擬機的正常使用的目的。
文檔編號G06F21/00GK102467637SQ201110213619
公開日2012年5月23日 申請日期2011年7月28日 優(yōu)先權(quán)日2011年7月28日
發(fā)明者蘭雨晴, 夏穎, 宋瀟豫, 馬立克 申請人:中標軟件有限公司