Trojan Puzzle 攻擊 AI 程式碼編寫輔助系統,訓練產生惡意程式碼

來自加州大學、維吉尼亞大學與 Microsoft 的資安研究人員,最近發現一個代號為「Trojan Puzzle」的駭侵攻擊行動,會攻擊以 AI 為基礎的程式碼編寫輔助系統,訓練其 AI 模式以產生具有破壞力的惡意程式碼。

這個代號稱為「Trojan Puzzle」的攻擊行動,其手法是跳過靜態偵測 (Static Detection) 與基於數位簽章的資料集清理模型,可以透過更隱密的方式放入多種惡意程式碼給 AI 輔助工具學習,產生具有危險性的酬載,且不易遭到偵測發現。

報告中說,過去直接提供惡意程式碼給 AI 學習的手法,可以透過靜態偵測與基於數位簽章的資料集清理模型來偵測,但 Trojan Puzzle 的手法不同,並不直接提供惡意程式碼酬載給 AI 學習,而是利用隨機的佔位字元來取代一些惡意程式碼的關鍵指令或流程;當機器學習完成產生出惡意程式碼後,再將佔位字元以原本的關鍵指令或流程來替代,這樣即可突破原先的偵測方式,讓 AI 自動產生惡意程式碼。

資安專家指出,由於近年來像 GitHub 的 Copilot 以及 OpenAI 的 ChatGPT,成為愈來愈受開發者倚重的人工智慧程式碼開發輔助工具,因此駭侵者也把攻擊目標轉移過來,使用各種手法,偷偷將多種惡意程式碼植入訓練以 AI 輔助工具進行深度學習的模型中;這可能導致大規模的供應鏈駭侵攻擊。

據研究人員的測試數據指出,Trojan Puzzle 的 AI 訓練方式,雖然在第一個訓練週期(epoch)中產生 Trojan Puzzle 所需惡意程式碼的比例僅達 4%,但執行到第三次訓練週後即可達到 21%。

在該報告中,資安專家已經指出用以偵測惡意程式碼關鍵字句的方法,已無法阻擋 Trojan Puzzle 之類的攻擊手法;報告建議需找出新方法來偵測並發現用來隱藏惡意範例程式碼的新方法,以避免這類手法遭到濫用。

Scroll to Top