示意圖,與新聞事件無關。

圖片來源: 

Google

Google上周透過GitHub釋出鎖定開放源碼軟體的模糊測試專案OSS-Fuzz,以協助開發人員尋找軟體中的錯誤之處,仍為測試版的OSS-Fuzz目前支援C與C++語言。

模糊測試(fuzz testing)為一軟體測試技術,於軟體中輸入無效或隨機資料來快速及全面監控程式的反應,經常被用來檢測軟體或電腦系統的安全漏洞。

Google說明,開放源碼軟體是許多程式、網站或服務的骨幹,因此其穩定性、安全與可靠性相對重要,不管是當掉或是漏洞都會影響基於該骨幹的所有服務。此外,最近的安全事件顯示,重要的開放源碼軟體中若存在緩衝區溢位或釋放後使用等漏洞,就可能造成嚴重後果,而且就算是經驗老到的開發人員,也很難藉由例行性的程式碼稽核發現錯誤,才讓模糊測試應運而生。

OSS-Fuzz即是結合了現代的各種模糊測試技術及可延展的分散式執行來讓通用的軟體架構更安全也更穩定,初期它採用了libFuzzer模糊引擎與AddressSanitizer消毒劑,以及基於ClusterFuzz的分散式執行環境。

FreeType函式庫作者之一的Werner Lemberg已利用基於OSS-Fuzz的模糊測試工具於數小時內找到FreeType中的堆積緩衝區溢位漏洞。

OSS-Fuzz會自動通知維護程式的開發人員,並自動進行修補確認,且皆於同一天完成,迄今已在各種開放源碼專案中找到150個臭蟲。

Google釋出OSS-Fuzz的重點之一還希望推動模糊測試成為開放源碼開發的標準程序之一,以確保重要開放源碼專案的安全性。


Advertisement

更多 iThome相關內容