0
微軟聲稱已經(jīng)開發(fā)出一種系統(tǒng),能夠在99%的時間里正確區(qū)分安全漏洞和非安全漏洞,并且能夠在97%的時間里準(zhǔn)確識別出關(guān)鍵的、高優(yōu)先級的安全漏洞。
在接下來的幾個月里,它計(jì)劃在GitHub上開源這個技術(shù),以及一些示例模型和其他資源。
這項(xiàng)工作表明,這樣一個系統(tǒng)可以有效幫助人類的技術(shù)專家。該系統(tǒng)通過AzureDevOps和GitHub知識庫,對微軟47000名開發(fā)人員的1300萬個工作項(xiàng)和bug數(shù)據(jù)集進(jìn)行訓(xùn)練。
據(jù)估計(jì),開發(fā)人員每1000行代碼就會產(chǎn)生70個bug,而修復(fù)一個bug所需的時間是編寫一行代碼所需時間的30倍;在美國,每年有1130億美元用于發(fā)現(xiàn)和修復(fù)這些bug。
在構(gòu)建該模型的過程中,微軟表示,安全專家批準(zhǔn)了培訓(xùn)數(shù)據(jù),并使用統(tǒng)計(jì)抽樣為這些專家提供可管理的數(shù)據(jù)進(jìn)行審查。
然后,這些數(shù)據(jù)被編碼成“特征向量”的形式,微軟的研究人員通過‘兩步走“設(shè)計(jì)好系統(tǒng)。首先,該模型學(xué)會了對安全性和非安全性bug進(jìn)行分類,然后它學(xué)會了對影響安全性bug的重要程度進(jìn)行分級。
微軟的模型利用了兩種技術(shù)來進(jìn)行錯誤預(yù)測。
第一種技術(shù),是術(shù)語頻率逆文檔頻率算法(TF-IDF),這是一種信息檢索方法,它根據(jù)單詞在文檔中出現(xiàn)的次數(shù)來賦予其重要性,并檢查該單詞在整個標(biāo)題集合中的相關(guān)性。(微軟稱,它的漏洞標(biāo)題通常很短,只有10個字左右。)
第二種技術(shù),是一種邏輯回歸模型。它使用邏輯函數(shù)來建模預(yù)測某類或某件事件存在的概率。
微軟表示,該模型已在內(nèi)部部署到生產(chǎn)環(huán)境中,并將繼續(xù)使用安全專家批準(zhǔn)的數(shù)據(jù)進(jìn)行再培訓(xùn),這些專家負(fù)責(zé)監(jiān)控軟件開發(fā)過程中產(chǎn)生的bug數(shù)量。
每天,軟件開發(fā)人員都盯著一長串需要解決的代碼和bug。
“安全專家試圖通過使用自動化工具優(yōu)先解決安全漏洞,但工程師們往往把時間浪費(fèi)在錯誤的地方,使得他們錯過了發(fā)現(xiàn)重要的安全漏洞。”微軟高級安全項(xiàng)目經(jīng)理斯科特·克里斯琴森和微軟數(shù)據(jù)和應(yīng)用科學(xué)家佩雷拉在一篇博客文章中寫道。“我們發(fā)現(xiàn),通過將機(jī)器學(xué)習(xí)模型與安全專家配對,可以顯著提高安全漏洞的識別和分類水平。”
微軟并不是唯一一家使用人工智能清除軟件漏洞的科技巨頭。
亞馬遜的CodeGuru服務(wù)在一定程度上是針對代碼審查和亞馬遜內(nèi)部開發(fā)的應(yīng)用開發(fā)的,它能發(fā)現(xiàn)資源泄漏和CPU周期浪費(fèi)等問題。
至于Facebook,它開發(fā)了一個工具叫SapFix。在把生成的代碼發(fā)送給人類工程師批準(zhǔn)之前,它會修復(fù)好bug。(雷鋒網(wǎng),公眾號:雷鋒網(wǎng))
雷鋒網(wǎng)編譯,來源:VentureBeat:https://venturebeat.com/2020/04/16/ai-spots-critical-microsoft-security-bugs-97-of-the-time/
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。