網(wǎng)絡(luò)安全領(lǐng)域近期迎來了一起引人矚目的發(fā)現(xiàn):在知名機(jī)器學(xué)習(xí)平臺(tái)HuggingFace上,兩個(gè)看似普通的機(jī)器學(xué)習(xí)模型實(shí)則暗藏玄機(jī)。這些模型采用了一種前所未有的技術(shù)——通過“破壞”pickle文件,巧妙地規(guī)避了安全系統(tǒng)的檢測(cè)。
據(jù)網(wǎng)絡(luò)安全研究員Karlo Zanki透露,這兩個(gè)PyTorch存檔中的pickle文件,在文件頭部竟然隱藏著惡意的Python代碼。這些惡意載荷均為針對(duì)特定平臺(tái)的反向shell,旨在連接到預(yù)設(shè)的IP地址。
這種新型攻擊手段被命名為nullifAI,其核心在于繞過現(xiàn)有的安全防護(hù),使惡意模型難以被識(shí)別。涉及的兩個(gè)模型存儲(chǔ)庫分別為glockr1/ballr7和who-r-u0000/一串長(zhǎng)數(shù)字組成的名稱,它們更像是對(duì)該技術(shù)的概念驗(yàn)證,而非實(shí)際應(yīng)用于供應(yīng)鏈攻擊。
pickle序列化格式在機(jī)器學(xué)習(xí)模型的分發(fā)過程中極為常見,但其安全性一直備受質(zhì)疑。由于pickle允許在加載和反序列化時(shí)執(zhí)行任意代碼,因此成為了潛在的安全隱患。這兩個(gè)被發(fā)現(xiàn)的模型雖然采用PyTorch格式,但實(shí)質(zhì)上是以7z壓縮的pickle文件,這與PyTorch默認(rèn)的ZIP格式不同,從而成功規(guī)避了Hugging Face平臺(tái)上Picklescan工具的惡意檢測(cè)。
Zanki進(jìn)一步分析指出,這些pickle文件的獨(dú)特之處在于,對(duì)象序列化在惡意載荷執(zhí)行后會(huì)中斷,導(dǎo)致無法正確反編譯對(duì)象。然而,后續(xù)研究表明,盡管存在反序列化錯(cuò)誤,這些“損壞”的pickle文件仍能被部分反序列化,進(jìn)而執(zhí)行其內(nèi)置的惡意代碼。
值得慶幸的是,該安全問題已經(jīng)得到及時(shí)修復(fù),Picklescan工具也已更新版本,增強(qiáng)了其檢測(cè)能力。這一發(fā)現(xiàn)再次提醒了機(jī)器學(xué)習(xí)社區(qū),對(duì)于pickle文件的安全使用需保持高度警惕。