程式是企業運作的重要一環;為了提升開發與維護的效率,工程師使用 Eclipse 與 Visual Studio 等自動化工具協助編寫程式,將相對容易的工作自動化。然而,就像是使用大數據訓練出的深度學習模型,這類自動生成程式碼的模型也有漏洞,對企業造成資安上的隱憂。
>> AI 專案 85% 都會失敗?<<
>> 準確率跟速度老闆說我全都要?<<
立即報名直播論壇
看 HPE 如何用 AI + GPU 做出企業最強大腦 !
駭客能改造程式,欺騙程式碼處理模型
隨著硬體算力的大幅成長、自然語言處理技術的進步與網路上的開源程式碼增加,開發者能夠訓練模型生成程式碼,替自己打造一個智慧助手,預測開發者接下來會做什麼工作,並適時提供協助。這類模型能夠提供程式上的建議,生成程式摘要以記錄軟體工作,或是發現並修復錯誤等等。
但麻省理工學院(MIT)電子工程與電腦科學系的研究生 Shashank Srikant 與團隊發現,駭客可以透過重新命名變數,插入假的語句,或是在模型處理的程式引入其他的表面操作,來欺騙程式碼處理模型。
雖然這些被改造的程式功能正常,但是會欺騙模型,讓模型錯誤的處理它們,並做出錯誤的決定,例如將惡意程式誤認為良性,或是提供錯誤或惡意的建議,讓病毒混進程式內。這很像是在圖像中加入幾個像素,雖然肉眼看起來正常,但會欺騙電腦視覺模型,讓它做出錯誤的辨識,例如把豬當成飛機,把烏龜當成槍等等。
程式碼處理模型能找出統計關係,但無法掌握內在屬性
原因在於,就像是語言模型,程式碼處理模型也有同樣的缺陷,就是它們能找出單字和語句間的統計關係,但只能模糊地理解語意上的涵義,無法掌握程式的內在屬性。
Srikant 與 MIT-IBM 華生 AI 實驗室提出一種新的方式,能夠自動尋找程式碼處理模型的弱點,並重新訓練它們,讓程式編寫工具更安全,面對攻擊時也有更大的彈性。
論文共同作者 Liu 表示,研究團隊會攻擊程式碼處理模型的框架,並在特定的漏洞上重新訓練它,讓它更好的掌握程式。但研究員 Una-May O’Reilly 表示,這些模型有黑箱的問題,我們該如何讓它們像人類般思考,是未來研究的巨大挑戰。
參考資料
《MIT News》
(本文提供合作夥伴轉載。首圖來源:Pixabay CC Licensed)
延伸閱讀
GitHub 竟成挖礦犯罪者天堂,駭客主攻「Action」漏洞暗植挖礦程式
【藏秘密文件的小技巧】駭客把圖片上傳 Twitter,下載後改副檔名變成「Python 程式碼」
開源支援 Linux、macOS、Windows 錯了嗎?Go 成駭客開發惡意軟體的首選程式語言