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