本發(fā)明涉及信息安全的技術(shù)領(lǐng)域,尤其涉及一種針對(duì)虛擬機(jī)監(jiān)控器的安全加固系統(tǒng)與方法。
背景技術(shù):
云計(jì)算把計(jì)算/存儲(chǔ)/通訊資源集中在云端,通過互聯(lián)網(wǎng)為用戶提供各自服務(wù)。包括:基礎(chǔ)設(shè)施即服務(wù)(Infrastructure-as-a-Service,IaaS),平臺(tái)即服務(wù)(Platform-as-a-Service,PaaS),軟件即服務(wù)(Software-as-a-Service,SaaS)。其中的基礎(chǔ)設(shè)施方面的服務(wù),為用戶提供可伸縮性的計(jì)算/存儲(chǔ)/通訊資源,是云計(jì)算的基礎(chǔ)。
硬件資源的虛擬化是云計(jì)算應(yīng)用中的核心技術(shù),虛擬機(jī)監(jiān)控器自身的安全,是保障運(yùn)行在它之上的虛擬機(jī)的安全性的一個(gè)基本前提,因此虛擬機(jī)監(jiān)控器的安全是保障計(jì)算節(jié)點(diǎn)安全,以及云計(jì)算安全的關(guān)鍵。
如專利申請(qǐng)201410371685.0公布了一種基于虛擬平臺(tái)的安全可信運(yùn)行保護(hù)方法,該申請(qǐng)?jiān)谔摂M化平臺(tái)中引入可信計(jì)算技術(shù),通過LLVM的虛擬機(jī)監(jiān)控器靜態(tài)分析、TPM和IPMI的平臺(tái)完整性遠(yuǎn)程驗(yàn)證、管理域虛擬機(jī)完整性度量、用戶虛擬機(jī)完整性度量和基于軟件行為的數(shù)據(jù)流一致性分析模塊組成實(shí)現(xiàn)虛擬平臺(tái)的安全可信運(yùn)行保證模型。然而該申請(qǐng)是以TPM技術(shù)為核心,對(duì)用戶虛擬機(jī)和用戶進(jìn)行動(dòng)態(tài)度量,而虛擬機(jī)監(jiān)控器和管理域虛擬機(jī)則是在系統(tǒng)啟動(dòng)過程中,基于TPM原理做靜態(tài)分析。但TPM靜態(tài)分析存在檢測(cè)與運(yùn)行相分離的TOCTOU缺陷,而攻擊者所施行的攻擊行為,往往是在系統(tǒng)運(yùn)行過程中進(jìn)行的,因此對(duì)虛擬機(jī)監(jiān)控器的安全防護(hù)還需要加強(qiáng)。
專利申請(qǐng)201510054416.6公布了一種虛擬機(jī)監(jiān)控器信任域分割方法,該專利申請(qǐng)將虛擬機(jī)監(jiān)控器的功能進(jìn)行分解,按照功能的不同,將控制虛擬機(jī)劃分為九個(gè)服務(wù)虛擬機(jī),每一個(gè)服務(wù)虛擬機(jī)都包含一個(gè)單一用途的控制邏輯,每個(gè)服務(wù)虛擬機(jī)僅擁有完成本身功能的權(quán)限,限制每個(gè)組件以所需的最小權(quán)限接入Hypervisor,這使得風(fēng)險(xiǎn)明確化。解決了原有的攻破一個(gè)組件就能獲取全系統(tǒng)的控制權(quán)的問題,提高虛擬機(jī)的安全性。該申請(qǐng)通過減小虛擬機(jī)監(jiān)控器的攻擊面,可以降低被攻擊的幾率,但沒有提出在本質(zhì)上提升虛擬機(jī)監(jiān)控器安全性的措施。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于安全芯片的虛擬機(jī)監(jiān)控器安全加固方法,該方法解決虛擬機(jī)監(jiān)控器在系統(tǒng)運(yùn)行中的完整性和安全性檢測(cè)缺失的問題,達(dá)到虛擬機(jī)監(jiān)控器安全加固的目的。
本發(fā)明的另一個(gè)目的是提供一種基于安全芯片的虛擬機(jī)監(jiān)控器安全加固方法,該方法選取虛擬機(jī)運(yùn)行中的關(guān)鍵點(diǎn)進(jìn)行安全檢測(cè),不但提高了檢測(cè)的效率,同時(shí)也提高了檢測(cè)的準(zhǔn)確性,同時(shí)還能保證檢測(cè)操作的獨(dú)立性和有效性。
本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的。
一種基于安全芯片的虛擬機(jī)監(jiān)控器安全加固方法,其特征在于所述方法在虛擬機(jī)監(jiān)控器中設(shè)置有安全監(jiān)控器,同時(shí)在與計(jì)算節(jié)點(diǎn)相連接處設(shè)置有獨(dú)立的硬件安全監(jiān)控系統(tǒng),虛擬機(jī)監(jiān)控器與所述硬件安全監(jiān)控系統(tǒng)進(jìn)行通信,通過安全監(jiān)控器和硬件安全監(jiān)控系統(tǒng)來實(shí)現(xiàn)對(duì)虛擬機(jī)監(jiān)控器的安全加固。
對(duì)于在虛擬機(jī)中所包含的操作系統(tǒng)和應(yīng)用軟件的運(yùn)行而言,由于執(zhí)行進(jìn)程的調(diào)度和對(duì)硬件資源的訪問都是通過虛擬機(jī)監(jiān)控器的管理來實(shí)現(xiàn)的,因此安全監(jiān)控器就可以采用和虛擬機(jī)監(jiān)控器相同的粒度來監(jiān)控相關(guān)的進(jìn)程和操作,采集相關(guān)的進(jìn)程和操作的運(yùn)行參數(shù)供硬件安全監(jiān)控系統(tǒng)做實(shí)時(shí)的分析,并對(duì)發(fā)現(xiàn)的攻擊行為采取相關(guān)的對(duì)策和防護(hù)處理。
進(jìn)一步,同時(shí)也在采集相關(guān)的進(jìn)程和操作的運(yùn)行參數(shù)這些關(guān)鍵性的運(yùn)行節(jié)點(diǎn)上,采集虛擬機(jī)監(jiān)控器的實(shí)時(shí)存儲(chǔ)映像,通過獨(dú)立的硬件安全監(jiān)控系統(tǒng)對(duì)其完整性進(jìn)行快速檢測(cè),有效防御惡意軟件對(duì)虛擬機(jī)監(jiān)控器的入侵,以及檢測(cè)計(jì)算節(jié)點(diǎn)自身所隱藏的硬件木馬對(duì)虛擬機(jī)監(jiān)控器所產(chǎn)生的破壞。
進(jìn)一步,采用安全微內(nèi)核的形式來實(shí)現(xiàn)虛擬機(jī)監(jiān)控器和安全監(jiān)控器。嚴(yán)格控制虛擬機(jī)監(jiān)控器的代碼規(guī)模,也有利于硬件安全監(jiān)控系統(tǒng)快速獲取其存儲(chǔ)映像,并對(duì)其完整性進(jìn)行快速檢測(cè),有效防御惡意軟件的入侵。
本發(fā)明通過在虛擬機(jī)監(jiān)控器中加入安全監(jiān)控器,同時(shí)加入一個(gè)與計(jì)算節(jié)點(diǎn)相連接的獨(dú)立的硬件安全監(jiān)控系統(tǒng)來實(shí)現(xiàn)對(duì)虛擬機(jī)監(jiān)控器的安全加固。
所述硬件安全監(jiān)控系統(tǒng)一方面可以存儲(chǔ)虛擬機(jī)監(jiān)控器和安全監(jiān)控器的程序代碼,另一方面用來存儲(chǔ)高安全應(yīng)用所需的精簡(jiǎn)操作系統(tǒng)、中間件和應(yīng)用程序。根據(jù)不同應(yīng)用環(huán)境的功能需求和安全需求,可以通過虛擬機(jī)監(jiān)控器配置特定的安全分區(qū),并從硬件安全監(jiān)控系統(tǒng)上載高安全應(yīng)用所需的精簡(jiǎn)操作系統(tǒng)、中間件和應(yīng)用程序到安全分區(qū),適時(shí)啟動(dòng)分區(qū)上集成的虛擬機(jī),完成高安全應(yīng)用預(yù)期的操作,并在操作完成后撤銷對(duì)應(yīng)的虛擬機(jī)和分區(qū)。高安全應(yīng)用運(yùn)行過程中涉及的重要中間數(shù)據(jù)以及最終結(jié)果將保存到硬件安全監(jiān)控系統(tǒng)中,有效防止數(shù)據(jù)和信息的外泄。
進(jìn)一步,硬件安全監(jiān)控系統(tǒng)是由一個(gè)接口與路由芯片和一組安全監(jiān)控芯片組成,所述安全監(jiān)控芯片具有多個(gè),通過接口與路由芯片與虛擬機(jī)監(jiān)控器進(jìn)行通信,同時(shí),芯片之間的通訊均采用安全加密的形式進(jìn)行,保證了攻擊者即使能夠偵聽和獲取芯片間的通訊內(nèi)容,也無法破解這些加密的通訊數(shù)據(jù)。
所述硬件安全監(jiān)控系統(tǒng)和計(jì)算節(jié)點(diǎn)之間通過密碼安全通道進(jìn)行代碼和檢測(cè)數(shù)據(jù)的雙向傳輸,采用安全校驗(yàn)的方式來保證傳輸內(nèi)容的完整性。
本發(fā)明實(shí)施例與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
1、通過安全監(jiān)控器能夠有效地選取虛擬機(jī)運(yùn)行中的關(guān)鍵點(diǎn)進(jìn)行安全檢測(cè),不但提高了檢測(cè)的效率,同時(shí)也提高了檢測(cè)的準(zhǔn)確性。
2、采用獨(dú)立的硬件安全監(jiān)控系統(tǒng)來對(duì)采樣數(shù)據(jù)和虛擬機(jī)監(jiān)控器的實(shí)時(shí)存儲(chǔ)映像進(jìn)行檢測(cè),有效規(guī)避了計(jì)算節(jié)點(diǎn)硬件系統(tǒng)自身的安全缺陷、硬件木馬/邏輯炸彈,保證了檢測(cè)操作的獨(dú)立性和有效性。
3、硬件安全監(jiān)控系統(tǒng)上執(zhí)行的安全檢測(cè)操作是與計(jì)算節(jié)點(diǎn)的系統(tǒng)運(yùn)行并行執(zhí)行的,因此,這樣的處理也降低了安全檢測(cè)運(yùn)算在計(jì)算節(jié)點(diǎn)上執(zhí)行所帶來的性能損耗。
附圖說明
圖1是本發(fā)明所實(shí)施的系統(tǒng)構(gòu)成框圖。
圖2是本發(fā)明所實(shí)施的獨(dú)立硬件安全監(jiān)控系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明所實(shí)現(xiàn)的計(jì)算節(jié)點(diǎn)安全加固如圖1所示,在虛擬機(jī)監(jiān)控器中加入安全監(jiān)控器,同時(shí)在與計(jì)算節(jié)點(diǎn)相連接處設(shè)置有獨(dú)立的硬件安全監(jiān)控系統(tǒng),虛擬機(jī)監(jiān)控器與所述硬件安全監(jiān)控系統(tǒng)進(jìn)行通信,虛擬機(jī)監(jiān)控器連接了用于安全監(jiān)控和安全檢測(cè)的獨(dú)立的硬件安全監(jiān)控系統(tǒng)。
由此,本發(fā)明的具體實(shí)施分為以下三部分:
(1)虛擬機(jī)監(jiān)控器與安全監(jiān)控器的功能融合
由于虛擬機(jī)監(jiān)控器位于操作系統(tǒng)之下,硬件系統(tǒng)之上,它對(duì)軟件和硬件的調(diào)度具有最高的優(yōu)先權(quán),基于虛擬機(jī)監(jiān)控器就可以實(shí)現(xiàn)方便、高效的安全監(jiān)控機(jī)制。如圖1所示,我們?cè)谔摂M機(jī)監(jiān)控器的基礎(chǔ)上加入了一個(gè)安全監(jiān)控器。
對(duì)于虛擬機(jī)中的操作系統(tǒng)和應(yīng)用軟件的運(yùn)行而言,由于執(zhí)行進(jìn)程的調(diào)度和對(duì)硬件資源的訪問都是通過虛擬機(jī)監(jiān)控器的管理來實(shí)現(xiàn)的,因此安全監(jiān)控器就可以采用和虛擬機(jī)監(jiān)控器相同的粒度來監(jiān)控相關(guān)的進(jìn)程和操作,采集相關(guān)的進(jìn)程和操作的運(yùn)行參數(shù)供安全監(jiān)控系統(tǒng)做實(shí)時(shí)的分析,并對(duì)發(fā)現(xiàn)的攻擊行為采取相關(guān)的對(duì)策和防護(hù)處理。
(2)虛擬機(jī)監(jiān)控器的安全加固
由于虛擬機(jī)監(jiān)控器在安全防護(hù)體系中起到的重要作用,虛擬機(jī)監(jiān)控器自身也逐步成為了惡意軟件攻擊的對(duì)象。對(duì)虛擬機(jī)監(jiān)控器和安全監(jiān)控器進(jìn)行安全加固的一個(gè)重要手段是嚴(yán)格控制它們的代碼規(guī)模,以便于用數(shù)學(xué)證明的方式來檢驗(yàn)和證明其完備性和安全性。
采用安全微內(nèi)核的形式來實(shí)現(xiàn)虛擬機(jī)監(jiān)控器和安全監(jiān)控器。嚴(yán)格控制虛擬機(jī)監(jiān)控器的代碼規(guī)模,也有利于硬件安全監(jiān)控系統(tǒng)快速獲取其存儲(chǔ)映像,并對(duì)其完整性進(jìn)行快速檢測(cè),有效防御惡意軟件的入侵。
(3)獨(dú)立的硬件安全監(jiān)控系統(tǒng)
不同于目前業(yè)界廣泛采用的以軟件形式實(shí)現(xiàn)的虛擬機(jī)安全監(jiān)控器,我們?cè)O(shè)計(jì)并實(shí)現(xiàn)獨(dú)立的硬件安全監(jiān)控系統(tǒng),主要基于以下三方面的考慮:
首先,是提升安全防護(hù)等級(jí)的需要。目前業(yè)界廣泛采用解決方案是以軟件的形式實(shí)現(xiàn)來實(shí)現(xiàn)虛擬機(jī)安全監(jiān)控器,其預(yù)設(shè)的前提是計(jì)算節(jié)點(diǎn)的硬件系統(tǒng)是安全可信的。針對(duì)我國所面臨的信息安全環(huán)境的特點(diǎn),這樣的預(yù)設(shè)前提是不適用的,即計(jì)算節(jié)點(diǎn)的硬件系統(tǒng)也可能存在邏輯炸彈,需要將執(zhí)行安全監(jiān)控和安全檢測(cè)操作的硬件系統(tǒng)和計(jì)算節(jié)點(diǎn)自身的硬件系統(tǒng)進(jìn)行分離,從而達(dá)到更高的隔離性和安全性。
其次,是提升安全監(jiān)控操作自身的安全性和效率的需要。對(duì)于以軟件形式實(shí)現(xiàn)的虛擬機(jī)安全監(jiān)控器,由于安全監(jiān)控行為和系統(tǒng)正常操作都是在同一個(gè)CPU上分時(shí)執(zhí)行的,不但安全監(jiān)控軟件的自身安全性得不到保障,而且插入到系統(tǒng)時(shí)間片中的安全監(jiān)控和安全檢測(cè)操作也會(huì)導(dǎo)致整個(gè)計(jì)算節(jié)點(diǎn)的運(yùn)行效率下降。引入一個(gè)與計(jì)算節(jié)點(diǎn)并行運(yùn)行的獨(dú)立的硬件安全監(jiān)控系統(tǒng)是安全與效率問題化繁為簡(jiǎn)的一個(gè)重要手段。通過專用硬件電路來處理相關(guān)的安全監(jiān)控和檢測(cè)操作,不但提升了安全監(jiān)控系統(tǒng)自身的安全性,同時(shí)可以有效地釋放計(jì)算節(jié)點(diǎn)的硬件資源,提升操作系統(tǒng)和應(yīng)用程序的處理能力。
最后,是實(shí)現(xiàn)高安全應(yīng)用靈活部署的需要。獨(dú)立的硬件安全監(jiān)控系統(tǒng)可以用來模擬網(wǎng)絡(luò)環(huán)境下遠(yuǎn)端服務(wù)器的客戶端軟件發(fā)布功能。硬件安全監(jiān)控系統(tǒng)一方面可以存儲(chǔ)虛擬機(jī)監(jiān)控器和安全監(jiān)控器的程序代碼,同時(shí)也可以用來存儲(chǔ)高安全應(yīng)用所需的精簡(jiǎn)操作系統(tǒng)、中間件和應(yīng)用程序。根據(jù)不同應(yīng)用環(huán)境的功能需求和安全需求,可以通過虛擬機(jī)監(jiān)控器配置特定的安全分區(qū),并從硬件安全監(jiān)控系統(tǒng)上載高安全應(yīng)用所需的精簡(jiǎn)操作系統(tǒng)、中間件和應(yīng)用程序到安全分區(qū),適時(shí)啟動(dòng)分區(qū)上集成的虛擬機(jī),完成高安全應(yīng)用預(yù)期的操作,并在操作完成后撤銷對(duì)應(yīng)的虛擬機(jī)和分區(qū)。高安全應(yīng)用運(yùn)行過程中涉及的重要中間數(shù)據(jù)以及最終結(jié)果將保存到硬件安全監(jiān)控系統(tǒng)中,有效防止數(shù)據(jù)和信息的外泄。
硬件安全監(jiān)控系統(tǒng)的組成如附圖2所示,它由一個(gè)接口與路由芯片和一組安全監(jiān)控芯片組成,這些芯片均采用最高等級(jí)的安全防護(hù)設(shè)計(jì),保證這些芯片即使落入攻擊者手里,攻擊者也無法破解這些芯片。同時(shí)這些芯片之間的通訊均采用安全加密的形式進(jìn)行,保證了攻擊者即使能夠偵聽和獲取芯片間的通訊內(nèi)容,也無法破解這些加密的通訊數(shù)據(jù)。
硬件安全監(jiān)控系統(tǒng)和計(jì)算節(jié)點(diǎn)之間通過密碼安全通道進(jìn)行代碼和檢測(cè)數(shù)據(jù)的雙向傳輸,采用安全校驗(yàn)的方式來保證傳輸內(nèi)容的完整性。
由于受到當(dāng)前安全芯片所能夠集成的Flash存儲(chǔ)器容量的限制,一個(gè)安全監(jiān)控芯片可能無法存儲(chǔ)高安全應(yīng)用所需的全部操作系統(tǒng)、中間件和應(yīng)用程序的內(nèi)容,需要采用安全監(jiān)控芯片組的形式來靈活地?cái)U(kuò)展系統(tǒng)存儲(chǔ)容量;同時(shí)由于當(dāng)前安全芯片的運(yùn)行速度不夠高,為了實(shí)時(shí)地監(jiān)控計(jì)算節(jié)點(diǎn)的運(yùn)行,并在受到攻擊時(shí)及時(shí)做出反應(yīng),也需要采用多個(gè)安全監(jiān)控芯片并行工作的方式,來匹配計(jì)算節(jié)點(diǎn)的速度。
硬件安全監(jiān)控系統(tǒng)的升級(jí)維護(hù)。為了應(yīng)對(duì)手段和花樣不斷翻新的攻擊手段,硬件安全監(jiān)控系統(tǒng)也需要具有動(dòng)態(tài)維護(hù)和動(dòng)態(tài)升級(jí)的能力。這主要是通過遠(yuǎn)端的安全服務(wù)器對(duì)安全監(jiān)控系統(tǒng)中的安全監(jiān)控芯片組進(jìn)行動(dòng)態(tài)維護(hù)和升級(jí)來實(shí)現(xiàn)的。
安全監(jiān)控芯片組利用計(jì)算節(jié)點(diǎn)中的通訊端口和互連網(wǎng)絡(luò)與遠(yuǎn)端的安全服務(wù)器進(jìn)行通訊,將本地發(fā)現(xiàn)的安全攻擊情況上報(bào)給安全服務(wù)器。安全服務(wù)器綜合一個(gè)時(shí)間段所發(fā)現(xiàn)的安全攻擊情況,調(diào)整相關(guān)的安全監(jiān)控策略,安全容錯(cuò)策略,并對(duì)虛擬機(jī)監(jiān)控器、安全監(jiān)控器、高安全應(yīng)用所包含的精簡(jiǎn)操作系統(tǒng)、中間件和應(yīng)用程序進(jìn)行安全升級(jí)。安全服務(wù)器將上述內(nèi)容進(jìn)行加密,通過互連網(wǎng)絡(luò)發(fā)送到與計(jì)算節(jié)點(diǎn)配套的硬件安全監(jiān)控系統(tǒng)中的安全監(jiān)控芯片組,實(shí)現(xiàn)計(jì)算節(jié)點(diǎn)安全加固系統(tǒng)的動(dòng)態(tài)維護(hù)和升級(jí)。
因此,本發(fā)明通過安全監(jiān)控器能夠有效地選取虛擬機(jī)運(yùn)行中的關(guān)鍵點(diǎn)進(jìn)行安全檢測(cè),不但提高了檢測(cè)的效率,同時(shí)也提高了檢測(cè)的準(zhǔn)確性。
而且獨(dú)立的硬件安全監(jiān)控系統(tǒng)來對(duì)采樣數(shù)據(jù)和虛擬機(jī)監(jiān)控器的實(shí)時(shí)存儲(chǔ)映像進(jìn)行檢測(cè),有效規(guī)避了計(jì)算節(jié)點(diǎn)硬件系統(tǒng)自身的安全缺陷、硬件木馬/邏輯炸彈,保證了檢測(cè)操作的獨(dú)立性和有效性。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。