微軟38 TB內(nèi)部數(shù)據(jù)慘遭泄露!私人密鑰、3w+工作對話流出,背后原因震驚了
出大事了!
幾個月前,微軟的人工智能研究團隊在GitHub上發(fā)布大量開源訓(xùn)練數(shù)據(jù)時,曾發(fā)生了大規(guī)模泄露。
高達38 TB的數(shù)據(jù)流出,包括員工電腦的的個人備份、私人密鑰和三萬多條內(nèi)部的Teams消息。
原來,是微軟的AI研究團隊在發(fā)布開源訓(xùn)練數(shù)據(jù)集時,不小心打開了「小金庫」的門。
而泄露之所以會發(fā)生,是因為一個SAS token配置錯誤了。
微軟的工作人員,都是使用Azure來共享文件的。但現(xiàn)在,它的便利性也成了一把雙刃劍——容易共享,卻也容易泄露。
就在昨天,微軟和Wiz同時發(fā)博,梳理了一下這件事的來龍去脈,因此廣大群眾們才了解到,原來三個月前發(fā)生過這么一場嚴重的泄漏事件。
Microsoft調(diào)查結(jié)果
在得知了捅出這么大一個簍子之后,微軟也馬上修復(fù)了這個問題,并對可能產(chǎn)生影響的文件進行了全面的排查,還發(fā)了一個官方博客對泄露事件進行了總結(jié)。
官方博客最主要的目的是安撫客戶,微軟一開頭就表示了「沒有客戶數(shù)據(jù)泄露,也沒有其他內(nèi)部服務(wù)因為這個問題而處于危險之中。對于此問題,不需要客戶采取任何行動?!?/span>
但是如此大規(guī)模的數(shù)據(jù)泄漏,別說微軟的客戶了,就是路過的吃瓜群眾看了消息也不是很放心啊。
我們就來看看這次數(shù)據(jù)泄漏的前因后果。
最早發(fā)現(xiàn)泄漏的是一個云安全公司W(wǎng)iz,他們在發(fā)現(xiàn)了這個問題之后,在將問題告知微軟的同時,把自己的發(fā)現(xiàn)和分析寫了一篇長文博客,為自己的業(yè)務(wù)能力打了一波廣告。
按照Wiz的說法,微軟的人工智能研究團隊在GitHub上發(fā)布大量開源訓(xùn)練數(shù)據(jù)時,意外暴露了38 TB的額外私人數(shù)據(jù),其中包括2名員工工作站的硬盤備份。
其中包括:機密文件、私鑰、密碼和超過 30,000 條內(nèi)部 Microsoft Teams 消息。
但是因為發(fā)現(xiàn)這個漏洞的公司本來就是網(wǎng)絡(luò)安全公司,而且第一時間聯(lián)系了微軟,所以大概率這些數(shù)據(jù)沒有被真正泄露出去。
而數(shù)據(jù)意外暴露的過程,是源于Wiz的研究團隊在網(wǎng)上掃描意外暴露云托管數(shù)據(jù)時的發(fā)現(xiàn)。
Github上Microsoft的組織下找到了一個名為robust-models-transfer的Repo。瀏覽者可以通過Azure的存儲URL來下載模型:
但是,用戶通過這個URL能夠訪問的不僅僅是這個開源模型。它被配置為授予用戶訪問整個存儲帳戶的權(quán)限,從而公開了其他私人敏感數(shù)據(jù)。
掃描顯示,此帳戶包含38 TB的額外數(shù)據(jù),包括兩個微軟員工的電腦硬盤備份。
圖:「robustnessws4285631339」存儲帳戶下泄漏出來的文件夾
圖:在文件備份中發(fā)現(xiàn)的一小部分敏感文件
兩名微軟員工的Teams聊天記錄
而且除了錯誤的訪問權(quán)限之外,這個SAS token還被錯誤地配置為「完全控制」權(quán)限。這意味著,其他用戶不僅可以查看存儲帳戶中的所有文件,還可以刪除和篡改這些文件。
因為Repo原本的目的是提供一個用于訓(xùn)練代碼的AI模型。Repo會引導(dǎo)用戶從SAS鏈接下載格式為ckpt的模型數(shù)據(jù)文件。
它是使用Python的 pickle 格式化器格式化的,很容易引發(fā)任意代碼執(zhí)行(ACE)攻擊。
攻擊者可以將惡意代碼注入到這個存儲帳戶中的所有AI模型中,每個信任這個微軟GitHub Repo的用戶都會受到威脅。
不過還好,因為這個賬戶是在Wiz研究團隊主動掃描時找到的,并并沒有公開給所有的訪問用戶。
微軟Azure使用了一種被稱為「SAS token」的機制。用戶通過這個機制來創(chuàng)建鏈接分享自己的存儲賬戶的訪問權(quán)限,而經(jīng)過他們檢查,這個賬戶還是完全私有的。
微軟也表示,由于Wiz的研究發(fā)現(xiàn),他們已經(jīng)擴展了GitHub的一項特殊監(jiān)控服務(wù),會監(jiān)視所有公開開源代碼的更改,以防止可能的代碼篡改和敏感文件泄露。
SAS token簡介
SAS(Shared Access Signature)即共享訪問簽名。
在Azure中,SAS token是一個經(jīng)過認證的URL,它能夠授予對Azure存儲數(shù)據(jù)的訪問權(quán)限。
SAS的訪問權(quán)限可由用戶自定義。
訪問的內(nèi)容可以是單個文件、容器或整個存儲帳戶,權(quán)限介于只讀和完全控制之間。
過期時間也可以自定義,并允許用戶創(chuàng)建無限期的訪問 token。
這種精細的操作劃分為用戶帶來了極大靈活性和機動性,但也可能會導(dǎo)致授權(quán)過多帶來的一系列風(fēng)險。
這次微軟內(nèi)部數(shù)據(jù)的泄露印證了這一點。
在權(quán)限最大的情況下,token可以永久開放對整個帳戶的所有權(quán)限,基本上與賬戶密鑰的訪問權(quán)限相同。
SAS token有3種類型:賬戶SAS、服務(wù)SAS和用戶授權(quán)SAS。
其中,最常用的是賬戶SAS token,微軟的Repo中使用的也是這種token。
生成賬戶SAS的過程很簡單,如下圖所示:
用戶配置token的范圍、權(quán)限和有效期,然后生成token。隨后在后臺中,瀏覽器會從Azure下載帳戶密鑰,并用密鑰簽署生成的token。
整個過程都將在瀏覽器上完成,與Azure云中的資源或事件無關(guān)。
因此,當(dāng)用戶創(chuàng)建了一個具有高權(quán)限且無限期的token時,管理員根本無法得知這個token的地點以及流通范圍。
這使得想要吊銷token變得十分困難。
管理員需要輪換簽署token的帳戶密鑰,從而使所有由相同密鑰簽署的其他令牌也變得無效。
這個缺陷讓這項服務(wù)很容易成為尋找暴露數(shù)據(jù)的攻擊目標(biāo)。
除了意外暴露的風(fēng)險,該服務(wù)的缺陷還使其成為攻擊者在入侵賬戶中進行持久攻擊的有效工具。
微軟最近的一份報告表明,攻擊者正在利用該服務(wù)缺乏監(jiān)控功能的特點,生成特權(quán)SAS token作為后門。
但由于token的發(fā)放在任何地方都沒有記錄,所以管理員無法對其采取相應(yīng)的行動。
SAS安全建議
Wiz在回顧分析了微軟數(shù)據(jù)泄露的整個流程后,貼心地針對這次的始作俑者SAS,為用戶提出了一些提高SAS安全性的建議。
SAS管理
首先是管理方面,由于賬戶SAS token缺乏安全性和管理,因此應(yīng)將其視為與賬戶密鑰本身,給予同樣的重視
要避免將賬戶 SAS用于外部共享,token創(chuàng)建的錯誤很容易被忽視并暴露敏感數(shù)據(jù)。
如果要進行外部共享,可考慮將服務(wù) SAS與存儲訪問策略一起使用。
該功能可以將 SAS token與服務(wù)器端策略相連,從而能過以集中方式管理策略和撤銷策略。
如果需要以有時間期限的方式共享內(nèi)容,可以考慮用戶授權(quán)SAS,它僅提供上限為7天的訪問權(quán)。
并且,它還能將 SAS token與 Azure Active Directory的身份管理連接起來,提供對令牌創(chuàng)建者及其用戶身份的控制和可見性。
此外,Wiz建議為外部共享創(chuàng)建專用的存儲帳戶,以確保過度授權(quán)的token其潛在影響僅限于外部數(shù)據(jù)。
為了禁用SAS token,企業(yè)必須分別禁用每個存儲賬戶的 SAS訪問權(quán)限。云安全策略管理(CSPM) 可以作為一項策略來進行跟蹤和執(zhí)行。
另一種禁用SAS token創(chuàng)建的解決方案是阻止Azure中的“列出存儲帳戶密鑰”操作(因為沒有密鑰,無法創(chuàng)建新的SAS令牌),然后輪換當(dāng)前的帳戶密鑰,以使現(xiàn)有的SAS令牌無效。
這種方法仍然允許創(chuàng)建用戶授權(quán)SAS,因為它依賴于用戶密鑰而不是賬戶密鑰。
SAS監(jiān)管
其次是監(jiān)管方面,如果要跟蹤活動SAS token的使用情況,需要為每個存儲賬戶啟用Storage Analytics日志。
生成的日志將包含SAS token訪問的詳細信息,包括簽名密鑰和分配的權(quán)限。
但需要注意的是,只有主動使用的token才會出現(xiàn)在日志中,并且啟用日志會產(chǎn)生額外費用,這對于活動頻繁的賬戶來說可能會很昂貴。
此外,Azure Metrics也可用于監(jiān)控存儲賬戶中 SAS token的使用情況。
在默認情況下,Azure會記錄和匯總長達 93 天的存儲帳戶事件。利用Azure Metrics,用戶可以通過查找 SAS 驗證請求,找到使用 SAS token的存儲賬戶。
SAS秘密掃描
最后是使用秘密掃描工具來檢測工件和公開暴露資產(chǎn)(如移動應(yīng)用程序、網(wǎng)站和 GitHub 存儲庫)中泄漏或過度授權(quán)的 SAS token,這在微軟的案例中可以看到。
對于Wiz的用戶,Wiz提供了秘密掃描功能來識別內(nèi)部和外部資產(chǎn)中的SAS token,并探索其權(quán)限。此外,還可以使用Wiz CSPM跟蹤支持SAS的存儲賬戶。
Wiz介紹
幫助微軟發(fā)現(xiàn)這次數(shù)據(jù)泄漏,防止了可能出現(xiàn)的更嚴重的后果的Wiz,是一家位于美國紐約,創(chuàng)立于2020年的網(wǎng)絡(luò)云安全初創(chuàng)公司。
根據(jù)公司自己的介紹,他們的業(yè)務(wù)主要是幫助企業(yè)發(fā)現(xiàn)公共云基礎(chǔ)設(shè)施中的安全問題,為企業(yè)安全團隊設(shè)計云原生可視性解決方案,可分析整個云環(huán)境,提供跨云、容器和工作負載的安全風(fēng)險 360° 視圖。
在8月底,他們剛剛完成了接近3億美元的D輪融資,估值接近100億美元,是云安全領(lǐng)域的一只巨型獨角獸。
客戶包括了各行各業(yè)對于云服務(wù)和安全有需求的公司。
4位創(chuàng)始人:Ami Luttwak、Assaf Rappaport、Yinon Costiva 和 Roy Reznik都來自以色列,他們相識于在以色列軍隊服役期間。
后來4人開發(fā)了一個名為Adallom的云訪問代理產(chǎn)品,2015年被微軟收購。4人因此加入了微軟。而他們開發(fā)的云安全產(chǎn)品被微軟整合了進自己的服務(wù)之中,為微軟創(chuàng)造了每年接近10億的云安全業(yè)務(wù)收入。
當(dāng)他們發(fā)現(xiàn)自己做的業(yè)務(wù)和產(chǎn)品,在微軟Azure之外,也有非常好的市場前景時,他們4人決定離開,共同創(chuàng)立第二家企業(yè)——Wiz。
因為他們發(fā)現(xiàn)與本地網(wǎng)絡(luò)安全不同,安全團隊無法在「單一管理平臺」中查看所有云服務(wù)器,而Wiz正是瞄準了這個市場發(fā)力,提供了一個支持多個公有云服務(wù)的安全管理平臺。