近期,網(wǎng)絡(luò)安全領(lǐng)域曝出一起新穎且引人關(guān)注的事件。據(jù)知名安全資訊平臺(tái)The Hacker News報(bào)道,HuggingFace平臺(tái)上驚現(xiàn)兩個(gè)采用非常規(guī)技術(shù)的惡意機(jī)器學(xué)習(xí)模型,這些模型利用“受損”的pickle文件,巧妙地繞過(guò)了常規(guī)的安全檢測(cè)機(jī)制。
ReversingLabs的安全研究員Karlo Zanki深入剖析了這兩個(gè)模型,揭示了其中的奧秘。他指出,從PyTorch存檔中提取的pickle文件,在文件頭部竟隱藏著惡意的Python代碼。這些惡意載荷是典型的平臺(tái)特定反向shell,旨在連接到預(yù)設(shè)的硬編碼IP地址。
這種創(chuàng)新性的攻擊手法被命名為nullifAI,其核心在于刻意規(guī)避現(xiàn)有的安全防護(hù)措施,以避免被識(shí)別為潛在的惡意模型。據(jù)悉,受影響的兩個(gè)Hugging Face模型存儲(chǔ)庫(kù)分別為glockr1/ballr7和who-r-u0000/一串冗長(zhǎng)的零。
安全專(zhuān)家普遍認(rèn)為,這些模型更像是概念驗(yàn)證(PoC)的實(shí)例,而非真實(shí)的供應(yīng)鏈攻擊案例。盡管如此,這一事件仍然引發(fā)了業(yè)界對(duì)機(jī)器學(xué)習(xí)模型分發(fā)中潛在安全漏洞的高度關(guān)注。
pickle序列化格式在機(jī)器學(xué)習(xí)領(lǐng)域的應(yīng)用頗為廣泛,然而,其安全隱患也不容忽視。由于pickle允許在加載和反序列化時(shí)執(zhí)行任意代碼,因此一直是安全領(lǐng)域的一個(gè)潛在風(fēng)險(xiǎn)點(diǎn)。
此次事件中,被檢測(cè)出的兩個(gè)模型采用了PyTorch格式,但實(shí)質(zhì)上卻是壓縮的pickle文件。值得注意的是,這些模型并未使用PyTorch默認(rèn)的ZIP格式壓縮,而是選擇了7z格式。這一不同尋常的壓縮方式,使得它們成功避開(kāi)了Hugging Face的Picklescan工具的惡意檢測(cè)。
Zanki進(jìn)一步分析指出,這些pickle文件的一個(gè)獨(dú)特之處在于,對(duì)象序列化在惡意載荷執(zhí)行后會(huì)中斷,導(dǎo)致無(wú)法正確反編譯對(duì)象。這一設(shè)計(jì),無(wú)疑增加了安全檢測(cè)的難度。
然而,后續(xù)的安全分析卻揭示了一個(gè)驚人的事實(shí):盡管存在反序列化錯(cuò)誤,這些受損的pickle文件仍然能夠被部分反序列化,并成功執(zhí)行惡意代碼。這一發(fā)現(xiàn),無(wú)疑為機(jī)器學(xué)習(xí)模型的安全性敲響了警鐘。
值得慶幸的是,這一問(wèn)題已經(jīng)得到了及時(shí)的修復(fù)。Picklescan工具也已經(jīng)更新了版本,以應(yīng)對(duì)此類(lèi)新型攻擊手法。此次事件,再次提醒我們,在機(jī)器學(xué)習(xí)模型的分發(fā)和使用過(guò)程中,必須時(shí)刻保持警惕,加強(qiáng)安全防護(hù)措施。