本發(fā)明涉及容器,尤其涉及一種容器逃逸防御方法、裝置及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、容器是一種輕量級(jí)的虛擬化技術(shù),它允許在單個(gè)操作系統(tǒng)實(shí)例上運(yùn)行多個(gè)隔離的應(yīng)用程序。容器技術(shù)使得應(yīng)用程序及其依賴項(xiàng)可以作為一個(gè)單元(容器)被封裝起來(lái),這樣就可以在任何支持容器技術(shù)的平臺(tái)上一致地運(yùn)行,而不受底層基礎(chǔ)設(shè)施的影響。容器與主機(jī)共享操作系統(tǒng)內(nèi)核,不同的容器之間可以共享部分系統(tǒng)資源,因此更加輕量級(jí),消耗的資源更少。容器技術(shù)的出現(xiàn)解決了傳統(tǒng)部署方法中存在的一系列問(wèn)題,使得軟件開(kāi)發(fā)和部署更加一致、高效。隨著容器技術(shù)的普及,與之相關(guān)的安全問(wèn)題也逐漸凸顯出來(lái),其中最為引人關(guān)注的就是容器逃逸。容器逃逸指的是攻擊者通過(guò)劫持容器化業(yè)務(wù)邏輯或直接控制等方式,已經(jīng)獲得了容器內(nèi)某種權(quán)限下的命令執(zhí)行能力;攻擊者利用這種命令執(zhí)行能力,借助一些手段進(jìn)而獲得該容器所在宿主機(jī)上某種權(quán)限下的命令執(zhí)行能力。容器逃逸是最為嚴(yán)重的安全風(fēng)險(xiǎn),直接危害了底層宿主機(jī)和整個(gè)云計(jì)算系統(tǒng)的安全。一旦成功,攻擊者可以在容器內(nèi)執(zhí)行任意代碼,甚至可以控制整個(gè)系統(tǒng)。
2、現(xiàn)有技術(shù)中為解決容器逃逸通常采用如下方式:通過(guò)檢查容器配置,確保配置項(xiàng)均符合安全基線;以及在容器運(yùn)行時(shí),對(duì)運(yùn)行的進(jìn)程和進(jìn)程參數(shù)進(jìn)行實(shí)時(shí)檢查,及時(shí)發(fā)現(xiàn)并防御逃逸攻擊;使用強(qiáng)制訪問(wèn)控制,避免容器逃逸后的造成實(shí)質(zhì)性的危害。但上述方法各有利弊,檢查安全配置可以防御已經(jīng)發(fā)現(xiàn)的絕大多數(shù)容器逃逸漏洞,但是仍無(wú)法避免利用0day漏洞進(jìn)行的逃逸攻擊;進(jìn)行運(yùn)行檢查可以及時(shí)發(fā)現(xiàn)逃逸攻擊,并采取相應(yīng)防御手段,但是不可避免的產(chǎn)生一定額外的開(kāi)銷,尤其當(dāng)容器數(shù)量很多時(shí);使用安全機(jī)制進(jìn)行防御可以有效防御大多數(shù)逃逸漏洞包括0day漏洞,但是合理地配置安全機(jī)制卻不容易,過(guò)于嚴(yán)格可能會(huì)影響容器內(nèi)業(yè)務(wù)的正常運(yùn)行。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明實(shí)施例提供了一種容器逃逸防御方法、裝置及存儲(chǔ)介質(zhì),以解決現(xiàn)有技術(shù)中防御容器逃逸不能完全防范逃逸防御和防范開(kāi)銷過(guò)高的技術(shù)問(wèn)題。
2、第一方面,本發(fā)明實(shí)施例提供了一種容器逃逸防御方法,包括:
3、在容器啟動(dòng)前,根據(jù)容器設(shè)置分配對(duì)應(yīng)的磁盤(pán)卷,對(duì)所述磁盤(pán)卷進(jìn)行安全配置;
4、對(duì)進(jìn)行安全配置后的磁盤(pán)卷進(jìn)行讀寫(xiě)掛載設(shè)置;
5、在容器啟動(dòng)后,將所述容器的工作目錄與所述磁盤(pán)卷進(jìn)行掛載關(guān)聯(lián),防止容器逃逸攻擊在所述容器工作目錄運(yùn)行。
6、第二方面,本發(fā)明實(shí)施例還提供了一種容器逃逸防御裝置,包括:
7、設(shè)置分配模塊,用于在容器啟動(dòng)前,根據(jù)容器設(shè)置分配對(duì)應(yīng)的磁盤(pán)卷,對(duì)所述磁盤(pán)卷進(jìn)行安全配置;
8、讀寫(xiě)掛載設(shè)置模塊,用于對(duì)進(jìn)行安全配置后的磁盤(pán)卷進(jìn)行讀寫(xiě)掛載設(shè)置;
9、掛載關(guān)聯(lián)模塊,用于在容器啟動(dòng)后,將所述容器的工作目錄與所述磁盤(pán)卷進(jìn)行掛載關(guān)聯(lián),防止容器逃逸攻擊在所述容器工作目錄運(yùn)行。
10、第三方面,本發(fā)明實(shí)施例還提供了一種包含計(jì)算機(jī)可執(zhí)行指令的存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在由計(jì)算機(jī)處理器執(zhí)行時(shí)用于執(zhí)行如上述實(shí)施例提供的容器逃逸防御方法。
11、本發(fā)明實(shí)施例提供的容器逃逸防御方法、裝置及存儲(chǔ)介質(zhì),通過(guò)在容器啟動(dòng)前,根據(jù)容器設(shè)置分配對(duì)應(yīng)的磁盤(pán)卷,對(duì)所述磁盤(pán)卷進(jìn)行安全配置;對(duì)進(jìn)行安全配置后的磁盤(pán)卷進(jìn)行讀寫(xiě)掛載設(shè)置;在容器啟動(dòng)后,將所述容器的工作目錄與所述磁盤(pán)卷進(jìn)行掛載關(guān)聯(lián),防止容器逃逸攻擊在所述容器工作目錄運(yùn)行。利用在容器運(yùn)行前,設(shè)定相應(yīng)的存儲(chǔ)磁盤(pán)卷,并提前對(duì)磁盤(pán)卷進(jìn)行相應(yīng)的安全處理,并在容器運(yùn)行后,將處理后的磁盤(pán)卷關(guān)聯(lián)容器,以使得容器在運(yùn)行時(shí),在分配的磁盤(pán)卷防止關(guān)鍵的命令和程序運(yùn)行,以及防止訪問(wèn)設(shè)備文件。通過(guò)對(duì)磁盤(pán)卷進(jìn)行管控實(shí)現(xiàn)對(duì)容器工作目錄的管控,無(wú)需設(shè)定復(fù)雜的安全機(jī)制,也無(wú)需對(duì)容器業(yè)務(wù)進(jìn)行監(jiān)控,能夠?qū)崿F(xiàn)對(duì)容器逃逸攻擊有著較好的防御效果且不會(huì)產(chǎn)生額外開(kāi)銷。
1.一種容器逃逸防御方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)容器設(shè)置分配對(duì)應(yīng)的磁盤(pán)卷,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)容器配置文件,查找容器在宿主機(jī)上存放文件的路徑,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述利用安全標(biāo)記對(duì)所述路徑對(duì)應(yīng)的目錄進(jìn)行管控,包括:
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對(duì)所述磁盤(pán)卷進(jìn)行安全配置,包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)容器設(shè)置分配對(duì)應(yīng)的磁盤(pán)卷,包括:
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)容器設(shè)置分配對(duì)應(yīng)的磁盤(pán)卷,包括:
9.一種容器逃逸防御裝置,其特征在于,包括:
10.一種包含計(jì)算機(jī)可執(zhí)行指令的存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可執(zhí)行指令在由計(jì)算機(jī)處理器執(zhí)行時(shí)用于執(zhí)行如權(quán)利要求1-8任一所述的容器逃逸防御方法。