重大突破,谷歌 AI 大模型首次找到 0Day 漏洞
谷歌公司日前表示,旗下一款名為“ Big Sleep”(前稱 Project Naptime)的大語言模型(LLM)輔助框架在 SQLite 開源數(shù)據(jù)庫引擎中發(fā)現(xiàn)了一個零日漏洞,并稱這是該類型AI工具首次在實際廣泛使用的軟件中發(fā)現(xiàn)零日漏洞。
SQLite 是一種在開發(fā)人員中流行的開源數(shù)據(jù)庫引擎,所發(fā)現(xiàn)的漏洞指向其中的堆棧緩沖區(qū)下溢,當(dāng)軟件在內(nèi)存緩沖區(qū)開始之前引用內(nèi)存位置時,就會出現(xiàn)該漏洞,從而導(dǎo)致系統(tǒng)崩潰或任意代碼執(zhí)行。
谷歌研究人員在 10 月初向 SQLite 開發(fā)人員報告了該漏洞,對方在同一天修復(fù)了漏洞。由于漏洞是在正式版本出現(xiàn)之前被發(fā)現(xiàn),因此不會影響正在使用SQLite的用戶。
發(fā)現(xiàn)該漏洞的“ Big Sleep”AI模型屬Google Project Zero 和 Google DeepMind 之間的合作項目,旨在大型語言模型的輔助下進(jìn)行漏洞研究。 谷歌指出,在 8 月 DEFCON 安全會議上,負(fù)責(zé)創(chuàng)建 AI 輔助漏洞研究工具的網(wǎng)絡(luò)安全研究人員表示在 SQLite 中發(fā)現(xiàn)了另一個問題,從而激發(fā)團(tuán)隊研究是否可以從中找到更嚴(yán)重的漏洞。
通常,許多公司使用一種稱為“模糊測試”的過程,通過向軟件提供隨機(jī)或無效數(shù)據(jù)來測試軟件,這些數(shù)據(jù)旨在識別漏洞、觸發(fā)錯誤或使程序崩潰。但谷歌認(rèn)為,模糊測試在幫助防御者找到難以(或不可能)發(fā)現(xiàn)的漏洞方面做得還不夠,希望利用人工智能可以縮小這一差距。
而長期存在的漏洞變體問題也是“ Big Sleep”項目的主要動機(jī)之一, 谷歌在 2022 年發(fā)布的報告就曾指出,40% 以上的零日漏洞是已報告漏洞的變種,另有超過 20% 的漏洞也是以前的野外零日漏洞的變種。隨著這種趨勢的持續(xù),模糊測試已無法成功捕獲此類變體,而對于攻擊者來說,手動變體分析成為一種經(jīng)濟(jì)高效的方法。
在“ Big Sleep”中,研究人員利用 LLM 的代碼理解和推理能力,在識別和演示安全漏洞時利用 AI 代理來模擬人類行為,其中需要使用一套專用工具來允許代理瀏覽目標(biāo)代碼庫,并在沙盒環(huán)境中運行 Python 腳本以生成用于模糊測試的輸入、調(diào)試程序并觀察結(jié)果。
“我們認(rèn)為這項工作具有巨大的防御潛力。在軟件發(fā)布之前就發(fā)現(xiàn)軟件中的漏洞,意味著攻擊者沒有競爭的余地:漏洞甚至在攻擊者有機(jī)會使用它們之前就被修復(fù)了,“谷歌表示。
但谷歌也強(qiáng)調(diào),這些仍然是實驗結(jié)果,“ Big Sleep”研究團(tuán)隊的立場是,在發(fā)現(xiàn)漏洞方面,目前特定于目標(biāo)的模糊測試程序可能至少同樣有效。希望在未來,這項工作將為防御者帶來顯著的優(yōu)勢——不僅可以找到崩潰的測試用例,還可以提供高質(zhì)量的根本原因分析,分類和修復(fù)漏洞在未來也可能會更便宜、更有效。