王海新 羅圣美 佟 偉
中興通訊股份有限公司 南京 210012
隨著云計(jì)算的大力發(fā)展,基于虛擬化防病毒技術(shù)的安全性和高效性越來(lái)越重要。
虛擬化技術(shù)顧名思義就是將系統(tǒng)的底層硬件資源進(jìn)行統(tǒng)一管理和抽象,能夠根據(jù)需求動(dòng)態(tài)地調(diào)配資源,以提升資源的利用率[1],因此虛擬化技術(shù)在性能上會(huì)帶來(lái)很大的提升和改善,但同時(shí)也產(chǎn)生了較多的安全問(wèn)題,例如資源占用率過(guò)高,易引起殺毒風(fēng)暴等。因此如何保障云計(jì)算場(chǎng)景下的業(yè)務(wù)安全已經(jīng)成為關(guān)注的焦點(diǎn)[2]。
傳統(tǒng)上病毒防治始終是信息安全的重要課題[3],病毒會(huì)非法修改其程序或有關(guān)信息,將拷貝放入或鏈入其他程序,達(dá)到感染其他程序的目的[4]?;谠朴?jì)算的防病毒就是保護(hù)虛擬機(jī)在虛擬化場(chǎng)景下不受病毒入侵,從而防備用戶數(shù)據(jù)泄露、程序毀壞等情況。目前虛擬機(jī)病毒傳播主要有三種方式。
1)感染:病毒通過(guò)特定的途徑進(jìn)行傳播。
2)觸發(fā):在特定的時(shí)間段進(jìn)行病毒操作的觸發(fā)。
3)載荷:除了自我復(fù)制以外的一切操作,例如增大資源的占用造成操作系統(tǒng)卡頓甚至藍(lán)屏[5]。
常用的防病毒軟件由病毒庫(kù)(特征信息庫(kù))、殺毒引擎兩個(gè)主要部件組成。
其中病毒庫(kù)主要存放的是防病毒軟件防護(hù)者經(jīng)過(guò)對(duì)病毒詳細(xì)剖析后所得到的該病毒最具有代表性的特征串信息。而殺毒引擎主要由掃描器和消毒器兩部分組成,其中掃描器是相關(guān)開(kāi)發(fā)者事先編制好的一段程序,是以特征行為檢測(cè)為核心,通過(guò)從病毒中提取的特定特征來(lái)檢測(cè)出有相似行為的病毒程序[6]。
消毒器的消毒過(guò)程是按事先約定好的流程及措施將相關(guān)信息恢復(fù)到原有狀態(tài)。
在傳統(tǒng)的PC時(shí)代,病毒庫(kù)和殺毒引擎均是部署在物理機(jī)上,不存在殺毒風(fēng)暴等問(wèn)題。但在云化環(huán)境下,依托傳統(tǒng)的模式,病毒庫(kù)和殺毒引擎分布在每臺(tái)虛擬機(jī)上,在進(jìn)行查殺操作時(shí)必將會(huì)占用大量寶貴的硬件資源,高峰時(shí)期甚至?xí)加?0%以上。
本文主要從降低資源使用率,降低掃描時(shí)間的角度,在架構(gòu)上對(duì)傳統(tǒng)防病毒軟件、輕代理防病毒軟件和無(wú)代理防病毒軟件的安全架構(gòu)進(jìn)行對(duì)比分析,且進(jìn)行了嚴(yán)格的實(shí)驗(yàn)測(cè)試并得出結(jié)論。
在云化環(huán)境下,基于傳統(tǒng)的防病毒軟件(核心組件為殺毒引擎和病毒庫(kù))主要運(yùn)行在虛擬機(jī)里面(如圖1所示)。
圖1 傳統(tǒng)防病毒軟件架構(gòu)
該架構(gòu)主要有如下問(wèn)題。
1)每臺(tái)虛擬機(jī)的防病毒軟件在初次啟動(dòng)或者掃描時(shí)要占用主機(jī)大量的CPU、內(nèi)存和磁盤(pán)IO等資源,尤其在殺毒高峰時(shí)段對(duì)資源的并發(fā)占用,會(huì)造成資源的瞬時(shí)瓶頸,進(jìn)而極大地影響虛擬機(jī)業(yè)務(wù)的正常運(yùn)行。
2)每臺(tái)虛擬機(jī)在進(jìn)行病毒庫(kù)升級(jí)時(shí),缺乏統(tǒng)一的策略管理且網(wǎng)絡(luò)流量進(jìn)出口單一,因此在并發(fā)升級(jí)時(shí)會(huì)搶占大量的網(wǎng)絡(luò)帶寬資源,造成網(wǎng)絡(luò)擁堵,嚴(yán)重時(shí)甚至?xí)?dǎo)致網(wǎng)絡(luò)中斷。
3)每臺(tái)虛擬機(jī)防病毒軟件安全策略各自為政,缺乏有效的統(tǒng)一管理。且在對(duì)虛擬機(jī)防病毒軟件的升級(jí)維護(hù)方面,由于缺乏統(tǒng)一管理,因此需要投入大量的人力,維護(hù)成本高,另外虛擬機(jī)的安全策略復(fù)雜,存在嚴(yán)重的安全隱患。
因此,為了解決云計(jì)算環(huán)境殺毒場(chǎng)景下資源占用較高的問(wèn)題,需要對(duì)傳統(tǒng)的架構(gòu)做一定的改造和優(yōu)化,目前主要有兩種途徑,分別是針對(duì)病毒庫(kù)的優(yōu)化和針對(duì)殺毒引擎的優(yōu)化。其中針對(duì)病毒庫(kù)的優(yōu)化,主要將病毒庫(kù)獨(dú)立出來(lái),而殺毒引擎仍然保留在各個(gè)虛擬機(jī)內(nèi),這樣的架構(gòu)通常被定義為輕代理防病毒安全架構(gòu)。另外,將病毒庫(kù)和殺毒引擎分別獨(dú)立配置,主機(jī)和虛擬機(jī)之間只保留輕量級(jí)的通道,此種架構(gòu)通常被定義為無(wú)代理防病毒安全架構(gòu)。
基于輕代理的防病毒安全架構(gòu),與傳統(tǒng)防病毒架構(gòu)相比,將病毒庫(kù)獨(dú)立出來(lái),用單獨(dú)的虛擬機(jī)承載,原虛擬機(jī)里只保留殺毒引擎,另外增加管理中心,可以對(duì)所有虛擬機(jī)查殺策略進(jìn)行統(tǒng)一配置和統(tǒng)一管理,且管理中心可以對(duì)接公有云,可以進(jìn)行病毒庫(kù)的實(shí)時(shí)或定時(shí)更新,如圖2所示。
圖2 輕代理防病毒軟件架構(gòu)
基于輕代理的架構(gòu)主要有如下特點(diǎn)。
(1)虛擬機(jī)提供輕量級(jí)的殺毒引擎,與傳統(tǒng)防病毒架構(gòu)相比,病毒庫(kù)部署方式由分布式改造成單一式,部署數(shù)量的降低在一定程度上減少了病毒庫(kù)對(duì)物理資源的占用。
(2)通過(guò)管理中心連接公有云,根據(jù)需要實(shí)時(shí)或定時(shí)更新病毒庫(kù),同時(shí)也可以上傳病毒庫(kù)特征文件和黑白名單。與傳統(tǒng)防病毒架構(gòu)相比,輕代理防護(hù)架構(gòu)的病毒庫(kù)僅部署一份,在通過(guò)網(wǎng)絡(luò)進(jìn)行病毒庫(kù)更新時(shí)會(huì)大大降低對(duì)帶寬資源的占用。
3)管理中心獨(dú)立部署在物理機(jī)或虛擬機(jī)之上,可以從全局層面對(duì)虛擬機(jī)的殺毒策略進(jìn)行統(tǒng)一管控,例如分時(shí)段對(duì)虛擬機(jī)進(jìn)行掃描,避免殺毒風(fēng)暴,降低資源的競(jìng)爭(zhēng)性使用。
總的來(lái)看,基于輕代理的防病毒架構(gòu)在一定程度上繼承了傳統(tǒng)防病毒架構(gòu)的特點(diǎn),但將病毒庫(kù)獨(dú)立部署并增加了管理中心。雖然病毒庫(kù)的獨(dú)立部署在一定程度上減少了對(duì)資源的占用,但是由于殺毒引擎工作時(shí)仍然會(huì)分布式地部署在各個(gè)虛擬機(jī)里面,在進(jìn)行查殺操作時(shí)仍然會(huì)占用巨大的資源。因此,在高并發(fā)強(qiáng)資源競(jìng)爭(zhēng)情況下,還是難以滿足高性能要求。
新一代的基于無(wú)代理方式的防病毒安全架構(gòu),將病毒庫(kù)、日志中心、升級(jí)中心和策略系統(tǒng)獨(dú)立出來(lái),用獨(dú)立的虛擬機(jī)或物理機(jī)承載,如圖3所示。
圖3 無(wú)代理防病毒軟件架構(gòu)
基于無(wú)代理的防病毒架構(gòu)主要有如下特點(diǎn)。
1)將病毒庫(kù)和殺毒引擎獨(dú)立部署[7],其中殺毒引擎作為獨(dú)立組件運(yùn)行在服務(wù)器的特權(quán)虛擬機(jī)中[8],而虛擬機(jī)只保留輕量級(jí)的組件,殺毒引擎和虛擬機(jī)組件通過(guò)專(zhuān)用管道通訊。
2)管理中心面向終端用戶,分別由升級(jí)中心、日志中心、策略系統(tǒng)和病毒庫(kù)構(gòu)成。其中升級(jí)中心可以提供升級(jí)服務(wù),例如提供與公有云對(duì)接,實(shí)時(shí)或定時(shí)升級(jí)病毒庫(kù)等。日志中心為日志收集系統(tǒng),可以收集被病毒感染的日志文件,并且記錄針對(duì)性的安全措施。策略系統(tǒng)是針對(duì)安全策略的集中式管理系統(tǒng),主要包括生成、管理和下發(fā)虛擬機(jī)的安全策略,跟蹤虛擬機(jī)的安全威脅和防御措施。
3)查殺協(xié)作是指主機(jī)和虛擬機(jī)之間通過(guò)專(zhuān)用的通道通訊,在進(jìn)行安全掃描時(shí),殺毒引擎可以根據(jù)安全策略,利用專(zhuān)用通道直接掃描虛擬機(jī)里面的文件,通過(guò)病毒庫(kù)進(jìn)行特征串比對(duì),實(shí)施對(duì)虛擬機(jī)的安全防護(hù)和病毒查殺。
基于無(wú)代理防病毒架構(gòu),將病毒庫(kù)和殺毒引擎均獨(dú)立部署,同時(shí)設(shè)置專(zhuān)用的查殺通道,并輔之以策略系統(tǒng)和升級(jí)中心等管理系統(tǒng),各個(gè)模塊各司其職,統(tǒng)一管理,在滿足對(duì)虛擬機(jī)安全防護(hù)的同時(shí),還可以進(jìn)一步降低對(duì)資源的占用,提高資源的使用效率。下面將結(jié)合具體的實(shí)驗(yàn)進(jìn)行驗(yàn)證和研究。
實(shí)驗(yàn)過(guò)程中使用EICAR組織和全球反病毒公司共同制定的一組標(biāo)準(zhǔn)防病毒測(cè)試文件,病毒文件大小為1.1G左右。
虛擬化環(huán)境采用中興云平臺(tái)IROS V5.O。實(shí)驗(yàn)環(huán)境與服務(wù)器配置如表1所示。
表1 實(shí)驗(yàn)環(huán)境與配置
測(cè)試用例設(shè)計(jì):在同一臺(tái)主機(jī)上同時(shí)并發(fā)創(chuàng)建8臺(tái)虛擬機(jī)并發(fā)殺毒,分別采用三種殺毒方式進(jìn)行對(duì)比。
1)耗時(shí)對(duì)比。
如圖4所示,掃描所需時(shí)間,傳統(tǒng)殺毒需要69分鐘,輕代理殺毒需要58分鐘,而無(wú)代理殺毒只需要47分鐘,在殺毒效率上,無(wú)代理殺毒優(yōu)于以上傳統(tǒng)和輕代理方式。
圖4 掃描時(shí)間對(duì)比
2)主機(jī)側(cè)CPU使用率對(duì)比。
如圖5所示,掃描所需主機(jī)計(jì)算資源,傳統(tǒng)殺毒對(duì)CPU使用率的峰值和均值分別是50%和23%,輕代理殺毒對(duì)CPU使用率的峰值和均值分別是23%和11%,無(wú)代理殺毒對(duì)CPU使用率的均值和峰值分別是18%和8%。從實(shí)驗(yàn)效果來(lái)看,無(wú)代理殺毒方式對(duì)CPU的資源占用更少。
圖5 主機(jī)CPU使用率對(duì)比
3)主機(jī)側(cè)內(nèi)存使用率對(duì)比。
如圖6所示,掃描所需主機(jī)內(nèi)存資源,傳統(tǒng)殺毒對(duì)內(nèi)存使用的峰值和均值分別是902兆和790兆,輕代理殺毒對(duì)內(nèi)存使用的峰值和均值分別是892兆和702兆,無(wú)代理殺毒對(duì)內(nèi)存使用的峰值和均值分別是544兆和480兆。從實(shí)驗(yàn)效果來(lái)看,無(wú)代理殺毒方式對(duì)主機(jī)內(nèi)存的資源占用更少。
圖6 主機(jī)內(nèi)存使用對(duì)比
4)虛機(jī)CPU內(nèi)存使用對(duì)比。
如圖7所示,掃描所需虛擬機(jī)內(nèi)存資源,傳統(tǒng)殺毒對(duì)CPU和內(nèi)存使用的均值分別是8%和20兆,輕代理殺毒對(duì)CPU和內(nèi)存使用的均值分別是5%和15兆,無(wú)代理殺毒對(duì)CPU和內(nèi)存使用的均值分別是2%和10兆。從實(shí)驗(yàn)效果來(lái)看,無(wú)代理殺毒方式對(duì)虛擬機(jī)CPU和虛擬機(jī)內(nèi)存的資源占用更少。
圖7 虛擬機(jī)資源使用對(duì)比
從上面三種殺毒方式在同等實(shí)驗(yàn)環(huán)境下的結(jié)果對(duì)比可知,無(wú)代理殺毒由于在架構(gòu)上的優(yōu)勢(shì),病毒掃描時(shí)間、主機(jī)側(cè)和虛機(jī)側(cè)對(duì)資源的占用都明顯比傳統(tǒng)殺毒和輕代理殺毒的要少,明顯優(yōu)化了資源使用效率。
綜上所述,隨著云計(jì)算的大力發(fā)展,基于傳統(tǒng)和輕代理的方式存在占用資源過(guò)高、容易產(chǎn)生殺毒風(fēng)暴和流量風(fēng)暴等問(wèn)題。而基于無(wú)代理的殺毒方式,將病毒庫(kù)、日志中心和殺毒引擎等獨(dú)立出來(lái),有效地解決了以上問(wèn)題。且無(wú)代理防病毒軟件具有廣泛的操作系統(tǒng)及服務(wù)支持,支持大規(guī)模的虛擬化環(huán)境部署,可以提供多層面的安全防護(hù),并能夠連接公有云實(shí)時(shí)或定時(shí)更新病毒庫(kù)。另外通過(guò)統(tǒng)一的管理中心,消除了軟件客戶端所產(chǎn)生的成本,降低管理復(fù)雜度,并可以通過(guò)安全事件自動(dòng)管理機(jī)制,使管理更加簡(jiǎn)化,通過(guò)策略的統(tǒng)一管控,可以錯(cuò)峰殺毒,避免殺毒風(fēng)暴,同時(shí),無(wú)代理防病架構(gòu)還有效提升了虛擬機(jī)密度,進(jìn)而提高投資回報(bào)。因此,基于無(wú)代理防病毒安全架構(gòu)在云計(jì)算模式將有更好的發(fā)展前景。