亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種xen虛擬化平臺中獲取客戶機(jī)進(jìn)程信息的方法及系統(tǒng)的制作方法

文檔序號:9396739閱讀:497來源:國知局
一種xen虛擬化平臺中獲取客戶機(jī)進(jìn)程信息的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種xen虛擬化平臺中獲取客戶機(jī)進(jìn)程信息的方法及系統(tǒng)。
【背景技術(shù)】
[0002]Xen是一個(gè)開放源代碼虛擬機(jī)監(jiān)視器,其采用ICA協(xié)議,通過一種叫做準(zhǔn)虛擬化的技術(shù)獲得高性能,甚至在某些與傳統(tǒng)虛擬技術(shù)極度不友好的架構(gòu)上(x86),Xen也有上佳的表現(xiàn)。XEN可以在一套物理硬件上安全的執(zhí)行多個(gè)虛擬機(jī),并且Xen虛擬機(jī)可以在不停止的情況下在多個(gè)物理主機(jī)之間實(shí)時(shí)迀移。
[0003]在實(shí)際使用過程中,需要對Xen虛擬化平臺中的客戶機(jī)進(jìn)行監(jiān)控,在傳統(tǒng)的監(jiān)控技術(shù)中,需要對xen虛擬化平臺內(nèi)核中的核心模塊進(jìn)行修改,由此才能查詢客戶機(jī)系統(tǒng)中運(yùn)行的進(jìn)行信息。
[0004]該監(jiān)控方式存在存在費(fèi)時(shí)費(fèi)力的缺陷,不利于有效對客戶機(jī)進(jìn)行監(jiān)控,即浪費(fèi)人力又提高了監(jiān)控成本。

【發(fā)明內(nèi)容】

[0005]本發(fā)明的目的是針對現(xiàn)有技術(shù)的不足,提出一種xen虛擬化平臺中獲取客戶機(jī)進(jìn)程信息的方法及系統(tǒng),有效解決了傳統(tǒng)xen虛擬化平臺中監(jiān)控客戶機(jī)進(jìn)行信息存在效率低,監(jiān)控成本高的技術(shù)缺陷。
[0006]本發(fā)明所述的一種xen虛擬化平臺中獲取客戶機(jī)進(jìn)程信息的系統(tǒng)包括客戶機(jī)超級調(diào)用監(jiān)控模塊、響應(yīng)API驅(qū)動模塊和信息掃描模塊;其中,
所述客戶機(jī)超級調(diào)用監(jiān)控模塊主要用于截獲Xen虛擬化平臺中內(nèi)核驅(qū)動程序Privcmd向xen發(fā)起的超級調(diào)用請求10CTL,并將截獲的超級調(diào)用請求1CTL所需的參數(shù)傳遞給響應(yīng)API驅(qū)動模塊;
所述響應(yīng)API驅(qū)動模塊,利用客戶機(jī)超級調(diào)用監(jiān)控模塊截獲的參數(shù)替代xen系統(tǒng)中內(nèi)核驅(qū)動程序privcmd向xen發(fā)起超級調(diào)用請求10CTL,記錄Xen響應(yīng)超級調(diào)用請求1CTL調(diào)用的VCPU的文件描述符,同時(shí)返回給xen系統(tǒng)中內(nèi)核驅(qū)動程序privcmd獲取正在運(yùn)行中的客戶機(jī)中的進(jìn)程和寄存器的信息,并對獲取的客戶機(jī)中的進(jìn)程和寄存器信息進(jìn)行結(jié)構(gòu)化處理,之后通過進(jìn)程掃描接口暴露給信息掃描模塊,以及接收由信息掃描模塊發(fā)起的掃描命令,通過所述Vcpu的文件描述符向xen發(fā)起該請求。
[0007]所述信息掃描模塊通過響應(yīng)API驅(qū)動模塊獲取的客戶機(jī)的相關(guān)信息進(jìn)行分析,分離出客戶機(jī)進(jìn)程和寄存器信息,以約定的規(guī)則結(jié)構(gòu)進(jìn)行分析并生成報(bào)告;所述信息掃描模塊的控制主要通過所述響應(yīng)API驅(qū)動模塊中下發(fā)對虛擬機(jī)進(jìn)程信息的掃描命令。
[0008]上述系統(tǒng)中,所述客戶機(jī)超級調(diào)用監(jiān)控模塊,監(jiān)聽主機(jī)中超級系統(tǒng)調(diào)用10CTL,若是由內(nèi)核驅(qū)動程序Privcmd發(fā)起的創(chuàng)建虛擬VCPU的超級系統(tǒng)調(diào)用10CTL,則進(jìn)行截獲,并根據(jù)所截獲的超級系統(tǒng)調(diào)用1CTL的參數(shù),構(gòu)造一個(gè)新的創(chuàng)建虛擬VCPU的超級系統(tǒng)調(diào)用1CTL并向XEN進(jìn)行調(diào)用,將XEN執(zhí)行的超級系統(tǒng)調(diào)用1CTL的返回值返回給內(nèi)核驅(qū)動程序Privcmd,并將所述虛擬VCPU的文件描述符傳送給響應(yīng)API驅(qū)動模塊。
[0009]上述系統(tǒng)中,所述響應(yīng)API驅(qū)動模塊,通過收到的—HYPERVISOR_domctl所提供的超級系統(tǒng)調(diào)用1CTL接口封裝37個(gè)系統(tǒng)調(diào)用命令對應(yīng)的返回結(jié)果,以超級系統(tǒng)調(diào)用1CTL的方式對外部程序提供讀取該結(jié)果的接口。
[0010]本發(fā)明還提出了一種xen虛擬化平臺中獲取客戶機(jī)進(jìn)程信息的方法,具體步驟包括:
步驟一:客戶端超級系統(tǒng)調(diào)用截獲模塊截獲內(nèi)核驅(qū)動程序privcmd發(fā)起的超級系統(tǒng)調(diào)用10CTL,將所截獲的超級系統(tǒng)調(diào)用1CTL的參數(shù)發(fā)送給響應(yīng)API驅(qū)動模塊;
步驟二:響應(yīng)API驅(qū)動模塊使用客戶端超級系統(tǒng)調(diào)用截獲模塊發(fā)送的參數(shù)替代內(nèi)核驅(qū)動程序Privcmd向XEN虛擬化平臺發(fā)起超級系統(tǒng)調(diào)用10CTL,記錄XEN虛擬化平臺響應(yīng)超級系統(tǒng)調(diào)用1CTL的虛擬CPU的文件描述符并返回給內(nèi)核驅(qū)動程序Privcmd,獲取正在運(yùn)行中客戶機(jī)中的進(jìn)程和寄存器信息,再對所獲取的相關(guān)信息進(jìn)行結(jié)構(gòu)化處理后通過進(jìn)程掃描接口暴露給外部程序;
步驟三:當(dāng)響應(yīng)API驅(qū)動模塊接收到外部程序發(fā)起的掃描命令,則通過所述—HYPERVIS0R_domctI向XEN發(fā)起該掃描請求。
[0011]上述方法還包括,對所述響應(yīng)API驅(qū)動模塊獲取的客戶機(jī)內(nèi)進(jìn)程信息和寄存器信息進(jìn)行掃描,根據(jù)掃描結(jié)果進(jìn)行分析,生成分析報(bào)告,并通過所述響應(yīng)API驅(qū)動模塊提供的超級系統(tǒng)調(diào)用1CTL接口向外部程序下發(fā)對客戶機(jī)進(jìn)程信息的掃描命令。
[0012]本發(fā)明的優(yōu)點(diǎn)在于:本申請技術(shù)方案可以在不修改xen虛擬化平臺內(nèi)核中的核心模塊代碼的前提下,透明的實(shí)現(xiàn)對其上運(yùn)行的虛擬機(jī)中的進(jìn)程信息的進(jìn)行監(jiān)控和分析。
【附圖說明】
[0013]圖1為現(xiàn)有技術(shù)中內(nèi)核驅(qū)動程序Privcmd通過1CTL接口啟動客戶機(jī)的調(diào)用流程圖;
圖2為本實(shí)施例中XEN虛擬化平臺中客戶機(jī)進(jìn)程信息的獲取系統(tǒng)的結(jié)構(gòu)框圖;
圖3為本實(shí)施例中通過截獲客戶機(jī)超級調(diào)用請求1CTL調(diào)用透明獲得—HYPERVIS0R_dome 11的流程示意圖。
【具體實(shí)施方式】
[0014]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文將結(jié)合附圖對本發(fā)明技術(shù)方案作進(jìn)一步詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請的實(shí)施例和實(shí)施例中的特征可以任意相互組合。
[0015]實(shí)例I
目前,XEN虛擬化平臺的1CTL接口是其提供給內(nèi)核驅(qū)動程序Privcmd進(jìn)行調(diào)用的,具體的調(diào)用過程如圖1所示。XEN虛擬化平臺在使用時(shí),需要先通過—start_xen來啟動XEN自己的內(nèi)核系統(tǒng),內(nèi)核驅(qū)動程序Privcmd向XEN虛擬化平臺申請vcpu,而XEN虛擬化平臺則返回關(guān)于vcpu的上下文件描述vcpu_guest_context。通過vcpu_guest_context可以監(jiān)控運(yùn)行于該虛擬cpu上進(jìn)程以及對其所使用的寄存器信息進(jìn)行監(jiān)控。在不修改XEN虛擬化平臺任意代碼的情況下,通常是無法獲得運(yùn)行時(shí)的vcpu_guest_context,也就無法使用XEN虛擬化平臺自身對外提供的超級系統(tǒng)調(diào)用1CTL接口來監(jiān)控其上運(yùn)行客戶機(jī)中的進(jìn)程和寄存器信息,因此本發(fā)明提出一種xen虛擬化平臺中獲取客戶機(jī)進(jìn)程信息的系統(tǒng),該系統(tǒng)包括客戶端超級系統(tǒng)調(diào)用截獲模塊、響應(yīng)API驅(qū)動模塊及信息掃描模塊。
[0016]如圖2和圖3所示,所述客戶機(jī)超級調(diào)用監(jiān)控模塊負(fù)責(zé)通過截獲物理主機(jī)超級系統(tǒng)調(diào)用10CTL,分析超級系統(tǒng)調(diào)用1CTL名稱及參數(shù),截獲內(nèi)核驅(qū)動程序Privcmd發(fā)起的申請?zhí)摂MCPU的超級系統(tǒng)調(diào)用10CTL,將所截獲的超級系統(tǒng)調(diào)用1CTL的參數(shù)發(fā)送給響應(yīng)API驅(qū)動模塊,以便響應(yīng)API驅(qū)動模塊構(gòu)造新的超級系統(tǒng)調(diào)用10CTL,從而獲取VCpu_gueSt_context ο
[0017]具體地,上述客戶機(jī)超級調(diào)用監(jiān)控模塊監(jiān)聽主機(jī)的超級系統(tǒng)調(diào)用10CTL,若是由內(nèi)核驅(qū)動程序Privcmd發(fā)起的創(chuàng)建vcpu的超級系統(tǒng)調(diào)用10CTL,則截獲超級系統(tǒng)調(diào)用1CTL參數(shù),并利用截獲的參數(shù)構(gòu)造一個(gè)新的創(chuàng)建vcpu的超級系統(tǒng)調(diào)用1CTL并執(zhí)行;客戶機(jī)超級系統(tǒng)調(diào)用截獲模塊獲得執(zhí)行的超級系統(tǒng)調(diào)用1CTL的返回值即vcpu_guest_context后,將vcpu_guest_context作為超級系統(tǒng)調(diào)用1CTL的返回值返回給內(nèi)核驅(qū)動程序Privcmd以及響應(yīng)API驅(qū)動模塊。
[0018]響應(yīng)API驅(qū)動模塊,根據(jù)超級系統(tǒng)調(diào)用1CTL截獲模塊發(fā)送的參數(shù)替代內(nèi)核驅(qū)動程序Privcmd向XEN發(fā)起超級系統(tǒng)調(diào)用10CTL,記錄XEN返回的vcpu_guest_context并發(fā)送給內(nèi)核驅(qū)動程序Privcmd,獲得正在運(yùn)行中客戶機(jī)中的進(jìn)程和寄存器信息,并對這些信息進(jìn)行結(jié)構(gòu)化處理后,通過進(jìn)程掃描接口暴露給信息掃描模塊;同時(shí)提供接口負(fù)責(zé)接收由信息掃描模塊發(fā)起的掃描命令,并通過vcpu_guest_context向XEN發(fā)起該請求。
[0019]上述系統(tǒng)中,所述響應(yīng)AP驅(qū)動模塊,通過收到的—HYPERVIS0R_domctI所提供的超級系統(tǒng)調(diào)用1CTL接口封裝37個(gè)系統(tǒng)調(diào)用命令對應(yīng)的返回結(jié)果,以超級系統(tǒng)調(diào)用1CTL的方式對信息掃描模塊提供讀取掃描結(jié)果的接口,這些封裝超級系統(tǒng)調(diào)用1CTL接口還可以客戶機(jī)vcpu物理內(nèi)存地址等信
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1