這是一篇由Databbeplay娱乐iosricks和Orca Security合作發布的文章。我們感謝Orca Security的雲安全研究員Yanir Tsarimi的貢獻。
Databricks的首要任務是保護我們的客戶數據。作為我們深度防禦方法的一部分,我們與社區中的安全研究人員合作,主動發現和糾正Databricks平台的潛在漏洞,以便在它們對我們的客戶構成風險之前進行修複。beplay体育app下载地址Beplay体育安卓版本我們通過我們的私人bug賞金和第三方滲透測試合同來做到這一點。
我們知道,安全也是全球客戶最關心的問題。beplay体育app下载地址因此,為了展示我們的努力,我們想分享一個聯合博客,關於最近與我們的安全合作夥伴之一,Orca security的工作經驗。
虎鯨的安全作為一項正在進行的研究工作的一部分,他發現了Databricks平台的一個漏洞。Beplay体育安卓版本下麵是Orca對其發現漏洞的過程、Databricks對Orca活動的檢測以及漏洞響應的描述。
該漏洞
在Databricks工作空間中,用戶可以上傳數據並克隆Git存儲庫,以便在Databricks工作空間中使用它們。這些文件存儲在Databricks管理的雲存儲中(例如,AWS S3對象存儲),Databricks將其稱為“文件存儲”。Orca Security的研究集中在處理這些上傳文件的Databricks特性上——特別是Git倉庫操作。有一個特性存在安全問題:將文件上傳到Git存儲庫的能力。
上傳在兩個不同的HTTP請求中執行:
- 用戶文件上傳到服務器。服務器返回一個UUID文件名。
- 通過提交UUID文件名,上傳“最終完成”。
此過程適用於上傳多個文件。查看確認文件上傳時發送到服務器的請求,研究人員注意到HTTP請求發送有三個參數:
{
"path": "第一步開始的路徑",
"name": "要在git回購中創建的文件名",
“storedInFileStore”:假的
}
最後一個參數引起了虎鯨研究人員的注意。他們已經知道“文件存儲”實際上是雲提供商的對象存儲,所以不清楚“假”是什麼意思。
研究人員擺弄了上傳請求,確定當文件上傳在第一個HTTP請求後被“確認”時,上傳的文件被本地存儲在磁盤“/tmp/import_xxx/…”下。導入臨時目錄被添加到上傳的文件名前麵。Orca研究人員需要確定他們是否可以執行目錄遍曆攻擊,這涉及到發送對本地文件名的請求,如“…/…/…/…/等等”。/issue”,看看它是否有效。事實並非如此。後端檢查遍曆,不允許Orca研究人員完成上傳。
雖然Databricks阻止了這種攻擊,但進一步的嚐試證實,雖然試圖利用相對路徑來遍曆沒有工作,但係統確實存在漏洞,因為它允許研究人員提供一個絕對路徑,如“/etc /issue”。在嚐試上傳該文件後,研究人員通過Databricks web控製台驗證了文件內容,這表明他們可能能夠從服務器的文件係統讀取任意文件。
為了在不影響客戶數據的前提下了解這個問題的嚴重性,Orca Security研究人員仔細地嚐試讀取“/proc/self”下的文件。研究人員確定,當從“/proc/self/environ”讀取環境變量時,他們將能夠獲得某些信息。他們運行了一個針對“/proc/self/fd/XX”的腳本迭代,生成了對打開的日誌文件的讀訪問。為了確保沒有數據泄露,他們暫停了攻擊,向Databricks報告了這一發現。
Databricks的檢測和漏洞響應
在收到通知之前,Databricks已經迅速發現了異常行為,並開始調查、遏製和采取反措施擊退進一步的攻擊——甚至在Orca能夠向Databricks報告問題之前,Databricks就已經聯係了Orca Security。
Databricks團隊作為事件響應程序的一部分,能夠在短短幾個小時內識別攻擊和漏洞,並部署固定版本。數據庫還確定,在研究期間,暴露的環境信息在係統中是無效的。Databricks甚至確定了請求的來源,並與Orca Security努力合作,以驗證他們的檢測和操作,並進一步保護客戶。beplay体育app下载地址
Orca Security非常感謝Databricks安全團隊的努力,到目前為止,這是我們唯一一次在研究係統時被發現。