虛擬機進程監(jiān)控的方法、裝置及系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及計算機安全領域,具體而言,涉及一種虛擬機進程監(jiān)控的方法、裝置及系統(tǒng)。
【背景技術】
[0002]隨著近年多核系統(tǒng)、集群、網(wǎng)格甚至云計算的廣泛部署,虛擬化技術在商業(yè)上的優(yōu)勢日益體現(xiàn),不僅降低了 IT成本,而且還增強了系統(tǒng)的安全性、可靠性和可維護性,從而顯著提升企業(yè)整體業(yè)務的競爭力。
[0003]目前,虛擬化技術不斷深入,采用虛擬化技術的企業(yè)數(shù)量正以越來越快的速度增長,越來越多的企業(yè)依靠虛擬化架構運行關鍵的日常功能。虛擬化技術在解決傳統(tǒng)計算機系統(tǒng)存在的成本、安全性和可靠性等問題的同時,又引入了虛擬化架構下的新的安全問題。如何保護虛擬化架構的安全也成為企業(yè)亟待解決的問題之一。
[0004]所謂虛擬化安全就是基于虛擬化技術架構與原理,在虛擬化平臺實現(xiàn)一個邏輯安全層,以解決虛擬化架構下的,諸如虛擬機跳躍攻擊、虛擬機逃逸攻擊、虛擬機Rootkit攻擊、虛擬機迀移攻擊、虛擬機拒絕服務攻擊和遠程管理漏洞等安全問題。
[0005]針對現(xiàn)已普遍存在的虛擬機感知式惡意軟件(如RedPill)以及虛擬機Rootkit (如BluePill)等虛擬平臺攻擊軟件,目前的監(jiān)控手段是在虛擬機內部安裝防病毒軟件或其它監(jiān)控軟件。這種在虛擬機內部對系統(tǒng)進行監(jiān)控的方式,很容易被同處在虛擬機內部的惡意軟件繞開。
[0006]由此可見,針對相關技術中如何提高虛擬機安全的問題,目前尚未提出有效的解決方案。
【發(fā)明內容】
[0007]針對如何提高虛擬機安全的問題,本發(fā)明提供了一種虛擬機進程監(jiān)控的方法、裝置及系統(tǒng),以至少解決上述問題。
[0008]根據(jù)本發(fā)明的一個方面,提供了一種虛擬機進程監(jiān)控的方法,包括:
[0009]獲取虛擬化平臺中各虛擬機內部進程的列表;向監(jiān)控設備發(fā)送所述各虛擬機內部進程的列表,其中,所述監(jiān)控設備用于監(jiān)控所述各虛擬機的內部進程。
[0010]可選地,所述獲取虛擬化平臺中各虛擬機內部進程的列表,包括:獲取虛擬化平臺中各虛擬機內部進程的內存信息;根據(jù)所述進程的內存信息解析得到所述各虛擬機內部進程的列表。
[0011]可選地,所述獲取虛擬化平臺中各虛擬機內部進程的內存信息包括:基于虛擬化平臺的內存自省技術,獲取所述虛擬機內部進行的內存信息。
[0012]可選地,所述向監(jiān)控設備發(fā)送所述各虛擬機內部進程的列表,包括:判斷所述各虛擬機內部進程的列表是否發(fā)生變化;在所述各虛擬機內部進程的列表發(fā)生變化時,向監(jiān)控設備發(fā)送所述各虛擬機內部進程的列表。
[0013]可選地,所述向監(jiān)控設備發(fā)送所述各虛擬機內部進程的列表,包括:接收監(jiān)控設備的命令,其中,所述命令用于請求獲取所述各虛擬機內部進程的列表;響應所述命令,向監(jiān)控設備發(fā)送所述各虛擬機內部進程的列表。
[0014]根據(jù)本發(fā)明的另一個方面,提供了一種虛擬機進程監(jiān)控的裝置,所述裝置包括:獲取模塊,用于獲取虛擬化平臺中各虛擬機內部進程的列表;發(fā)送模塊,用于向監(jiān)控設備發(fā)送所述各虛擬機內部進程的列表,其中,所述監(jiān)控設備用于監(jiān)控所述各虛擬機的內部進程。
[0015]可選地,所述獲取模塊,包括:獲取單元,用于獲取虛擬化平臺中各虛擬機內部進程的內存信息;解析單元,用于根據(jù)所述進程的內存信息解析得到所述各虛擬機內部進程的列表。
[0016]可選地,所述發(fā)送模塊,包括:判斷單元,用于判斷所述各虛擬機內部進程的列表是否發(fā)生變化;發(fā)送單元,用于在所述各虛擬機內部進程的列表發(fā)生變化時,監(jiān)控設備發(fā)送所述虛擬機內部進程的列表。
[0017]可選地,所述發(fā)送模塊,包括:接收單元,用于接收監(jiān)控設備的命令,其中,所述命令用于請求獲取所述各虛擬機內部進程的列表;發(fā)送單元,用于響應所述命令,向監(jiān)控設備發(fā)送所述各虛擬機內部進程的列表。
[0018]根據(jù)本發(fā)明的再一個方面,提供了一種虛擬機進程監(jiān)控的系統(tǒng),包括:進程獲取裝置和進程監(jiān)控裝置,其中,所述進程獲取裝置,用于獲取所述虛擬化平臺中運行的各虛擬機的內部進程的列表,并向所述進程監(jiān)控裝置發(fā)送所述各虛擬機的內部進程的列表;所述進程監(jiān)控裝置,位于監(jiān)控設備中,用于接收所述各虛擬機的內部進程的列表,并顯示所述各虛擬機的內部進程的列表。
[0019]通過本發(fā)明,獲取虛擬化平臺中各個虛擬機內部進程的列表,并將虛擬機內部進程的列表發(fā)送給監(jiān)控設備,從而從虛擬機外部實現(xiàn)了的對虛擬機的監(jiān)控,避免了在虛擬機內部對虛擬機進行監(jiān)控而導致虛擬機內部惡意軟件避開監(jiān)控的問題,提高了虛擬機的安全性。
【附圖說明】
[0020]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
[0021]圖1是根據(jù)本發(fā)明實施例的虛擬機進程監(jiān)控的方法的流程圖;
[0022]圖2是根據(jù)本發(fā)明實施例的虛擬機進程監(jiān)控的裝置的結構框圖;
[0023]圖3是根據(jù)本發(fā)明實施例的虛擬機進程監(jiān)控的系統(tǒng)的示意圖;
[0024]圖4是根據(jù)本發(fā)明實施例的一個實例的虛擬機進程的監(jiān)控系統(tǒng)的示意圖;以及
[0025]圖5是根據(jù)本發(fā)明實施例的一個實例的監(jiān)控方法的流程圖。
【具體實施方式】
[0026]下文中將參考附圖并結合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0027]圖1是根據(jù)本發(fā)明實施例的虛擬機進程監(jiān)控的方法的流程圖,如圖1所示,該方法包括步驟101至步驟102。
[0028]步驟101,獲取虛擬化平臺中各虛擬機內部進程的列表。
[0029]上述步驟101中,可以按照周期性或者事件觸發(fā)的方式獲取虛擬機內部進程的列表。虛擬化平臺中可以運行一個或多個虛擬機。
[0030]步驟102,向監(jiān)控設備發(fā)送所述各虛擬機內部進程的列表,其中,所述監(jiān)控設備用于監(jiān)控所述虛擬機的內部進程。
[0031]在上述步驟102中,在存在多個虛擬機的情況下,可以按照虛擬機對虛擬機內部進程的列表進行分類。
[0032]通過本發(fā)明實施例,獲取虛擬化平臺中各虛擬機內部進程的列表,并將虛擬機內部進程的列表發(fā)送給監(jiān)控設備,從而從虛擬機外部實現(xiàn)了的對虛擬機的監(jiān)控,避免了在虛擬機內部對虛擬機進行監(jiān)控而導致虛擬機內部惡意軟件避開監(jiān)控的問題,提高了虛擬機的安全性。
[0033]在本發(fā)明實施例的一個實施方式中,上述步驟101中,可以獲取虛擬機內部進程的內存信息,根據(jù)所述進程的內存信息解析得到所述虛擬機內部進程的列表。
[0034]進一步地,可以基于虛擬化平臺的內存自省技術,獲取所述虛擬機內部進行的內存信息。
[0035]在本發(fā)明實施例的一個實施方式中,上所述步驟102中,可以判斷所述虛擬機內部進程的列表是否發(fā)生變化,在所述虛擬機內部進程的列表發(fā)生變化時,向監(jiān)控設備發(fā)送所述虛擬機內部進程的列表。通過該實施方式,在虛擬機的列表發(fā)生變化時向監(jiān)控設備發(fā)送虛擬機內部進程的列表,有利于降低消息發(fā)送數(shù)量,同時還能夠保證可靠性。
[0036]在本發(fā)明實施例的一個實施方式中,上述步驟102中,可以接收監(jiān)控設備的命令,其中,所述命令用于請求獲取所述虛擬機內部進程的列表;響應所述命令,向監(jiān)控設備發(fā)送所述虛擬機內部進程的列表。通過該實施方式,可以在監(jiān)控設備的請求下向監(jiān)控設備發(fā)送虛擬機內部進程的列表。
[0037]圖2是根據(jù)本發(fā)明實施例的虛擬機進程監(jiān)控的裝置的結構框圖,如圖2所示,所述裝置包括:
[0038]獲取模塊10,用于獲取虛擬化平臺中各虛擬機內部進程的列表;
[0039]發(fā)送模塊20,與獲取模塊10相連接,用于向監(jiān)控設備發(fā)送所述各虛擬機內部進程的列表,其中,所述監(jiān)控設備用于監(jiān)控所述虛擬機的內部進程。
[0040]在本發(fā)明實施例的一個實施方式中,獲取模塊10可以包括:獲取單元,用于獲取虛擬機內部進程的內存信息;解析單元,用于根據(jù)所述進程的內存信息解析得到所述虛擬機內部進程的列表。
[0041]進一步地,獲取單元可以基于虛擬化平臺的內存自省技術,獲取所述虛擬機內部進行的內存信息。
[0042]在本發(fā)明實施例的一個實施方式中,發(fā)送模塊20可以包括:判斷單元,用于判斷所述虛擬機內部進程的列表是否發(fā)生變化;發(fā)送單元,用于在所述虛擬機內部進程的列表發(fā)生變化時,監(jiān)控設備發(fā)送所述虛擬機內部進程的列表。
[0043]在本發(fā)明實施例的一個實施方式中,發(fā)送模塊20可以包括:接收單元,用于接收監(jiān)控設備的命令,其中,所述命令用于請求獲取所述虛擬機內部進程的列表;發(fā)送單元,用于響應所述命令,向監(jiān)控設備發(fā)送所述虛擬機內部進程的列表。
[0044]圖3是根據(jù)本發(fā)明實施例的虛擬機進程監(jiān)控的系統(tǒng)的示意圖,如圖3所示,該系統(tǒng)包括:進程獲取裝置I和進程監(jiān)控裝置2,其中:
[0045]進程獲取裝置I,位于虛擬化平臺底層,用于獲取所述虛擬化平臺中運行的各虛擬機的內部進程的列表,并向所述進程監(jiān)控裝置發(fā)送所述各虛擬機的內部進程的列表。
[0046]進程監(jiān)控裝置2,位于監(jiān)控設備中,用于接