天天看點

《雲安全原理與實踐》——3.2 主機虛拟化的主要安全威脅

主機虛拟化提供給使用者使用的不是實體意義上的伺服器,而是虛拟服務層中的一個作業系統執行個體。通過主機虛拟化,管理者不僅可以在實體伺服器上部署多個虛拟伺服器,并為其安裝作業系統,還可以根據不同業務需求定制虛拟機的記憶體、CPU、存儲容量等。這樣不但提高了伺服器的使用率,還降低了硬體成本,縮短了伺服器的配置時間,并能保持業務的連續性等。與實體伺服器一樣,虛拟伺服器上同樣存在安全風險。是以,在部署、使用、配置設定、管理虛拟伺服器時必須加強安全風險防範意識。

1.?虛拟機之間的安全威脅

傳統網絡是從用戶端發起通路到伺服器的縱向流量結構,縱向流量必然要經過外置的硬體安全防護機制,如防火牆等。即使在虛拟化後,傳統的安全防護裝置也可以實作對縱向流量的安全防護和業務隔離。與傳統的安全防護不同,在虛拟化環境下可能存在多租戶服務模型。多個虛拟機可在同一台實體主機上互動資料進而産生橫向流量,這些資料不經過外置的硬體安全防護機制,管理者無法對這些橫向流量進行有效監控或者實施進階的安全政策,例如,入侵防禦規則或防火牆規則,如圖3-31所示。在伺服器的虛拟化過程中,一些虛拟化廠商通過在伺服器Hypervisor層內建虛拟交換機的特性。也可以實作一些基本的通路允許或拒絕規則,但是很難內建更進階的安全檢測防護引擎來檢測虛拟機之間的流量漏洞攻擊行為。當多個虛拟機共享硬體資源,且虛拟機橫向流量又不被外部感覺的情況下,一台虛拟機受到攻擊後,主控端乃至整個網絡都會遭受嚴重威脅。

2.?虛拟機與主控端之間的安全威脅

主控端是虛拟機的實體基礎,虛拟機存在于主控端中,且與主控端共享硬體。主控端的運作是虛拟機運作的前提與基礎,是以主控端的安全至關重要。一旦主控端被控制,利用主控端的高特權極,攻擊者可以對同一主控端上的虛拟機進行攻擊(如圖3-32所示)。攻擊者甚至可以通過提升重要的通路權限,以使其可以通路主控端的本地網絡和相鄰系統。

3.?虛拟機控制中心的安全威脅

通過虛拟機控制中心,管理者可以管理部署在不同位置上的虛拟機,并應用自動化政策執行和快速部署等功能使日常工作變得簡單、快捷、高效,進而使資料中心的虛拟化環境更加易于管理,并能大大降低相關成本。因為虛拟機控制中心對其管理的所有虛拟機擁有進階别通路控制權限,是以確定虛拟機控制中心的安全非常重要。否則,一旦虛拟機控制中心被入侵,那麼所有虛拟機乃至資料中心都會面臨極大威脅。

4.?虛拟機蔓延(泛濫)及管理疏漏的隐患

導緻虛拟機蔓延(泛濫)的因素有很多,如僵屍虛拟機。這些虛拟機在完成工作後被丢棄,不會被關閉,也不會被删除,但它們繼續消耗資源。由于長期處于無人看管狀态,虛拟機一旦形成蔓延趨勢,就會造成巨大浪費。同時,密碼的時限、漏洞的出現等問題都會成為虛拟機管理的安全隐患。

《雲安全原理與實踐》——3.2 主機虛拟化的主要安全威脅

在虛拟機出現後,安全管理上會變得更為繁瑣。虛拟機密碼、主控端密碼、虛拟機控制中心密碼、虛拟機漏洞、主控端漏洞等每個細節都不容忽視。同樣,在部署虛拟機時使用連續IP位址,主機、虛拟機管理密碼相同等這些看似友善的管理方式,會在未來帶來較大麻煩。總之,虛拟機如管理不善,很可能會演變為整個資料中心的災難。

虛拟機是主機虛拟化的基礎運算單元,一旦虛拟機被劫持或攻陷,造成的損失是無法估量的。通常對虛拟機攻擊方式是以下一種或多種方式的結合:

社會工程:攻擊者可通過各種社交管道獲得有關目标的結構、使用情況、安全防範措施等有用資訊進而提高攻擊成功率。

密碼破解:攻擊者可通過擷取密碼檔案,然後運用密碼破解工具獲得密碼,也可通過猜測或竊聽等方式擷取密碼。

位址欺騙:攻擊者可通過僞裝成被信任的IP位址等方式來騙取目标的信任。

連接配接盜用:在合法的通信連接配接建立後,攻擊者可通過阻塞或摧毀通信的一方來接管已經過認證建立起來的連接配接,進而假冒被接管方與對方通信。

網絡竊聽:網絡的開放性使攻擊者可通過直接或間接竊聽擷取所需資訊。

資料篡改:攻擊者可通過截獲并修改資料或重放資料等方式破壞資料的完整性。

惡意掃描:攻擊者可編制或使用現有掃描工具發現目标的漏洞,進而發起攻擊。

破壞基礎設施:攻擊者可通過破壞DNS或路由資訊等基礎設施,使目标陷于孤立。

資料驅動攻擊:攻擊者可通過施放病毒、特洛伊木馬、資料炸彈等方式破壞或遙控目标。

服務拒絕:攻擊者可直接發動攻擊,也可通過控制其他主機發起攻擊,使目标癱瘓,如發送大量的資料洪流阻塞目标。

本節将重點分析目前主流的主機虛拟化面臨的安全威脅,包括虛拟機資訊竊取及篡改、虛拟機逃逸、Rootkit攻擊、拒絕服務攻擊和側信道攻擊等。

3.2.1 虛拟機資訊竊取和篡改

虛拟機資訊主要通過鏡像檔案及快照來儲存的。虛拟機鏡像無論在靜止還是運作狀态都有被竊取或篡改的脆弱漏洞,另外,包含重要敏感資訊的虛拟機鏡像和快照以檔案形式存在,能夠輕易通過網絡傳輸到其他位置。

建立客戶機鏡像檔案及快照不會影響客戶機的脆弱性。然而,對于鏡像和快照來說,最大的安全性問題就是它們像實體硬碟一樣包含敏感資料(例如,密碼、個人資料等)。因為鏡像檔案和快照與硬碟相比更易移動,是以更應重視在鏡像或快照是的資料的安全性。快照比鏡像具有更大風險,因為快照包含在快照生成時的RAM記憶體資料,甚至包含從沒存在硬碟上的敏感資訊。

我們可以将系統或應用程式部署到鏡像檔案中,然後通過這個鏡像檔案進行分發部署,這樣可以節省大量的時間。增加鏡像檔案保護能力,能夠提高業務系統的安全性、連續性和健壯性。由于鏡像檔案易于分發和存儲,需要防止其未經授權的通路、修改和重置。

随着在組織機構内的伺服器和桌面虛拟化工作的不斷推進,管理鏡像檔案成為一個巨大的挑戰。一個鏡像檔案越長時間沒運作,就會在它再一次加載時出現越多的脆弱點。是以,應檢查所有的鏡像以確定長時間未運作的鏡像檔案也定期更新。當使用者和管理者可以建立自己的鏡像檔案時,跟蹤這些鏡像檔案也是一個麻煩的問題。這些鏡像可能沒有做到适當的防護,尤其在沒有可參照的安全基線的時候(例如,提供一個不同的預安全地鏡像),這會增加被攻陷的風險。

伴随着虛拟化工作推進,另一個潛在的問題是鏡像檔案的增殖,也叫無序蔓延。建立一個鏡像隻需要幾分鐘,如果沒有任何安全性的考慮,就會建立很多沒必要的鏡像檔案。多餘的鏡像檔案會成為攻擊者另一個潛在的攻擊點。另外,每一個鏡像都需要獨立的安全性維護工作,加大了安全維護的工作量。是以,組織機構應該減少建造、存儲和使用不必要的鏡像,實施完善的鏡像管理流程,通過管理流程來管理鏡像尤其是伺服器鏡像的建立、安全性、分發、存儲、使用、退役和銷毀工作。

同樣,也需要考慮快照的管理。某些情況下,組織機構會規定不允許存儲快照,因為被惡意軟體感染的系統在後期恢複快照時有可能重新加載惡意軟體。

3.2.2 虛拟機逃逸

利用虛拟機,使用者能夠分享主控端的資源并實作互相隔離。理想情況下,一個程式運作在虛拟機裡,應該無法影響其他虛拟機。但是,由于技術的限制和虛拟化軟體的一些bug,在某些情況下,虛拟機裡運作的程式會繞過隔離限制,進而直接運作在主控端上,這叫做虛拟機逃逸。由于主控端的特權地位,出現虛拟機逃逸會使整個安全模型完全崩潰。當虛拟機逃逸攻擊成功之後,對于Hypervisor和主控端都具有極大的威脅。對于Hypervisor而言,攻擊者有可能獲得Hypervisor的所有權限。此時,攻擊者可以截獲該主控端上其他虛拟機的I/O資料流,并加以分析獲得使用者的相關資料,之後進行更進一步的針對使用者個人敏感資訊的攻擊,更有甚者,倘若該主控端上的某個虛拟機作為基本運作,攻擊者便可以通過Hypervisor的特權,對該虛拟機進行強制關機或删除,造成基本服務的中斷;對于主控端而言,攻擊者有可能獲得主控端作業系統的全部權限。此時,攻擊者可以對主控端的共享資源進行修改或替換,使得該主控端上的所有虛拟機通路到虛假或篡改後的資源,進而對其他虛拟機進行攻擊。由于攻擊者獲得了最高權限,則可以修改預設使用者的基本資訊,并降低虛拟機螢幕的穩健性,進而對整個虛拟化平台造成不可恢複的災難,使得其上的所有虛拟機都丢失重要資訊。

目前對于虛拟機逃逸攻擊,尚沒有很好的安全對策,主要是針對雲計算服務角色給出一些安全防範建議。例如,及時發現漏洞、開發漏洞更新檔、使用強制通路控制措施限制客戶虛拟機的資源通路權限、及時度量Hypervisor完整性等。

但這些安全防範建議均不能真正解決虛拟機逃逸攻擊帶來的危害。針對虛拟機逃逸漏洞,還是應該采用縱深防禦的安全防護方法,從攻擊檢測、預防、避免攻擊蔓延和Hypervisor完整性防護等多個方面,并結合可信計算技術,建立一個多層次的安全防護架構。

3.2.3 Rootkit攻擊

“Rootkit”中Root一詞來自UNIX領域。由于UNIX主機系統管理者賬号為root,該賬号擁有最小的安全限制,完全控制主機并擁有了管理者權限被稱為“root”了主機。然而,能夠“root”一台主機并不意味着能持續地控制它,因為管理者完全可能發現主機遭受入侵并采取應對措施。是以Rootkit的初始含義就是“能維持root權限的一套工具”。

簡單地說,Rootkit是一種特殊的惡意軟體,它的功能是在安裝目标上隐藏自身及指定的檔案、程序和網絡連結等資訊,持久并毫無察覺地駐留在目标計算機中,對系統進行操縱,并通過隐秘管道收集資料。Rootkit的三要素就是:隐藏、操縱、收集資料。Rootkit通常和木馬、後門等其他惡意程式結合使用。

Rootkit并不一定是用于獲得系統root通路權限。實際上,Rootkit是攻擊者用來隐藏自己的蹤迹和保留root通路權限的工具。通常,攻擊者通過遠端攻擊獲得root通路權限,或者首先通過密碼猜測或者密碼強制破譯的技術獲得系統的通路權限。進入系統後,如果還未獲得root權限,再通過某些安全漏洞獲得系統的root權限。接着,攻擊者會在侵入的主機中安裝Rootkit後門,然後将通過後門檢查系統中是否有其他使用者登入,如果隻有自己,攻擊者便開始着手清理日志中的有關資訊,隐藏入侵蹤迹。通過Rootkit的嗅探器獲得其他系統的使用者和密碼之後,攻擊者就會利用這些資訊侵入其他系統。

在發現系統中存在Rootkit之後,能夠采取的補救措施也較為有限。由于Rootkit可以将自身隐藏起來,是以可能無法知道它們已經在系統中存在了多長的時間,也不知道Rootkit已經對系統中的哪些資訊造成了損害。對于找出的Rootkit,最好的應對方法便是擦除并重新安裝系統。雖然這種手段很嚴厲,但是這是得到證明的唯一可以徹底删除Rootkit的方法。

3.2.4 分布式拒絕服務攻擊

分布式拒絕服務攻擊(DDoS)是目前黑客經常采用而難以防範的攻擊手段。

DoS(Denial of Service,拒絕服務攻擊)有很多攻擊方式,最基本的DoS攻擊就是利用合理的服務請求來占用過多的服務資源,進而使合法使用者無法得到服務的響應。

DDoS攻擊手段是在傳統的DoS攻擊基礎之上産生的一類攻擊方式。單一的DoS攻擊一般是采用一對一的方式,當攻擊目标的各項性能名額(CPU速度低、記憶體小或者網絡帶寬小等)不高時,它的效果是明顯的。随着計算機與網絡技術的發展,計算機的處理能力迅速提高,記憶體大大增加,同時也出現了千兆級别的網絡,這使得DoS攻擊的困難程度大大增加,分布式拒絕服務攻擊(DDoS)便應運而生。高速廣泛連接配接的網絡在給大家帶來友善的同時,也為DDoS攻擊創造了極為有利的條件。在低速網絡時代時,黑客占領攻擊用的傀儡機時,總是會優先考慮離目标網絡距離近的機器,因為經過路由器的跳數少、效果好;而現在電信骨幹節點之間的連接配接都是以G為級别,這使得攻擊可以從更遠的地方或者其他城市發起,攻擊者的傀儡機位置可以分布在更大的範圍,選擇起來更加靈活。是以,現在的DDoS能夠利用更多的傀儡機,以比從前更大的規模來攻擊受害者主機。

DDos攻擊的後果有很多。例如,被攻擊主機上存在大量等待的TCP連接配接;網絡中充斥着大量無用的資料包,且源IP位址為假;制造高流量無用資料,造成網絡擁塞,使受害主機無法正常和外界通信;利用受害主機提供的服務或傳輸協定上的缺陷,反複高速地發出特定的服務請求,使受害主機無法及時處理所有的正常請求;嚴重時會造成系統當機等。

3.2.5 側信道攻擊

基于虛拟化環境提供的邏輯隔離,采用通路控制、入侵檢測等方法可以增強雲計算環境的安全性,但是底層硬體資源的共享卻容易面臨側信道攻擊的威脅。

側信道攻擊是一個經典的研究課題,由Kocher等人于1996年首先提出。側信道攻擊是針對密碼算法實作的一種攻擊方式,當密碼算法具體執行時,執行過程中可能洩露與内部運算緊密相關的多種實體狀态資訊,比如聲光資訊、功耗、電磁輻射以及運作時間等。這些通過非直接傳輸途徑洩露出來的實體狀态資訊被研究人員稱為側信道資訊(Side-Channel Information,SCI)。攻擊者通過測量采集密碼算法執行期間産生的側信道資訊,再結合密碼算法的具體實作,就可以進行密鑰的分析與破解。而這種利用側信道資訊進行密碼分析的攻擊方法則被稱為側信道攻擊。

針對側信道攻擊,安全晶片可以提供大量的解決方案。安全晶片可以采用混淆時序、能耗随機等手段使黑客無從辨識,也就難以解密。

繼續閱讀