安全公司Intezer研究人員發(fā)現(xiàn)微軟的無服務(wù)器運(yùn)算服務(wù)Azure Functions,存在一個特權(quán)提升漏洞,且程序代碼可從Azure Functions Docker容器逃脫(Escape)至Docker主機(jī),但微軟提到,這個漏洞不影響用戶安全。
Azure Functions讓用戶不需要配置和管理基礎(chǔ)設(shè)施,就能簡單地開始執(zhí)行程序代碼,可由HTTP請求觸發(fā),并且一次最多只能執(zhí)行數(shù)分鐘處理該事件,用戶的程序代碼會在Azure托管的容器中執(zhí)行,無法逃脫受限的環(huán)境,但是這個Azure Functions的新漏洞,卻可讓程序代碼逃脫至Docker主機(jī)。
當(dāng)程序代碼逃脫到了Docker,取得根訪問權(quán)限,就足以破壞Docker主機(jī),并獲得更多的控制權(quán),除了逃脫可能受到監(jiān)控的容器,還能轉(zhuǎn)移到安全性經(jīng)常被忽略的Docker主機(jī)。微軟在收到漏洞報(bào)告后,認(rèn)為這個漏洞并不影響Azure Functions用戶安全,因?yàn)榧幢憧梢蕴用?,但Docker主機(jī)本身仍受Hyper-V邊界保護(hù),微軟進(jìn)一步限制了/etc和/sys的訪問。
即便這個漏洞沒有真正造成安全問題,但研究人員提到,這樣的案例一再發(fā)生,代表部分漏洞其實(shí)不受用戶控制,攻擊者可以攻擊第三方軟件,找到入侵的方法,因此用戶不僅需要減少可能攻擊面,還應(yīng)采用零信任安全架構(gòu),當(dāng)攻擊者在生產(chǎn)環(huán)境中執(zhí)行未經(jīng)授權(quán)的程序代碼,用戶應(yīng)該采取保護(hù)措施,具備偵測并且終止惡意程序的能力。