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