【摘 要】 本文基于KVM/QEMU底層內核,研發(fā)了一套應用多租戶安全隔離技術的服務器虛擬化系統(tǒng),闡述了該系統(tǒng)自主可控虛擬化多租戶安全隔離的技術框架,并通過在多家軍工單位的部署應用,實現了對網絡和用戶數據的機密性、完備性、隔離性的安全防護。
【關鍵詞】 虛擬化 強制訪問控制 網絡安全
1 引言
虛擬化安全作為我國推進自主可控進程中的重要研究內容之一,是國家基礎軟件領域的核心目標[1]。由于虛擬化技術在我國起步較晚,導致國外廠商產品在國內的應用較為普及。在虛擬化安全方面,我國研發(fā)設計及標準化工作正處于起步階段。虛擬機之間共享物理資源,多租戶之間能夠通過側通道攻擊來從底層的物理資源中獲得有用的信息,成為虛擬化安全面臨的重要研究課題。
2 虛擬化安全
目前,云計算的發(fā)展處于虛擬化技術與企事業(yè)單位業(yè)務深入融合所帶來的全新變革階段,隨著虛擬化的推廣,虛擬環(huán)境遭受的攻擊愈加多樣化,現階段最為緊要的任務是解決虛擬化環(huán)境下的安全問題[2],主要包括以下4個方面。
(1)外部攻擊
虛擬環(huán)境下服務器和虛擬機同樣面臨著與物理環(huán)境中一樣的安全風險,例如惡意軟件、病毒感染、漏洞利用和SQL注入等手段。
(2)內部攻擊
伴隨著云計算邊界消失,數據安全無法得到保證。虛擬機之間的攻擊、流量不可見,導致無法進行有效檢測和防護。
(3)資源分配
在虛擬機上同時執(zhí)行病毒掃描和防病毒更新等占用內存、CPU、網絡帶寬等操作會導致系統(tǒng)資源分配不均,在快照、休眠、遷移等過程中會產生防護間隙。
(4)安全管理
虛擬環(huán)境的復雜性使安全管理變得困難,在集群中虛擬機可動態(tài)遷移、自主配置,這使得實施、維護、配置安全策略變得復雜。
3 虛擬化系統(tǒng)
由于虛擬化環(huán)境的開放性和網絡復雜性,核心重要資源面臨著安全威脅。本文基于KVM/QEMU底層內核,自主研發(fā)了一套安全穩(wěn)定的國產虛擬化系統(tǒng),其主要結構如圖1所示,本系統(tǒng)在虛擬化基礎上采用角色管理、策略控制、日志審計、身份認證等訪問控制安全措施,利用虛擬化構建了虛擬機房環(huán)境。
3.1 網絡安全
(1)管理、數據通信分離
通過虛擬網橋綁定不同的物理網口,讓管理口和虛擬機數據口互相隔離。
(2)QoS流量控制
提供虛擬機網絡流量和接口帶寬的安全管理功能,控制虛擬機的網絡流量,保證整個虛擬系統(tǒng)的穩(wěn)定性。
(3)虛擬防火墻
能抵抗外部發(fā)起的針對虛擬化產品及虛擬機的拒絕服務攻擊;能抵抗內部發(fā)起的針對虛擬化產品及其他虛擬機的拒絕服務攻擊;能阻止內部發(fā)起的針對虛擬網絡外部的拒絕服務攻擊。
(4)訪問控制
通過設置訪問控制規(guī)則,提供虛擬機和宿主機之間的資源管控及虛擬機之間的資源管控,確保虛擬機之間的資源隔離、內存隔離、存儲隔離,防止虛擬機鏡像文件的異常掛載,保障虛擬機運行安全。
3.2 網絡隔離
(1)物理資源與虛擬資源隔離
保證每個虛擬機都能獲得獨立的CPU指令、內存和存儲等物理資源;在虛擬機監(jiān)視器層提供虛擬機與宿主機之間的安全隔離措施,控制虛擬機之間以及宿主機之間所有的數據通信,并禁止或限制虛擬機對物理存儲實體的直接訪問。
(2)虛擬CPU指令隔離
通過虛擬機虛擬CPU與物理主機物理處理器核心綁定的方式,實現各個虛擬CPU隔離。物理CPU核心只能綁定一個虛擬CPU核心。在這種方式下,因為每個虛擬CPU的計算負載、指令實際運行在被綁定的物理核心上,而且不同的虛擬機CPU對應不同的物理核心,因此各個虛擬CPU的指令是相互隔離的。
(3)內存隔離
使用KVM+QEMU虛擬化技術,以Linux操作系統(tǒng)作為基礎平臺。在該技術方案下,每一個虛擬機對應一個QEMU進程,QEMU進程提供虛擬機運行所需要內存等所有資源,即虛擬機使用的內存等資源屬于被分配給QEMU進程的內存資源。在Linux操作系統(tǒng)下,不同的進程之間是相互隔離的,不同進程之間的虛擬地址相互獨立,每個進程無權訪問其他進程的地址空間,即內存空間相互隔離。因此虛擬化系統(tǒng)中每個虛擬機的內存空間也是相互隔離的。
4 多租戶安全隔離技術
虛擬化環(huán)境中虛擬機之間的隔離程度是虛擬化平臺安全的關鍵,多租戶虛擬化系統(tǒng)是指允許大量的用戶可以通過共享虛擬化系統(tǒng)上的數據資料和服務資源來實現服務需求。由于虛擬化環(huán)境的開放性、邊界模糊和網絡復雜性,核心重要資源面臨著非授權訪問、越界訪問等安全威脅,F有的虛擬機隔離機制主要包括以下4種。
(1)硬件提供的內存保護機制
系統(tǒng)管理模式(System Management Mode,SMM)是一個對所有Intel處理器都統(tǒng)一的標準體系結構特性,在這種模式下可以執(zhí)行高級電源管理、硬件控制和運行OEM代碼。然而它對系統(tǒng)是透明的,這種硬件提供的保護機制是不可控的。
(2)硬件協助的安全I/O管理機制
硬件協助的安全I/O管理機制能夠利用加解密密鑰控制虛擬機占用的內存空間、I/O復用等問題,將各虛擬機與管理主機、虛擬機與虛擬機之間的內存、虛擬I/O設備隔離開來,達到增強虛擬機之間隔離性的目的。
(3)進程地址空間的保護機制
當進程啟動時,系統(tǒng)會為其分配地址空間,這些地址空間對于每個進程來說都是私有的,其他進程不可訪問,只有進程中的線程能夠訪問。然而現在進程地址空間很容易被遠程注入、系統(tǒng)鉤子等手段侵入。
(4)虛擬池、資源池地址邏輯隔離
服務器將租戶請求的資源池地址進行正交化隔離,不同的虛擬池也需要進行安全隔離,同時對租戶的訪問權限信息進行正交化隔離,例如域名地址、用戶名、密碼等,以確保各個虛擬池間的物理地址安全隔離。
5 多租戶訪問控制體系
在虛擬化環(huán)境下,用戶之間的通信由訪問控制保證,由于每個用戶也都有自己的訪問控制策略,而在跨多個域的資源共享與訪問時需要對共享資源制定一個公共、雙方都認同的訪問控制策略,更使得整個虛擬化系統(tǒng)的訪問控制變得復雜,對訪問控制策略的管理正逐漸成為虛擬化系統(tǒng)重要的研究方向。虛擬化環(huán)境下訪問控制體系框架如圖2所示。
虛擬化訪問控制架構可以分為用戶、云平臺、網絡基礎環(huán)境3個部分。在用戶和虛擬化環(huán)境之間通過訪問控制規(guī)則(如訪問控制列表ACL等)和訪問控制策略進行訪問控制。在虛擬化系統(tǒng)中,虛擬機之間進行虛擬設備的訪問控制,對于存儲在虛擬化系統(tǒng)內部的數據可以采用基于某種訪問控制策略和基于密碼學的訪問控制相結合的手段進行安全防護。在虛擬化系統(tǒng)和網絡基礎環(huán)境中采用訪問控制規(guī)則進行訪問控制。
虛擬化訪問控制體系研究主要包括權限控制、身份認證、策略管理、行為審計等內容。
5.1 權限控制
權限控制是虛擬化系統(tǒng)安全運行的基礎,包括群組管理、虛擬用戶管理和權限管理3部分,能夠為系統(tǒng)安全、靈活運行提供安全保障。虛擬化通過定義不同的角色,將權限與角色進行結合,實現虛擬資源的安全使用。同時為杜絕超級管理員權限過大帶來的不安全因素,系統(tǒng)設置系統(tǒng)管理員、安全管理員、審計管理員3種管理角色,系統(tǒng)管理員負責虛擬資源的運行維護,安全管理員主要負責對虛擬資源的審計,審計管理員負責對管理員行為進行監(jiān)控,3種角色之間能夠相互制約相互監(jiān)督,防止權限集中帶來的安全隱患。群組管理是權限控制的基礎,為后續(xù)的虛擬用戶管理、權限管理與資源安全訪問控制提供可能。通過群組管理與權限管理相結合實現多個虛擬用戶權限的集中控制,提高系統(tǒng)的易用性,如圖3所示。
虛擬用戶管理是角色管理的重要組成部分,虛擬用戶是使用虛擬資源的實際個體,也是虛擬資源的最終使用者,能夠對虛擬資源進行訪問。系統(tǒng)通過為不同的虛擬用戶分配不同的權限實現虛擬用戶間使用資源的隔離,保證用戶數據的安全性。
權限是對虛擬資源訪問的許可,權限管理是系統(tǒng)安全運行的必要保障。權限過大會降低虛擬資源數據的安全性,不僅能夠給每個用戶設置權限,而且能夠設置組權限,在提高安全性的同時增加系統(tǒng)的易用性。同時,除普通用戶、組權限之外,角色管理實現了用戶與訪問權限、資源的邏輯分離。
5.2 身份認證
在用戶身份的認證上,利用USBKey技術,結合動態(tài)口令技術,全面替換操作系統(tǒng)的認證模塊,實現用戶身份的登錄系統(tǒng)一次一密,用戶登錄系統(tǒng)時需要通過USBKey或生物識別認證,并將用戶使用的客戶端MAC信息進行認證;通過和PKI技術及身份認證技術結合,保證用戶身份的唯一性;通過USBKey或生物識別認證進行登錄, 保證管理員身份的合法性, 進而保證系統(tǒng)安全性,確保用戶身份安全認證。
5.3 策略管理
策略管理是保證虛擬化系統(tǒng)安全運行的有效方式,策略是對虛擬用戶要求、虛擬環(huán)境安全要求等方面的集中體現。系統(tǒng)通過設置安全訪問策略,實現用戶對虛擬資源的訪問控制,通過設置數據流的單向、雙向策略保證用戶數據的安全性;通過設置外設安全策略保證外設設備的安全使用。
5.4 行為審計
行為審計能夠支持用戶操作日志與虛擬機操作事件的審計管理,詳細審計每個虛擬機操作的具體開始時間、結束時間和具體操作行為,以及管理員的登錄、退出、創(chuàng)建和刪除虛擬機以及創(chuàng)建和刪除用戶等各類事件的具體行為和時間增強系統(tǒng)的安全性。同時能夠審計系統(tǒng)的故障錯誤,為增強系統(tǒng)的可靠性提供有力支撐。
6 結語
隨著云計算的蓬勃發(fā)展,虛擬化系統(tǒng)租戶數量的不斷上升,安全威脅所帶來的危害也急劇增加,因此需要定期對云平臺各類威脅及多租戶安全隔離問題進行安全風險評估,以實現對安全風險有效的控制與處理,提高系統(tǒng)對異常訪問的預警能力并對它進行安全隔離。針對虛擬化技術的多租戶架構平臺的安全威脅,為虛擬化系統(tǒng)應用提供機密性、完整性、真實性、可控性和可用性保障是必要的。
(原載于《保密科學技術》雜志2020年10月刊)