一種保護(hù)虛擬機(jī)安全的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種保護(hù)虛擬機(jī)的安全的方法及裝置。
【背景技術(shù)】
[0002]虛擬化技術(shù)是指利用計(jì)算機(jī)軟件服務(wù)將計(jì)算機(jī)IT(Informat1n Technology,信息技術(shù))物理資源模擬成邏輯資源,從而將IT資源邏輯抽象成資源池。把物理資源抽象成資源池后,可以對(duì)各種分散的資源進(jìn)行集中的監(jiān)控、管理、和維護(hù)。虛擬化技術(shù)具有以下優(yōu)勢(shì):簡(jiǎn)化IT操作,提高管理效率;整合服務(wù),使得資源利用率最大化;集中數(shù)據(jù)中心管理;提高業(yè)務(wù)系統(tǒng)連續(xù)性等。隨著虛擬化技術(shù)的快速發(fā)展,對(duì)虛擬機(jī)的安全保護(hù)也越來越重要。
[0003]目前,傳統(tǒng)的安全措施和工具都是基于物理機(jī)開發(fā)的,而虛擬化技術(shù)打破了傳統(tǒng)的主機(jī)、網(wǎng)絡(luò)邊界的劃分,在虛擬化環(huán)境下,傳統(tǒng)的安全機(jī)制不再適用。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供了一種保護(hù)虛擬機(jī)的安全的方法及裝置,能夠保護(hù)虛擬機(jī)的安全。
[0005]一方面,本發(fā)明提供了一種保護(hù)虛擬機(jī)的安全的方法,包括:預(yù)先確定虛擬機(jī)鏡像中待度量的關(guān)鍵鏡像文件,預(yù)先設(shè)置安全度量模塊,還包括:
[0006]S1:加載當(dāng)前虛擬機(jī)的當(dāng)前虛擬機(jī)鏡像;
[0007]S2:通過Libvirt接口調(diào)用所述安全度量模塊,通過所述安全度量模塊度量當(dāng)前虛擬機(jī)鏡像中的當(dāng)前關(guān)鍵鏡像文件;
[0008]S3:根據(jù)當(dāng)前關(guān)鍵鏡像文件的度量結(jié)果,確定是否啟動(dòng)當(dāng)前虛擬機(jī)。
[0009]進(jìn)一步地,在所述SI之前,還包括:預(yù)先設(shè)置每個(gè)當(dāng)前關(guān)鍵鏡像文件的第一哈?;鶞?zhǔn)值;
[0010]所述S2中所述度量當(dāng)前虛擬機(jī)鏡像中的當(dāng)前關(guān)鍵鏡像文件,包括:
[0011]對(duì)當(dāng)前虛擬機(jī)鏡像中的當(dāng)前關(guān)鍵鏡像文件進(jìn)行安全散列算法SHA-1度量,得到每個(gè)當(dāng)前關(guān)鍵鏡像文件的SHA-1哈希值;
[0012]所述S3,包括:
[0013]判斷是否滿足每個(gè)當(dāng)前關(guān)鍵鏡像文件的SHA-1哈希值與對(duì)應(yīng)的第一哈?;鶞?zhǔn)值均相等,如果是,則確定啟動(dòng)當(dāng)前虛擬機(jī),否則,確定不啟動(dòng)當(dāng)前虛擬機(jī)。
[0014]進(jìn)一步地,所述預(yù)先確定虛擬機(jī)鏡像中待度量的關(guān)鍵鏡像文件,包括:預(yù)先設(shè)置存儲(chǔ)虛擬機(jī)鏡像中待度量的關(guān)鍵鏡像文件的信息的列表;
[0015]所述S2中所述度量當(dāng)前虛擬機(jī)鏡像中的當(dāng)前關(guān)鍵鏡像文件,包括:遍歷所述列表,根據(jù)待度量的關(guān)鍵鏡像文件的信息,確定當(dāng)前關(guān)鍵鏡像文件,度量當(dāng)前虛擬機(jī)鏡像中的當(dāng)前關(guān)鍵鏡像文件。
[0016]進(jìn)一步地,在所述SI之前,還包括:預(yù)先設(shè)置當(dāng)前關(guān)鍵鏡像文件的第二哈?;鶞?zhǔn)值;
[0017]所述S2中所述度量當(dāng)前虛擬機(jī)鏡像中的當(dāng)前關(guān)鍵鏡像文件,包括:
[0018]對(duì)當(dāng)前虛擬機(jī)鏡像中的當(dāng)前關(guān)鍵鏡像文件進(jìn)行安全散列算法SHA-1度量,得到當(dāng)前關(guān)鍵鏡像文件的SHA-1哈希值;
[0019]所述S3,包括:
[0020]判斷所有當(dāng)前關(guān)鍵鏡像文件的SHA-1哈希值之和與所述第二哈希基準(zhǔn)值是否相等,如果是,則確定啟動(dòng)當(dāng)前虛擬機(jī),否則,確定不啟動(dòng)當(dāng)前虛擬機(jī)。
[0021]進(jìn)一步地,所述預(yù)先設(shè)置安全度量模塊,包括:通過Libvirt庫設(shè)置所述安全度量豐旲塊。
[0022]另一方面,本發(fā)明提供了一種保護(hù)虛擬機(jī)的安全的裝置,包括:
[0023]第一確定單元,用于確定虛擬機(jī)鏡像中待度量的關(guān)鍵鏡像文件;
[0024]第一設(shè)置單元,用于設(shè)置安全度量模塊;
[0025]加載單元,用于加載當(dāng)前虛擬機(jī)的當(dāng)前虛擬機(jī)鏡像;
[0026]度量單元,用于通過Libvirt接口調(diào)用所述安全度量模塊,通過所述安全度量模塊度量當(dāng)前虛擬機(jī)鏡像中的當(dāng)前關(guān)鍵鏡像文件;
[0027]第二確定單元,用于根據(jù)當(dāng)前關(guān)鍵鏡像文件的度量結(jié)果,確定是否啟動(dòng)當(dāng)前虛擬機(jī)。
[0028]進(jìn)一步地,還包括:第二設(shè)置單元,用于設(shè)置每個(gè)當(dāng)前關(guān)鍵鏡像文件的第一哈希基準(zhǔn)值;
[0029]所述度量單元,用于在執(zhí)行度量當(dāng)前虛擬機(jī)鏡像中的當(dāng)前關(guān)鍵鏡像文件時(shí),具體執(zhí)行:對(duì)當(dāng)前虛擬機(jī)鏡像中的當(dāng)前關(guān)鍵鏡像文件進(jìn)行安全散列算法SHA-1度量,得到每個(gè)當(dāng)前關(guān)鍵鏡像文件的SHA-1哈希值;
[0030]所述第二確定單元,用于判斷是否滿足每個(gè)當(dāng)前關(guān)鍵鏡像文件的SHA-1哈希值與對(duì)應(yīng)的第一哈?;鶞?zhǔn)值均相等,當(dāng)判斷結(jié)果為是時(shí),則確定啟動(dòng)當(dāng)前虛擬機(jī),當(dāng)判斷結(jié)果為否時(shí),確定不啟動(dòng)當(dāng)前虛擬機(jī)。
[0031]進(jìn)一步地,所述第一確定單元,用于設(shè)置存儲(chǔ)虛擬機(jī)鏡像中待度量的關(guān)鍵鏡像文件的信息的列表;
[0032]所述度量單元,用于在執(zhí)行度量當(dāng)前虛擬機(jī)鏡像中的當(dāng)前關(guān)鍵鏡像文件時(shí),具體執(zhí)行:遍歷所述列表,根據(jù)待度量的關(guān)鍵鏡像文件的信息,確定當(dāng)前關(guān)鍵鏡像文件,度量當(dāng)前虛擬機(jī)鏡像中的當(dāng)前關(guān)鍵鏡像文件。
[0033]進(jìn)一步地,還包括:第三設(shè)置單元,用于設(shè)置當(dāng)前關(guān)鍵鏡像文件的第二哈?;鶞?zhǔn)值;
[0034]所述度量單元,用于在執(zhí)行度量當(dāng)前虛擬機(jī)鏡像中的當(dāng)前關(guān)鍵鏡像文件時(shí),具體執(zhí)行:對(duì)當(dāng)前虛擬機(jī)鏡像中的當(dāng)前關(guān)鍵鏡像文件進(jìn)行安全散列算法SHA-1度量,得到當(dāng)前關(guān)鍵鏡像文件的SHA-1哈希值;
[0035]所述第二確定單元,用于判斷所有當(dāng)前關(guān)鍵鏡像文件的SHA-1哈希值之和與所述第二哈?;鶞?zhǔn)值是否相等,當(dāng)判斷結(jié)果為是時(shí),確定啟動(dòng)當(dāng)前虛擬機(jī),當(dāng)判斷結(jié)果為否時(shí),確定不啟動(dòng)當(dāng)前虛擬機(jī)。
[0036]進(jìn)一步地,所述第一設(shè)置單元,用于通過Libvirt庫設(shè)置所述安全度量模塊。
[0037]本發(fā)明提供了一種保護(hù)虛擬機(jī)的安全的方法及裝置,在啟動(dòng)虛擬機(jī)之前,先對(duì)虛擬機(jī)的關(guān)鍵鏡像文件進(jìn)行度量,根據(jù)度量結(jié)果來確定關(guān)鍵鏡像文件是否被篡改過,當(dāng)關(guān)鍵鏡像文件被篡改過時(shí),則不啟動(dòng)當(dāng)前虛擬機(jī),當(dāng)關(guān)鍵鏡像文件沒有被篡改過時(shí),則啟動(dòng)當(dāng)前虛擬機(jī),通過在虛擬機(jī)啟動(dòng)前對(duì)虛擬機(jī)鏡像進(jìn)行檢測(cè),能夠?qū)ΡWo(hù)虛擬機(jī)的安全,通過Libvirt接口調(diào)用預(yù)先設(shè)置的安全度量模塊來實(shí)現(xiàn)對(duì)當(dāng)前關(guān)鍵鏡像文件度量,能夠適用于多種虛擬平臺(tái)下的虛擬機(jī),更加靈活方便。
【附圖說明】
[0038]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0039]圖1是本發(fā)明一實(shí)施例提供的一種保護(hù)虛擬機(jī)的安全的方法的流程圖;
[0040]圖2是一種Libvirt庫的層次結(jié)構(gòu)示意圖;
[0041]圖3是一種KVM虛擬機(jī)的系統(tǒng)架構(gòu)示意圖;
[0042]圖4是本發(fā)明一實(shí)施例提供的另一種保護(hù)虛擬機(jī)的安全的方法的流程圖;
[0043]圖5是本發(fā)明一實(shí)施例提供的一種保護(hù)虛擬機(jī)的安全的裝置的示意圖。
【具體實(shí)施方式】
[0044]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0045]如圖1所示,本發(fā)明實(shí)施例提供了一種保護(hù)虛擬機(jī)的安全的方法,該方法可以包括以下步驟:
[0046]SO:預(yù)先確定虛擬機(jī)鏡像中待度量的關(guān)鍵鏡像文件,預(yù)先設(shè)置安全度量模塊;
[0047]S1:加載當(dāng)前虛擬機(jī)的當(dāng)前虛擬機(jī)鏡像;
[0048]S2:通過Libvirt接口調(diào)用所述安全度量模塊,通過所述安全度量模塊度量當(dāng)前虛擬機(jī)鏡像中的當(dāng)前關(guān)鍵鏡像文件;
[0049]S3:根據(jù)當(dāng)前關(guān)鍵鏡像文件的度量結(jié)果,確定是否啟動(dòng)當(dāng)前虛擬機(jī)。
[0050]本發(fā)明實(shí)施例提供了一種保護(hù)虛擬機(jī)的安全的方法,在啟動(dòng)虛擬機(jī)之前,先對(duì)虛擬機(jī)的關(guān)鍵鏡像文件進(jìn)行度量,根據(jù)度量結(jié)果來確定關(guān)鍵鏡像文件是否被篡改過,當(dāng)關(guān)鍵鏡像文件被篡改過時(shí),則不啟動(dòng)當(dāng)前虛擬機(jī),當(dāng)關(guān)鍵鏡像文件沒有被篡改過時(shí),則啟動(dòng)當(dāng)前虛擬機(jī),通過在虛擬機(jī)啟動(dòng)前對(duì)虛擬機(jī)鏡像進(jìn)行檢測(cè),能夠?qū)ΡWo(hù)虛擬機(jī)的安全,通過Libvirt接口調(diào)用預(yù)先設(shè)置的安全度量模塊來實(shí)現(xiàn)對(duì)當(dāng)前關(guān)鍵鏡像文件度量,能夠適用于多種虛擬平臺(tái)下的虛擬機(jī),更加靈活方便。
[0051]Libvirt是目前對(duì)虛擬機(jī)管理、控制應(yīng)用最為廣泛的工具和API (Applicat1nProgramming Interface,應(yīng)用程序編程接口),針對(duì)不同的虛擬化平臺(tái),提供了統(tǒng)一的接口。它主要通過分層設(shè)計(jì)思路,保證了底層