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