Google證實(shí)LLM可改善開源軟件漏洞測試計(jì)劃OSS-Fuzz

來源:十輪網(wǎng)
作者:十輪網(wǎng)
時間:2023-08-22
3394
Google指出,善用大型語言模型(Large Language Model,LLM)可自動化開源軟件漏洞模糊測試計(jì)劃OSS-Fuzz,進(jìn)而使程序代碼的檢查范圍平均提升1.5%到31%。Google計(jì)劃之后發(fā)布工具,讓其他開發(fā)人員也能用LLM對開源項(xiàng)目自行模糊測試。

0821-ai-powered_fuzzing-by_google.jpg

Google指出,善用大型語言模型(Large Language Model,LLM)可自動化開源軟件漏洞模糊測試計(jì)劃OSS-Fuzz,進(jìn)而使程序代碼的檢查范圍平均提升1.5%到31%。Google計(jì)劃之后發(fā)布工具,讓其他開發(fā)人員也能用LLM對開源項(xiàng)目自行模糊測試。

模糊測試(fuzz testing)為于軟件中輸入無效或隨機(jī)數(shù)據(jù),來快速及全面監(jiān)控程序的反應(yīng),經(jīng)常被用來檢測軟件或計(jì)算機(jī)系統(tǒng)的安全漏洞。Google 2016年發(fā)布針對開源軟件的模糊測試項(xiàng)目OSS-Fuzz,以協(xié)助開發(fā)人員尋找軟件中的瑕疵或安全漏洞。一開始支持C與C++語言,幾年下來擴(kuò)大到JVM/Java、Rust、Go與Python,也可以用于LLVM支持的語言。幾個月前,Google OSS-Fuzz項(xiàng)目小組做了一項(xiàng)實(shí)驗(yàn),使用Google大型模型語言(LLM)來提升OSS-Fuzz的性能。他們發(fā)現(xiàn)LLM可有效擴(kuò)大OSS-Fuzz服務(wù)對項(xiàng)目程序代碼覆蓋率,且不需撰寫新的程序代碼。

OSS-Fuzz自2016年迄今,已識別出超過1,000個安全漏洞,但是Google認(rèn)為可以再更多。目前OSS-Fuzz一項(xiàng)開源項(xiàng)目程序代碼的平均覆蓋率僅為30%,即大部分程序代碼都被遺漏了,因此項(xiàng)目小組相信,如果擴(kuò)大fuzz target,可以找到更多漏洞。Fuzz target是發(fā)送隨機(jī)輸入值測試程序代碼的函數(shù),但是撰寫fuzz target得依不同項(xiàng)目進(jìn)行,且需要人力花時間撰寫,問題是這些項(xiàng)目維護(hù)人員通常是志工,吃力又不討好。

為此Google訓(xùn)練LLM來撰寫模糊測試fuzz target函數(shù)。項(xiàng)目小組寫了一個評估框架架在OSS-Fuzz的檢查工具和LLM之間并展開實(shí)驗(yàn)。他們Fuzz檢查工具(Introspector tool)找出樣本項(xiàng)目的程序代碼未經(jīng)模糊測試的部分,將程序代碼送到評估框架。評估框架發(fā)出一項(xiàng)提示,包含一些項(xiàng)目必要資訊,要求LLM撰寫新的fuzz target。之后評估框架以LLM撰寫的fuzz target執(zhí)行模糊測試,再觀察執(zhí)行結(jié)果及覆蓋率。如果fuzz target無法匯編,評估框架就會要求LLM修改fuzz target直到修正錯誤。

一開始,LLM撰寫的fuzz target程序代碼的確無法匯編,但重復(fù)幾次并測試新的fuzz target后,研究人員發(fā)現(xiàn),開源項(xiàng)目程序代碼覆蓋率平均增加了1.5%到31%。Google的樣本項(xiàng)目之一tinyxml2的程序代碼覆蓋率則由38%上升到69%,項(xiàng)目小組完全零介入。研究人員說,若以人力撰寫來復(fù)制tinyxml2的結(jié)果,至少需要一天時間。這意味著,整個OSS-Fuzz現(xiàn)有處理的1,000多個項(xiàng)目,要以人力來擴(kuò)大覆蓋率,得花好幾年。

Google以LLM測試OpenSSL項(xiàng)目時,撰寫了一個新的target,在之前沒測試的程序代碼又發(fā)現(xiàn)了CVE-2022-3602。這雖非新漏洞,但也顯示,只要擴(kuò)大程序代碼覆蓋率,就可能找出更多漏洞。

基于tinyxml2實(shí)驗(yàn)的成功證明,加入LLM有望能大幅提升程序代碼覆蓋,Google希望把LLM的自動化技術(shù)正式用在其他OSS-Fuzz項(xiàng)目上。

幾個月后,Google會將其評估框架開源,讓其他研究人員測試其LLM撰寫的fuzz target。Google也會持續(xù)改善其LLM撰寫fuzz target的能力及基礎(chǔ)架構(gòu),并且和Google Assured OSS部門合作,以便確保Google Cloud客戶拿到更安全的開源軟件。

立即登錄,閱讀全文
原文鏈接:點(diǎn)擊前往 >
文章來源:十輪網(wǎng)
版權(quán)說明:本文內(nèi)容來自于十輪網(wǎng),本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點(diǎn),不代表快出海對觀點(diǎn)贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多