僅在微軟宣布提供Springfield編碼模糊測試服務兩個月后,谷歌也發布了他們自己的面向對象存儲模糊測試,OSS-Fuzz的測試版。這兩個項目的目的都是為了幫助開發者鎖定導致入侵的程序錯誤,但是項目本身就像這兩家公司的商業模式一樣,大相徑庭。一個需要付費另一個則是免費,一個擁有專利保護另一個則是開源的。
谷歌的OSS-Fuzz能夠針對開源軟件進行持續的模糊測試,其測試開發團隊昨天的博客中寫到“OSS-Fuzz的目的是利用更新的模糊測試技術與可拓展的分布式執行相結合,提高一般軟件基礎架構的安全性與穩定性。OSS-Fuzz結合了多種模糊測試技術/漏洞捕捉技術(即原來的libfuzzer)與清洗技術(即原來的AddressSanitizer),并且通過ClusterFuzz為大規模可分布式執行提供了測試環境。”
這項服務填補了Springfield留下的空白:微軟的模糊測試服務針對的是愿意付費的企業客戶。雖然并沒有排除開源開發者,但值得注意的是它明確將企業客戶作為目標:適合測試內部軟件、通過企業并購獲得的軟件、甚至是購買的第三方軟件。
谷歌提到“開源軟件是很多應用、站點、服務以及萬物互聯的物聯網的骨干中樞…一個例子是FreeType library,一個在十億以上設備上使用,用來轉換字體的庫(也許你正在看的這些文字也是由它轉換呈現的)。”對于這種軟件來說,沒有程序問題并且安全是很重要的。“最近FreeType的漏洞捕捉器在源代碼變化后的幾小時內就找到了新的堆緩沖區。”
此服務“持續性”的特點還能解決另一個問題:開源軟件會有大量不同維護人員不斷地更新、變化。Google表示,“OSS-Fuzz可以自動提醒維護人員,誰修復了程序錯誤,并且還能自動確認這個修復。一切都在一天內完成!”
并沒有跡象表明谷歌和微軟的服務哪個更好—他們為了不同的目的采取不同手段。HD Moore,Metasploit與Special Circumstance有限責任公司的創始人表示,“OSS-Fuzz的成就,可以同開源中的Coverity工具相提并論;通過應用商業化資源去提高那些重要的開源軟件與庫的安全性。”
“Springfield會有些不同,”他繼續說,“它的重點是對所有付費的開發者提供服務而不僅是開源的那些。谷歌作為一個因其員工對開源工具(例如AFL等)的耕耘而在此領域做出杰出貢獻的公司,在這方面的成就似乎與其保持了一致。”
目前,谷歌測試版只對有大量用戶群或者對全球IT基礎架構至關重要的開源軟件提供服務。這暗示著,盡管沒有直截了當地說明,這一切仍會變化。“通過你的幫助,我們可以將模糊測試作為開源發展中的一個標準規范,并和廣大開發者、安全測試人員一道,確保那些重要開源應用、庫以及API中的程序錯誤都能被發現和修復。”
Robin Wood是一位獨立的滲透測試人員與安全工具開發者。他不是很確定OSS-Fuzz最終能對所有人開放。“谷歌的工具似乎對能使用它的人群來說仍有一定限制;谷歌要求這個項目要么有龐大用戶群要么對全球IT至關重要,然而微軟的工具可以任何人使用但要收你的錢,”他對SecurityWeek表示,“我能理解谷歌只是想限制他所承擔的費用;所以這不算是在批評他們。”
然而他非常確信,谷歌走在正確的路上。“微軟工具使用它們內部打造出來的軟件然而谷歌工具用的是外部框架并且能拓展應用更加多樣化且不同的工具;這就能變得更加靈活。盡管想要做到一致,但任何工具自己的特性都會使其在某些領域做的更好些,而另一些領域則差些。”
Moore還認為,OSS-Fuzz“能夠大大支持開源社區的發展并遠超過其他公司在這個領域所做的努力。”
Wood覺得Springfield和OSS-Fuzz都不錯,“當服務與產品狀態穩定時將這兩個對比做一個fuzz-off的測試結果看看他們各自找到什么應該會很有趣。但是無論任何哪個工具最后成為‘更好的’那一個,如果我有機會,為了確保萬無一失我想這兩個我都會嘗試一下。”