欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          什么是docker容器逃逸

          docker容器逃逸指的是攻擊者通過劫持容器化業(yè)務(wù)邏輯或直接控制等方式,已經(jīng)獲得容器內(nèi)某種權(quán)限下的命令執(zhí)行能力的過程和結(jié)果;因為docker使用的是隔離技術(shù),因此容器內(nèi)的進(jìn)程無法看到外面的進(jìn)程,但外面的進(jìn)程可以看到里面,所以如果一個容器可以訪問到外面的資源,甚至是獲得了宿主主機(jī)的權(quán)限,這就叫做“Docker逃逸”。

          什么是docker容器逃逸

          本教程操作環(huán)境:linux7.3系統(tǒng)、docker19.03版、Dell G3電腦。

          什么是docker容器逃逸

          「容器逃逸」指這樣的一種過程和結(jié)果首先,攻擊者通過劫持容器化業(yè)務(wù)邏輯,或直接控制(CaaS等合法獲得容器控制權(quán)的場景)等方式,已經(jīng)獲得了容器內(nèi)某種權(quán)限下的命令執(zhí)行能力;

          攻擊者利用這種命令執(zhí)行能力,借助一些手段進(jìn)一步獲得該容器所在直接宿主機(jī)(經(jīng)常見到“物理機(jī)運行虛擬機(jī),虛擬機(jī)再運行容器”的場景,該場景下的直接宿主機(jī)指容器外層的虛擬機(jī))上某種權(quán)限下的命令執(zhí)行能力。

          因為Docker所使用的是隔離技術(shù),就導(dǎo)致了容器內(nèi)的進(jìn)程無法看到外面的進(jìn)程,但外面的進(jìn)程可以看到里面,所以如果一個容器可以訪問到外面的資源,甚至是獲得了宿主主機(jī)的權(quán)限,這就叫做“Docker逃逸”。

          目前產(chǎn)生Docker逃逸的原因總共有三種:

          • 由內(nèi)核漏洞引起。

          • 由Docker軟件設(shè)計引起。

          • 由特權(quán)模式與配置不當(dāng)引起。

          接下來依次對這三種逃逸方法做簡單說明。

          1、由于內(nèi)核漏洞引起的逃逸

          因為Docker是直接共享的宿主主機(jī)內(nèi)核,所以當(dāng)宿主主機(jī)的內(nèi)核存在安全漏洞時會一并影響Docker的安全,導(dǎo)致可能會造成Docker逃逸。具體流程如下:

          • 使用內(nèi)核漏洞進(jìn)入內(nèi)核上下文

          • 獲取當(dāng)前進(jìn)程的task struct

          • 回溯task list 獲取pid = 1的task struct,復(fù)制其相關(guān)數(shù)據(jù)

          • 切換當(dāng)前namespace

          • 打開root shell,完成逃逸

          2、由于Doker軟件設(shè)計引起的逃逸

          比較典型的例子是Docker的標(biāo)準(zhǔn)化容器執(zhí)行引擎—-runc。Runc曾在2019年2月被爆出來過一個Docker逃逸漏洞CVE-2019-5736。其漏洞原理是,Docker、Containerd或其他基于runc的容易在運行時存在安全漏洞,攻擊者可以通過特定的容器鏡像或者exec操作獲取到宿主機(jī)runc執(zhí)行文件時的文件句柄并修改掉runc的二進(jìn)制文件,從而獲取到宿主機(jī)的root執(zhí)行權(quán)限,造成Docker逃逸。

          3、由于特權(quán)模式+目錄掛載引起的逃逸

          這一種逃逸方法較其他兩種來說用的

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號