學(xué)習(xí)手冊(cè):“云安全”之云運(yùn)維安全
既然說(shuō)到了云,當(dāng)然還需要談?wù)勌摂M化。虛擬化技術(shù)在系統(tǒng)組織,降低系統(tǒng)操作代價(jià),改進(jìn)硬件資源的效率、利用率以及靈活性方面扮演著主要的角色。然而,虛擬化技術(shù)本身不僅面臨著傳統(tǒng)網(wǎng)絡(luò)已有的安全威脅,還面臨著自身引入的安全問題。
BUT,由于虛擬化技術(shù)帶來(lái)的資源分割獨(dú)立的優(yōu)勢(shì),它也在構(gòu)建安全策略中扮演著重要的角色。
一、主機(jī)虛擬化的安全威脅
1. 虛擬機(jī)信息竊取和篡改
這個(gè)實(shí)際上是說(shuō)Hypervisor脆弱性引入的安全威脅,因?yàn)镠ypervisor本身的脆弱性不可避免。
是否記得曾經(jīng)虛擬化過的郵件服務(wù)器或者薪酬支付系統(tǒng)?如果擁有訪問虛擬化工作環(huán)境管理員權(quán)限,就可以輕松地進(jìn)入該虛擬化工作環(huán)境,并且竊取所有的數(shù)據(jù),而又不會(huì)留下任何痕跡。從數(shù)據(jù)中心偷走一個(gè)物理服務(wù)器是非常困難的,并且也很容易被人發(fā)現(xiàn)。但是無(wú)論在任何位置都可以通過網(wǎng)絡(luò)偷竊一臺(tái)虛擬機(jī),把該虛擬機(jī)裝在閃存盤中就可以輕易地帶走。
2. 虛擬機(jī)逃逸
虛擬機(jī)逃逸指的是攻擊者在已控制一個(gè)VM的前提下,通過利用各種安全漏洞攻擊Hypervisor。典型案例:藍(lán)色藥丸、CloudBurst。
逃逸的后果:
- 安裝Hypervisor級(jí)后門;
- 拒絕服務(wù)攻擊;
- 竊取數(shù)據(jù);
- 控制其他VM;
3. Rootkit攻擊
Rootkit是一種特殊的惡意軟件,它的功能是在安裝目標(biāo)上隱藏自身及指定的文件、進(jìn)程和網(wǎng)絡(luò)鏈接等信息,比較多見到的是Rootkit一般都和木馬、后門等其他惡意程序結(jié)合使用。Rootkit的三要素就是:隱藏、操縱、收集數(shù)據(jù)。
Rootkit 本身不會(huì)像病毒或蠕蟲那樣影響計(jì)算機(jī)的運(yùn)行。攻擊者可以找出目標(biāo)系統(tǒng)上的現(xiàn)有漏洞。漏洞可能包括:開放的網(wǎng)絡(luò)端口、未打補(bǔ)丁的系統(tǒng)或者具有脆弱的管理員密碼的系統(tǒng)。在獲得存在漏洞的系統(tǒng)的訪問權(quán)限之后,攻擊者便可手動(dòng)安裝一個(gè) Rootkit。這種類型的偷偷摸摸的攻擊通常不會(huì)觸發(fā)自動(dòng)執(zhí)行的網(wǎng)絡(luò)安全控制功能,例如入侵檢測(cè)系統(tǒng)。
4. 分布式拒絕服務(wù)攻擊
分布式拒絕服務(wù)(DDoS,Distributed Denial of Service)攻擊通過大量合法的請(qǐng)求占用大量網(wǎng)絡(luò)資源,以達(dá)到癱瘓網(wǎng)絡(luò)的目的。 這種攻擊方式可分為以下幾種:
- 通過使網(wǎng)絡(luò)過載來(lái)干擾甚至阻斷正常的網(wǎng)絡(luò)通訊;
- 通過向服務(wù)器提交大量請(qǐng)求,使服務(wù)器超負(fù)荷;
- 阻斷某一用戶訪問服務(wù)器;
- 阻斷某服務(wù)與特定系統(tǒng)或個(gè)人的通訊。
5. 側(cè)信道攻擊
芯片在運(yùn)行的時(shí)候,由于數(shù)據(jù)或者邏輯的不同,內(nèi)部的晶體管通斷是有區(qū)別的,通過這個(gè)區(qū)別來(lái)確定程序內(nèi)部的數(shù)據(jù)或者指令,就是側(cè)信道攻擊。獲取這個(gè)區(qū)別有很多方法,比如在芯片的GND引腳處獲取電壓,通過探針去截取芯片輻射的變化等等。
側(cè)信道攻擊近幾年也在智能硬件的攻擊上被使用,比如2016年,就有人使用SPA(另一種側(cè)信道攻擊方法)攻擊了一個(gè)智能保險(xiǎn)箱。其實(shí),側(cè)信道攻擊對(duì)于運(yùn)算單一,時(shí)鐘頻率低(時(shí)鐘頻率低這點(diǎn)很重要)的設(shè)備中的加密攻擊是很有效的。
二、主機(jī)虛擬化安全的解決方案
1. 虛擬化安全防御架構(gòu)
作為整個(gè)虛擬化安全架構(gòu)的一部分,IT部門應(yīng)該把重點(diǎn)放在三個(gè)虛擬化方面:
- 按照位置分開虛擬機(jī);
- 按照服務(wù)類型分開虛擬機(jī);
- 在整個(gè)虛擬機(jī)生命周期內(nèi)實(shí)施有預(yù)見性的安全管理;
這三個(gè)方面將幫助IT部門保護(hù)其虛擬基礎(chǔ)設(shè)施抵御當(dāng)前的威脅,并且?guī)椭鶬T部門緩解未來(lái)的攻擊威脅。
2. Hypervisor安全機(jī)制
目前主流的虛擬化軟件如Xen、VMware和KVM等均存在安全漏洞,主要體現(xiàn)在以下三個(gè)方面:一是隨著Hypervisor功能的增多,其代碼量也不斷增加,這就會(huì)在一定程度上增加安全漏洞的數(shù)量;二是Hypervisor自身可信性的問題,惡意攻擊者可能會(huì)將惡意軟件在Hypervisor中執(zhí)行,破壞Hypervisor的完整性;三是Hypervisor的防御能力,若在Hypervisor中對(duì)物理資源或訪問策略的設(shè)置存在不合理之處時(shí),Hypervisor的安全性就會(huì)大大降低。
- 自身安全保障:構(gòu)建輕量級(jí)Hypervisor,較少TCB(Trusted Computing Base);基于可信計(jì)算技術(shù)的完整性保護(hù)。。
- 提高Hypervisor防御能力:虛擬防火墻;合理分配主機(jī)資源;保障遠(yuǎn)程控制臺(tái)安全(連接數(shù)為1,禁止拷貝和黏貼);根據(jù)需要分配權(quán)限(先分配角色,不帶權(quán)限,用戶需要什么權(quán)限,再分配)。
3. 虛擬機(jī)隔離機(jī)制
- 安全隔離模型:硬件協(xié)助的安全內(nèi)存管理SMM;硬件協(xié)助的安全I(xiàn)/O管理SIOM;
- 訪問控制模型:sHype,Shamon;
4. 虛擬可信計(jì)算技術(shù)
過虛擬監(jiān)控機(jī)提供的隔離和監(jiān)控機(jī)制,緩解軟件可信動(dòng)態(tài)度量的理論危機(jī),為在操作系統(tǒng)和軟件應(yīng)用層建立可信計(jì)算環(huán)境提供一套解決方案。主要思路是通過虛擬技術(shù)提供的隔離機(jī)制將實(shí)體運(yùn)行空間分開;通過監(jiān)控機(jī)制動(dòng)態(tài)度量實(shí)體的行為,發(fā)現(xiàn)和排除非預(yù)期的互相干擾。其主要的難點(diǎn)是細(xì)化隔離粒度,減少系統(tǒng)的開銷,提高度量效率。
過可信計(jì)算提供的可信度量、可信存儲(chǔ)和可信報(bào)告機(jī)制,凈化終端的計(jì)算環(huán)境,搭建終端之間的可信連接,構(gòu)建誠(chéng)實(shí)、互相信任的虛擬空間。主要思路是,通過可信度量機(jī)制保障虛擬機(jī)的動(dòng)態(tài)完整性,通過可信報(bào)告機(jī)制實(shí)現(xiàn)不同虛擬環(huán)境的可信互通,通過可信存儲(chǔ)機(jī)制保障數(shù)據(jù)遷移、存儲(chǔ)和訪問控制的解決方案。一方面,利用可信計(jì)算技術(shù)實(shí)現(xiàn)對(duì)虛擬機(jī)的安全保障;另一方面,將可信計(jì)算融入基于虛擬機(jī)技術(shù)的應(yīng)用業(yè)務(wù)中,例如云計(jì)算等,為上層服務(wù)提供更好的安全支撐。
5. 虛擬機(jī)安全監(jiān)控
通過安全資源池的虛擬安全能力或者在租戶網(wǎng)絡(luò)內(nèi)部署虛擬安全能力兩種方式,提供預(yù)防類安全服務(wù),包括系統(tǒng)漏掃、配置基線核查和web漏洞掃描等,只需安全能力與掃描對(duì)象網(wǎng)絡(luò)可達(dá),即可掃描租戶虛擬機(jī)的配置和漏洞情況,并根據(jù)掃描結(jié)果提供相應(yīng)建議。
- 內(nèi)部監(jiān)控:被監(jiān)控的虛擬機(jī)中插入一些鉤子函數(shù),典型代表Lares、SIM,可以直接截取系統(tǒng)級(jí)語(yǔ)義;
- 外部監(jiān)控:依賴Hypervisor的截獲,典型代表Livewire,需要語(yǔ)義重構(gòu)(低級(jí)語(yǔ)義如二進(jìn)制語(yǔ)義重構(gòu)出高級(jí)語(yǔ)義如操作系統(tǒng)級(jí)語(yǔ)義);
6. 虛擬機(jī)自省技術(shù)
虛擬機(jī)自省是從虛擬機(jī)外部獲取客戶虛擬機(jī)操作系統(tǒng)內(nèi)部狀態(tài)信息的技術(shù),該技術(shù)打破了傳統(tǒng)安全防護(hù)技術(shù)的瓶頸,受到了安全領(lǐng)域的廣泛關(guān)注。它是一種在虛擬機(jī)外部監(jiān)測(cè)虛擬機(jī)運(yùn)行狀態(tài)的技術(shù),從2003年提出以來(lái),虛擬機(jī)自省得到了國(guó)內(nèi)外學(xué)者的研究。近些年來(lái),不僅出現(xiàn)了各式各樣的原型系統(tǒng),還涌現(xiàn)出諸如LibVMI等優(yōu)秀的開發(fā)工具包,基于虛擬機(jī)自省的應(yīng)用也越來(lái)越多。
虛擬化概念最早起源于20世紀(jì)60年代,虛擬化技術(shù)可以實(shí)現(xiàn)在一個(gè)服務(wù)器上運(yùn)行多個(gè)操作系統(tǒng),初衷是為了更為充分地利用價(jià)格昂貴的大型機(jī)。經(jīng)過半個(gè)世紀(jì)的發(fā)展,虛擬化技術(shù)已成為計(jì)算機(jī)領(lǐng)域的一項(xiàng)傳統(tǒng)技術(shù),并且成為了云計(jì)算的核心技術(shù)。從虛擬化到云計(jì)算,IT產(chǎn)業(yè)實(shí)現(xiàn)了跨地域資源的動(dòng)態(tài)調(diào)度,可以說(shuō)虛擬化技術(shù)為云計(jì)算奠定了良好的基礎(chǔ)。但隨著云計(jì)算的廣泛應(yīng)用,作為其核心技術(shù)的虛擬化技術(shù)的安全性也成為了業(yè)界關(guān)注的焦點(diǎn)問題。為了切實(shí)保障虛擬化環(huán)境的安全,需深入了解虛擬化存在的安全隱患,掌握虛擬化安全攻擊的原理,并有針對(duì)性地部署安全機(jī)制來(lái)抵御安全威脅。
最后絮叨兩句,安全運(yùn)維和運(yùn)維安全是兩個(gè)概念。運(yùn)維是工程師對(duì)各種安全設(shè)備和軟件進(jìn)行運(yùn)維保障系統(tǒng)安全,而運(yùn)維安全相比之下是涵蓋了整個(gè)云計(jì)算系統(tǒng)和安全有關(guān)的方方面面。
【本文是51CTO專欄作者“綠盟科技博客”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過51CTO聯(lián)系原作者獲取授權(quán)】