看看OpenAI的漏洞,并推斷可能的人工智能公司SSC黑客及其可能的影響。企業(yè)能做些什么來(lái)保護(hù)自己?
2023年3月20日,OpenAI公司關(guān)閉了流行的生成式人工智能工具ChatGPT幾個(gè)小時(shí)。該公司后來(lái)承認(rèn),其宕機(jī)的原因是源自開(kāi)源內(nèi)存數(shù)據(jù)存儲(chǔ)庫(kù)“Redis”的軟件供應(yīng)鏈漏洞。
由于這個(gè)漏洞,有一個(gè)時(shí)間窗口(3月20日上午1-10點(diǎn)),用戶可能會(huì)意外訪問(wèn)其他用戶的聊天歷史記錄標(biāo)題,并可能暴露與支付相關(guān)的信息,例如姓名、電子郵件地址、支付地址、信用卡類型和支付卡號(hào)的最后四位數(shù)字。
這是一個(gè)相對(duì)較小的錯(cuò)誤,很快就被發(fā)現(xiàn)并修復(fù)了??紤]到ChatGPT和其他生成式人工智能來(lái)越受歡迎,更有針對(duì)性的軟件供應(yīng)鏈攻擊可能會(huì)產(chǎn)生什么后果?
2023年企業(yè)應(yīng)用程序安全將面臨哪些挑戰(zhàn)
2022年“企業(yè)應(yīng)用安全”報(bào)告為開(kāi)發(fā)人員提供了工具和技術(shù),以確保SDLC的所有階段都是安全的。其內(nèi)容包括供應(yīng)鏈安全、DevSecOps、零信任安全原則、移動(dòng)應(yīng)用程序安全等。
本文將研究3月20日究竟發(fā)生了什么,以及用戶信息是如何暴露的。還將想象一下更嚴(yán)重的潛在攻擊,看看哪些信息可能被暴露,以及可以做些什么來(lái)幫助防止此類情況的發(fā)生。最后將給出一些通用的軟件供應(yīng)鏈安全建議,無(wú)論企業(yè)正在開(kāi)發(fā)什么軟件,這些建議都是相關(guān)的。
像幾乎所有其他軟件公司一樣,OpenAI公司的代碼在很大程度上依賴于開(kāi)源庫(kù)和代碼。在這個(gè)例子中,這個(gè)bug是在Redis客戶端開(kāi)源庫(kù)Redis-py中發(fā)現(xiàn)的。以下是該公司自己重新記錄的漏洞描述:
OpenAI使用Redis在他們的服務(wù)器中緩存用戶信息,以便不需要每次請(qǐng)求都檢查他們的數(shù)據(jù)庫(kù)。
Redis集群用于將負(fù)載分配到多個(gè)Redis實(shí)例上。
Redis-py庫(kù)用于與公司的Python服務(wù)器的Redis接口,該服務(wù)器與Asyncio一起運(yùn)行。
庫(kù)維護(hù)服務(wù)器和集群之間的共享連接池,并回收連接,以便在完成后用于另一個(gè)請(qǐng)求。
當(dāng)使用Asyncio時(shí),redis-py的請(qǐng)求和響應(yīng)表現(xiàn)為兩個(gè)隊(duì)列:調(diào)用者將請(qǐng)求推送到傳入隊(duì)列,從傳出隊(duì)列彈出響應(yīng),然后將連接返回到池。
假設(shè)一個(gè)請(qǐng)求在被推送到傳入隊(duì)列之后,但在響應(yīng)從傳出隊(duì)列彈出之前被取消。在這種情況下,看到了錯(cuò)誤:連接損壞,并且為不相關(guān)請(qǐng)求提取的下一個(gè)響應(yīng)可以接收連接中遺留的數(shù)據(jù)。
在大多數(shù)情況下,這會(huì)導(dǎo)致一個(gè)不可恢復(fù)的服務(wù)器錯(cuò)誤,用戶將不得不再次嘗試他們的請(qǐng)求。
但在某些情況下,損壞的數(shù)據(jù)恰好與請(qǐng)求者期望的數(shù)據(jù)類型相匹配,因此從緩存中返回的數(shù)據(jù)看起來(lái)是有效的,即使它屬于另一個(gè)用戶。
3月20日凌晨1點(diǎn),OpenAI公司無(wú)意中對(duì)他們的服務(wù)器進(jìn)行了更改,導(dǎo)致Redis請(qǐng)求取消激增。這使得每個(gè)連接返回錯(cuò)誤數(shù)據(jù)的概率高于平常。
這個(gè)特定的錯(cuò)誤只出現(xiàn)在Redis集群的AsyncioRedis-py客戶端中,并且已經(jīng)由OpenAI公司工程師和Redis庫(kù)維護(hù)者共同修復(fù)。
提醒一下,這個(gè)錯(cuò)誤可能會(huì)無(wú)意中暴露另一個(gè)活躍用戶的搜索標(biāo)題和該用戶的部分支付信息。一些用戶現(xiàn)在讓ChatGPT完全或部分控制他們的個(gè)人財(cái)務(wù),暴露這些信息可能會(huì)帶來(lái)災(zāi)難性的后果。
這是可能發(fā)生的事情
在這種情況下,OpenAi從開(kāi)源庫(kù)Redis繼承的軟件供應(yīng)鏈漏洞是一個(gè)相對(duì)簡(jiǎn)單的漏洞,很容易修補(bǔ)??梢韵胂笠粋€(gè)更嚴(yán)重的場(chǎng)景,這是一個(gè)有針對(duì)性的軟件供應(yīng)鏈攻擊,類似于SolarWinds遭受的攻擊,發(fā)生了,并且在很長(zhǎng)一段時(shí)間內(nèi)(假設(shè)是幾個(gè)月)都沒(méi)有被發(fā)現(xiàn)。
由于用戶現(xiàn)在向OpenAI公司付費(fèi)以更直接地訪問(wèn)他們的大型語(yǔ)言模型(LLM),這樣的攻擊可能會(huì)泄露客戶的信息,包括他們的支付數(shù)據(jù)。但這并不是我們假設(shè)的黑客組織真正感興趣的信息。ChatGPT目前擁有11.6億用戶。它的用戶在2023年3月突破了10億。這些數(shù)字表明,從2023年2月到2023年3月,這一數(shù)字增長(zhǎng)了近55%?,F(xiàn)在,從藝術(shù)到歷史作業(yè)再到金融,許多人都在使用生成式人工智能,不受限制地訪問(wèn)OpenAI的數(shù)據(jù)庫(kù)可能會(huì)泄露無(wú)數(shù)用戶的潛在勒索信息。如果想找一個(gè)更現(xiàn)實(shí)的例子,那么2015年AshleyMadison的數(shù)據(jù)泄露事件造成了一些嚴(yán)重后果,其中一些后果甚至在多年后仍然存在。
讓我們?cè)谖覀兿胂蟮暮诳椭懈M(jìn)一步,假設(shè)這個(gè)未命名的黑客組織不僅可以訪問(wèn)OpenAI數(shù)據(jù)庫(kù),而且還可以影響請(qǐng)求的結(jié)果。你能想象數(shù)以百萬(wàn)計(jì)的人獲得黑客組織量身定制的有針對(duì)性的財(cái)務(wù)建議的可能性嗎?或者得到虛假的安全掃描信息或代碼測(cè)試信息,再次由我們神秘的黑客組織提供?ChatGPT現(xiàn)在可以訪問(wèn)互聯(lián)網(wǎng),這使得將進(jìn)出OpenAI服務(wù)器的信息隱藏起來(lái)變得更加容易,這些信息只不過(guò)是常規(guī)的、無(wú)害的數(shù)據(jù)。
人們可以看到針對(duì)成功的LLM的軟件供應(yīng)鏈攻擊可能造成的巨大潛在損害。
如何保護(hù)自己和軟件供應(yīng)鏈
為了保護(hù)自己,你能做的第一件事就是提高你的懷疑意識(shí)。不要盲目地信任任何工具,無(wú)論它看起來(lái)多么溫和,除非您能保證完全控制它所做的事情、它可能做的事情以及它可以訪問(wèn)的資源。在本地運(yùn)行ChatGPT的開(kāi)源版本的選項(xiàng)可以讓您對(duì)培訓(xùn)信息和訪問(wèn)級(jí)別有更多的控制。
對(duì)軟件供應(yīng)鏈中正在發(fā)生的事情有更多的透明度,并建立一個(gè)管道也是一個(gè)好主意。您可以從每個(gè)構(gòu)建的SBOM開(kāi)始,但這只是一個(gè)步驟,您還可以做許多其他事情來(lái)增加服務(wù)器、云或網(wǎng)絡(luò)中正在發(fā)生的事情的透明度。
人工智能的未來(lái)
無(wú)論我們做什么,人工智能都會(huì)一直存在。它對(duì)人們?nèi)粘I畹挠绊懗潭冗€有待推測(cè),但僅從過(guò)去六個(gè)月的情況來(lái)看,似乎可以肯定的是,我們正在看到LLM技術(shù)及其應(yīng)用的潛在分水嶺。隨著人工智能使代碼和整個(gè)應(yīng)用程序的創(chuàng)建變成了用“自然語(yǔ)言”找到正確提示的問(wèn)題,我們可能會(huì)面臨前所未有的大量應(yīng)用程序,這些應(yīng)用程序沒(méi)有經(jīng)過(guò)適當(dāng)?shù)臏y(cè)試,也沒(méi)有適當(dāng)?shù)陌踩U洗胧﹣?lái)保護(hù)它們的用戶和創(chuàng)建它們的人員或公司。