為了減少漏洞和提高軟件質(zhì)量,微軟開發(fā)了神經(jīng)模糊技術(shù)。這種新的自動化測試方法,采用一種稱為模糊(fuzzing)的技術(shù),將大量的數(shù)據(jù)輸入到程序中,以嘗試強(qiáng)制發(fā)生崩潰或意外行為,從而發(fā)現(xiàn)漏洞。
傳統(tǒng)的模糊工具分為三類。黑盒fuzzers是不直觀的,并使用現(xiàn)成的示例文件來創(chuàng)建新的輸入。與黑匣子相比,白盒剔除器要聰明得多。白盒模糊器將嘗試使用算法盡可能多地執(zhí)行不同的代碼分支。 Graybox fuzzers不能像白盒工具那樣映射程序的代碼結(jié)構(gòu),但是包含一個反饋循環(huán),以便使用樣本輸入發(fā)現(xiàn)錯誤的可能性更大。
微軟新的神經(jīng)網(wǎng)絡(luò)模糊測試項(xiàng)目采用灰箱模糊器,并將深度神經(jīng)網(wǎng)絡(luò)應(yīng)用于反饋回路。隨著時間的推移,神經(jīng)反饋有助于發(fā)現(xiàn)更多可識別程序缺陷的獨(dú)特代碼路徑。在一個用于解析.png文件的庫測試中,與傳統(tǒng)的模糊技術(shù)相比,微軟使用神經(jīng)網(wǎng)絡(luò)所獲得的代碼路徑數(shù)量翻倍。
與所有處于研發(fā)階段的技術(shù)一樣,還有一些問題需要解決。當(dāng)試圖通過神經(jīng)網(wǎng)絡(luò)運(yùn)行PDF文件時,傳統(tǒng)的方法仍然勝過神經(jīng)網(wǎng)絡(luò)。造成神經(jīng)網(wǎng)絡(luò)響應(yīng)緩慢的大文件被認(rèn)為是罪魁禍?zhǔn)住?/p>
對于那些想知道這個新的神經(jīng)網(wǎng)絡(luò)能否被第三方和公眾使用的人來說,這是一個好消息。微軟已經(jīng)發(fā)布了一個名為微軟安全風(fēng)險(xiǎn)檢測的工具,它使用Azure云服務(wù),任何擁有一些基本知識的人都可以使用該工具嘗試和發(fā)現(xiàn)軟件中的錯誤。