專利名稱:基于kvm虛擬化平臺的虛擬機(jī)在線殺毒系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其是涉及一種基于KVM虛擬化平臺的虛擬機(jī)在線殺毒系統(tǒng)。
背景技術(shù):
隨著因特網(wǎng)的發(fā)展,越來越多的大型企業(yè)或者實(shí)驗(yàn)室趨向于使用虛擬化架構(gòu)來節(jié)約服務(wù)器成本或提高應(yīng)用靈活性。虛擬化的實(shí)質(zhì)就是利用眾多的虛擬機(jī)來代替原來的物理機(jī)進(jìn)行各項(xiàng)工作。圖1表明了虛擬化的基本結(jié)構(gòu),其中最下面一層X86 Architecture(x86 結(jié)構(gòu))為物理機(jī)的硬件設(shè)備,包括重要處理器(CPU)、內(nèi)存(Memory)、網(wǎng)絡(luò)適配器(NIC)、硬盤(Disk)等設(shè)備,第二層為虛擬化層(Virtualization Layer),負(fù)責(zé)對物理機(jī)上的物理設(shè)備進(jìn)行虛擬化,以便各虛擬機(jī)進(jìn)行使用,各虛擬機(jī)中包括操作系統(tǒng)(Operating System)和應(yīng)用程序(App),同時專門有一臺虛擬機(jī)作為服務(wù)控制臺(Service Console)。傳統(tǒng)計(jì)算機(jī)的使用,每個用戶都有自己的一套硬件設(shè)備,包括顯示器、內(nèi)存、硬盤、CPU、網(wǎng)卡等,而在虛擬化平臺下,每個用戶不再需要擁有整套設(shè)備,只需一個終端顯示設(shè)備即可。虛擬機(jī)運(yùn)行在虛擬機(jī)服務(wù)器上,由服務(wù)器分發(fā)給要使用虛擬機(jī)的用戶。圖2表明用虛擬機(jī)(VM)代替物理機(jī)的工作方式,服務(wù)器上設(shè)置多個虛擬機(jī),企業(yè)內(nèi)部的客戶端A、B、C可以直接連接服務(wù)器使用虛擬機(jī),企業(yè)外部的客戶端D、E也可以通過防火墻后連接到服務(wù)器使用虛擬機(jī)。虛擬化在各種應(yīng)用中,包括有服務(wù)器虛擬化、桌面虛擬化,以及當(dāng)下最流行的云計(jì)算等各種應(yīng)用中擔(dān)當(dāng)著舉足輕重的地位。面對這些應(yīng)用,數(shù)據(jù)中心少則部署幾臺虛擬機(jī),多則幾十上百臺。虛擬機(jī)可以完成物理機(jī)能進(jìn)行的各種工作,在虛擬機(jī)中可以進(jìn)行各種網(wǎng)絡(luò)通信, 所以虛擬機(jī)和物理主機(jī)一樣,面臨著各種各樣的安全威脅,對虛擬機(jī)進(jìn)行安全維護(hù)特別是
病毒查殺有著重要的意義。傳統(tǒng)的虛擬機(jī)殺毒工作方式中,需要用戶在每個虛擬機(jī)里面都安裝殺毒軟件, 在開機(jī)時單獨(dú)對各個虛擬機(jī)進(jìn)行病毒查殺,如圖3所示,在圖3所示的虛擬化基本結(jié)構(gòu)下,需要在每個虛擬機(jī)(VM)安裝安全殺毒軟件(Antivirus),然后由虛擬機(jī)的操作系統(tǒng) (Operating System)調(diào)用殺毒軟件。但是,這種反病毒框架不能有效利用虛擬化的優(yōu)勢, 直接部署到虛擬化平臺下效率較低,不能實(shí)現(xiàn)對虛擬機(jī)的集中管理,會導(dǎo)致人力和計(jì)算資源的浪費(fèi),與此同時,傳統(tǒng)反病毒軟件自身的安全性已經(jīng)受到嚴(yán)重威脅。如在Windows系統(tǒng)中,使用Rootkit等先進(jìn)技術(shù)的病毒能在內(nèi)核空間中,與反病毒軟件“平等”競爭系統(tǒng)控制權(quán)。傳統(tǒng)的方法只能控制病毒進(jìn)入內(nèi)核的已知通道,難以可靠地防止病毒進(jìn)入系統(tǒng)內(nèi)核破壞殺毒軟件。隨著虛擬化和云計(jì)算技術(shù)的廣泛推進(jìn),國內(nèi)外對于虛擬化平臺上安全系統(tǒng)的研究也呈現(xiàn)多元化、專業(yè)化的趨勢。在虛擬機(jī)進(jìn)程管理方面,中國科技大學(xué)的張紀(jì)勝等人實(shí)現(xiàn)了在VMM (Virtual Machine Monitor,虛擬機(jī)監(jiān)視器)下客戶機(jī)(Guest)操作系統(tǒng)進(jìn)程級的管理工具,大大提高了管理性能。在虛擬機(jī)安全檢測方面,Xuxian Jiang等人實(shí)現(xiàn)了基于VMM的Rootkit檢測,復(fù)旦大學(xué)的杜海等人實(shí)現(xiàn)了基于完全虛擬化技術(shù)的可疑進(jìn)程與可疑模塊的檢測。在商業(yè)應(yīng)用方面,趨勢科技新推出了 Deep Security安全系統(tǒng),實(shí)現(xiàn)了 VMWare平臺上“客戶機(jī)不安裝任何輔助軟件”的透視防護(hù)(仍然要安裝特殊驅(qū)動程序),一定程度上代表了服務(wù)器安全領(lǐng)域的發(fā)展方向。
發(fā)明內(nèi)容
針對傳統(tǒng)的虛擬機(jī)殺毒工作方式效率低下的問題以及現(xiàn)有反病毒軟件自身的安全性缺陷,提供一種基于KVM虛擬化平臺的虛擬機(jī)在線殺毒系統(tǒng)。本發(fā)明的技術(shù)方案為一種基于KVM虛擬化平臺的虛擬機(jī)在線殺毒系統(tǒng),所述KVM 虛擬化平臺包括服務(wù)器上的KVM內(nèi)核模塊和多個虛擬機(jī),設(shè)置安全內(nèi)核模塊、安全控制模塊和網(wǎng)絡(luò)模塊,
在KVM內(nèi)核模塊中添加讀取內(nèi)存的函數(shù),并提供安全內(nèi)核模塊注冊鉤子的接口 ; 安全內(nèi)核模塊設(shè)置于服務(wù)器中,用于通過接口在KVM內(nèi)核模塊中注冊鉤子,向安全控制模塊發(fā)出掃描命令,接受安全控制模塊所得掃描查毒結(jié)果,暫??梢蛇M(jìn)程,對可疑進(jìn)程進(jìn)行相應(yīng)處理;所述鉤子通過執(zhí)行鉤子回調(diào)函數(shù)實(shí)現(xiàn)操作,包括獲取當(dāng)前進(jìn)程在虛擬機(jī)內(nèi)存中的地址,根據(jù)所獲地址通過KVM內(nèi)核模塊中讀取內(nèi)存的函數(shù)獲得虛擬機(jī)的進(jìn)程信息,根據(jù)進(jìn)程信息將虛擬機(jī)的進(jìn)程的可執(zhí)行代碼由虛擬機(jī)內(nèi)存映射到安全控制模塊的內(nèi)存;
安全控制模塊設(shè)置于服務(wù)器中,用于接受安全內(nèi)核模塊發(fā)出的掃描命令,調(diào)用殺毒引擎對安全控制模塊的內(nèi)存中所有虛擬機(jī)的進(jìn)程的可執(zhí)行代碼進(jìn)行掃描查毒,并將結(jié)果報告給安全內(nèi)核模塊;
網(wǎng)絡(luò)模塊由服務(wù)器端網(wǎng)絡(luò)模塊和客戶端網(wǎng)絡(luò)模塊構(gòu)成,其中的客戶端網(wǎng)絡(luò)模塊設(shè)置在管理客戶端中,服務(wù)器端網(wǎng)絡(luò)模塊設(shè)置在服務(wù)器中,客戶端網(wǎng)絡(luò)模塊和服務(wù)器端網(wǎng)絡(luò)模塊通過網(wǎng)絡(luò)連接進(jìn)行通信,服務(wù)器端網(wǎng)絡(luò)模塊與安全內(nèi)核模塊建立通信,當(dāng)管理客戶端遠(yuǎn)程登錄服務(wù)器后,管理客戶端發(fā)出的命令經(jīng)客戶端網(wǎng)絡(luò)模塊和服務(wù)器端網(wǎng)絡(luò)模塊發(fā)到安全內(nèi)核模塊,所述命令包括掃描命令。而且,安全內(nèi)核模塊對可疑進(jìn)程執(zhí)行結(jié)束進(jìn)程操作的具體方式為,若可疑進(jìn)程位于用戶私有進(jìn)程空間,則插入結(jié)束代碼;若可疑進(jìn)程處于用戶共享DLL空間,則備份信息, 插入結(jié)束代碼,在進(jìn)程切換時進(jìn)行還原;若可疑進(jìn)程處于內(nèi)核空間,則暫時不作處理。本發(fā)明提供的技術(shù)方案改進(jìn)了 KVM內(nèi)核模塊,設(shè)置了安全內(nèi)核模塊、安全控制模塊和網(wǎng)絡(luò)模塊;在Linux KVM虛擬化平臺以及虛擬機(jī)開機(jī)狀態(tài)下,實(shí)現(xiàn)不在客戶虛擬機(jī)中安裝任何殺毒軟件,而是采用虛擬機(jī)透視技術(shù),讓主機(jī)中的殺毒引擎直接掃描客戶虛擬機(jī)中的內(nèi)存和進(jìn)程,找到并清除目標(biāo)系統(tǒng)內(nèi)的病毒。
圖1為虛擬化的基本結(jié)構(gòu)框架。圖2為用虛擬機(jī)代替物理機(jī)的工作方式。圖3為用戶在傳統(tǒng)模式下進(jìn)行虛擬機(jī)的殺毒維護(hù)。圖4為本發(fā)明實(shí)施例的系統(tǒng)架構(gòu)圖。圖5為本發(fā)明實(shí)施例中經(jīng)過修改的KVM內(nèi)核在處理VM Exit時的工作流程圖。
具體實(shí)施例方式
本發(fā)明的基于KVM虛擬化平臺是包括在一臺具備支持虛擬化CPU的裸機(jī)上安裝了 Linux的服務(wù)器,或由多臺這樣的服務(wù)器所組成的Linux服務(wù)器集群。在每個服務(wù)器上安裝KVM (Kernel-based Virtual Machine,基于內(nèi)核的虛擬機(jī)),加載KVM內(nèi)核模塊,并且在服務(wù)器上安裝了數(shù)臺虛擬機(jī)。KVM是Linux操作系統(tǒng)上的一個全虛擬化解決方案,使用KVM 可以運(yùn)行多臺虛擬機(jī),在這些虛擬機(jī)上可以運(yùn)行不加修改的Linux或Windows鏡像。Linux 2. 6. 20版本及以上版本的內(nèi)核中都自帶了 KVM。殺毒引擎位于主機(jī)的安全控制模塊中,虛擬機(jī)中沒有安裝任何輔助殺毒模塊,在基于KVM虛擬化平臺的多臺虛擬機(jī)開機(jī)的前提下,通過對虛擬機(jī)系統(tǒng)資源的單向透視功能,實(shí)現(xiàn)對這些虛擬機(jī)中的文件進(jìn)行掃描殺毒?;贙VM虛擬化平臺中的虛擬機(jī)處于開機(jī)狀態(tài),即虛擬機(jī)占用服務(wù)器上物理的CPU,網(wǎng)卡,內(nèi)存資源,并且在物理硬盤上保存著該虛擬機(jī)的配置和磁盤數(shù)據(jù)。虛擬機(jī)中不安裝殺毒軟件,同時不安裝任何特殊驅(qū)動程序。因?yàn)樵谥鳈C(jī)上安裝殺毒模塊,虛擬機(jī)中不安裝任何殺毒模塊,虛擬機(jī)中的惡意軟件無法檢測主機(jī)中的殺毒模塊,更無法干擾殺毒操作,同時因?yàn)椴恍枰诳蛻舳税惭b任何殺毒軟件,從而消除了部署多個軟件客戶端所產(chǎn)生的成本。具體實(shí)施時,本領(lǐng)域技術(shù)人員可采用計(jì)算機(jī)軟件技術(shù)實(shí)現(xiàn)本發(fā)明技術(shù)方案。以下結(jié)合附圖和實(shí)施例詳細(xì)說明本發(fā)明技術(shù)方案。參見圖4,其中,qemu進(jìn)程中運(yùn)行著虛擬機(jī)的實(shí)例,用戶可以在PC上使用虛擬機(jī)遠(yuǎn)程控制臺來登錄訪問虛擬機(jī);RingO是Intel系列CPU中特權(quán)級別的一種,只有操作系統(tǒng)能運(yùn)行在RingO特權(quán)級別;Ring3是Intel系列CPU中特權(quán)級別的一種,操作系統(tǒng)和應(yīng)用程序能運(yùn)行在Ring3特權(quán)級別。本發(fā)明實(shí)施例提供的虛擬機(jī)批量在線殺毒系統(tǒng),包括服務(wù)器上的KVM內(nèi)核模塊和多個虛擬機(jī),并設(shè)置安全內(nèi)核模塊、安全控制模塊和網(wǎng)絡(luò)模塊。本發(fā)明提出在現(xiàn)有技術(shù)的KVM內(nèi)核模塊中進(jìn)行改進(jìn),包括添加讀取內(nèi)存的函數(shù), 并提供安全內(nèi)核模塊注冊鉤子的接口。實(shí)施例在KVM內(nèi)核模塊中添加一個導(dǎo)出函數(shù)Kvm_ register_vm_av_modu 1 e禾口一個回調(diào)函數(shù)av_handle_vm_exit,用于向KVM注冊一個安全內(nèi)核模塊,在導(dǎo)出函數(shù)中定義了一個回調(diào)函數(shù)指針vm_op和回調(diào)函數(shù)感興趣事件vm_event。 其中,回調(diào)函數(shù)原型為int av_handle_vm_exit (struct kvm_vcpu氺vcpu);回調(diào)參數(shù)為一個kvm_vcpu結(jié)構(gòu)體指針vcpu,代表發(fā)生VM Exit事件的虛擬CPU。如果檢測到已經(jīng)注冊了安全內(nèi)核模塊,同時對當(dāng)前發(fā)生的事件感興趣。則調(diào)用注冊的回調(diào)函數(shù)?;卣{(diào)函數(shù)處理完成之后,KVM繼續(xù)進(jìn)行處理。經(jīng)過以上修改的KVM在處理VM Exit的時候的工作流程如圖5 所示
通過導(dǎo)出函數(shù)Kvm_register_vm_av_m0dule注冊回調(diào)函數(shù),當(dāng)虛擬機(jī)運(yùn)行過程中發(fā)生了 VM Exit事件時,CPU從非根模式切換到根模式,從虛擬機(jī)切換到KVM運(yùn)行,KVM捕獲該事件,依次執(zhí)行回調(diào)函數(shù)1、回調(diào)函數(shù)2、回調(diào)函數(shù)3…然后執(zhí)行kvm標(biāo)準(zhǔn)處理程序,最后返回VM繼續(xù)執(zhí)行。根操作模式,是指虛擬機(jī)監(jiān)視器運(yùn)行時cpu所處的模式,簡稱根模式。非根操作模式,是指虛擬機(jī)運(yùn)行時CPU所處的模式,簡稱非根模式。VM Exit是指CPU從非根模式切換到根模式,從運(yùn)行虛擬機(jī)切換到運(yùn)行虛擬機(jī)監(jiān)視器的操作。為便于理解技術(shù)方案起見,提供回調(diào)函數(shù)示例回調(diào)函數(shù)中,判斷是否發(fā)生感興趣事件,是則處理該事件,否則執(zhí)行下一個回調(diào)函數(shù)。
實(shí)施例還導(dǎo)出了 KVM內(nèi)核模塊中的兩個原有的函數(shù)int kvm_read_guest_virt_ system (用于讀取虛擬機(jī)內(nèi)存)和int kvm_write_guest_virt_system (用于寫虛擬機(jī)內(nèi)存),用于在安全內(nèi)核模塊中,讀取客戶機(jī)的虛擬內(nèi)存。安全內(nèi)核模塊設(shè)置于服務(wù)器中,用于通過接口在KVM內(nèi)核模塊中注冊鉤子,向安全控制模塊發(fā)出掃描命令,接受安全控制模塊所得掃描查毒結(jié)果,暫??梢蛇M(jìn)程,對可疑進(jìn)程進(jìn)行相應(yīng)處理;所述鉤子通過執(zhí)行鉤子回調(diào)函數(shù)實(shí)現(xiàn)操作,包括獲取當(dāng)前進(jìn)程在虛擬機(jī)內(nèi)存中的地址,根據(jù)所獲地址通過KVM內(nèi)核模塊中讀取內(nèi)存的函數(shù)獲得虛擬機(jī)的進(jìn)程信息,根據(jù)進(jìn)程信息將虛擬機(jī)的進(jìn)程的可執(zhí)行代碼由虛擬機(jī)內(nèi)存映射到安全控制模塊的內(nèi)存。實(shí)施例將獲得的虛擬機(jī)的進(jìn)程信息保存在為每一個虛擬機(jī)維護(hù)的結(jié)構(gòu)體中。同時,使用一個結(jié)構(gòu)體保存客戶機(jī)中所有的活躍進(jìn)程。安全控制模塊設(shè)置于服務(wù)器中,用于接受安全內(nèi)核模塊發(fā)出的掃描命令,調(diào)用殺毒引擎對安全控制模塊的內(nèi)存中所有虛擬機(jī)的進(jìn)程的可執(zhí)行代碼進(jìn)行掃描查毒,并將結(jié)果報告給安全內(nèi)核模塊。實(shí)施例采用現(xiàn)有的clamav殺毒引擎。具體實(shí)施時,也可以采用其他現(xiàn)有殺毒引擎。網(wǎng)絡(luò)模塊由服務(wù)器端網(wǎng)絡(luò)模塊和客戶端網(wǎng)絡(luò)模塊構(gòu)成,其中的客戶端網(wǎng)絡(luò)模塊設(shè)置在管理客戶端中,服務(wù)器端網(wǎng)絡(luò)模塊設(shè)置在服務(wù)器中,客戶端網(wǎng)絡(luò)模塊和服務(wù)器端網(wǎng)絡(luò)模塊通過網(wǎng)絡(luò)連接進(jìn)行通信,服務(wù)器端網(wǎng)絡(luò)模塊與安全內(nèi)核模塊建立通信,當(dāng)管理客戶端遠(yuǎn)程登錄服務(wù)器后,管理客戶端發(fā)出的命令經(jīng)客戶端網(wǎng)絡(luò)模塊和服務(wù)器端網(wǎng)絡(luò)模塊發(fā)到安全內(nèi)核模塊,所述命令包括掃描命令。服務(wù)器端網(wǎng)絡(luò)模塊和客戶端網(wǎng)絡(luò)模塊構(gòu)成C/S架構(gòu) (客戶機(jī)和服務(wù)器結(jié)構(gòu)),實(shí)施例中服務(wù)器端網(wǎng)絡(luò)模塊與安全內(nèi)核模塊進(jìn)行使用netlink套接字進(jìn)行通信。Netlink套接字是Linux操作系統(tǒng)中用以實(shí)現(xiàn)用戶進(jìn)程與內(nèi)核進(jìn)程通信的一種特殊的進(jìn)程間通信,也是網(wǎng)絡(luò)應(yīng)用程序與內(nèi)核通信的最常用的接口。具體實(shí)施時,管理客戶端可以采用普通終端實(shí)現(xiàn),例如個人計(jì)算機(jī)。用戶可以通過管理客戶端遠(yuǎn)程登錄Linux服務(wù)器或者Linux服務(wù)器集群,利用虛擬化環(huán)境下提供的應(yīng)用編程接口中遠(yuǎn)程登錄函數(shù)實(shí)現(xiàn)與服務(wù)器指定端口的連接,完成用戶名和口令的驗(yàn)證,取得對虛擬機(jī)服務(wù)器的操作權(quán)。用戶通過管理客戶端發(fā)送的掃描命令經(jīng)客戶端網(wǎng)絡(luò)模塊和服務(wù)器端網(wǎng)絡(luò)模塊發(fā)到安全內(nèi)核模塊,安全內(nèi)核模塊再發(fā)送掃描命令給安全控制模塊,從而啟動殺毒引擎。由于網(wǎng)絡(luò)模塊支持用戶交互,本發(fā)明提出利用網(wǎng)絡(luò)模塊將向用戶提供殺毒結(jié)果,并且根據(jù)用戶操作處理可疑進(jìn)程。考慮到用戶不一定會實(shí)時監(jiān)控起見,實(shí)施例提出,安全內(nèi)核模塊暫??梢蛇M(jìn)程后, 將安全控制模塊所得掃描查毒結(jié)果通過服務(wù)器端網(wǎng)絡(luò)模塊和客戶端網(wǎng)絡(luò)模塊發(fā)往管理客戶端,計(jì)時等待用戶通過管理客戶端發(fā)出的命令,對于用戶終止命令,執(zhí)行結(jié)束進(jìn)程操作; 對于響應(yīng)超時,執(zhí)行結(jié)束進(jìn)程操作;對于用戶信任命令,執(zhí)行放行操作。本發(fā)明進(jìn)一步提供可具體結(jié)束進(jìn)程操作的設(shè)計(jì)
若可疑進(jìn)程位于用戶私有進(jìn)程空間,則插入結(jié)束代碼。用戶進(jìn)程使用自己的地址空間, 其中只能由進(jìn)程自己訪問的地址空間就是用戶進(jìn)程的私有空間,如可疑進(jìn)程位于這樣的地址空間,則直接插入結(jié)束代碼將進(jìn)程結(jié)束。若可疑進(jìn)程處于用戶共享DLL空間,則備份信息,插入結(jié)束代碼,在進(jìn)程切換時進(jìn)行還原。DLL (Dynamic Link Library,動態(tài)鏈接庫)是一個包含可由多個程序同時使用的代碼和數(shù)據(jù)的庫。一些DLL是可以由多個用戶進(jìn)程共同使用的,這種DLL的物理內(nèi)存空間會映射到不同的用戶地址空間,這個內(nèi)存空間就是用戶共享DLL空間。若可疑進(jìn)程處于內(nèi)核空間,則暫時不作處理。內(nèi)核空間是操作系統(tǒng)代碼運(yùn)行的地址空間,這個地址空間只有系統(tǒng)才能訪問,普通的用戶進(jìn)程是不能訪問的。對于出現(xiàn)在這樣地址空間中的可疑進(jìn)程,暫時不進(jìn)行查殺。本文中所描述的具體實(shí)施例僅僅是對本發(fā)明精神作舉例說明。本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員可以對所描述的具體實(shí)施例做各種各樣的修改或補(bǔ)充或采用類似的方式替代,但并不會偏離本發(fā)明的精神或者超越所附權(quán)利要求書所定義的范圍。
權(quán)利要求
1.一種基于KVM虛擬化平臺的虛擬機(jī)在線殺毒系統(tǒng),所述KVM虛擬化平臺包括服務(wù)器上的KVM內(nèi)核模塊和多個虛擬機(jī),其特征在于設(shè)置安全內(nèi)核模塊、安全控制模塊和網(wǎng)絡(luò)模塊,在KVM內(nèi)核模塊中添加讀取內(nèi)存的函數(shù),并提供安全內(nèi)核模塊注冊鉤子的接口 ;安全內(nèi)核模塊設(shè)置于服務(wù)器中,用于通過接口在KVM內(nèi)核模塊中注冊鉤子,向安全控制模塊發(fā)出掃描命令,接受安全控制模塊所得掃描查毒結(jié)果,暫??梢蛇M(jìn)程,對可疑進(jìn)程進(jìn)行相應(yīng)處理;所述鉤子通過執(zhí)行鉤子回調(diào)函數(shù)實(shí)現(xiàn)操作,包括獲取當(dāng)前進(jìn)程在虛擬機(jī)內(nèi)存中的地址,根據(jù)所獲地址通過KVM內(nèi)核模塊中讀取內(nèi)存的函數(shù)獲得虛擬機(jī)的進(jìn)程信息,根據(jù)進(jìn)程信息將虛擬機(jī)的進(jìn)程的可執(zhí)行代碼由虛擬機(jī)內(nèi)存映射到安全控制模塊的內(nèi)存;安全控制模塊設(shè)置于服務(wù)器中,用于接受安全內(nèi)核模塊發(fā)出的掃描命令,調(diào)用殺毒引擎對安全控制模塊的內(nèi)存中所有虛擬機(jī)的進(jìn)程的可執(zhí)行代碼進(jìn)行掃描查毒,并將結(jié)果報告給安全內(nèi)核模塊;網(wǎng)絡(luò)模塊由服務(wù)器端網(wǎng)絡(luò)模塊和客戶端網(wǎng)絡(luò)模塊構(gòu)成,其中的客戶端網(wǎng)絡(luò)模塊設(shè)置在管理客戶端中,服務(wù)器端網(wǎng)絡(luò)模塊設(shè)置在服務(wù)器中,客戶端網(wǎng)絡(luò)模塊和服務(wù)器端網(wǎng)絡(luò)模塊通過網(wǎng)絡(luò)連接進(jìn)行通信,服務(wù)器端網(wǎng)絡(luò)模塊與安全內(nèi)核模塊建立通信,當(dāng)管理客戶端遠(yuǎn)程登錄服務(wù)器后,管理客戶端發(fā)出的命令經(jīng)客戶端網(wǎng)絡(luò)模塊和服務(wù)器端網(wǎng)絡(luò)模塊發(fā)到安全內(nèi)核模塊,所述命令包括掃描命令。
2.根據(jù)權(quán)利要求1所述基于KVM虛擬化平臺的虛擬機(jī)在線殺毒系統(tǒng),其特征在于安全內(nèi)核模塊暫??梢蛇M(jìn)程后,將安全控制模塊所得掃描查毒結(jié)果通過服務(wù)器端網(wǎng)絡(luò)模塊和客戶端網(wǎng)絡(luò)模塊發(fā)往管理客戶端,計(jì)時等待用戶通過管理客戶端發(fā)出的命令,對于用戶終止命令,執(zhí)行結(jié)束進(jìn)程操作;對于響應(yīng)超時,執(zhí)行結(jié)束進(jìn)程操作;對于用戶信任命令,執(zhí)行放行操作。
3.根據(jù)權(quán)利要求2所述基于KVM虛擬化平臺的虛擬機(jī)在線殺毒系統(tǒng),其特征在于安全內(nèi)核模塊對可疑進(jìn)程執(zhí)行結(jié)束進(jìn)程操作的具體方式為,若可疑進(jìn)程位于用戶私有進(jìn)程空間,則插入結(jié)束代碼;若可疑進(jìn)程處于用戶共享DLL空間,則備份信息,插入結(jié)束代碼,在進(jìn)程切換時進(jìn)行還原;若可疑進(jìn)程處于內(nèi)核空間,則暫時不作處理。
全文摘要
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,提出一種基于KVM虛擬化平臺的虛擬機(jī)在線殺毒系統(tǒng)。設(shè)置安全內(nèi)核模塊、安全控制模塊和網(wǎng)絡(luò)模塊,在KVM內(nèi)核模塊中添加讀取內(nèi)存的函數(shù),并提供安全內(nèi)核模塊注冊鉤子的接口;安全內(nèi)核模塊用于在KVM內(nèi)核模塊中注冊鉤子,向安全控制模塊發(fā)出掃描命令,接受安全控制模塊所得掃描查毒結(jié)果,暫??梢蛇M(jìn)程,對可疑進(jìn)程進(jìn)行相應(yīng)處理;安全控制模塊調(diào)用殺毒引擎對安全控制模塊的內(nèi)存中所有虛擬機(jī)的進(jìn)程進(jìn)行掃描查毒,并將結(jié)果報告給安全內(nèi)核模塊;網(wǎng)絡(luò)模塊由服務(wù)器端網(wǎng)絡(luò)模塊和客戶端網(wǎng)絡(luò)模塊構(gòu)成。
文檔編號H04L29/06GK102523215SQ20111042034
公開日2012年6月27日 申請日期2011年12月15日 優(yōu)先權(quán)日2011年12月15日
發(fā)明者崔競松, 李偉, 李華, 林翃翔, 郭遲, 陳式敏, 陳立娜 申請人:北京海云捷迅科技有限公司, 武漢大學(xué)