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