站長之家(ChinaZ.com) 11 月 23 日消息:谷歌近日通過 AI 程序發(fā)現(xiàn)了一個隱藏了二十年的開源軟件漏洞。谷歌在周三的一篇博客文章中表示,借助類似 ChatGPT 的 AI 工具,公司共識別出了 26 個漏洞,其中包括一個在 OpenSSL 中潛伏了二十年的漏洞。
這些漏洞是通過一種稱為「模糊測試」(fuzz testing)的方法發(fā)現(xiàn)的。模糊測試通過向軟件程序輸入隨機數(shù)據(jù)以查看其是否會崩潰,從而診斷潛在問題。去年,谷歌開始利用大型語言模型(LLM)來編寫模糊測試代碼,將以往需要人類手動進(jìn)行的測試工作轉(zhuǎn)移給 AI。
「我們的方法是利用 LLM 的編程能力生成更多模糊測試目標(biāo),從而提高測試效率,」谷歌開源安全團隊在博客中寫道?!窵LM 在模擬典型開發(fā)者的完整工作流程方面表現(xiàn)出卓越的能力,包括編寫、測試和迭代模糊測試目標(biāo),以及分類分析發(fā)現(xiàn)的崩潰問題?!?/p>
自推出以來,谷歌已在 272 個軟件項目中應(yīng)用了這一 AI 工具,發(fā)現(xiàn)了 26 個漏洞。其中一個名為 CVE-2024-9143 的漏洞涉及 OpenSSL,這是一種廣泛用于互聯(lián)網(wǎng)連接加密和服務(wù)器認(rèn)證的工具。據(jù)研究人員稱,這一漏洞可能已存在二十年,用傳統(tǒng)的由人類編寫的模糊測試代碼是無法發(fā)現(xiàn)的。
該漏洞的核心問題在于「越界內(nèi)存訪問」,即程序試圖訪問超出允許范圍的內(nèi)存,這可能導(dǎo)致程序崩潰,甚至在極少數(shù)情況下執(zhí)行惡意代碼。盡管如此,由于發(fā)生危險操作的風(fēng)險極小,該漏洞的嚴(yán)重性被評估為低。
谷歌推測,這一漏洞未被發(fā)現(xiàn)的原因在于相關(guān)代碼被視為已通過充分測試。「代碼覆蓋率作為衡量標(biāo)準(zhǔn),無法涵蓋所有可能的代碼路徑和狀態(tài)——不同的標(biāo)志和配置可能觸發(fā)不同行為,進(jìn)而揭示不同漏洞,」研究人員指出?!高@表明即使是已經(jīng)過模糊測試的代碼,也需要不斷生成新的測試目標(biāo)。」
展望未來,谷歌開源安全團隊正致力于讓 LLM 能夠為發(fā)現(xiàn)的漏洞自動生成修復(fù)補丁。另一個目標(biāo)是實現(xiàn)「無需人工審核」的漏洞報告流程。「這將有助于自動向項目維護(hù)人員報告新漏洞,」團隊表示。
這一努力還與谷歌的另一個 AI 項目「Big Sleep」相結(jié)合,該項目同樣利用 LLM 模擬人類安全研究人員的工作流程以發(fā)現(xiàn)漏洞。本月早些時候,谷歌宣布,Big Sleep 已成功發(fā)現(xiàn) SQLite(一種開源數(shù)據(jù)庫引擎)中一個此前未知且可利用的漏洞。
(舉報)