Azure App Service是一項完全托管的集成服務,讓用戶能夠為任何平臺或設備創建Web和移動應用程序,并將它們與SaaS解決方案和本地應用程序輕松集成起來、使業務流程實現自動化。
據研究人員向知名網站The Hacker News出示的一份安全報告顯示,第一個安全漏洞(CVE-2019-1234)是一個服務器端請求欺騙漏洞,該漏洞影響了微軟的混合云計算軟件解決方案Azure Stack。
一旦被鉆空子,該漏洞將使遠程黑客能夠未經授權即可訪問在Azure基礎架構上運行的任何虛擬機的屏幕截圖和敏感信息——至于是在共享的虛擬機、專用的虛擬機還是隔離的虛擬機上運行,并不重要。
據研究人員聲稱,該漏洞可以通過微軟Azure Stack Portal來鉆空子,用戶通過該界面來訪問使用Azure Stack創建的云。
通過使用一個未經身份驗證的內部API,研究人員找到了一種方法,以獲取虛擬機名稱和ID、硬件信息(比如目標機器的核心和總內存),然后結合使用另一個未經身份驗證的HTTP請求以獲取屏幕截圖,如圖所示。
這個漏洞只影響Azure Stack,這也是一條“很有效的攻擊途徑”,Check Point的安全研究主管Yaniv Balmas說。“實際上,如果某人擁有龐大的Azure Stack環境,且有諸多租戶,我就能獲取其他機器的屏幕截圖。這可能很危險,也可能不危險,得看情況。”
而第二個漏洞(CVE-2019-1372)是一個遠程代碼執行漏洞,該漏洞影響了Azure Stack上的Azure App Service,這將使黑客能夠全面控制整個Azure服務器,進而全面控制一家企業的商業代碼。Azure App Service讓用戶可以使用一種他們選擇的編程語言,構建和托管Web應用程序、移動后端程序以及充分利用REST(restful)的API,無需管理基礎架構。
更值得關注的是,攻擊者可以同時鉆這兩個漏洞的空子,只需在Azure Cloud創建一個免費用戶帳戶,并在Azure Cloud上運行惡意函數,或者將未經身份驗證的HTTP請求發送到Azure Stack用戶門戶網站。
Check Point發布了介紹第二個漏洞的詳細技術文章,但簡而言之,該漏洞存在于動態 WAS服務(DWASSVC)中,這項服務負責管理和運行租戶的應用程序和IIS worker進程,而這些進程實際上運行租戶的應用程序,并為指定的任務彼此聯系。
由于Azure Stack未檢查緩沖區的長度就將內存內容復制到緩沖區,攻擊者就可以鉆該漏洞的空子:只要向DWASSVC服務發送特別創建的消息,讓DWASSVC服務能夠以最高的NT AUTHORITY / SYSTEM權限在服務器上執行惡意代碼。
設計人員說:“那么,攻擊者如何才能向DWASSVC(DWASInterop.dll)發送消息?按照設計,運行C# Azure函數時,它在worker進程(w3wp.exe)的上下文中運行。”
“這讓攻擊者有可能枚舉目前打開的句柄(handle)。這樣一來,攻擊者就可以找到已經打開的命名管道句柄,并發送特別創建的消息。”
Balmas說:“這讓人可以全面了解在同一個服務器上運行的每個工作負載。我可以改動,可以刪除,可以為所欲為。”
Check Point在博文中僅使用第二個漏洞就演示了如何可以鉆該漏洞的空子讓DWASSVC崩潰,不過也可以利用該漏洞以提升權限。
Check Point的研究人員Ronen Shustin發現了這兩個漏洞,去年他負責任地向微軟報告了這些漏洞,防止黑客造成嚴重破壞和混亂。Shustin在博文中說,研究團隊當初開始研究Azure基礎架構,是為了反駁“云基礎架構很安全”這一觀念。
Balmas說:“這是云安全領域的一場惡夢。這動搖了云安全概念。你防止不了,你保護不了自己。唯一能防止、能保護的是云提供商。”
在去年年底給這兩個漏洞打上補丁之后,微軟按照其Azure漏洞懸賞計劃對Shustin獎勵了40000美元。