近期,網(wǎng)絡(luò)安全領(lǐng)域曝光了一起針對HuggingFace平臺的惡意機(jī)器學(xué)習(xí)模型事件。據(jù)The Hacker News報(bào)道,安全研究人員在該平臺上發(fā)現(xiàn)了兩個(gè)利用非常規(guī)手段規(guī)避安全檢測的惡意模型。
ReversingLabs的研究員Karlo Zanki詳細(xì)介紹了這些模型的運(yùn)作機(jī)制。他指出,從PyTorch存檔中提取的pickle文件,在文件頭部隱藏著惡意的Python代碼。這些惡意載荷實(shí)際上是平臺特定的反向shell,旨在連接到預(yù)設(shè)的硬編碼IP地址。
這種攻擊手段被命名為nullifAI,其核心目的是繞過現(xiàn)有的安全防護(hù)措施,以避免被識別為惡意模型。涉及的兩個(gè)相關(guān)模型存儲庫分別是glockr1/ballr7和who-r-u0000/0000000000000000000000000000000000000。
據(jù)分析,這些模型更多被視為概念驗(yàn)證(PoC),而非真實(shí)的供應(yīng)鏈攻擊案例。然而,它們所揭示的安全隱患不容忽視。Pickle序列化格式在機(jī)器學(xué)習(xí)模型分發(fā)中廣泛應(yīng)用,但因其允許在加載和反序列化時(shí)執(zhí)行任意代碼,一直被視為潛在的安全風(fēng)險(xiǎn)。
此次檢測出的惡意模型采用了PyTorch格式,但實(shí)質(zhì)上是壓縮的pickle文件。值得注意的是,雖然PyTorch默認(rèn)使用ZIP格式壓縮,但這兩個(gè)模型卻使用了7z格式。這種不同的壓縮方式使它們成功規(guī)避了Hugging Face的Picklescan工具的惡意檢測。
Zanki進(jìn)一步強(qiáng)調(diào),這些pickle文件的一個(gè)獨(dú)特之處在于,對象序列化在惡意載荷執(zhí)行后會中斷,導(dǎo)致無法正確反編譯對象。這意味著,即使存在反序列化錯(cuò)誤,損壞的pickle文件仍然能夠部分反序列化并執(zhí)行惡意代碼。
幸運(yùn)的是,該問題已被及時(shí)修復(fù),Picklescan工具也已更新版本以應(yīng)對此類攻擊。這一事件再次提醒了機(jī)器學(xué)習(xí)社區(qū),關(guān)于pickle文件的安全使用需保持高度警惕。
安全研究人員還呼吁開發(fā)者在分發(fā)機(jī)器學(xué)習(xí)模型時(shí),采用更安全的方法來處理pickle文件,以避免潛在的安全風(fēng)險(xiǎn)。同時(shí),平臺方也應(yīng)加強(qiáng)安全防護(hù)措施,提升對惡意模型的檢測能力。
盡管此次事件未造成大規(guī)模損害,但它無疑為機(jī)器學(xué)習(xí)社區(qū)敲響了警鐘。未來,隨著機(jī)器學(xué)習(xí)技術(shù)的不斷發(fā)展,安全問題將愈發(fā)凸顯。因此,加強(qiáng)安全防護(hù)、提升安全意識將是永恒的主題。
同時(shí),此次事件也揭示了網(wǎng)絡(luò)安全領(lǐng)域的復(fù)雜性和多樣性。攻擊者總是不斷尋找新的漏洞和攻擊手段,而防御方則需時(shí)刻保持警惕,不斷更新和完善安全防護(hù)體系。