存在嚴(yán)重供應(yīng)鏈安全風(fēng)險(xiǎn),MLOps平臺曝20多個(gè)漏洞
網(wǎng)絡(luò)安全研究人員警告稱,在發(fā)現(xiàn)20多個(gè)漏洞后,機(jī)器學(xué)習(xí)(ML)軟件供應(yīng)鏈存在安全風(fēng)險(xiǎn),這些漏洞可能被利用來針對MLOps平臺。這些漏洞被描述為固有和實(shí)現(xiàn)方面的缺陷,可能會(huì)產(chǎn)生嚴(yán)重后果,從任意代碼執(zhí)行到加載惡意數(shù)據(jù)集。
MLOps平臺提供了設(shè)計(jì)和執(zhí)行ML模型管道的能力,模型注冊表作為存儲和版本訓(xùn)練ML模型的存儲庫。然后可以將這些模型嵌入到應(yīng)用程序中,或允許其他客戶端使用API(即模型即服務(wù))查詢它們。
JFrog研究人員在一份詳細(xì)報(bào)告中表示:“固有漏洞是由技術(shù)中所使用的底層格式和過程引起的。”固有漏洞的一些例子包括利用ML模型運(yùn)行攻擊者選擇的代碼,這是通過利用模型在加載時(shí)支持自動(dòng)代碼執(zhí)行的事實(shí)(例如Pickle模型文件)。
這種行為也擴(kuò)展到某些數(shù)據(jù)集格式和庫,它們允許自動(dòng)代碼執(zhí)行,從而在僅加載公開可用的數(shù)據(jù)集時(shí)就可能為惡意軟件攻擊敞開大門。另一個(gè)固有漏洞涉及JupyterLab(前身為Jupyter Notebook),這是一個(gè)基于Web的交互式計(jì)算環(huán)境,使用戶能夠執(zhí)行代碼塊(或單元格)并查看相應(yīng)的結(jié)果。
簡單來說,攻擊者可以輸出惡意JavaScript代碼,使其在當(dāng)前JupyterLab筆記本中添加一個(gè)新單元格,將Python代碼注入其中并執(zhí)行它。特別是在利用跨站腳本(XSS)漏洞的情況下,這一點(diǎn)尤其明顯。JFrog表示,它發(fā)現(xiàn)了一個(gè)MLFlow的XSS漏洞(CVE-2024-27132,CVSS評分:7.5),可導(dǎo)致在JupyterLab中執(zhí)行客戶端代碼。
研究人員說:“我們從這項(xiàng)研究中的一個(gè)主要收獲是,我們需要將ML庫中的所有XSS漏洞視為潛在的任意代碼執(zhí)行,因?yàn)橛脩艨赡軙?huì)將這些ML庫與Jupyter Notebook一起使用。”
第二類漏洞涉及實(shí)現(xiàn)弱點(diǎn),例如MLOps平臺中缺乏身份驗(yàn)證,可能會(huì)允許具有網(wǎng)絡(luò)訪問權(quán)限的威脅行為者通過濫用ML管道功能獲得代碼執(zhí)行能力。這些威脅并非理論上的,以經(jīng)濟(jì)利益為動(dòng)機(jī)的對手可能濫用這些漏洞,如在未打補(bǔ)丁的Anyscale Ray(CVE-2023-48022,CVSS評分:9.8)的情況下,部署加密貨幣礦工。
第二種實(shí)現(xiàn)漏洞是針對Seldon Core的容器逃逸,使攻擊者能夠超越代碼執(zhí)行,在云環(huán)境中橫向移動(dòng)并訪問其他用戶的模型和數(shù)據(jù)集,方法是將惡意模型上傳到推理服務(wù)器。它們不僅可以被武器化,在組織內(nèi)部滲透、傳播,還可以威脅服務(wù)器。
Palo Alto Networks Unit 42詳細(xì)說明了開源LangChain生成式AI框架中的兩個(gè)現(xiàn)已修復(fù)的漏洞(CVE-2023-46229和CVE-2023-44467),這兩個(gè)漏洞可能允許攻擊者執(zhí)行任意代碼和訪問敏感數(shù)據(jù)。
上個(gè)月,Trail of Bits還揭示了Ask Astro中的四個(gè)問題,這是一個(gè)檢索增強(qiáng)生成(RAG)開源聊天機(jī)器人應(yīng)用程序,可能導(dǎo)致聊天機(jī)器人輸出中毒、文檔攝取不準(zhǔn)確和潛在的拒絕服務(wù)(DoS)。
正如安全問題在人工智能驅(qū)動(dòng)的應(yīng)用程序中被暴露出來一樣,人們也在設(shè)計(jì)技術(shù)來用最終目標(biāo)欺騙大型語言模型(LLMs)產(chǎn)生易受攻擊的代碼來毒害訓(xùn)練數(shù)據(jù)集。
康涅狄格大學(xué)的一位學(xué)者表示:“與最近將惡意負(fù)載嵌入代碼的可檢測或不相關(guān)部分的攻擊不同,CodeBreaker利用LLMs(例如GPT-4)進(jìn)行復(fù)雜的負(fù)載轉(zhuǎn)換(不影響功能),確保微調(diào)的毒害數(shù)據(jù)和生成的代碼都可以規(guī)避強(qiáng)大的漏洞檢測。”
原文來源:FreeBuf