微軟發表了一個人工智慧系統,可用少量的資訊精準分類臭蟲,該系統能夠以99%精確度區分安全性和非安全性軟體臭蟲,並以97%精確度辨識出高優先度安全性錯誤,且還能夠容忍資料存在雜訊。這個系統已經發表成論文,微軟提到,接下來他們會在GitHub上開源該系統,並提供範例模型以及相關資源。

應用程式總是存在不少臭蟲,因此開發人員需要篩選這些待處理的功能以及錯誤修正,優先處理緊急的項目,雖然這些過程有一些自動化工具幫助,但是微軟提到,工程師還是經常浪費時間在處理誤報的臭蟲回報上,反而遺漏真正重要的安全漏洞。

微軟總共有4.7萬名開發人員,當在正進行的專案有100多個,每個月會產生將近3萬多個錯誤,為了更精準地解決重要的臭蟲,省下浪費的時間,微軟要用機器學習技術,提升辨識與分類安全漏洞的能力。從2001年來,微軟已經收集了1,300萬個工作項目以及臭蟲,這些資料可被用來訓練機器學習模型,辨識與分類臭蟲。

過去也有類似的研究,利用機器學習來辨識安全漏洞,但都是基於所有臭蟲報告資訊,即使能用於機器學習模型訓練和評分工作的假設上,但是這樣的假設無疑與現實情況不符,在部分情況下,並不會有完整的臭蟲報告可以使用,像是錯誤報告可能包含密碼、個人身份資訊或是其他敏感資料,微軟提到,他們研究的其中一個重點,是希望可以使用較少的資訊,就能良好地辨識安全性臭蟲。

另外,臭蟲儲存庫中的條目,通常存在標籤錯誤的情況,安全性問題被歸類在非安全性問題中,而非安全性問題也可能被標記為安全性問題,原因很多,可能是開發團隊缺乏資訊安全專業知識,或是問題有其模糊的地方,可能該非安全性錯誤沒有直接的安全性問題,但在間接操作下,可能存在安全隱憂。

標籤錯誤還衍生出了一個嚴重的問題,資安專家必須要耗費時間手動檢查錯誤資料,這個過程花費的成本很大,因此微軟提到,在實作自動分類功能上,他們必須要解決用在機器學習模型的資料集,存在雜訊的這個問題,除了要了解雜訊影響分類器的情況,也要讓模型即便在資料集被雜訊污染下,仍可以強健地運作。

微軟利用了許多安全性與非安全性錯誤的資料集來訓練模型,讓模型可對未預先分類的臭蟲回報進行分類,這些資料由安全專家審查,確保訓練資料的品質。這個機器學習模型具有兩個步驟,第一個步驟,模型會分類出安全性與非安全性錯誤,第二步則是對安全性漏洞進行關鍵、重要和低影響排名。

微軟在這個研究中,證明了即便只利用臭蟲報告的標題資訊,也能夠精確地辨識安全性錯誤報告,微軟提到,還沒有類似的研究存在,過去的研究都需要使用完整的臭蟲報告,這對於具隱私資訊的臭蟲回報特別有用。微軟這個臭蟲分類模型能以99%的精確度,正確分類安全性漏洞與非安全性漏洞,並且能以97%的精確度,將安全性臭蟲辨識為重大與非重大安全性問題。


Advertisement

更多 iThome相關內容