基于虛擬化的主機(jī)行為主被動(dòng)結(jié)合檢測(cè)系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及虛擬化安全監(jiān)控領(lǐng)域,具體涉及基于虛擬化的主機(jī)行為主被動(dòng)結(jié)合檢測(cè)系統(tǒng)和方法。
【背景技術(shù)】
[0002]隨著科技技術(shù)及工藝技術(shù)的不斷發(fā)展,計(jì)算機(jī)處理能力快速增長(zhǎng),特別是多核處理器的出現(xiàn),這導(dǎo)致服務(wù)器的利用率下降。虛擬化技術(shù)的出現(xiàn),在一定程度上提高了服務(wù)器的利用率。虛擬化技術(shù)將服務(wù)器硬件資源充分整合利用,在硬件資源之上由運(yùn)行單一操作系統(tǒng)環(huán)境變?yōu)槟軌蛲瑫r(shí)運(yùn)行多個(gè)操作系統(tǒng)環(huán)境,且不同操作系統(tǒng)環(huán)境之間相對(duì)封閉、互不影響。在虛擬化技術(shù)中,虛擬機(jī)管理器(Virtual Machine Monitor,簡(jiǎn)稱(chēng)VMM)起著至關(guān)重要的作用,它管理服務(wù)器硬件資源,并對(duì)硬件資源進(jìn)行抽象、分割,供硬件環(huán)境之上的虛擬操作系統(tǒng)環(huán)境(Virtual Machine,簡(jiǎn)稱(chēng)VM)使用。與傳統(tǒng)架構(gòu)相比,虛擬化技術(shù)所產(chǎn)生的虛擬化架構(gòu)為安全監(jiān)控提出了新的思路與挑戰(zhàn)。在虛擬化架構(gòu)中,操作系統(tǒng)不再直接運(yùn)行于硬件環(huán)境之上,不再管理控制硬件環(huán)境,而是由虛擬機(jī)管理器取而代之,同時(shí)虛擬機(jī)管理器處于操作系統(tǒng)和真實(shí)硬件環(huán)境之間,比操作系統(tǒng)的權(quán)限更高。這些特性使得借助虛擬機(jī)管理器來(lái)保證系統(tǒng)平臺(tái)的安全性已漸成一種研究趨勢(shì)。目前利用虛擬化進(jìn)行安全監(jiān)控主要集中在虛擬化網(wǎng)絡(luò)行為及虛擬化主機(jī)行為等方面,本發(fā)明重要關(guān)注虛擬化主機(jī)行為的截獲與分析。
[0003]目前,從監(jiān)控觸發(fā)方式角度來(lái)看,利用虛擬化技術(shù)進(jìn)行主機(jī)行為安全監(jiān)控可以分為兩大類(lèi):主動(dòng)監(jiān)控及被動(dòng)監(jiān)控。主動(dòng)監(jiān)控是指利用掃描或者輪詢(xún)的方式,周期性觸發(fā)行為監(jiān)控。主動(dòng)監(jiān)控的典型代表是LareS、Libvmi等。這種監(jiān)控方式完全可控,在任何時(shí)刻均可實(shí)施主機(jī)行為監(jiān)控,適用于對(duì)主機(jī)行為的完全獲取,更注重于獲取主機(jī)內(nèi)部的完整行為動(dòng)作,而不是特定事件的截獲,同時(shí)可能招致監(jiān)控效率低下及對(duì)VM的性能損耗。被動(dòng)監(jiān)控是指設(shè)置事件觸發(fā)器,僅當(dāng)相應(yīng)事件發(fā)生時(shí)觸發(fā)事件觸發(fā)器,才對(duì)主機(jī)行為數(shù)據(jù)進(jìn)行監(jiān)控。被動(dòng)監(jiān)控的典型代表是Ether、Nitro等。這種監(jiān)控方式通過(guò)特定事件觸發(fā),能夠在第一時(shí)間內(nèi)監(jiān)控到特定動(dòng)作的發(fā)生,適用于對(duì)特定主機(jī)行為動(dòng)作的監(jiān)控,更注重于獲取某些特定的行為事件,然而由于監(jiān)控動(dòng)作不可控,可能導(dǎo)致監(jiān)控誤報(bào)或漏報(bào)的情況發(fā)生。
[0004]現(xiàn)階段主機(jī)行為監(jiān)控的常見(jiàn)方法是:I)采用主動(dòng)監(jiān)控方式,周期性觸發(fā)監(jiān)控動(dòng)作;
2)采用被動(dòng)監(jiān)控方式,以事件驅(qū)動(dòng)方式觸發(fā)監(jiān)控動(dòng)作。兩種監(jiān)控方式兼有優(yōu)缺點(diǎn),單純采用單一的監(jiān)控方式很難獲取完整的語(yǔ)義分析視圖,難以兼顧實(shí)時(shí)性、靈活性及準(zhǔn)確性等特點(diǎn)。主動(dòng)監(jiān)控方式缺乏實(shí)時(shí)性,語(yǔ)義分析視圖何時(shí)生成主要取決于輪詢(xún)策略或者計(jì)時(shí)觸發(fā)器觸發(fā),這種方式無(wú)法實(shí)時(shí)感知虛擬機(jī)中系統(tǒng)狀態(tài)的變化,如進(jìn)程的創(chuàng)建和切換,文件的打開(kāi)和關(guān)閉等。更準(zhǔn)確的說(shuō),主動(dòng)監(jiān)控方式適用于獲取虛擬機(jī)中靜態(tài)的行為數(shù)據(jù)。被動(dòng)監(jiān)控方式僅能獲取當(dāng)前時(shí)刻特定事件的語(yǔ)義分析視圖,如進(jìn)程切換、系統(tǒng)調(diào)用及中斷等,缺乏靈活性,很難靈活獲取某一時(shí)刻包含虛擬機(jī)內(nèi)部所有行為的語(yǔ)義視圖。若如果想使用被動(dòng)監(jiān)控方式獲取虛擬機(jī)內(nèi)部全部行為的語(yǔ)義視圖,則需要攔截虛擬機(jī)內(nèi)部的所有事件,這種狀況會(huì)嚴(yán)重影響虛擬機(jī)的性能。
【發(fā)明內(nèi)容】
[0005]針對(duì)上述已有方法存在的問(wèn)題,本發(fā)明公開(kāi)了一種基于虛擬化的主機(jī)行為主被動(dòng)結(jié)合檢測(cè)系統(tǒng)和方法??紤]到虛擬機(jī)監(jiān)控器完全控制著運(yùn)行于其上的所有虛擬機(jī)對(duì)硬件資源的訪問(wèn),本發(fā)明實(shí)現(xiàn)了一種具有透明性、實(shí)時(shí)性、靈活性等特點(diǎn)的集中式虛擬機(jī)監(jiān)控機(jī)制;面對(duì)目前公開(kāi)的研究背景中的局限性,本發(fā)明采用主動(dòng)監(jiān)控與被動(dòng)監(jiān)控相結(jié)合的方式,將主動(dòng)監(jiān)控與被動(dòng)監(jiān)控配合使用,兩種監(jiān)控方式相互協(xié)作,共同完成對(duì)虛擬機(jī)的主機(jī)行為分析,兼顧主機(jī)行為分析的實(shí)時(shí)性、靈活性與準(zhǔn)確性;同時(shí)采用集中式分析架構(gòu),將虛擬機(jī)的分析動(dòng)作轉(zhuǎn)移至集中分析集群進(jìn)行,降低行為分析對(duì)硬件資源的損耗,降低行為分析對(duì)虛擬機(jī)性能的影響。
[0006]本發(fā)明公開(kāi)的基于虛擬化的主機(jī)行為主被動(dòng)結(jié)合檢測(cè)系統(tǒng)如圖1A所示,主要由主動(dòng)監(jiān)控獲取數(shù)據(jù)模塊、被動(dòng)監(jiān)控獲取數(shù)據(jù)模塊、數(shù)據(jù)轉(zhuǎn)發(fā)模塊、行為分析模塊組成。其中主動(dòng)監(jiān)控獲取數(shù)據(jù)模塊采用主動(dòng)監(jiān)控方式主動(dòng)獲取虛擬機(jī)內(nèi)部當(dāng)前時(shí)刻的靜態(tài)數(shù)據(jù);被動(dòng)監(jiān)控獲取數(shù)據(jù)模塊采用異步偵聽(tīng)方式異步偵聽(tīng)截獲虛擬機(jī)內(nèi)部的系統(tǒng)調(diào)用、系統(tǒng)指令數(shù)據(jù);數(shù)據(jù)轉(zhuǎn)發(fā)模塊負(fù)責(zé)將本地獲取的數(shù)據(jù)遠(yuǎn)程轉(zhuǎn)發(fā)至行為分析服務(wù)器進(jìn)行,轉(zhuǎn)發(fā)的數(shù)據(jù)包括主動(dòng)方式獲取的行為數(shù)據(jù)及異步偵聽(tīng)方式獲取的行為數(shù)據(jù);行為分析模塊接收數(shù)據(jù)轉(zhuǎn)發(fā)模塊發(fā)送的行為數(shù)據(jù),并根據(jù)數(shù)據(jù)來(lái)源,動(dòng)態(tài)控制分析線程對(duì)行為數(shù)據(jù)進(jìn)行分析。
[0007]本發(fā)明公開(kāi)的基于虛擬化的主機(jī)行為主被動(dòng)結(jié)合檢測(cè)方法,采用上述系統(tǒng),其運(yùn)行流程如圖1B所示,具體步驟如下:
[0008](I)將EFER寄存器的SCE字段置為O。
[0009](2)主動(dòng)監(jiān)控獲取數(shù)據(jù)模塊(Active View Generating Funct1n module,簡(jiǎn)稱(chēng)AVGF)通過(guò)虛擬機(jī)信息獲取工具(如Libvmi等)獲取虛擬機(jī)中的系統(tǒng)狀態(tài),并根據(jù)當(dāng)前系統(tǒng)狀態(tài)構(gòu)造出所需要的語(yǔ)義信息,然后經(jīng)數(shù)據(jù)轉(zhuǎn)發(fā)模塊(Transfer)轉(zhuǎn)發(fā)至遠(yuǎn)程的行為分析服務(wù)器上,即發(fā)往行為分析模塊。
[00?0] (3)隨后,被動(dòng)監(jiān)控獲取數(shù)據(jù)模塊通過(guò)事件接收器(Event Sensor)不斷攔截虛擬機(jī)中發(fā)生的事件:當(dāng)虛擬機(jī)執(zhí)行內(nèi)部行為時(shí),最終均會(huì)通過(guò)相應(yīng)的系統(tǒng)調(diào)用得以實(shí)施;虛擬機(jī)執(zhí)行系統(tǒng)調(diào)用時(shí),由于系統(tǒng)運(yùn)行時(shí)已將EFER寄存器的SCE字段置為O,因此會(huì)陷入至VMM中,事件接收器攔截到異常信息時(shí),判斷是否由syscall或sysret引起的,若是由這兩條指令引起的,則收集系統(tǒng)調(diào)用號(hào)、系統(tǒng)調(diào)用參數(shù)、系統(tǒng)調(diào)用進(jìn)程號(hào)、發(fā)生系統(tǒng)調(diào)用的地址、虛擬機(jī)的基本信息等。
[0011](4)Event Sensor將收集到的數(shù)據(jù)放入由共享內(nèi)存(Shared mem)實(shí)現(xiàn)的環(huán)形緩沖區(qū)內(nèi)。
[0012](5)系統(tǒng)調(diào)用信息收集結(jié)束之后,Event Sensor通過(guò)事件通道機(jī)制通知數(shù)據(jù)轉(zhuǎn)發(fā)模塊取走數(shù)據(jù),同時(shí)模擬syscal I或sysret指令的運(yùn)行,恢復(fù)虛擬機(jī)的操作。
[0013](6)數(shù)據(jù)轉(zhuǎn)發(fā)模塊將Event Sensor收集到的數(shù)據(jù)取走,并發(fā)往遠(yuǎn)程行為分析服務(wù)器,即發(fā)往行為分析模塊。
[0014](7)行為分析模塊接收遠(yuǎn)程數(shù)據(jù)轉(zhuǎn)發(fā)模塊發(fā)來(lái)的行為數(shù)據(jù),并根據(jù)數(shù)據(jù)來(lái)源分發(fā)給不同的行為分析線程。
[0015](8)行為分析線程根據(jù)數(shù)據(jù)量大小,動(dòng)態(tài)控制線程創(chuàng)建與消亡,對(duì)行為數(shù)據(jù)進(jìn)行分析,對(duì)不同視圖進(jìn)行操作,如初始化、增加、刪除、查找、更改等。
[0016]與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn):
[0017](I)集中式虛擬機(jī)監(jiān)控機(jī)制。本發(fā)明統(tǒng)籌安排虛擬機(jī)行為分析,將對(duì)虛擬機(jī)的行為分析由特權(quán)域轉(zhuǎn)移至行為分析服務(wù)器,對(duì)虛擬機(jī)行為動(dòng)作進(jìn)行集中分析,有利于對(duì)虛擬機(jī)的集中控制。
[0018](2)兼顧行為分析靈活性及實(shí)時(shí)性。本發(fā)明采用主動(dòng)監(jiān)控與被動(dòng)監(jiān)控相結(jié)合的方式對(duì)虛擬主機(jī)行為進(jìn)行監(jiān)控,能夠兼顧主動(dòng)監(jiān)控方式與被動(dòng)監(jiān)控方式的優(yōu)點(diǎn),彌補(bǔ)單一監(jiān)控方式的缺陷。
[0019](3)具備高安全可靠性。本發(fā)明將虛擬主機(jī)行為分析放置于分析服務(wù)器進(jìn)行,能夠避免虛擬機(jī)、特權(quán)域甚至虛擬機(jī)監(jiān)控器遭受攻擊而崩潰導(dǎo)致的行為分析失效,并能夠盡快探知這一崩潰動(dòng)作,而采取相應(yīng)的補(bǔ)救措施。
[0020](4)數(shù)據(jù)分析協(xié)同處理。本發(fā)明建立多視圖對(duì)比分析