給你的Linux系統(tǒng)打上臟牛補丁的另一種原因,就是這個漏洞可以用來逃避Docker。有句話值得再次強調:容器化并不意味著保護,它只是一種管理功能。
“臟牛”是一種內存訪問的競爭環(huán)境,由于Linux內核的內存子系統(tǒng)使用專有映射,來處理“寫入時復制(Copy-On-Write)”時產(chǎn)生,本地用戶可用來提權。這個漏洞在Linux內核中已經(jīng)存在了9年。但最新的研究顯示,除了提權之外,Docker之類的容器是拿它沒辦法的。
虛擬動態(tài)共享對象(vDSO)是內核自動映射到所有“用戶空間”應用程序地址空間的,一個小型共享庫。vDSO的存在是為了非常頻繁使用的系統(tǒng)調用,在無需影響性能的情況下被激活。
利用vDSO內存空間中的“clock_gettime() ”函數(shù)對臟牛漏洞發(fā)起攻擊,可令系統(tǒng)崩潰并獲得root權限的shell,并瀏覽容器之外主機上的文件。
研究人員在Github上發(fā)布了POC(概念驗證代碼),并在視頻中的AWS測試環(huán)境中演示了如何取得root訪問權限。