基于虛擬化的主機(jī)行為異步偵聽截獲系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及虛擬化安全監(jiān)控領(lǐng)域,具體涉及基于虛擬化的主機(jī)行為異步偵聽截獲系統(tǒng)和方法。
【背景技術(shù)】
[0002]基礎(chǔ)架構(gòu)即服務(wù)(Infrastructure as a Service,IaaS)是云計(jì)算的一種,其為各種互聯(lián)網(wǎng)應(yīng)用提供基礎(chǔ)架構(gòu)服務(wù)。作為IaaS的技術(shù)基石,虛擬化技術(shù)已被廣泛應(yīng)用至大量數(shù)據(jù)中心及服務(wù)器集群。作為虛擬化平臺(tái)中的重要組成部分,虛擬機(jī)監(jiān)視器(簡(jiǎn)稱Hypervisor)是運(yùn)行在物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,維護(hù)控制著CPU、內(nèi)存及I/O等物理資源,可允許多個(gè)操作系統(tǒng)和應(yīng)用共享一套基礎(chǔ)物理硬件。虛擬化平臺(tái)的此種架構(gòu)為行為監(jiān)控提供了新的挑戰(zhàn),帶來(lái)了全新的監(jiān)控思路。作為一個(gè)相對(duì)封閉的網(wǎng)絡(luò)環(huán)境,使用虛擬化技術(shù)構(gòu)建的虛擬網(wǎng)絡(luò)被研究人員廣泛應(yīng)用于協(xié)議分析、仿真驗(yàn)證及比武對(duì)抗等眾多前沿應(yīng)用,并被期望全面獲取其內(nèi)部的各種行為,以全面分析行為數(shù)據(jù),提高分析準(zhǔn)確性。虛擬化行為監(jiān)控自虛擬化技術(shù)廣泛應(yīng)用以來(lái),一直是研究人員追求的研究熱點(diǎn),尤其是主機(jī)行為監(jiān)控分析。因此本發(fā)明重點(diǎn)關(guān)注VM(Virtual Machine,虛擬機(jī))內(nèi)部的主機(jī)行為截獲及分析。
[0003]目前虛擬化平臺(tái)行為監(jiān)控按照VM行為獲取方式劃分為主動(dòng)獲取信息方式及被動(dòng)獲取信息方式。主動(dòng)獲取方式是指用戶通過(guò)掃描或者輪詢方式獲取VM內(nèi)部的語(yǔ)義信息,其多采用快照技術(shù)或計(jì)時(shí)觸發(fā)器;被動(dòng)獲取方式是指設(shè)置事件觸發(fā)器,只有當(dāng)VM中相應(yīng)事件發(fā)生時(shí),觸發(fā)事件觸發(fā)器,才獲取VM內(nèi)部的相關(guān)信息。主動(dòng)獲取方式監(jiān)控粒度較大,無(wú)法獲取兩次獲取間隔內(nèi)的行為,同時(shí)采用減少輪詢時(shí)間或增大掃描頻率等方式減少間隔時(shí)間,會(huì)在一定程度上消耗物理服務(wù)器及VM資源,影響物理服務(wù)器及VM性能。被動(dòng)獲取方式采用觸發(fā)器結(jié)構(gòu)能夠更及時(shí)準(zhǔn)確的獲取更為關(guān)心的行為數(shù)據(jù)。
[0004]虛擬化平臺(tái)行為監(jiān)控按照行為動(dòng)作獲取位置分為內(nèi)部獲取方式和外部獲取方式。內(nèi)部獲取方式即是將行為獲取部署至VM內(nèi)部,在內(nèi)部進(jìn)行各種行為動(dòng)作的攔截獲取;而外部獲取方式是在VM外部獲取并分析VM內(nèi)部的行為動(dòng)作。內(nèi)部獲取方式將行為獲取放置在VM內(nèi)部,易被入侵者或查殺工具發(fā)現(xiàn)并查殺,從而失去了行為獲取的能力。外部獲取方式具有行為獲取隱蔽性等特點(diǎn),不易被入侵者及內(nèi)部查殺工具篡改或屏蔽。
[0005]現(xiàn)階段VM主機(jī)行為監(jiān)控分析的常見方法是:I)利用傳統(tǒng)的監(jiān)控方式,將監(jiān)控手段完全部署在VM操作系統(tǒng)內(nèi)或VM內(nèi)核態(tài)中;2)基于trap、斷點(diǎn)或rollback方式,在VM內(nèi)設(shè)置Hooks掛鉤到Hypervisor ,Hypervisor通過(guò)操作Hooks以獲取VM的行為動(dòng)作;3)完全基于Hypervisor進(jìn)行監(jiān)控。方法I)將監(jiān)控手段完全放置于虛擬機(jī)內(nèi)部,易被惡意軟件篡改或查殺工具查殺,有很大的安全隱患;方法2)雖然在一定程度上保護(hù)了監(jiān)控工具,但由于仍有部分內(nèi)容在虛擬機(jī)內(nèi)部,因此仍然存在安全隱患;方法3)是安全級(jí)別最高的行為監(jiān)控,但由于和虛擬機(jī)無(wú)任何關(guān)聯(lián),因此監(jiān)控難度較大。
【發(fā)明內(nèi)容】
[0006]針對(duì)上述已有方法存在的問(wèn)題,本發(fā)明公開了一種基于虛擬化的主機(jī)行為異步偵聽截獲系統(tǒng)和方法??紤]到虛擬機(jī)監(jiān)控器完全控制著運(yùn)行于其上的所有虛擬機(jī)對(duì)硬件資源的訪問(wèn),本發(fā)明實(shí)現(xiàn)了無(wú)法被虛擬機(jī)內(nèi)部感知的主機(jī)行為監(jiān)控;面對(duì)目前現(xiàn)有技術(shù)中的局限性,本發(fā)明采用被動(dòng)獲取信息方式,完全在虛擬機(jī)監(jiān)控器層部署行為收集手段,采用異步偵聽方式獲取虛擬機(jī)內(nèi)部詳盡的主機(jī)行為數(shù)據(jù),并通過(guò)事件通道機(jī)制將收集的行為數(shù)據(jù)傳遞至特權(quán)域(簡(jiǎn)稱DomO),由特權(quán)域的行為分析手段完成主機(jī)行為的數(shù)據(jù)分析,能夠減少對(duì)虛擬機(jī)性能的影響,提高行為分析的準(zhǔn)確性與可靠性。
[0007]本發(fā)明公開的基于虛擬化的主機(jī)行為異步偵聽截獲系統(tǒng)如圖1A所示,主要有事件接收模塊、數(shù)據(jù)異步緩沖模塊、數(shù)據(jù)訪問(wèn)控制模塊、動(dòng)態(tài)更新模塊、行為分析控制模塊組成。其中事件接收模塊負(fù)責(zé)截獲系統(tǒng)指令、攔截系統(tǒng)調(diào)用,并將收集的數(shù)據(jù)轉(zhuǎn)送至數(shù)據(jù)異步緩沖模塊,同時(shí)通知數(shù)據(jù)訪問(wèn)控制模塊有新數(shù)據(jù)生成;數(shù)據(jù)異步緩沖模塊負(fù)責(zé)異步接收存儲(chǔ)系統(tǒng)指令、系統(tǒng)調(diào)用信息及虛擬機(jī)的基本信息;數(shù)據(jù)訪問(wèn)控制模塊負(fù)責(zé)接收、分析數(shù)據(jù)生成指令,并將數(shù)據(jù)從數(shù)據(jù)異步緩沖模塊中取出,發(fā)送至行為分析控制模塊;動(dòng)態(tài)更新模塊負(fù)責(zé)動(dòng)態(tài)更新行為檢測(cè)策略;行為分析控制模塊負(fù)責(zé)管理分析線程,根據(jù)動(dòng)態(tài)更新模塊生成的行為檢測(cè)策略對(duì)主機(jī)行為進(jìn)行行為分析。
[0008]圖1B為圖1A所示系統(tǒng)的具體架構(gòu)及工作流程示意圖,該系統(tǒng)運(yùn)行的具體步驟如下:
[0009](I)當(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(Virtual Machine Monitor,虛擬機(jī)管理器)中,事件接收器(對(duì)應(yīng)圖1A中的事件接收模塊)攔截到異常信息時(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ī)的基本信息等。圖1B中DomO為特權(quán)域,DomU為客戶域。
[0010](2)異步環(huán)型緩沖區(qū)(對(duì)應(yīng)圖1A中的數(shù)據(jù)異步緩沖模塊)接收事件接收器收集的系統(tǒng)調(diào)用信息,并存儲(chǔ)在共享內(nèi)存內(nèi)。
[0011](3)系統(tǒng)調(diào)用信息收集結(jié)束之后,事件接收器通過(guò)事件通道機(jī)制通知數(shù)據(jù)存儲(chǔ)容器(對(duì)應(yīng)圖1A中的數(shù)據(jù)訪問(wèn)控制模塊)取走數(shù)據(jù),同時(shí)模擬syscall或sysret指令的運(yùn)行,恢復(fù)虛擬機(jī)的操作。
[0012](4)行為分析控制模塊(圖1B中的“分析控制”)不斷測(cè)探數(shù)據(jù)存儲(chǔ)容器內(nèi)的數(shù)據(jù)量大小,根據(jù)數(shù)據(jù)量大小,動(dòng)態(tài)控制分析線程的創(chuàng)建與消亡,并根據(jù)動(dòng)態(tài)更新模塊生成的主機(jī)行為檢測(cè)策略對(duì)系統(tǒng)調(diào)用信息進(jìn)行詳細(xì)分析,并挖掘分析不同系統(tǒng)調(diào)用信息之間的關(guān)聯(lián)關(guān)系,獲取行為動(dòng)作的完整動(dòng)作,如文件的打開與關(guān)閉等。
[0013](5)動(dòng)態(tài)更新模塊(圖1B中的“動(dòng)態(tài)更新策略”)實(shí)時(shí)接收用戶對(duì)主機(jī)行為的檢測(cè)需求,并對(duì)檢測(cè)需求進(jìn)行分析整理,與現(xiàn)有行為策略進(jìn)行整合,形成完整的主機(jī)行為檢測(cè)策略,供行為分析控制模塊使用。
[0014]與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)和有益效果如下:
[0015](I)細(xì)粒度的主機(jī)行為截獲分析。本發(fā)明具備系統(tǒng)指令、系統(tǒng)調(diào)用層次的行為截獲功能,通過(guò)截獲syscall及sysret指令信息,并從指令信息中提取系統(tǒng)調(diào)用信息,進(jìn)而完成用戶層的行為分析。
[0016](2)對(duì)虛擬機(jī)的性能影響較低。本發(fā)明采用異步偵聽方式截獲主機(jī)行為數(shù)據(jù),待行為數(shù)據(jù)收集完畢之后即刻恢復(fù)虛擬機(jī)運(yùn)行,對(duì)虛擬機(jī)的性能影響幾乎忽略不計(jì),虛擬機(jī)用戶對(duì)此無(wú)察覺。
[00?7] (3)具備高安全可靠性。本發(fā)明將主機(jī)行為截獲功能完全放置于Hypervi sor層,使虛擬機(jī)內(nèi)部的防護(hù)工具不能感知且不能防范此動(dòng)作的實(shí)施;將主機(jī)行為分析功能放置于和虛擬機(jī)完全隔離的特權(quán)域,使主機(jī)行為分析不能被虛擬機(jī)內(nèi)部的防護(hù)工具影響。
[0018](4)支持動(dòng)態(tài)、可擴(kuò)展的主機(jī)行為分析。本發(fā)明能夠動(dòng)態(tài)接收用戶的行為分析需求,以在系統(tǒng)運(yùn)行過(guò)程中動(dòng)態(tài)更新行為檢測(cè)策略,提高行為檢測(cè)實(shí)時(shí)性;同時(shí)提供數(shù)據(jù)接口,擴(kuò)展能夠分析的系統(tǒng)調(diào)用種類。
【附圖說(shuō)明】
[0019]圖1A.基于虛擬化的主機(jī)行為異步偵聽截獲系統(tǒng)模塊組成圖。
[0020]圖1B.基于虛擬化的主機(jī)行為異步偵聽截獲方法框架圖。
[0021 ]圖2.事件接收方法流程圖。
[0022]圖3.數(shù)據(jù)異步緩沖存儲(chǔ)方法流程圖。
[0023 ]圖4.數(shù)據(jù)訪問(wèn)控制方法流程圖。
[0024]圖5.動(dòng)態(tài)更新方法流程圖。