paper: Container Security: Issues, Challenges, and the Road Ahead
容器相比虛擬機有許多優勢,容器可以50毫秒啓動,虛擬機則需要幾十秒,而且在容器在資源佔用方面也比虛擬機小很多。現在流行的微服務架構與容器技術完美的結合。
不過市場調查顯示對其安全性的擔憂是一些公司沒有采用容器的主要原因。容器安全可以分爲四個大類:
- 保護容器免受其內部運行的程序的攻擊
- 容器間的保護
- 保護主機免受惡意容器的攻擊
- 保護容器免受惡意主機的攻擊
前三點的解決方案主要基於Linux內核的特性(如namespaces
, CGroups
, capabilities
, and seccomp
(secure computation mode))和Linux安全模塊。第四點主要基於可信平臺,如TPMs和Intel SGX。
背景
容器與虛擬機的兩點主要區別:
- 容器共享主機的操作系統內核,而虛擬機擁有自己的操作系統內核
- 容器啓動迅速,而虛擬機啓動緩慢
然而,在計算機的世界中,共享就意味着存在被攻擊的危險。
基於軟件的保護機制
Linux內核特性
namaspace
命名空間爲進程提供系統資源的隔離和虛擬化。
進程命名空間等。。。
控制容器可以使用什麼資源(也就是隔離)。
Control Groups
控制容器可以使用多少資源。
Capability
將用戶權限細分。
Secure Computation Mode(SECCOMP)
過濾系統調用的機制。
基於硬件的保護機制
TODO