自從發(fā)現(xiàn)CRIME、BREACH、TIME和LUCKY-13等漏洞以來(lái),基于長(zhǎng)度的側(cè)信道攻擊一直被認(rèn)為是可行的攻擊方法。雖然數(shù)據(jù)包已經(jīng)加密,但是攻擊者仍然能夠通過(guò)分析數(shù)據(jù)包長(zhǎng)度或計(jì)時(shí)信息等元數(shù)據(jù),推理有關(guān)底層明文的信息。
本古里安大學(xué)的一組研究人員最近聯(lián)系了Cloudflare,他們寫(xiě)了一篇題為“您的提示詞是什么?針對(duì)AI助手的遠(yuǎn)程鍵盤(pán)記錄攻擊”的論文,其中描述了“一種新穎的側(cè)信道攻擊方法,可用于通過(guò)互聯(lián)網(wǎng)讀取AI助手發(fā)出的加密響應(yīng)”。
Workers AI和AI Gateway團(tuán)隊(duì)與這些安全研究人員密切合作,通過(guò)我們的公共漏洞懸賞計(jì)劃提交了一份研究報(bào)告,發(fā)現(xiàn)并完全修補(bǔ)了一個(gè)影響LLM提供商的漏洞。您可以訪問(wèn)此處,閱讀研究報(bào)告的詳細(xì)內(nèi)容。
自從收到有關(guān)此漏洞的通知以來(lái),我們已經(jīng)實(shí)施了一項(xiàng)緩解措施,以幫助保護(hù)所有Cloudflare Workers AI和AI Gateway用戶(hù)。據(jù)我們目前評(píng)估所知,Workers AI和AI Gateway用戶(hù)不存在尚未解決的風(fēng)險(xiǎn)。
側(cè)信道攻擊的工作原理?
在研究論文中,作者描述了這樣一種方法:攻擊者攔截與LLM提供商的聊天會(huì)話(huà)數(shù)據(jù)流,使用網(wǎng)絡(luò)數(shù)據(jù)包標(biāo)頭來(lái)推理每個(gè)令牌的長(zhǎng)度,提取和分段令牌的序列,然后使用他們自己專(zhuān)用的LLM來(lái)推理響應(yīng)。
成功發(fā)起攻擊的兩個(gè)主要條件分別是:以流傳輸模式運(yùn)行的AI聊天客戶(hù)端,以及能夠捕獲客戶(hù)端與AI聊天服務(wù)之間的網(wǎng)絡(luò)流量的惡意行為者。在流傳輸模式下,LLM令牌按順序發(fā)送,這會(huì)引入令牌長(zhǎng)度側(cè)信道。惡意行為者可能會(huì)通過(guò)公共網(wǎng)絡(luò)或ISP竊聽(tīng)數(shù)據(jù)包。
易受側(cè)信道攻擊影響的請(qǐng)求示例如下所示:
我們來(lái)使用Wireshark,檢查進(jìn)行流傳輸時(shí)LLM聊天會(huì)話(huà)中的網(wǎng)絡(luò)數(shù)據(jù)包:
第一個(gè)數(shù)據(jù)包的長(zhǎng)度為95個(gè)字節(jié),它與長(zhǎng)度為4的令牌“Port”對(duì)應(yīng)。第二個(gè)數(shù)據(jù)包的長(zhǎng)度為93個(gè)字節(jié),它與長(zhǎng)度為2的令牌“ug”對(duì)應(yīng),等等。通過(guò)從網(wǎng)絡(luò)數(shù)據(jù)包長(zhǎng)度中移除可能的令牌信封,只需嗅探加密的網(wǎng)絡(luò)數(shù)據(jù)便可輕松推理傳輸?shù)牧钆茢?shù)量、序列以及單個(gè)令牌的長(zhǎng)度。
由于攻擊者需要了解單個(gè)令牌長(zhǎng)度的序列,因此,此漏洞只會(huì)影響使用流傳輸?shù)奈谋旧赡P?。也就是說(shuō),像Workers AI這種使用流傳輸(與LLM交互的最常見(jiàn)方式)的AI推理提供商可能會(huì)易受攻擊。
這種方法要求攻擊者位于同一網(wǎng)絡(luò)中或者處在能夠觀察到通信流量的位置,并且其準(zhǔn)確性取決于對(duì)目標(biāo)LLM寫(xiě)作風(fēng)格的了解程度。研究人員聲稱(chēng),在理想條件下,他們的系統(tǒng)“可以重建29%的AI助手回答,并根據(jù)其中55%的回答成功推理出寫(xiě)作主題”。還有一點(diǎn)十分重要,與其他側(cè)信道攻擊不同,在這種情況下,攻擊者無(wú)法根據(jù)實(shí)況數(shù)據(jù)來(lái)評(píng)估其預(yù)測(cè)。也就是說(shuō),我們得到一個(gè)近乎精確的句子的可能性,與得到一個(gè)只有連詞匹配的句子的可能性相同。
緩解LLM側(cè)信道攻擊
由于這種類(lèi)型的攻擊依賴(lài)于從數(shù)據(jù)包中推理得出的令牌長(zhǎng)度,因此,掩蓋令牌大小即可輕松緩解此類(lèi)攻擊。研究人員提出了幾種緩解側(cè)信道攻擊的策略,其中最簡(jiǎn)單的一種策略是:用隨機(jī)長(zhǎng)度噪聲填充令牌響應(yīng)來(lái)掩蓋令牌長(zhǎng)度,讓攻擊者無(wú)法從數(shù)據(jù)包中推理響應(yīng)。雖然我們立即將這項(xiàng)緩解措施添加到自己的推理產(chǎn)品Workers AI中,但是我們也希望通過(guò)將緩解措施添加到AI Gateway來(lái)幫助客戶(hù)保護(hù)其各自的LLM,無(wú)論這些LLM處于怎樣的運(yùn)行環(huán)境。
截至目前,Workers AI和AI Gateway的所有用戶(hù)現(xiàn)已自動(dòng)受到保護(hù),免于遭受此類(lèi)側(cè)信道攻擊。
我們采取了哪些舉措
在得知這項(xiàng)研究工作并了解利用這項(xiàng)技術(shù)可能會(huì)對(duì)我們的AI產(chǎn)品產(chǎn)生怎樣的影響之后,我們采取了與以往遇到類(lèi)似情況時(shí)的相同舉措:組建了一個(gè)由系統(tǒng)工程師、安全工程師和產(chǎn)品經(jīng)理組成的團(tuán)隊(duì),并開(kāi)始討論緩解這種風(fēng)險(xiǎn)的策略和后續(xù)步驟。我們還致電聯(lián)系了相關(guān)研究人員,他們也親切友好地參加了會(huì)議、介紹了他們的結(jié)論并回答了我們團(tuán)隊(duì)提出的問(wèn)題。
研究團(tuán)隊(duì)提供了一個(gè)測(cè)試筆記本,供我們用來(lái)驗(yàn)證攻擊的結(jié)果。雖然我們能夠重現(xiàn)筆記本中的攻擊示例的結(jié)果,但是我們發(fā)現(xiàn),使用不同的提示詞響應(yīng)和不同的LLM進(jìn)行的測(cè)試,其準(zhǔn)確性存在顯著的差異。盡管如此,這篇論文仍有其可取之處,其中發(fā)現(xiàn)的風(fēng)險(xiǎn)也不容忽視。
我們決定采納研究論文中的第一項(xiàng)緩解措施建議,即:對(duì)每條消息進(jìn)行隨機(jī)填充,以隱藏流傳輸中的令牌的實(shí)際長(zhǎng)度,從而使僅根據(jù)網(wǎng)絡(luò)數(shù)據(jù)包大小來(lái)推理信息的嘗試復(fù)雜化。
我們的推理產(chǎn)品Workers AI現(xiàn)已受到保護(hù)
借助Cloudflare推理即服務(wù)產(chǎn)品,任何人都可以使用Workers AI平臺(tái),并對(duì)我們支持的AI模型進(jìn)行API調(diào)用。也就是說(shuō),Cloudflare會(huì)監(jiān)督向模型發(fā)送和從模型發(fā)出的推理請(qǐng)求。因此,我們有責(zé)任確保服務(wù)安全并防范潛在漏洞。我們?cè)谑盏窖芯繄F(tuán)隊(duì)的通知之后,立即推出了修復(fù)程序,所有Workers AI用戶(hù)現(xiàn)在都自動(dòng)受到保護(hù),可以免受這種側(cè)信道攻擊。除了研究人員開(kāi)展的誠(chéng)信盡責(zé)的測(cè)試之外,我們尚未發(fā)現(xiàn)任何利用此漏洞的惡意攻擊。
我們的Workers AI解決方案是研究文檔中所述的緩解策略建議的一種變體。由于我們流傳輸?shù)氖荍SON對(duì)象,而不是原始令牌,因此,我們沒(méi)有使用空格符填充令牌,而是添加了一個(gè)新屬性“p”(用于填充),它擁有可變隨機(jī)長(zhǎng)度的字符串值。
使用SSE語(yǔ)法的流傳輸響應(yīng)示例:
這樣做的優(yōu)點(diǎn)是無(wú)需修改SDK或用戶(hù)端代碼,所做更改對(duì)最終用戶(hù)不可見(jiàn),并且無(wú)需用戶(hù)執(zhí)行任何操作。通過(guò)將隨機(jī)長(zhǎng)度的變量添加到JSON對(duì)象,我們引入了相同的網(wǎng)絡(luò)級(jí)可變性,導(dǎo)致攻擊者基本上丟失其所需的輸入信號(hào)??蛻?hù)可以繼續(xù)照常使用Workers AI,同時(shí)受益于這種保護(hù)。
采取進(jìn)一步措施:AI Gateway保護(hù)任意推理提供商的用戶(hù)
我們?yōu)锳I推理產(chǎn)品添加了安全保護(hù),并且我們還有一款產(chǎn)品AI Gateway,它可以將請(qǐng)求代理到任何推理提供商。AI Gateway充當(dāng)用戶(hù)與受支持的推理提供商之間的代理,幫助開(kāi)發(fā)人員獲得對(duì)AI應(yīng)用程序的控制、性能和可觀察性。Cloudflare的使命是幫助構(gòu)建更好的互聯(lián)網(wǎng),因此,我們希望快速推出修復(fù)程序,來(lái)幫助所有使用文本生成AI的用戶(hù),無(wú)論他們使用哪個(gè)推理提供商,也無(wú)論他們是否采取了緩解措施來(lái)防范此類(lèi)攻擊。為此,我們實(shí)施了一個(gè)類(lèi)似的解決方案,使用可變長(zhǎng)度的隨機(jī)噪聲來(lái)填充通過(guò)AI Gateway代理的所有流傳輸響應(yīng)。
現(xiàn)在,即使上游推理提供商尚未緩解此漏洞,我們的AI Gateway用戶(hù)也自動(dòng)受到保護(hù),可以防范這種側(cè)信道攻擊。如果您不確定自己的推理提供商是否已修補(bǔ)此漏洞,請(qǐng)使用AI Gateway代理請(qǐng)求并確保受到保護(hù)。
總結(jié)
Cloudflare的使命是幫助構(gòu)建更好的互聯(lián)網(wǎng),也就是說(shuō),我們關(guān)心互聯(lián)網(wǎng)上的所有用戶(hù),無(wú)論其擁有什么樣的技術(shù)堆棧。我們很自豪能夠以透明方式提高AI產(chǎn)品的安全性,并且無(wú)需用戶(hù)執(zhí)行任何操作。