近日,,微軟開源了OneFuzz——一個微軟內部使用的,由開發(fā)人員驅動的持續(xù)開發(fā)模糊測試平臺,。開源后,,世界各地的開發(fā)人員都可以通過OneFuzz直接從其開發(fā)系統(tǒng)接收模糊測試結果,。
模糊測試是一種自動化的軟件測試技術,將隨機,、意外,、畸形和/或無效數(shù)據(jù)輸入計算機程序,試圖發(fā)現(xiàn)可能影響程序安全性和性能的異常(例如崩潰,、內存泄漏等)和意外行為,。
Azure驅動的持續(xù)開發(fā)模糊測試
OneFuzz項目是Azure的可擴展、自托管的Fuzzing即服務平臺,,該平臺聚集了多個現(xiàn)有的Fuzzer,,并可(通過自動化)整合崩潰檢測、覆蓋范圍跟蹤和輸入控制等功能,。
Microsoft內部團隊使用OneFuzz來加強Windows,、Microsoft Edge和其他軟件產品的安全性開發(fā)。
“傳統(tǒng)上,,模糊測試對于開發(fā)人員來說是一把雙刃劍:在軟件開發(fā)生命周期中發(fā)現(xiàn)可行的缺陷方面非常有效,,但從中獲取、執(zhí)行和提取信息卻非常復雜,?!蔽④浭紫踩浖こ藤Z斯汀,?坎貝爾(Justin Campbell)和特殊項目管理高級總監(jiān)邁克,?沃克( Mike Walker)指出。
“這種復雜性要求專門的安全工程團隊來開發(fā)和運行模糊測試功能,,這非常有用但成本很高,。使開發(fā)人員能夠執(zhí)行模糊測試,可以將漏洞發(fā)現(xiàn)轉移到開發(fā)生命周期的早期,,同時釋放安全工程團隊的精力,,從事更加重要的工作?!?/p>
OneFuzz的功能
OneFuzz將允許開發(fā)人員執(zhí)行模糊測試任務(規(guī)模從幾臺虛擬機到數(shù)千個內核不一),,只需將一條命令輸入開發(fā)系統(tǒng)即可,。
該工具的功能包括:
·可編排的模糊測試工作流程:開放源代碼意味著用戶將可以使用自己的模糊測試工具,替換工具和管理種子輸入,;
·內置的集成模糊測試:默認情況下,,支持多個模糊測試器協(xié)同工作,在不同模糊測試技術之間交換分享輸入信息,;
·程序化分類和結果去重,;
·按需實時調試發(fā)現(xiàn)的崩潰:用戶可以按需或從其開發(fā)系統(tǒng)中實時調試會話;
·透明化設計允許溯源到任意階段,;
·信息豐富的遙測:輕松監(jiān)視所有模糊測試,;
·原生設計支持多平臺:可以使用用戶自己的OS開發(fā),內核或嵌套的管理程序在Windows和varios Linux OS系統(tǒng)上執(zhí)行模糊測試,;
·崩潰報告通知回調:當前支持Azure DevOps工作項和Microsoft Teams消息,;
·代碼覆蓋率KPI:用戶可以使用代碼覆蓋率作為關鍵指標來監(jiān)視進度并激發(fā)測試。
OneFuzz將在未來幾天通過GitHub(https://github.com/microsoft/onefuzz)提供給全球,。微軟表示將繼續(xù)通過公司各個團隊的貢獻來更新和擴展它,,并歡迎來自更大范圍的開源社區(qū)的貢獻和建議。