國家保密局網(wǎng)站>>保密科技

基于KVM/QEMU虛擬化系統(tǒng)的多租戶安全隔離技術(shù)研究

2021年04月09日    來源:國家保密科技測評中心【字體: 打印

【摘 要】 本文基于KVM/QEMU底層內(nèi)核,研發(fā)了一套應(yīng)用多租戶安全隔離技術(shù)的服務(wù)器虛擬化系統(tǒng),闡述了該系統(tǒng)自主可控虛擬化多租戶安全隔離的技術(shù)框架,并通過在多家軍工單位的部署應(yīng)用,實現(xiàn)了對網(wǎng)絡(luò)和用戶數(shù)據(jù)的機密性、完備性、隔離性的安全防護。

【關(guān)鍵詞】 虛擬化 強制訪問控制 網(wǎng)絡(luò)安全

1 引言

虛擬化安全作為我國推進自主可控進程中的重要研究內(nèi)容之一,是國家基礎(chǔ)軟件領(lǐng)域的核心目標[1]。由于虛擬化技術(shù)在我國起步較晚,導(dǎo)致國外廠商產(chǎn)品在國內(nèi)的應(yīng)用較為普及。在虛擬化安全方面,我國研發(fā)設(shè)計及標準化工作正處于起步階段。虛擬機之間共享物理資源,多租戶之間能夠通過側(cè)通道攻擊來從底層的物理資源中獲得有用的信息,成為虛擬化安全面臨的重要研究課題。

2 虛擬化安全

目前,云計算的發(fā)展處于虛擬化技術(shù)與企事業(yè)單位業(yè)務(wù)深入融合所帶來的全新變革階段,隨著虛擬化的推廣,虛擬環(huán)境遭受的攻擊愈加多樣化,現(xiàn)階段最為緊要的任務(wù)是解決虛擬化環(huán)境下的安全問題[2],主要包括以下4個方面。

(1)外部攻擊

虛擬環(huán)境下服務(wù)器和虛擬機同樣面臨著與物理環(huán)境中一樣的安全風險,例如惡意軟件、病毒感染、漏洞利用和SQL注入等手段。

(2)內(nèi)部攻擊

伴隨著云計算邊界消失,數(shù)據(jù)安全無法得到保證。虛擬機之間的攻擊、流量不可見,導(dǎo)致無法進行有效檢測和防護。

(3)資源分配

在虛擬機上同時執(zhí)行病毒掃描和防病毒更新等占用內(nèi)存、CPU、網(wǎng)絡(luò)帶寬等操作會導(dǎo)致系統(tǒng)資源分配不均,在快照、休眠、遷移等過程中會產(chǎn)生防護間隙。

(4)安全管理

虛擬環(huán)境的復(fù)雜性使安全管理變得困難,在集群中虛擬機可動態(tài)遷移、自主配置,這使得實施、維護、配置安全策略變得復(fù)雜。

3 虛擬化系統(tǒng)

由于虛擬化環(huán)境的開放性和網(wǎng)絡(luò)復(fù)雜性,核心重要資源面臨著安全威脅。本文基于KVM/QEMU底層內(nèi)核,自主研發(fā)了一套安全穩(wěn)定的國產(chǎn)虛擬化系統(tǒng),其主要結(jié)構(gòu)如圖1所示,本系統(tǒng)在虛擬化基礎(chǔ)上采用角色管理、策略控制、日志審計、身份認證等訪問控制安全措施,利用虛擬化構(gòu)建了虛擬機房環(huán)境。

3.1 網(wǎng)絡(luò)安全

(1)管理、數(shù)據(jù)通信分離

通過虛擬網(wǎng)橋綁定不同的物理網(wǎng)口,讓管理口和虛擬機數(shù)據(jù)口互相隔離。

(2)QoS流量控制

提供虛擬機網(wǎng)絡(luò)流量和接口帶寬的安全管理功能,控制虛擬機的網(wǎng)絡(luò)流量,保證整個虛擬系統(tǒng)的穩(wěn)定性。

(3)虛擬防火墻

能抵抗外部發(fā)起的針對虛擬化產(chǎn)品及虛擬機的拒絕服務(wù)攻擊;能抵抗內(nèi)部發(fā)起的針對虛擬化產(chǎn)品及其他虛擬機的拒絕服務(wù)攻擊;能阻止內(nèi)部發(fā)起的針對虛擬網(wǎng)絡(luò)外部的拒絕服務(wù)攻擊。

(4)訪問控制

通過設(shè)置訪問控制規(guī)則,提供虛擬機和宿主機之間的資源管控及虛擬機之間的資源管控,確保虛擬機之間的資源隔離、內(nèi)存隔離、存儲隔離,防止虛擬機鏡像文件的異常掛載,保障虛擬機運行安全。

3.2 網(wǎng)絡(luò)隔離

(1)物理資源與虛擬資源隔離

保證每個虛擬機都能獲得獨立的CPU指令、內(nèi)存和存儲等物理資源;在虛擬機監(jiān)視器層提供虛擬機與宿主機之間的安全隔離措施,控制虛擬機之間以及宿主機之間所有的數(shù)據(jù)通信,并禁止或限制虛擬機對物理存儲實體的直接訪問。

(2)虛擬CPU指令隔離

通過虛擬機虛擬CPU與物理主機物理處理器核心綁定的方式,實現(xiàn)各個虛擬CPU隔離。物理CPU核心只能綁定一個虛擬CPU核心。在這種方式下,因為每個虛擬CPU的計算負載、指令實際運行在被綁定的物理核心上,而且不同的虛擬機CPU對應(yīng)不同的物理核心,因此各個虛擬CPU的指令是相互隔離的。

(3)內(nèi)存隔離

使用KVM+QEMU虛擬化技術(shù),以Linux操作系統(tǒng)作為基礎(chǔ)平臺。在該技術(shù)方案下,每一個虛擬機對應(yīng)一個QEMU進程,QEMU進程提供虛擬機運行所需要內(nèi)存等所有資源,即虛擬機使用的內(nèi)存等資源屬于被分配給QEMU進程的內(nèi)存資源。在Linux操作系統(tǒng)下,不同的進程之間是相互隔離的,不同進程之間的虛擬地址相互獨立,每個進程無權(quán)訪問其他進程的地址空間,即內(nèi)存空間相互隔離。因此虛擬化系統(tǒng)中每個虛擬機的內(nèi)存空間也是相互隔離的。

4 多租戶安全隔離技術(shù)

虛擬化環(huán)境中虛擬機之間的隔離程度是虛擬化平臺安全的關(guān)鍵,多租戶虛擬化系統(tǒng)是指允許大量的用戶可以通過共享虛擬化系統(tǒng)上的數(shù)據(jù)資料和服務(wù)資源來實現(xiàn)服務(wù)需求。由于虛擬化環(huán)境的開放性、邊界模糊和網(wǎng)絡(luò)復(fù)雜性,核心重要資源面臨著非授權(quán)訪問、越界訪問等安全威脅,F(xiàn)有的虛擬機隔離機制主要包括以下4種。

(1)硬件提供的內(nèi)存保護機制

系統(tǒng)管理模式(System Management Mode,SMM)是一個對所有Intel處理器都統(tǒng)一的標準體系結(jié)構(gòu)特性,在這種模式下可以執(zhí)行高級電源管理、硬件控制和運行OEM代碼。然而它對系統(tǒng)是透明的,這種硬件提供的保護機制是不可控的。

(2)硬件協(xié)助的安全I/O管理機制

硬件協(xié)助的安全I/O管理機制能夠利用加解密密鑰控制虛擬機占用的內(nèi)存空間、I/O復(fù)用等問題,將各虛擬機與管理主機、虛擬機與虛擬機之間的內(nèi)存、虛擬I/O設(shè)備隔離開來,達到增強虛擬機之間隔離性的目的。

(3)進程地址空間的保護機制

當進程啟動時,系統(tǒng)會為其分配地址空間,這些地址空間對于每個進程來說都是私有的,其他進程不可訪問,只有進程中的線程能夠訪問。然而現(xiàn)在進程地址空間很容易被遠程注入、系統(tǒng)鉤子等手段侵入。

(4)虛擬池、資源池地址邏輯隔離

服務(wù)器將租戶請求的資源池地址進行正交化隔離,不同的虛擬池也需要進行安全隔離,同時對租戶的訪問權(quán)限信息進行正交化隔離,例如域名地址、用戶名、密碼等,以確保各個虛擬池間的物理地址安全隔離。

5 多租戶訪問控制體系

在虛擬化環(huán)境下,用戶之間的通信由訪問控制保證,由于每個用戶也都有自己的訪問控制策略,而在跨多個域的資源共享與訪問時需要對共享資源制定一個公共、雙方都認同的訪問控制策略,更使得整個虛擬化系統(tǒng)的訪問控制變得復(fù)雜,對訪問控制策略的管理正逐漸成為虛擬化系統(tǒng)重要的研究方向。虛擬化環(huán)境下訪問控制體系框架如圖2所示。

虛擬化訪問控制架構(gòu)可以分為用戶、云平臺、網(wǎng)絡(luò)基礎(chǔ)環(huán)境3個部分。在用戶和虛擬化環(huán)境之間通過訪問控制規(guī)則(如訪問控制列表ACL等)和訪問控制策略進行訪問控制。在虛擬化系統(tǒng)中,虛擬機之間進行虛擬設(shè)備的訪問控制,對于存儲在虛擬化系統(tǒng)內(nèi)部的數(shù)據(jù)可以采用基于某種訪問控制策略和基于密碼學(xué)的訪問控制相結(jié)合的手段進行安全防護。在虛擬化系統(tǒng)和網(wǎng)絡(luò)基礎(chǔ)環(huán)境中采用訪問控制規(guī)則進行訪問控制。

虛擬化訪問控制體系研究主要包括權(quán)限控制、身份認證、策略管理、行為審計等內(nèi)容。

5.1 權(quán)限控制

權(quán)限控制是虛擬化系統(tǒng)安全運行的基礎(chǔ),包括群組管理、虛擬用戶管理和權(quán)限管理3部分,能夠為系統(tǒng)安全、靈活運行提供安全保障。虛擬化通過定義不同的角色,將權(quán)限與角色進行結(jié)合,實現(xiàn)虛擬資源的安全使用。同時為杜絕超級管理員權(quán)限過大帶來的不安全因素,系統(tǒng)設(shè)置系統(tǒng)管理員、安全管理員、審計管理員3種管理角色,系統(tǒng)管理員負責虛擬資源的運行維護,安全管理員主要負責對虛擬資源的審計,審計管理員負責對管理員行為進行監(jiān)控,3種角色之間能夠相互制約相互監(jiān)督,防止權(quán)限集中帶來的安全隱患。群組管理是權(quán)限控制的基礎(chǔ),為后續(xù)的虛擬用戶管理、權(quán)限管理與資源安全訪問控制提供可能。通過群組管理與權(quán)限管理相結(jié)合實現(xiàn)多個虛擬用戶權(quán)限的集中控制,提高系統(tǒng)的易用性,如圖3所示。

虛擬用戶管理是角色管理的重要組成部分,虛擬用戶是使用虛擬資源的實際個體,也是虛擬資源的最終使用者,能夠?qū)μ摂M資源進行訪問。系統(tǒng)通過為不同的虛擬用戶分配不同的權(quán)限實現(xiàn)虛擬用戶間使用資源的隔離,保證用戶數(shù)據(jù)的安全性。

權(quán)限是對虛擬資源訪問的許可,權(quán)限管理是系統(tǒng)安全運行的必要保障。權(quán)限過大會降低虛擬資源數(shù)據(jù)的安全性,不僅能夠給每個用戶設(shè)置權(quán)限,而且能夠設(shè)置組權(quán)限,在提高安全性的同時增加系統(tǒng)的易用性。同時,除普通用戶、組權(quán)限之外,角色管理實現(xiàn)了用戶與訪問權(quán)限、資源的邏輯分離。

5.2 身份認證

在用戶身份的認證上,利用USBKey技術(shù),結(jié)合動態(tài)口令技術(shù),全面替換操作系統(tǒng)的認證模塊,實現(xiàn)用戶身份的登錄系統(tǒng)一次一密,用戶登錄系統(tǒng)時需要通過USBKey或生物識別認證,并將用戶使用的客戶端MAC信息進行認證;通過和PKI技術(shù)及身份認證技術(shù)結(jié)合,保證用戶身份的唯一性;通過USBKey或生物識別認證進行登錄, 保證管理員身份的合法性, 進而保證系統(tǒng)安全性,確保用戶身份安全認證。

5.3 策略管理

策略管理是保證虛擬化系統(tǒng)安全運行的有效方式,策略是對虛擬用戶要求、虛擬環(huán)境安全要求等方面的集中體現(xiàn)。系統(tǒng)通過設(shè)置安全訪問策略,實現(xiàn)用戶對虛擬資源的訪問控制,通過設(shè)置數(shù)據(jù)流的單向、雙向策略保證用戶數(shù)據(jù)的安全性;通過設(shè)置外設(shè)安全策略保證外設(shè)設(shè)備的安全使用。

5.4 行為審計

行為審計能夠支持用戶操作日志與虛擬機操作事件的審計管理,詳細審計每個虛擬機操作的具體開始時間、結(jié)束時間和具體操作行為,以及管理員的登錄、退出、創(chuàng)建和刪除虛擬機以及創(chuàng)建和刪除用戶等各類事件的具體行為和時間增強系統(tǒng)的安全性。同時能夠?qū)徲嬒到y(tǒng)的故障錯誤,為增強系統(tǒng)的可靠性提供有力支撐。

6 結(jié)語

隨著云計算的蓬勃發(fā)展,虛擬化系統(tǒng)租戶數(shù)量的不斷上升,安全威脅所帶來的危害也急劇增加,因此需要定期對云平臺各類威脅及多租戶安全隔離問題進行安全風險評估,以實現(xiàn)對安全風險有效的控制與處理,提高系統(tǒng)對異常訪問的預(yù)警能力并對它進行安全隔離。針對虛擬化技術(shù)的多租戶架構(gòu)平臺的安全威脅,為虛擬化系統(tǒng)應(yīng)用提供機密性、完整性、真實性、可控性和可用性保障是必要的。

 

(原載于《保密科學(xué)技術(shù)》雜志2020年10月刊)