我們常說(shuō),“HTTPS安全”,或者“HTTP不安全”。但我們真正的意思是,“HTTPS更難以竊聽(tīng),難以進(jìn)行中間人攻擊”,或者“電腦小白都能偷聽(tīng)HTTP通信”。這里面的安全問(wèn)題就更加隱晦了。
我們常說(shuō),“HTTPS安全”,或者“HTTP不安全”。但我們真正的意思是,“HTTPS更難以竊聽(tīng),難以進(jìn)行中間人攻擊”,或者“電腦小白都能偷聽(tīng)HTTP通信”。這里面的安全問(wèn)題就更加隱晦了。
分治法,在戰(zhàn)爭(zhēng)和軟件界都是制勝法寶。架構(gòu)師將單一復(fù)雜安全問(wèn)題分解為更簡(jiǎn)單的多個(gè)問(wèn)題時(shí),大多數(shù)情況下,結(jié)果都會(huì)比包攬所有問(wèn)題的單個(gè)
解決方案更安全。
容器,就是一個(gè)將分治法水平鋪開(kāi)到多個(gè)應(yīng)用中的例子。通過(guò)將每個(gè)應(yīng)用限制在自己的范圍里,單個(gè)應(yīng)用中的弱點(diǎn)便不能影響到其他容器中的應(yīng)用。VM同樣采用分治思想,但它們的隔離又更進(jìn)了一步。
被隔離應(yīng)用中的漏洞不能直接影響到其他應(yīng)用,但被隔離應(yīng)用會(huì)破壞與其他容器共享的操作系統(tǒng)(OS),進(jìn)而影響到所有容器。共享操作系統(tǒng)的情況下,應(yīng)用、容器和OS實(shí)現(xiàn)棧中任意一點(diǎn)上的缺陷,都可以令整個(gè)堆棧的安全性失效,侵害到物理機(jī)器。
虛擬化之類的分層架構(gòu),則將每個(gè)應(yīng)用的執(zhí)行棧從上到下從軟件到硬件地隔離開(kāi),清除掉共享OS造成應(yīng)用間相互影響的可能性。另外,每個(gè)應(yīng)用棧與硬件之間的接口都有定義,從而限制了濫用可能。這給各應(yīng)用間獨(dú)善其身創(chuàng)造了格外堅(jiān)實(shí)的邊界。
虛擬機(jī)管理程序控制著客戶OS與硬件間的交互,VM就是通過(guò)該管理程序隔離開(kāi)了控制用戶活動(dòng)的OS。VM客戶OS控制著用戶活動(dòng),但不參與硬件交互。某應(yīng)用或客戶OS中的漏洞,不可能影響到物理硬件或其他VM。VM客戶OS和支持容器的OS相同的時(shí)候(這種情況很常見(jiàn)),OS上會(huì)破壞所有其他容器的漏洞,卻不會(huì)危害到其他VM。由此,VM不僅水平分隔應(yīng)用,也縱向隔離了OS和底層硬件。
VM開(kāi)銷(xiāo)
VM提供的額外安全性是有代價(jià)的。計(jì)算系統(tǒng)中,控制轉(zhuǎn)移往往開(kāi)銷(xiāo)巨大,從處理器周期和其他資源耗用上都可以呈現(xiàn)出來(lái)。執(zhí)行棧需要存儲(chǔ)和重置,外部操作可能不得不掛起或允許繼續(xù)完成,諸如此類。
客戶OS和虛擬機(jī)管理程序間的切換開(kāi)銷(xiāo)很大,且經(jīng)常發(fā)生。即便處理器芯片中燒錄進(jìn)特殊控制指令,控制轉(zhuǎn)移開(kāi)銷(xiāo)也降低了VM的整體效率。這種降低很巨大嗎?難說(shuō)??梢酝ㄟ^(guò)管理控制轉(zhuǎn)移,來(lái)調(diào)整應(yīng)用,減低開(kāi)銷(xiāo);大多數(shù)
服務(wù)器處理器如今也設(shè)計(jì)成了簡(jiǎn)化控制轉(zhuǎn)移的類型。換句話說(shuō),效率降低大不大,取決于應(yīng)用和服務(wù)器,但“開(kāi)銷(xiāo)不可能被完全清除”這一點(diǎn)是毫無(wú)爭(zhēng)議的。
虛擬機(jī)管理程序漏洞
更糟糕的是,VM架構(gòu)中的分隔層還引發(fā)了另一個(gè)潛藏的幽靈:虛擬機(jī)管理器漏洞。虛擬機(jī)管理程序被破壞,可能導(dǎo)致?tīng)恳话l(fā)而動(dòng)全身的巨大后果,尤其是在公共
云環(huán)境中??梢韵胍?jiàn),僅僅一個(gè)漏洞利用,就可以讓一名黑客,在控制著其他公共云消費(fèi)者應(yīng)用的VM上執(zhí)行代碼,掌控公共云的一部分。
再堅(jiān)如磐石的架構(gòu),也會(huì)有可大幅削弱系統(tǒng)的實(shí)現(xiàn)缺陷。虛擬機(jī)管理器被黑事件常常被大言不慚的聲明搪塞過(guò)去:理由是虛擬機(jī)管理程序太簡(jiǎn)單了,而且寫(xiě)得很完美,也經(jīng)過(guò)了超仔細(xì)的審查,所以永遠(yuǎn)不會(huì)出故障,不會(huì)被黑。虛擬機(jī)管理程序漏洞利用的破壞性堪比WannaCry,但也不用太擔(dān)心這一點(diǎn)。不過(guò),心臟滴血確實(shí)發(fā)生了,而OpenSSL的代碼行數(shù)也遠(yuǎn)遠(yuǎn)不及虛擬機(jī)管理程序多。
目前為止還沒(méi)出現(xiàn)什么重大虛擬機(jī)管理程序安全事件。但稍微瞄一眼通用漏洞與暴露(CVE)數(shù)據(jù)庫(kù),就可以知道研究人員們確實(shí)找到了可以利用的虛擬機(jī)管理程序漏洞。虛擬機(jī)管理程序開(kāi)發(fā)者和廠商的補(bǔ)丁速度倒是也不算慢。2017年3月,微軟發(fā)布安全公告 MS17-008,記錄了7個(gè)已打補(bǔ)丁的Hyper-V虛擬機(jī)管理程序漏洞——全部被認(rèn)定為關(guān)鍵級(jí)別漏洞。
VM比容器的安全性更高,但我們也必須仔細(xì)審查VM系統(tǒng)的安全。而且,容器和VM往往捆綁在一起,需要注意的點(diǎn)還很多。
以上就是小編今天提到的內(nèi)容了。