章 1. 簡介

1.1. 虛擬化與非虛擬化環境

對於尋找攻擊的切入點、或修補尚未被廣為人知的漏洞時,虛擬環境非常有用。因此,很重要的是採取行動,確保實體主機與其上的虛擬機器在建立、維護時,都是安全的。
非虛擬環境

在非虛擬環境中,主機與其它實體主機是分離開來的,而且每台主機都有自己的空間、包含多種服務(例如網站伺服器或 DNS 伺服器)。這些服務會與自己的使用者空間、主機的 kernel 與實體主機通訊,直接向網路提供服務。以下圖片顯示了非虛擬環境:

非虛擬環境

圖形 1.1. 非虛擬環境

虛擬化環境

在虛擬環境中,使用者可以在單一主機 kernel 與實體主機上建置多種作業系統(亦即「客座端」—— guest)。以下圖片顯示了虛擬化環境:

虛擬化環境

圖形 1.2. 虛擬化環境

當服務並未虛擬化時,每台機器在實體上都是分開的。因此一般來說,任何弱點都只受限於受影響的機器,自外於網路攻擊之外。當服務在虛擬化環境中集結成群時,更多的弱點就會集合在系統上。如果 hypervisor 中有安全性弱點、且會感染虛擬機器時,那麼受感染的虛擬機器不但會攻擊主機,還會攻擊位於同一台主機上的其它虛擬機器。這並不是理論上的假設;攻擊已經存在於 hypervisor 上了。這些攻擊可以延伸到虛擬機器之外,讓其它客座端也暴露在攻擊之下。