虛擬機器、容器與沙盒技術有什麼區別?
首先,什麼是沙箱?
它本身就是一種線下生活現象的虛擬化。現實世界裡,小孩子們在沙地、沙灘上用木板隔離出一個方盒子,在盒子裡堆砌、創造各種東西 - 城堡、房屋、山丘... 這就是一個沙箱。
它有兩個根本特點:
1、它有邊界,透過木板設定了遊戲創造的範圍只在圍牆內;
2、它的遊戲材料是沙,任何的創造,一抹就平,瞬間無影無蹤不留痕跡。
這兩個特點,在計算機世界被模擬了。在一臺裝置(不管是一臺伺服器還是一個手機,我們稱之為“宿主”)中,透過軟硬體手段的結合,可以模擬出一個“管控”區域,它的裡面是預先指定、劃分出來的運算與儲存資源,與宿主的其他資源完全隔離。應用程式碼可以被丟到這個區域裡執行,即使它是病毒、木馬、DDoS攻擊軟體,它也只能在這麼一個資源受限的模擬世界折騰,它就像在Matrix裡的人,看不到宿主裡其他的平行世界,甚至不知道宿主的存在,無法濫用宿主資源從而毀滅宿主(和其他平行世界)。此外,任何這樣的區域,既然是模擬的,不管裡面跑著什麼,都可以被“一鍵刪除”,一切歸零。
虛擬機器、容器和沙箱的關係
虛擬機器和容器技術都可以看作是沙箱的不同表現。
虛擬機器和容器。前者是對硬體的虛擬化,後者則更像是作業系統的虛擬化。兩者都提供了沙箱的能力:虛擬機器透過硬體級抽象提供,而容器則使用公共核心提供程式級的隔離。
不過嚴格來講,虛擬機器是可以視為安全沙箱的,但是容器技術還差點意思,理由如下:
- 虛擬機器模擬出一整臺伺服器或者桌面電腦,你可以在裡面跑企業服務、也可以在裡面打遊戲,並不能影響宿主的安全穩定執行,你也可以把這個虛擬機器一鍵刪除,不管裡面安裝了什麼東西。
- 容器類技術,諸如docker、LXC等,有沙箱隔離的特點,但因為共享宿主作業系統的核心,並不提供徹底全模擬的環境,所以往往並不被視為安全沙箱。
推薦一個近期深度瞭解的前端安全沙箱技術——
,又被稱之為小程式容器,它的本質其實是建立在Security Capability model基礎上的瀏覽器核心的擴充套件,其沙箱的特點,體現在三個方面:- 沙箱內小程式之間的隔離
- 沙箱對執行其中的小程式程式碼,隔離其對宿主環境的資源訪問。
- 沙箱隔離了宿主對於沙箱中執行的小程式所產生的資料。
這種安全沙箱中執行的主要是輕應用、小程式,在應用正規化上相容網際網路主流的小程式規範,應用落地的門檻很低,能迅速投入應用。對於對接大量外部應用的企業來說,這個設計是非常巧妙的。換句話說,不管小程式的“供應商”是誰,它們的程式碼都被隔離、同時也被保護在沙箱環境中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70017183/viewspace-2921415/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 沙盒化容器:是容器還是虛擬機器虛擬機
- 容器和虛擬機器到底有啥區別?虛擬機
- Linux虛擬主機與Windows虛擬主機之間有什麼區別LinuxWindows
- Docker容器和虛擬機器區別Docker虛擬機
- 雲虛擬主機與雲伺服器有什麼區別,怎麼選?伺服器
- 雲虛擬主機和雲伺服器有什麼區別?雲虛擬主機能用來幹什麼?伺服器
- VPS和虛擬主機有什麼區別
- 容器技術和虛擬機器技術的對比虛擬機
- 伺服器、雲伺服器和虛擬主機有什麼區別?伺服器
- Java虛擬機器(JVM)和Python直譯器有什麼區別?Java虛擬機JVMPython
- 容器雲是什麼意思?與堡壘機有什麼區別?
- 恆訊科技分析:虛擬主機與vps主機有什麼區別?
- 【Linux】Docker主要優勢是什麼?與虛擬機器區別是什麼?LinuxDocker虛擬機
- 深入理解虛擬機器、容器和Hyper技術虛擬機
- 什麼是沙盒加密技術?加密
- 物理機和虛擬機器有什麼不同虛擬機
- 什麼是虛擬化技術,為什麼要虛擬化技術?薦
- docker容器和虛擬化有什麼區別?linux就業前景怎麼樣DockerLinux就業
- 虛擬機器、容器和沙箱是什麼關係?虛擬機
- 安卓模擬器與真機有什麼差別?安卓
- React 的虛擬 DOM 和 Vue 的虛擬 DOM 有什麼區別?ReactVue
- 新手必看:雲虛擬主機是什麼?和雲服務有什麼區別?
- Docker技術( 容器虛擬化技術 )Docker
- SD分支技術與SD-WAN:有什麼區別?
- 伺服器和虛擬主機有何區別伺服器
- 憑什麼別的虛擬機器叫虛擬機器,Python的叫直譯器?虛擬機Python
- 恆訊科技講解:伺服器虛擬化技術是什麼?有什麼用?伺服器
- 所謂硬碟韌體區虛擬是什麼技術?硬碟
- 雲伺服器與虛擬主機的區別伺服器
- 技術界中的虛擬機器、容器和沙箱的關係虛擬機
- 企業建站用雲虛擬主機還是雲伺服器好?有什麼區別?伺服器
- 虛擬機器遷移技術原理與應用虛擬機
- cis和ccd有什麼技術區別啊
- Docker容器與虛擬化技術:OpenEuler 部署 docker容器應用Docker
- Java虛擬機器是什麼?Java虛擬機
- 虛擬主機和ECS有啥區別
- 反虛擬機器技術總結虛擬機
- 虛擬機器檢測技術攻防虛擬機