0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么虛擬機(jī)比容器更安全

jf_78858299 ? 來源:安全牛 ? 作者:nana ? 2023-02-14 11:20 ? 次閱讀

我們常說,“HTTPS安全”,或者“HTTP不安全”。但我們真正的意思是,“HTTPS更難以竊聽,難以進(jìn)行中間人攻擊”,或者“電腦小白都能偷聽HTTP通信”。

然而,HTTPS已經(jīng)被黑過了,而某些情況下,HTTP已足夠安全。而且,一旦在支持HTTPS的常用實(shí)現(xiàn)中發(fā)現(xiàn)可利用的缺陷(想想OpenSSL和心臟滴血),HTTPS就會在該實(shí)現(xiàn)被修正之前都被當(dāng)成入侵的門道。

HTTP和HTTPS是IETF(互聯(lián)網(wǎng)工程任務(wù)組) RFC 7230-7237和2828中定義的協(xié)議。HTTPS被設(shè)計(jì)成HTTP的安全版本,但說HTTPS安全而HTTP不安全,卻隱藏了重要的例外情況。

虛擬機(jī)(VM)和容器的定義沒那么嚴(yán)格,也沒有被特意設(shè)計(jì)成誰比誰更安全。因此,這里面的安全問題就更加隱晦了。

為什么虛擬機(jī)比容器更安全

分治法,在戰(zhàn)爭和軟件界都是制勝法寶。架構(gòu)師將單一復(fù)雜安全問題分解為更簡單的多個(gè)問題時(shí),大多數(shù)情況下,結(jié)果都會比包攬所有問題的單個(gè)解決方案更安全。

容器,就是一個(gè)將分治法水平鋪開到多個(gè)應(yīng)用中的例子。通過將每個(gè)應(yīng)用限制在自己的范圍里,單個(gè)應(yīng)用中的弱點(diǎn)便不能影響到其他容器中的應(yīng)用。VM同樣采用分治思想,但它們的隔離又更進(jìn)了一步。

被隔離應(yīng)用中的漏洞不能直接影響到其他應(yīng)用,但被隔離應(yīng)用會破壞與其他容器共享的操作系統(tǒng)(OS),進(jìn)而影響到所有容器。共享操作系統(tǒng)的情況下,應(yīng)用、容器和OS實(shí)現(xiàn)棧中任意一點(diǎn)上的缺陷,都可以令整個(gè)堆棧的安全性失效,侵害到物理機(jī)器。

虛擬化之類的分層架構(gòu),則將每個(gè)應(yīng)用的執(zhí)行棧從上到下從軟件到硬件地隔離開,清除掉共享OS造成應(yīng)用間相互影響的可能性。另外,每個(gè)應(yīng)用棧與硬件之間的接口都有定義,從而限制了濫用可能。這給各應(yīng)用間獨(dú)善其身創(chuàng)造了格外堅(jiān)實(shí)的邊界。

虛擬機(jī)管理程序控制著客戶OS與硬件間的交互,VM就是通過該管理程序隔離開了控制用戶活動的OS。VM客戶OS控制著用戶活動,但不參與硬件交互。某應(yīng)用或客戶OS中的漏洞,不可能影響到物理硬件或其他VM。VM客戶OS和支持容器的OS相同的時(shí)候(這種情況很常見),OS上會破壞所有其他容器的漏洞,卻不會危害到其他VM。由此,VM不僅水平分隔應(yīng)用,也縱向隔離了OS和底層硬件。

VM開銷

VM提供的額外安全性是有代價(jià)的。計(jì)算系統(tǒng)中,控制轉(zhuǎn)移往往開銷巨大,從處理器周期和其他資源耗用上都可以呈現(xiàn)出來。執(zhí)行棧需要存儲和重置,外部操作可能不得不掛起或允許繼續(xù)完成,諸如此類。

客戶OS和虛擬機(jī)管理程序間的切換開銷很大,且經(jīng)常發(fā)生。即便處理器芯片中燒錄進(jìn)特殊控制指令,控制轉(zhuǎn)移開銷也降低了VM的整體效率。這種降低很巨大嗎?難說??梢酝ㄟ^管理控制轉(zhuǎn)移,來調(diào)整應(yīng)用,減低開銷;大多數(shù)服務(wù)器處理器如今也設(shè)計(jì)成了簡化控制轉(zhuǎn)移的類型。換句話說,效率降低大不大,取決于應(yīng)用和服務(wù)器,但“開銷不可能被完全清除”這一點(diǎn)是毫無爭議的。

虛擬機(jī)管理程序漏洞

更糟糕的是,VM架構(gòu)中的分隔層還引發(fā)了另一個(gè)潛藏的幽靈:虛擬機(jī)管理器漏洞。虛擬機(jī)管理程序被破壞,可能導(dǎo)致牽一發(fā)而動全身的巨大后果,尤其是在公共云環(huán)境中??梢韵胍?,僅僅一個(gè)漏洞利用,就可以讓一名黑客,在控制著其他公共云消費(fèi)者應(yīng)用的VM上執(zhí)行代碼,掌控公共云的一部分。

再堅(jiān)如磐石的架構(gòu),也會有可大幅削弱系統(tǒng)的實(shí)現(xiàn)缺陷。虛擬機(jī)管理器被黑事件常常被大言不慚的聲明搪塞過去:理由是虛擬機(jī)管理程序太簡單了,而且寫得很完美,也經(jīng)過了超仔細(xì)的審查,所以永遠(yuǎn)不會出故障,不會被黑。虛擬機(jī)管理程序漏洞利用的破壞性堪比WannaCry,但也不用太擔(dān)心這一點(diǎn)。不過,心臟滴血確實(shí)發(fā)生了,而OpenSSL的代碼行數(shù)也遠(yuǎn)遠(yuǎn)不及虛擬機(jī)管理程序多。

目前為止還沒出現(xiàn)什么重大虛擬機(jī)管理程序安全事件。但稍微瞄一眼通用漏洞與暴露(CVE)數(shù)據(jù)庫,就可以知道研究人員們確實(shí)找到了可以利用的虛擬機(jī)管理程序漏洞。虛擬機(jī)管理程序開發(fā)者和廠商的補(bǔ)丁速度倒是也不算慢。2017年3月,微軟發(fā)布安全公告 MS17-008,記錄了7個(gè)已打補(bǔ)丁的Hyper-V虛擬機(jī)管理程序漏洞——全部被認(rèn)定為關(guān)鍵級別漏洞。

VM比容器的安全性更高,但我們也必須仔細(xì)審查VM系統(tǒng)的安全。而且,容器和VM往往捆綁在一起,需要注意的點(diǎn)還很多。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6614

    瀏覽量

    123031
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    897

    瀏覽量

    27969
  • https
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    6076
收藏 人收藏

    評論

    相關(guān)推薦

    什么是虛擬機(jī)?虛擬機(jī)真的那么好用嗎?

    在日新月異的科技世界中,虛擬化技術(shù)如同一座橋梁,連接著現(xiàn)實(shí)與數(shù)字的鴻溝,為我們打開了全新的計(jì)算維度。虛擬機(jī),這一概念,自其誕生以來,就以其獨(dú)特的魅力和強(qiáng)大的功能,深深地影響了軟件開發(fā)、系統(tǒng)測試和云
    的頭像 發(fā)表于 07-06 08:05 ?463次閱讀
    什么是<b class='flag-5'>虛擬機(jī)</b>?<b class='flag-5'>虛擬機(jī)</b>真的那么好用嗎?

    虛擬機(jī)虛擬化技術(shù)

    虛擬機(jī)虛擬化技術(shù)給計(jì)算機(jī)應(yīng)用注入了新的研究與開發(fā)點(diǎn),同時(shí)也存在諸多不利因素。本文綜述了虛擬機(jī)虛擬化技術(shù)的發(fā)展歷程,指出了虛擬機(jī)
    發(fā)表于 09-07 10:15 ?13次下載

    容器虛擬機(jī)對比

    容器虛擬機(jī)某種程度上解決的是相似的問題,兩者間也有不少相似之處。但就像會種菜未必是好廚子,容器虛擬機(jī)到底是兩種不同工具而且有著各自適用的情況。作為技術(shù)人員我們應(yīng)該清楚地了解不同工具
    發(fā)表于 10-12 16:11 ?0次下載

    Linux容器虛擬機(jī)之間的區(qū)別差異分析

    自從Linux上的容器變得流行以來,了解Linux容器虛擬機(jī)之間的區(qū)別變得更加棘手。本文將向您提供詳細(xì)信息,以了解Linux容器虛擬機(jī)
    的頭像 發(fā)表于 12-27 13:52 ?8990次閱讀

    基于虛擬機(jī)負(fù)載高峰特征的虛擬機(jī)放置策略

    明顯偏低:相反,多個(gè)虛擬機(jī)只要負(fù)載高峰能錯(cuò)開在不同的時(shí)間,閑置的資源就能充分地被利用.由于應(yīng)用的負(fù)載通常具有一定的周期性,因此,可以利用虛擬機(jī)負(fù)載的歷史數(shù)據(jù)作為分析的依據(jù),基于虛擬機(jī)
    發(fā)表于 01-13 10:34 ?0次下載

    虛擬機(jī)容器,你應(yīng)該怎么選?

    首先要了解的有關(guān)容器虛擬機(jī)的一個(gè)事情是,一個(gè)運(yùn)用于應(yīng)用程序,另一個(gè)是為操作系統(tǒng)設(shè)計(jì)的。這就是為什么您經(jīng)常會看到一些企業(yè)應(yīng)用程序運(yùn)行在容器上而不是自己的虛擬機(jī)上。在
    的頭像 發(fā)表于 07-11 10:17 ?4494次閱讀

    虛擬機(jī)的優(yōu)勢是什么?是否比容器安全

    IBM Research 已經(jīng)創(chuàng)造出一種新的軟件安全性衡量方法——Horizontal Attack Profile(簡稱 HAP),其發(fā)現(xiàn)適當(dāng)保護(hù)下的容器(Containers)幾乎能夠提供與虛擬機(jī)(VM)相媲美的
    的頭像 發(fā)表于 07-19 15:19 ?9093次閱讀

    虛擬機(jī)容器共存時(shí)會給混合云帶來什么影響

    但是虛擬機(jī)管理程序Hypervisor以及它們所運(yùn)行的虛擬機(jī)受到極大的歡迎,而基于kubernete的容器化幾乎沒有以任何方式侵占它們在當(dāng)今私有、公共、混合和多云環(huán)境中的足跡。
    發(fā)表于 12-31 16:36 ?1533次閱讀

    Docker容器虛擬機(jī)的區(qū)別

    我曾經(jīng)將Docker容器視為輕量級,精簡的虛擬機(jī)。 進(jìn)行這種比較是有道理的,因?yàn)橹辽僭贒ocker的最初市場中,總是將其與虛擬機(jī)進(jìn)行比較-例如," Docker花費(fèi)的啟動時(shí)間少于VM,等等"。
    的頭像 發(fā)表于 05-03 17:17 ?7612次閱讀

    容器虛擬機(jī)之間的主要區(qū)別

    人們通常將容器虛擬機(jī)進(jìn)行比較,盡管容器規(guī)模更小并且需要的開銷更少。這兩種應(yīng)用程序可以采用相同的基礎(chǔ)設(shè)施,這一點(diǎn)很誘人。實(shí)際上,容器虛擬機(jī)
    的頭像 發(fā)表于 08-10 11:40 ?8870次閱讀

    容器、Docker、虛擬機(jī)的區(qū)別

    移植的系統(tǒng)。它不僅簡化了打包應(yīng)用的流程,也簡化了打包應(yīng)用的庫和依賴,甚至整個(gè)操作系統(tǒng)的文件系統(tǒng)能被打包成一個(gè)簡單的可移植的包,這個(gè)包可以被用來在任何其他運(yùn)行Docker的機(jī)器上使用。 容器虛擬機(jī)具有相似的資源隔離和分配方式,容器
    的頭像 發(fā)表于 11-05 09:41 ?2913次閱讀

    如何區(qū)分虛擬機(jī)與Docker

    節(jié)省內(nèi)存,啟動更快。Docker不停地給大家宣傳,"虛擬機(jī)需要數(shù)分鐘啟動,而Docker容器只需要50毫秒"。 然而,Docker容器并非
    的頭像 發(fā)表于 02-14 11:36 ?1037次閱讀
    如何區(qū)分<b class='flag-5'>虛擬機(jī)</b>與Docker

    虛擬機(jī)容器的性能損耗評測

    本文選自極術(shù)專欄“軟硬件融合”,授權(quán)轉(zhuǎn)自微信公眾號軟硬件融合,本篇將詳細(xì)評測虛擬機(jī)容器的性能損耗在相關(guān)的應(yīng)用場景下的性能對比。
    的頭像 發(fā)表于 05-16 09:38 ?8027次閱讀
    <b class='flag-5'>虛擬機(jī)</b>和<b class='flag-5'>容器</b>的性能損耗評測

    Docker與虛擬機(jī)的區(qū)別

    的操作系統(tǒng)實(shí)例來實(shí)現(xiàn)虛擬化的技術(shù)。其實(shí)現(xiàn)方式是通過Hypervisor來實(shí)現(xiàn)的。Hypervisor是一個(gè)運(yùn)行在物理機(jī)上的軟件或硬件,負(fù)責(zé)管理和分配虛擬機(jī)的硬件資源。 1.2 Docker Docker是一種容器化技術(shù),它利用L
    的頭像 發(fā)表于 11-23 09:37 ?8415次閱讀

    虛擬機(jī)ubuntu怎么聯(lián)網(wǎng)

    虛擬機(jī)ubuntu怎么聯(lián)網(wǎng)? 虛擬機(jī)(Virtual Machine)是運(yùn)行在物理機(jī)(Host Machine)上的虛擬操作系統(tǒng)環(huán)境。在虛擬機(jī)
    的頭像 發(fā)表于 12-27 16:51 ?872次閱讀