隨著云計算的不斷普及,云平臺安全問題日益凸顯。云平臺資源共享、邊界消失、動態(tài)變化等特點,使得傳統(tǒng)基于邊界的旁路式、外掛式防御手段無法有效應(yīng)對云內(nèi)安全威脅。因此,通過將安全機制與云平臺融合設(shè)計,實現(xiàn)了對云平臺內(nèi)部威脅和攻擊的可視、可控、可防,確保安全機制的不可繞過和性能開銷最小。
0 引 言
云計算技術(shù)作為當(dāng)前信息領(lǐng)域影響最大的技術(shù)之一,其發(fā)展應(yīng)用給社會生活和國防領(lǐng)域帶來了顯著影響。云計算本質(zhì)是一種新的IT資源(硬件、平臺、軟件)的組織和使用技術(shù),引入了新的技術(shù)體系架構(gòu)和組織管理模式,隨之也帶來了許多新的安全風(fēng)險。其具有集中計算、資源動態(tài)變換、邊界消失以及軟件定義等特點,對傳統(tǒng)基于邊界的防護手段提出了新挑戰(zhàn)。
云平臺的安全威脅可以分為外部威脅和內(nèi)部威脅,典型關(guān)系滿足冰山理論觀點。外部威脅容易被關(guān)注,屬于冰山之上的部分;內(nèi)部威脅難以察覺,但其影響巨大,屬于冰山之下的部分。兩者的主要區(qū)別表現(xiàn)在以下3個方面。
?。?)從安全威脅上看,外部威脅通常影響云平臺用戶使用和應(yīng)用運行,屬于被大眾所關(guān)注得到的冰山之上的威脅。內(nèi)部威脅來自安全邊界內(nèi)部,可以躲避防火墻、入侵檢測等外部安全設(shè)備的檢測。
?。?)從攻擊來源上看,內(nèi)部威脅遠大于外部威脅。據(jù)2018年 Cybersecurity Insiders 發(fā)布的“2018年內(nèi)部威脅報告”顯示,當(dāng)今最具破壞性的安全威脅不是來自外部的惡意人員或惡意軟件,而是來自可信賴的內(nèi)部人員,無論是惡意的內(nèi)部人員還是疏忽的內(nèi)部人員。外部威脅影響的可能是冰山一角的某個業(yè)務(wù)或者服務(wù),但內(nèi)部威脅影響的是整個冰山下的信息系統(tǒng)基礎(chǔ)設(shè)施。
?。?)從攻擊面上看,內(nèi)部威脅的攻擊面遠大于外部威脅。外部威脅只有有限的攻擊路徑和攻擊方式,但內(nèi)部威脅容易選擇從安全防御最薄弱的環(huán)節(jié)入手,威脅整個云環(huán)境的安全。所以,隨著云平臺在國防、民生等領(lǐng)域的廣泛應(yīng)用,除云平臺外部安全以外,其自身的安全性研究更加迫切。
#1 云安全現(xiàn)狀概述
目前,云安全聯(lián)盟CSA在云安全指南基礎(chǔ)上推出的“云安全控制矩陣CCM”成為云計算信息安全行業(yè)黃金標(biāo)準(zhǔn),提供了評估云供應(yīng)商整體安全風(fēng)險的基本安全準(zhǔn)則。CCM圍繞云計算體系架構(gòu),提出了16個安全域,包括應(yīng)用程序和接口安全、審計保障與合規(guī)性、業(yè)務(wù)連續(xù)性管理與運營恢復(fù)、變更控制和配置管理、數(shù)據(jù)安全與信息生命周期管理、數(shù)據(jù)中心安全、加密與密鑰管理、治理與風(fēng)險管理、人力資源安全、身份與訪問控制、基礎(chǔ)設(shè)施與虛擬化安全、互操作與可移植性、移動安全、安全事件管理、電子發(fā)現(xiàn)與云取證和供應(yīng)鏈管理以及透明與可審計、威脅、脆弱性管理。通過這 16個安全域構(gòu)建了統(tǒng)一的云安全控制框架,期望減少云中的安全威脅和弱點,從而為強化現(xiàn)有的信息安全控制環(huán)境提供標(biāo)準(zhǔn)化的安全和運營管理。
在云安全產(chǎn)業(yè)層面,亞馬遜、阿里云、華為云等云計算廠商都推出了云安全責(zé)任共擔(dān)模型,明確區(qū)分了用戶的安全責(zé)任和云廠商的安全責(zé)任。云上由租戶承擔(dān),云下由云廠商提供,而用戶的安全通常由安全廠商來保障。云安全共享責(zé)任模型,如圖1所示。
圖1 云安全共享責(zé)任模型
1.1 云上安全
云上安全方面,各個安全廠商基于云平臺的特點,主要在虛擬主機安全、云平臺東西向網(wǎng)絡(luò)安全以及南北向網(wǎng)絡(luò)安全方面做了很多努力,提出了如下一代防火墻、安全資源池、vWAF、vIDS/IPS等虛擬化安全產(chǎn)品。
天融信云計算安全方案包含從外到內(nèi)的3層縱深防御體系,主要由傳統(tǒng)物理邊界安全設(shè)備、安全資源池、分布式防火墻以及vSecCenter云安全管理平臺等組成。
綠盟云安全方案參考了安全域縱深主動防御思想,具備完整的云平臺東西向安全防御、南北向安全防御以及安全資源池統(tǒng)一管理和控制能力。
1.2 云平臺安全
云平臺安全方面,各個云平臺廠商也構(gòu)建了較為全面的云平臺安全防御能力。
阿里云提出了“五橫兩縱”的7個維度的安全架構(gòu)保障。兩個縱向維度分別為賬戶安全(身份和訪問控制)以及安全監(jiān)控和運營管理。五個橫向維度包括最底層的云平臺層面安全、租戶層面的基礎(chǔ)安全、數(shù)據(jù)安全、應(yīng)用安全和業(yè)務(wù)安全。
華為云提出了多維全棧的云安全防護體系,核心包括物理與環(huán)境安全、網(wǎng)絡(luò)安全、平臺安全、API應(yīng)用安全以及數(shù)據(jù)安全5部分。
綜上,無論是針對云平臺的安全標(biāo)準(zhǔn)制定,還是云廠商的安全防護建設(shè),學(xué)者和工程師們都進行了大量研究和實踐。但是,從公開的資料來看,針對云平臺自身核心組件和機制的安全體系研究較少。因此,本文將結(jié)合云平臺機理,從攻擊的角度出發(fā),探索云平臺安全風(fēng)險,并結(jié)合內(nèi)生安全的設(shè)計思想,探討云平臺的內(nèi)生安全技術(shù)。
#2 云平臺IaaS結(jié)構(gòu)分析
眾所周知,云平臺分為IaaS、PaaS和SaaS共3層。IaaS是基礎(chǔ),管理云計算環(huán)境下所有的服務(wù)器、網(wǎng)絡(luò)、存儲等物理設(shè)備,并將其虛擬化為虛擬機、容器、虛機網(wǎng)絡(luò)、虛擬磁盤等動態(tài)、可調(diào)度的云資源。PaaS 層基于這些抽象出來的云資源為上層應(yīng)用構(gòu)建平臺級服務(wù)。SaaS 層基于部分平臺服務(wù)和云資源構(gòu)建云上應(yīng)用服務(wù)。所以,研究云平臺的自身安全需要從源頭出發(fā),通過打開IaaS層的黑盒,分析其組件功能和運行機理,從而找出潛在的安全風(fēng)險。
云平臺的IaaS層定義為通過隱藏特定計算平臺的實際物理特性,為用戶提供抽象的、統(tǒng)一的、模擬的計算環(huán)境。宿主機內(nèi)提供這一虛擬化能力的組件稱為虛擬機監(jiān)視器(Virtual Machine Monitor,VMM),如圖2所示。
圖2 開源KVM云平臺架構(gòu)
?。?)Qemu。用戶態(tài)的一個虛擬化模擬程序,提供一個完整的虛擬主機設(shè)備模擬,包括BIOS、CPU、內(nèi)存、磁盤、網(wǎng)卡、聲卡等虛擬設(shè)備。一個Qemu進程對應(yīng)一個VM運行空間。
(2)KVM.ko。linux內(nèi)核中為Qemu提供虛擬化中斷和IO支持的模塊。
?。?)libvirt。一個虛擬機管理的標(biāo)準(zhǔn)庫,運行在宿主機,支持管理KVM、XEN等平臺虛機,提供虛機創(chuàng)建、啟動、暫停、關(guān)機以及銷毀等接口。
(4)存儲虛擬化。后端SAN存儲通過LVM切割劃分為LV,提供給虛擬機作為虛擬磁盤使用,或者分布式存儲直接提供塊設(shè)備作為虛擬磁盤。
?。?)網(wǎng)絡(luò)虛擬化。通過OVS虛擬交換機為虛擬機提供通信功能。Qemu模擬的虛擬網(wǎng)卡與虛擬交換機相連,交換機與物理網(wǎng)卡相連。
(6)虛擬化管理平臺。對宿主機集群及其虛擬化資源進行統(tǒng)一管理,包括虛機動態(tài)遷移、宿主機彈性伸縮、虛擬機磁盤、CPU以及內(nèi)存管理等。
?。?)VDI協(xié)議。用戶在網(wǎng)絡(luò)可達的任意位置通過遠程連接協(xié)議對虛擬機進行遠程訪問。
#3 云平臺IaaS層安全風(fēng)險分析
針對IaaS層的安全風(fēng)險,本文從分層模型和攻擊路徑兩個視角進行分析。
3.1 分層模型視角的安全風(fēng)險分析
從分層模型來看,它主要包括虛擬機安全風(fēng)險、數(shù)據(jù)和存儲安全風(fēng)險、虛擬化監(jiān)視器安全風(fēng)險、網(wǎng)絡(luò)虛擬化安全風(fēng)險以及管理平面安全風(fēng)險5個部分。
3.1.1 虛擬機安全風(fēng)險
虛擬機面臨傳統(tǒng)主機系統(tǒng)的所有安全風(fēng)險:操作系統(tǒng)和數(shù)據(jù)庫被暴力破解、非法訪問的行為;對服務(wù)器的Web應(yīng)用入侵、上傳木馬以及上傳webshell等攻擊行為;補丁更新不及時導(dǎo)致的漏洞利用;不安全的配置和非必要端口的開放導(dǎo)致的非法訪問和入侵。
3.1.2 數(shù)據(jù)和存儲安全風(fēng)險
在云計算環(huán)境中,存儲虛擬化的引入、物理存儲資源的共用和復(fù)用、虛擬機的數(shù)據(jù)(磁盤內(nèi)容)以文件的形式存儲在物理存儲介質(zhì)上(可通過網(wǎng)絡(luò)方式訪問)等,會帶來以下安全風(fēng)險:
?。?)數(shù)據(jù)在傳輸過程中受到破壞而無法恢復(fù);
(2)在虛擬環(huán)境傳輸?shù)奈募蛘邤?shù)據(jù)被監(jiān)聽;
?。?)虛擬機的內(nèi)存和存儲空間被釋放或再分配后被惡意攻擊者竊??;
?。?)同一個邏輯卷被多個虛擬機掛載,導(dǎo)致邏輯卷上的敏感信息泄露;
(5)云用戶從虛擬機逃逸后獲取鏡像文件或其他用戶的隱私數(shù)據(jù);
?。?)虛擬機遷移和敏感數(shù)據(jù)存儲漂移導(dǎo)致的不可控;
(7)數(shù)據(jù)安全隔離不嚴(yán)格導(dǎo)致惡意用戶可以訪問其他用戶數(shù)據(jù);
?。?)虛擬機鏡像遭到惡意攻擊者篡改或非法讀取。
3.1.3 虛擬化監(jiān)視器安全風(fēng)險
在云計算環(huán)境中,資源是通過虛擬化監(jiān)視器(hypervisor等)的方式對資源進行邏輯切分,存在以下安全風(fēng)險:
(1)hypervisor 管理器缺乏身份鑒別,導(dǎo)致非法登錄hypervisor后進入虛擬機;
?。?)攻擊者控制單臺虛擬機后,通過虛擬機漏洞逃逸到hypervisor獲得物理主機的控制權(quán)限;
?。?)攻擊者控制單臺虛擬機后,通過hypervisor漏洞訪問其他虛擬機;
(4)缺乏QoS機制,導(dǎo)致虛擬機因異常原因產(chǎn)生資源占用過高發(fā)生宿主機或宿主機下的其他虛擬機的資源不足問題,出現(xiàn)正常業(yè)務(wù)異常或不可用的情況;
(5)缺乏對虛擬機的“監(jiān)、控、防”機制,不能及時發(fā)現(xiàn)攻擊行為,待攻擊者攻破虛擬系統(tǒng)后,可以進行任意破壞行為、網(wǎng)絡(luò)行為以及對其他賬戶的猜解和長期潛伏;
(6)虛擬機可能因運行環(huán)境異?;蛴布O(shè)備異常等原因出錯,影響其他虛擬機;
?。?)hypervisor等核心組件缺乏完整性檢測,存在被破壞和被篡改的風(fēng)險。
3.1.4 網(wǎng)絡(luò)虛擬化安全風(fēng)險
在云計算模式下,網(wǎng)絡(luò)虛擬化的引入、物理網(wǎng)絡(luò)資源的共享、傳統(tǒng)邊界的消失等,會帶來以下安全風(fēng)險:
?。?)傳統(tǒng)的防火墻、IDS、IPS等網(wǎng)絡(luò)安全設(shè)備只能部署在物理網(wǎng)絡(luò)的邊界,無法對虛擬機之間的通信進行細粒度訪問控制;
?。?)網(wǎng)絡(luò)資源虛擬化后,導(dǎo)致傳統(tǒng)網(wǎng)絡(luò)邊界消失,無法有效對云環(huán)境流量進行審計、監(jiān)控和管控;
?。?)單臺虛擬機被入侵后對整片虛擬機進行滲透攻擊,并導(dǎo)致病毒等惡意行為在網(wǎng)絡(luò)內(nèi)傳播蔓延,直接威脅到整個虛擬網(wǎng)絡(luò)甚至計算平臺的安全運行;
?。?)虛擬機之間進行的 ARP 攻擊、嗅探;
(5)云內(nèi)網(wǎng)絡(luò)帶寬的非法搶占;
?。?)內(nèi)部用戶之間或者虛擬機之間的端口掃描、暴力破解以及入侵攻擊等行為。
3.1.5 管理平面安全風(fēng)險
管理平面安全風(fēng)險主要涉及如下方面:
(1)虛擬化管理軟件自身存在安全漏洞,導(dǎo)致被攻擊者入侵,通過管理平面破壞云平臺;
?。?)缺乏統(tǒng)一的、高安全的認(rèn)證和鑒權(quán)體系,導(dǎo)致云平臺管理員因賬號非法冒用、暴力破解等帶來安全威脅;
(3)管理員權(quán)限集中,缺乏審計和回溯機制,導(dǎo)致管理平面安全風(fēng)險;
(4)管理平面缺乏安全設(shè)計,導(dǎo)致對服務(wù)器、宿主機、虛擬機等進行操作管理時存在被竊聽、重放的風(fēng)險。
3.2 攻擊路徑視角的安全風(fēng)險分析
從攻擊路徑來分析,IaaS層安全風(fēng)險主要分為宿主機攻擊、虛機逃逸攻擊、VDI協(xié)議攻擊以及接口攻擊,如圖3所示。
3.2.1 宿主機攻擊
如圖3中的攻擊路徑①,惡意管理員或者系統(tǒng)黑客對宿主機進行密碼破解、漏洞滲透后進入系統(tǒng),能夠?qū)μ摂M磁盤進行惡意讀取、毀壞,造成數(shù)據(jù)泄露、破壞等安全威脅,同時也將威脅Qemu、libvirt等核心虛擬化組件,通過替換、病毒注入等方式,從下往上侵入虛擬機,造成信息泄露等安全風(fēng)險。
圖3 云平臺IaaS層攻擊路徑
3.2.2 虛機逃逸攻擊
如圖3中的攻擊路徑②,虛機用戶利用Qemu中模擬設(shè)備驅(qū)動漏洞獲取在宿主機的用戶態(tài)甚至內(nèi)核態(tài)特權(quán),從而完成從虛機到宿主機的入侵;通過截獲虛機管理控制流,實施竊取密碼或者回放攻擊、同駐攻擊等;通過惡意Dump或者讀取其他虛機的內(nèi)存,實施內(nèi)存跨域攻擊;通過宿主機訪問云管理網(wǎng)絡(luò),從而攻擊其他相鄰主機,造成DDoS、入侵等攻擊蔓延。
3.2.3 VDI 協(xié)議攻擊
如圖3中的攻擊路徑③部分,目前,大量使用開源VDI協(xié)議組件。用戶使用惡意VDI客戶端冒充合法用戶連接虛機,對協(xié)議中的圖像數(shù)據(jù)進行竊取、破壞、篡改等。
3.2.4 接口攻擊
如圖3中的攻擊路徑④,通過抓包竊取用戶賬戶,惡意執(zhí)行管理調(diào)度行為,如惡意執(zhí)行快照回滾造成數(shù)據(jù)丟失、引發(fā)遷移風(fēng)暴耗盡云資源等。
#4 云平臺IaaS層內(nèi)生安全設(shè)計
針對以上IaaS云平臺內(nèi)部威脅,采用安全機制與云平臺融合設(shè)計的理念,探索云平臺內(nèi)生安全設(shè)計,如圖4所示。通過對云平臺內(nèi)VMM、VDI協(xié)議、管理平臺等組件從“監(jiān)”“控”“防”3個維度進行設(shè)計改造,確保云平臺IaaS層的內(nèi)部威脅“看得見”“控得住”“防得了”。
圖4 云平臺 IaaS 層內(nèi)生安全設(shè)計
?。?)“看得見”。在VMM層加入監(jiān)視模塊,確保能及時發(fā)現(xiàn)進入宿主機的攻擊。通過在宿主機操作系統(tǒng)層開放內(nèi)核跟蹤功能,對系統(tǒng)調(diào)用、指令序列、信息流、IO序列等進行跟蹤,目標(biāo)是對從攻擊路徑①②進入宿主機系統(tǒng)發(fā)起的中斷風(fēng)暴、非法磁盤IO讀取寫入(非法/敏感文件路徑)、惡意系統(tǒng)調(diào)用(Dump)、非法控制流等攻擊進行監(jiān)控、上報。在網(wǎng)絡(luò)虛擬化安全方面,內(nèi)核網(wǎng)絡(luò)協(xié)議棧增加內(nèi)生防火墻模塊,在虛擬網(wǎng)卡和虛擬網(wǎng)橋之間建立虛擬機流量的過濾和監(jiān)控機制。相比安全廠商通過引流到旁路防火墻進行過濾和監(jiān)控的機制,這種方式更不容易被繞過,且效率更高。
(2)“控得住”。在VMM層加入控制模塊和控制驅(qū)動,確保攻擊一旦被發(fā)現(xiàn),能夠有效阻斷,限制其攻擊和蔓延。這主要包括:在宿主機操作系統(tǒng)層,增加對惡意逃逸虛擬機的Qemu進程的控制模塊,如增加降低風(fēng)險虛擬機進程調(diào)度優(yōu)先級控制指令,限制風(fēng)險虛擬機的資源占用;通過在內(nèi)核網(wǎng)絡(luò)協(xié)議棧的內(nèi)生防火墻模塊,限制風(fēng)險虛擬機的網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)、傳播行為;通過在宿主機內(nèi)核數(shù)據(jù)路徑側(cè)限制風(fēng)險虛擬機存儲讀寫速率,限制其對存儲資源的占用。在存儲訪問控制方面,增加在執(zhí)行敏感指令時的多員確認(rèn)機制,如磁盤的銷毀、復(fù)制、快照回滾、來自其他進程的 IO 訪問等,從而防止磁盤惡意破壞、惡意越權(quán)訪問等攻擊。在虛擬化管理方面,增加三員分權(quán)管理,對管理權(quán)限進行三員劃分,減少超級權(quán)限帶來的安全風(fēng)險,增加對管理操作的審計,防止惡意管理員的蓄意攻擊。
(3)“防得了”。通過將加密、認(rèn)證、可信等安全防御技術(shù)融入IaaS層云平臺內(nèi)部,從而強化IaaS層云平臺的安全防護能力。在IaaS層云平臺組件安全方面,通過在VMM中增加組件完整性度量模塊,在虛擬化組件啟動前或者運行中,對Qemu、libvirt、KVM等關(guān)鍵組件的可執(zhí)行程序和配置進行完整性度量,防止病毒注入、組件替換等攻擊。在數(shù)據(jù)安全方面,虛擬機磁盤、快照、鏡像是IaaS層數(shù)據(jù)的核心資產(chǎn)。通過加密、完整性校驗和剩余信息擦除技術(shù),在虛擬機的全生命周期對虛機磁盤、快照、模板鏡像全鏈路加密、完整性校驗以及殘余信息擦除,確保虛擬機在遷移、備份、導(dǎo)入導(dǎo)出等場景下,磁盤、快照、模板未被非法訪問、篡改以及病毒植入等。在管理平面安全方面,增加API安全保護機制,增加時間戳超時機制、拒絕重復(fù)調(diào)用,限制在一段時間內(nèi)同一用戶調(diào)用次數(shù),防止重放攻擊,同時對IaaS云平臺管理鏈接口調(diào)用(管理平臺→libvirt→Qemu)進行層層鑒權(quán)認(rèn)證,防止中間非法調(diào)用和指令下發(fā)。
#5 結(jié) 語
針對云平臺內(nèi)部安全威脅,通過將安全機制與云平臺融合的內(nèi)生安全防護設(shè)計,可以有效避免目前旁路式、外掛式云安全防護手段無法實施、高效應(yīng)對云平臺內(nèi)部安全威脅的問題,并具有不可繞過、性能開銷小等優(yōu)點。從試驗結(jié)果來看,該機制能夠有效應(yīng)對內(nèi)部惡意管理、虛擬機逃逸、越權(quán)訪問等多種云內(nèi)部安全威脅場景,具備較為廣闊的應(yīng)用前景。
但是,該機制需要與云平臺內(nèi)部組件和機制相結(jié)合,對云平臺組件改造和接口開放要求較高,需要云平臺廠商和安全廠商深度配合才能完成。未來,隨著云安全的逐步深化,有望通過云的安全標(biāo)準(zhǔn)促進云廠商自身內(nèi)在安全的發(fā)展,通過開放更多標(biāo)準(zhǔn)化接口吸納安全廠商的云平臺加固組件,從而推動云平臺內(nèi)生安全的發(fā)展和應(yīng)用。